body{
	background-color: black;
}
section{
	padding: 0;
	margin: 0;
}
.body_stop{
	overflow: hidden;
}

/*モーダルウィンドウ*/
.modal_window_close{
	visibility: hidden;
	opacity: 0;
}
.modal_window{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 7777;
	width: 100%;
	height: 100vh;
	transition: opacity 1s ease;
}
.modal_box {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 7777;
	#display: none;
	width: 80%;
	max-width: 840px;
	margin: 0;
	padding: 60px 2vw 80px;
	border: 2px solid #aaa;
	text-align: center;
	background: #fff;
	box-sizing: border-box;
	font-size:1.2rem;
}
.modal_box .p{
	margin-top: 1rem;
}
.modal_close_btn {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 62px;
	font-size: 46px;
	color: #fff;
	line-height: 62px;
	text-align: center;
	background: #ff7600;
	text-decoration: none;
}
 
.modal_close i {
	line-height: 62px;
	vertical-align: bottom;
}
 
.modal_bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 6666;
	#display: none;
	width: 100%;
	height: 120%;
	background-color: rgba(0,0,0,0.7);
}
 
.link_area {
	overflow: hidden;
	max-width: 410px;
	margin: 60px auto 0;
	text-align: center;
}
 
.link_area .modal_link {
	display: inline;
}
 
.link_area .modal_link a {
	display: inline-block;
	width: 180px;
	color: #fff;
	line-height: 2.5;
	text-decoration: none;
	margin: 0 10px;
	background: #ff7600;
}
 
.link-area ul li.modal_link:first-child a {
	float: left;
}
 
.link-area ul li.modal_link:last-child a {
	float: right;
}
 
@media screen and (max-width: 769px) {
 
/* ウィンドウサイズ769px以下の時のスタイル */
 
	.modal_box {
		padding: 50px 2vw 40px;
		font-size:1rem;
	}
 
	.modal_close {
		width: 40px;
		line-height: 40px;
		font-size: 30px;
	}
 
	.modal_close i {
		line-height: 44px;
	}
 
	.link_area {
		margin: 25px auto 0;
	}
 
	.link_area .modal_link a {
		margin: 15px auto 0;
	}
 
	.link_area ul li.modal_link:first-child a {
		float: none;
		margin-top: 0;
	}
 
	.link_area ul li.modal_link:last-child a {
		float: none;
	}
 
}

/*ページ*/
.top-page-banner{
	width: 100%;
	height: auto;
}
.top-content{
	display: flex;
	justify-content: center;
	align-items: center;
}
.top-image{
	width: 100%;
	text-align: center;
	& > img{
		object-fit: cover;
		object-position: center;
		max-width: 100%;
		max-height: 100%;
		vertical-align: middle;
	}
}
.top-video{
	height: 37vw;
}
.top-page{
	overflow: hidden;
	/*background-color: #ff7600;*/
	background-color: black;
}
.top-info{
	position: relative;
	top: 2vw;
	padding-left: 24px;
	padding-bottom: calc(2vw + 48px);
	display: flex;
	justify-content: center;
	background-color: black;
	& hr{
		border: 0;
		border-top: 1px solid;
		opacity: .5;
	}
}
.info-box{
	margin-left: 2.5%;
	width: 50.5%;
	min-width: 360px;
	height: 15vw;
	min-height: 150px;
	padding: 0 12px;
	position: relative;
}
.info-head{
	position: absolute;
	margin-left: -9%;
	width: 20vw;
	max-width: 359px;
	min-width: 180px;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
		vertical-align: middle;
	}
}
.info-content{
	background-color: #EDE9E2;
	border: 5px solid #000;
	box-shadow: white 15px 16px 1px 0px;
	width: 100%;
	height: 100%;
	overflow: scroll;
	margin-top: 6%;
	margin-bottom: 16px;
	padding: 0 12px;
	font-size: max(1vw, 8px);
}
.info-list{
	margin-top: 5%;
	& a{
		text-decoration: none;
		color: #0d6efd;
	}
	& img{
		width: 100%;
		object-fit: cover;
		object-position: center;
	}
}

.top-concept{
	padding: 0px;
	padding-bottom: 22vw;
	padding-left: 12px;
	background-image: url("../images/background/16_bg-pc.png");
	background-size: cover;
}
.concept-box{
	display: flex;
	justify-content: center;
	width: 91%;
	position: relative;
	top: 3.6vw;
}
.concept-head{
	width: 38.2%;
	position: absolute;
	z-index: 1;
	top: -1vw;
	left: -35px;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.concept-content{
	background-color: #EDE9E2;
	border: 5px solid #000;
	box-shadow: white 15px 16px 1px 0px;
	height: 100%;
	width: 91.5%;
	padding: 9.1vw 6.1vw 14.2vw;
}
.concept-title-pc{
	margin-top: 100px;
	margin-bottom: 20px;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.concept-title-sp{
	display: none;	
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.concept-desc{
	& > p{
		font-size: 1.25vw;
		padding-top: 10px;
		font-weight: 500;
	}
}
.concept-more{
	margin-top: 3rem;
	margin-left: 3rem;
	& a{
		text-decoration: none;
	}
}
#concept-rolls{
	display: flex;
	
	position: absolute;
	bottom: -23%;
	left: 0%;
	padding-right: 0;
	padding-left: 0;
	height: fit-content;
	
	overflow: visible;
	white-space: nowrap;
	
	transform: translateX(0);
	user-select: none;
}
#concept-rolls *{
	user-select: none;
}

.concept-roll{
	display: flex;
}
.concept-roll-item{
	display: inline-block;
	width: 25vw;
	height: 25vw;
	& > a{
		position: relative;
		z-index: 1;
		display: block;
		width: 24vw;
		height: 24vw;
		background-color: black;
		pointer-events: none;
		& img{
			width: 97%;
			height: 97%;
			position: relative;
			top: 1.5%;
			left: 1.5%;
			object-fit: cover;
			object-position: center;
			pointer-events: none;
		}
	}
}
.top-service{
	background-image: url("../images/background/17_bg-pc.png");
	background-size: cover;
	margin-top: -1vw;
	padding-bottom: 30vw;
}
.service-backtext{
	position: relative;
	right: 3vw;
	top: -0.5vw;
	/*padding: 0 12px;*/
	& img{
		width: 71%;
		object-fit: cover;
		object-position:center;
		vertical-align: middle;
	}
}
.service-head{
	height: 1px;
	text-align: right;
	& > img{
		position: relative;
		left: 4vw;
		bottom: 10.5vw;
		width: 38%;
	}
}
.service-content{
	display: flex;
	flex-wrap: wrap;
	/*margin-top: 3.5vw;*/
	margin-top: 60px;
}
.service-img{
	width: 58%;
	& > span{
		display: block;
		width: 100%;
		height: 34.3vw;
		background-color: black;
		position: relative;
		right: 1vw;
		clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);

		& > span {
			width: 99.2%;
			height: 99.2%;
			position: absolute;
			top: 0.4%;
			right: 0.4%;
			clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
				& > img{
				width: 100%;
				height: 100%;
				clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
			}
		}
	}
}
.service-text{
	width: 41%;
	margin-top: 48px;
	padding: 12px;
	& img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
		vertical-align: middle;
	}
}

.service-desc{
	width: 85%;
	margin-top: 3rem;
	font-size: 1.25vw;
}
.service-more{
	margin-top: 48px;
	margin-left: 48px;
	& a{
		text-decoration: none;
	}
}

.top-works{
	background-image: url("../images/background/18_bg-pc.png");
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: -1.3vw;
	padding-bottom: 23vw;
}
.works-backtext{
	position: relative;
	top: -2vw;
	right: 4.5vw;
	padding-left: 12px;
	& > img{
		width: 74%;
	}
}
.works-head{
	height: 1px;
	& > img{
		position: relative;
		right: 5vw;
		top: -11vw;
		width: 40%;
	}
}
.works-title-pc{
	width: 91%;
	margin: 0 auto;
	margin-top: 6rem;
	padding-left: 12px;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.works-title-sp{
	display: none;
}
.works-more{
	width: 75%;
	margin: 0 auto;
	margin-top: 3rem;
	& a{
		text-decoration: none;
	}
}


.top-member{
	background-image: url("../images/background/19_bg-pc.png");
	background-size: cover;
	padding-bottom: 23vw;
	margin-top: -0.5vw;
	background-position: right;
}
.member-backtext{
	position: relative;
	top: -6vw;
	text-align: right;
	padding-right: 12px;
	& > img{
		width: 72.7%;
	}
}
.member-head{
	height: 1px;
	text-align: right;
	& > img{
		position: relative;
		right: -3%;
		bottom: 15vw;
		width: 38%;
	}
}
#member-rolls{
	display: flex;
	height: 31vw;

	position: relative;
	bottom: -3vw;
	overflow: visible;
	white-space: nowrap;
	user-select: none;
}
#member-rolls *{
	user-select: none;
}
.member-roll{
	display: flex;
	height: 100%;
}
.member-roll-item{
	display: inline-block;
	width: 20vw;
	height: 100%;
	text-align: left;
	& > a{
		display: inline-block;
		pointer-events: none;
		width: 19vw;
		height: 100%;
	}
}
.member-roll-info{
	width: 100%;
	/*max-width: 419px;*/
	height: 100%;
	border: 5px solid #000;
	/*margin-left: 10px;*/
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	& > p{
		text-align: center;
		background: #000;
		width: 50%;
		padding: 1vw 1vw 1vw;
		color: #fff;
		font-weight: 600;
		position: absolute;
		right: 0;
		bottom: 0;
		line-height: 40px;
		font-size: 1.25vw;
		border-top-left-radius: 10px;
		margin: 0;
	}
}
.member-content{
	margin-top: 3rem;
	
}
.member-title-pc{
	padding: 0 12px;
	padding-top: 24px;
	text-align: center;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.member-title-sp{
	display: none;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
	}
}
.member-more{
	width: 75%;
	margin: 0 auto;
	margin-top: 3rem;
	padding-left: 0.7rem;
	& a{
		text-decoration: none;
	}
}

.top-recruit{
	background-image: url("../images/background/20_bg-pc.png");
	background-size: 100% 100%;
	background-origin: content-box;
	background-repeat: no-repeat;
	background-color: #ff7600;

	padding-bottom: 5vw;
	margin-top: -0.5vw;

}
.recruit-backtext{
	position: relative;
	bottom: 4vw;
	padding: 0 12px;
	text-align: right;
	& > img{
		width :66%;
	}
}
.recruit-head{
	height: 1px;
	& > img{
		width: 39%;
		position: relative;
		bottom: 13vw;
		right: 2vw;
	}
}
.recruit-content{
	display: flex;
	margin-top: -0.5vw;
}
.recruit-left-content{
	width: 50%;
	position: relative;
	margin-top: 5.2vw;
}
.recruit-left-img{
	position: absolute;
	top: -1%;
	left: -2%;
	width: 100%;
	height: 34.375vw;
	background-color: black;
	clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
	z-index: 1;
	& > span{
		display: block;
		width: 99.7%;
		height: 99%;
		position: absolute;
		top: 3px;
		clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
	}
}
.recruit-left-img-back{
	width: 100%;
	height: 34.3vw;
	position: relative;
	background-color: black;
	clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
	& > span{
		position: absolute;
		width: 99.5%;
		height: 98.5%;
		background-color: #EDE9E2;
		clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
		top: 1%;
	}
}
.recruit-right-content{
	width: 50%;
}

.recruit-right-img{
	width: 100%;
	height: 35.375vw;
	background-color: black;
}

.recruit-title{
	width: 57%;
	margin-left: 10%;
	& > img{
		object-fit: cover;
		object-position: center;
		width: 100%;
		height: 100%;
		vertical-align: middle;
	}
}
.recruit-desc{
	margin-top: 50px;
	width: 80%;
	font-size: 0.9vw;
	font-weight: 600;
	margin-left: 10%;
}
.recruit-more{
	margin-top: 3rem;
	margin-left: 10%;
	& a{
		text-decoration: none;
	}
}
.recruit-right-imgs{
	position: relative;
	margin-top: 5.2vw;
}
.recruit-right-img-back{
	width: 100%;
	height: 34.375vw;
	position: absolute;
	background-color: black;
	clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
	right: -2%;
	bottom: -18px;
	z-index: 0;
	& > span{
		position: absolute;
		width: 99%;
		height: 99%;
		background-color: #EDE9E2;
		clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
		top: 0.5%;
		left: 0.5%;
	}
}
.recruit-right-img{
	position: relative;
	top: -0.8vw;
	right: 0;
	width: 100%;
	height: 35.375vw;
	background-color: black;
	clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
	z-index: 1;
	& > span{
		width: 99%;
		height: 99%;
		position: absolute;
		top: 0.5%;
		right: 0.5%;
		clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
}
.action-bottom-widget{
	margin-top: -0.5vw;
	padding: 60px 0;
	background-color: #ff7600;
}
.element-btn-action{
	margin-bottom: 0px;
}

@media only screen and (min-width: 761px) and (max-width: 1024px) {
	.top-concept{
		padding-bottom: 32vw;
	}
	.concept-box{
		top: 5.2vw;
	}
	.top-service{
		background-position-y : -2vw;
		background-color: #EFEBE4;
	}
	.service-backtext{
		top: 1vw;
	}
	.service-content{
		margin-top: 6.5vw;
	}
	.service-desc{
		width: 100%;
		font-size: 2vw;
	}
	.works-title-pc{
		width: 100%;
		padding: 0 24px;
	}
	.recruit-desc{
		width: 89%;
		font-size: 2vw;
	}
	.top-member{
		padding-bottom: 33.2vw;
	}
	.top-recruit{
		/*
		position: relative;
		top: -6.5vw;
		*/
		margin-top: -7vw;
		padding-bottom: 10vw;
	}
}

@media (max-width: 991px){
	.works-more{
		margin-left: 24px;
	}
	.member-more{
		margin-left: 12px;
	}
}

@media (max-width: 760px){
	.top-page{
		padding-bottom: 60px;
	}
	.info-head{
		margin-left: -19%;
		padding-left: 0.5rem;
		& > img{
			max-width: 359px;
			width: 20vw;
			min-width: 180px;
		}
	}
	.info-box{
		margin-left: -0.5vw;
	}
	.info-list{
        	margin-top: 10%;
	}
	.info-content{
		box-shadow: white 7px 16px 1px 0px;
		/*margin-top: 3vw;*/
		margin-left: -7vw;
	}
	.top-concept{
		background-image: url("../images/background/16_bg-sp.png");
		padding-bottom: 59vw;
		padding-left: 0;
	}
	.concept-box{
		width: 100%;
		top: 4vw;
	}
	.concept-head{
		width: 50%;
		margin-top: 15px;
	}
	.concept-content{
		width : 96%;
		box-shadow: white 7px 16px 1px 0px;
		margin-top: 3vw;
		margin-left: -7vw;
		padding: 15px 15px 30vw 50px;
	}
	.concept-title-pc{
		display: none;
	}
	.concept-title-sp{
		display: block;
		margin-top: 100px;
		margin-bottom: 20px;
		& > img{
			width: 100%;
		}
	}
	.concept-desc{
		& p{
			padding-top: 30px;
			font-size: 3.1vw;
		}
	}
	#concept-rolls{
		bottom: -29%;
	}
	.concept-roll-item{
		width: 50vw;
		height: 50vw;
		& > a{
			width: 48vw;
			height: 48vw;
		}
	}
	.top-service{
		background-image: url("../images/background/17_bg-sp.png");
		padding-bottom: 25vw;
		padding-top: 14vw;
	}

	.service-backtext{
		height: 1px;
		margin-left: 0;
		width: 110%;
		top: -20vw;
		& > img{
			width: 100%;
		}
	}
	.service-head{
		& > img{
			width: 50%;
			bottom: 10vw;
		}
	}
	.service-content{
		margin-top: 13vw;
	}
	.service-img{
		width: 100%;
		& > span{
			width: 90%;
			height: 52.6vw;
		}
	}
	.service-text{
		width: 100%;
	}
	.service-title{
		width: 75%;
		margin: auto;
	}
	.service-desc{
		width: 76%;
		margin-left: 50px;
		margin-bottom: 16px;
		font-weight: 600;
		line-height: 45px;
		text-align: justify;
		font-size: 3.2vw;
	}

	.top-works{
		background-image: url("../images/background/18_bg-sp.png");
	}
	.works-backtext{
		width: 108%;
		top: -9vw;
		& > img{
			width: 100%;
		}
	}
	.works-head{
		& > img{
			width: 50%;
			right: 1vw;
		}
	}
	.works-title-pc{
		display: none;
	}
	.works-title-sp{
		display: block;
		text-align: center;
		margin-top: 7vw;
		& > img{
			width: 90%;
		}
	}
	.works-more{
		margin-left: 50px;
		& svg{
			width: 195px;
			height: 80px;
		}
	}

	.top-member{
		background-image: url("../images/background/19_bg-sp.png");
	}
	.member-backtext{
		width: 110%;
		right: 3vw;
		top: -8.5vw;
		& > img{
			width: 100%;
		}
	}
	.member-head{
		width: 64%;
		position: relative;
		right: -40%;
		& > img{
			width: 84%;
		}
	}
	#member-rolls{
		height: 80vw;
		bottom: 0;
	}
	.member-roll{
		position: relative;
		bottom: -6vw;
	}
	.member-roll-item{
		width: 50vw;
		& > a{
			width: 46vw;
		}
	}
	.member-roll-info{
		& > p{
			font-size: 3.2vw;
		}
	}
	.member-title-pc{
		display: none;
	}
	.member-title-sp{
		display: block;
		padding: 0 12px;
		margin-top: 48px;
		text-align: center;
		& > img{
			width: 90%;
		}
	}
	.member-more{
		margin: 0;
		margin-top: 48px;
		padding: 0 12px;
		& > a{
			margin-left: 50px;
		}
	}

	.top-recruit{
		background-image: url("../images/background/20_bg-sp.png");
	}
	.recruit-backtext{
		width: 110%;
		right: 3vw;
		bottom: 6vw;
		& > img{
			width: 100%;
		}
	}
	.recruit-head{
		padding-right: 24px;
		& > img{
			width: 52%;
			right: 5vw;
		}
	}
	.recruit-content{
		flex-wrap: wrap;
	}
	.recruit-left-content{
		width: 90%;
	}
	.recruit-left-img-back{
		height: 52.6vw;
	}
	.recruit-left-img{
		height: 100%;
	}
	.recruit-right-content{
		width: 100%;
		margin-top: 40px;
	}
	.recruit-title{
		width: 100%;
		margin: 0;
		text-align: center;
		& > img{
			width: 85%;
		}
	}
	.recruit-desc{
		width: 79%;
		font-size: 18px;
		font-weight: 600;
		margin-left: 50px;
		text-align: justify;
		line-height: 31px;
	}
	.recruit-more{
		text-align: left;
		margin-left: 50px;
		padding-bottom: 6vw;
	}
	.recruit-right-imgs{
		height: 52.6vw;
	}
	.recruit-right-img{
		width: 90%;
		height: 100%;
		position: absolute;
		top: 4%;
		& > span{
			top: 2px;
		}
	}
	.recruit-right-img-back{
		width: 90%;
		height: 100%;
	}
	.action-bottom-widget{
		padding: 60px 0 38px 0;
	}
}
@media (max-width: 480px){
	.info-head{
	        margin-left: -10%;
	}
	.concept-head{
		width: 65%;
	}
	.concept-content{
		width: 91%;
		padding: 14vw 7vw 16vw;
		margin-left: -15vw;
	}
	.concept-title-sp{
		margin-top: 25px;
		width: 90%;
	}
	.concept-desc{
		& > p {
			padding-top: 0;
		}
	}
	.concept-more{
		margin-top: 0;
		& svg{
			width: 140px;
		}
	}
	#concept-rolls{
		bottom: -35%;
	}
	.service-desc{
		line-height: 20px;
		font-size: 13px;
		margin-top: 20px;
	}
	.service-more{
		margin-top: 0;
		& svg{
			width: 140px;
		}
	}
	.top-works{
		padding-bottom: 60vw;
	}
	.works-title-sp{
		width: 75%;
		margin:0 auto;
		margin-top: 8.7vw;
	}
	.works-more{
		margin-top: 0;
		& svg{
			width: 140px;
		}
	}
	.top-member{
		padding-bottom: 21vw;
	}
	#member-rolls{
		bottom: 4vw;
	}
	.member-roll-info{
		& > p{
			width: 75%;
			font-size: 14px;
			padding: 0;
		}
	}
	.member-content{
		margin-top: 24px;
	}
	.member-title-sp{
		margin-top: 0;
	}
	.member-more{
		margin-top: 40px;
		& svg{
			width: 140px;
		}
	}
	.top-recruit{
		background-size: cover;
	}
	.recruit-head{
		& > img{
			bottom: 14.5vw;
			right: 2vw;
		}
	}
	.recruit-right-content{
		margin-top: 10px;
	}
	.recruit-desc{
		font-size: 13px;
		margin-top: 15px;
		line-height: 25px;
		margin-left: 30px;
	}
	.recruit-more{
		margin-top: 0;
		& svg{
			width: 140px;
		}
	}
	.service-img{
		& > span{
			& > span {
				width: 98%;
				height: 98%;
				position: absolute;
				top: 1%;
				right: 1%;
			}
		}
	}
	.action-bottom-widget{
		padding: 0;
		padding-top: 60px;
	}
}
