@charset "utf-8";

/* -------------------------------------------------- */
/* Foundation */
/* -------------------------------------------------- */
#wrapper {
	color: #201e1e;
	font-family: "Noto Sans JP", sans-serif; 
	font-weight: 500;
	overflow: visible;
}
a {
	transition: .2s linear;
}
a:hover {
	opacity: 0.8;
}

/* #block-mv */
#block-mv .slick-arrow {position: absolute; top: 50%; width: 23px; height: 40px; text-indent: -9999px; transform: translateY(-50%); z-index: 1;}
#block-mv .slick-arrow::before {content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(/prof/recruit/archi/building_construction/img/2027/img_arw_bk.png) left top / 100% auto no-repeat;}
#block-mv .slick-prev {left: 40px;}
#block-mv .slick-prev::before {transform: scale(-1, 1);}
#block-mv .slick-next {right: 40px;}
@keyframes mvLine{
	from {width: 0; height: 0;}
	to {width: 105%; height: 92%;}
}
@keyframes mvFadeUp{
	from {opacity: 0; transform: translateY(100px);}
	to {opacity: 1; transform: translateY(0);}
}
@keyframes mvFadeRight{
	from {opacity: 0; transform: translateX(100px);}
	to {opacity: 1;transform: translateY(0);}
}
@keyframes mvFadeLeft{
	from {opacity: 0; transform: translateX(-100px);}
	to {opacity: 1;transform: translateY(0);}
}
@media screen and (min-width:1px) and (max-width:959px){
	#block-mv .slick-arrow {width: 11.5px; height: 20px;}
	#block-mv .slick-prev {left: 20px;}
	#block-mv .slick-next {right: 20px;}
}
@keyframes mvZoomOut {
	0% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1.0); 
	}
}
.js-mv-animation {
	animation: mvZoomOut 10s linear 0s normal both;
}
/* #block-movie */
@keyframes movieFadeUp{
	from {opacity: 0; transform: translateY(100px);}
	to {opacity: 1; transform: translateY(0);}
}

/* #block-mainCt */
#block-mainCt{
	background: url(/prof/recruit/archi/building_construction/img/2027/bg_mainCt.jpg) center / cover no-repeat; overflow: hidden;
}
/* #block-about */

/* #block-voice */
@keyframes voiceLeft{
	from {transform: translateX(-100%); opacity: 0;}
	to {transform: translateX(0); opacity: 1;}
}
@keyframes voiceRight{
	from {transform: translateX(100%); opacity: 0;}
	to {transform: translateX(0); opacity: 1;}
}
@keyframes voiceUp{
	from {transform: translateY(-100%); opacity: 0;}
	to {transform: translateX(0); opacity: 1;}
}

/* common-breadcrum */
.common-breadcrumb .container {
	max-width: 1160px;
}
.common-breadcrumb{
	margin-top: 50px;
	margin-bottom: 50px;
}

/* -------------------------------------------------- */
/* Layout */
/* -------------------------------------------------- */
/* #block-mv */
.l-mv__inner{
	position: relative;
}
/* #block-menu */
.l-menu__inner{
	margin-top: 90px;
	margin-bottom: 90px;
}
@media screen and (min-width:1px) and (max-width:959px){
	.l-menu__inner{
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* #block-about */
.l-about__inner {
	margin-bottom: 60px;
}
@media screen and (min-width:1px) and (max-width:959px){
	.l-about__inner {
		margin-bottom: 20px;
	}
}

/* #block-voice */
.l-voice{
	margin-top: 90px;
	margin-bottom: 90px;
}
@media screen and (min-width:1px) and (max-width:959px){
	.l-voice{
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* -------------------------------------------------- */
/* Component */
/* -------------------------------------------------- */
/* common */
.c-btn {
	position: relative;
	display: flex;
	justify-content: center; 
	align-items: center; 
	min-height: 84px; 
	margin: auto; 
	padding-left: 1.0rem;
	padding-right: 1.0rem;
	font-size: 1.5rem; 
	font-weight: 700; 
	letter-spacing: 0.1em;
	box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.c-btn::after {
	content: ""; 
	position: absolute; 
	right: 30px; 
	top: 50%; 
	width: 13px; 
	height: 21px; 
	background: url(/prof/recruit/archi/building_construction/img/2027/arw_wt.png) left top / 100% auto no-repeat; opacity: 0.6; 
	transform: translateY(-50%);
}
.c-btn.-black {
	background-color: #222;
}

@media screen and (min-width:1px) and (max-width:959px){
	.c-btn {
		min-height: 55px; 
		font-size: 0.875rem;
	}
	.c-btn::after {
		right: 10px; 
		width: 7px; 
		height: 11px;
	}
}

/* -------------------------------------------------- */
/* Project */
/* -------------------------------------------------- */
/* #block-mv */
.p-mv__item {
	position: relative; 
	overflow: hidden;
	max-height: 950px;
}
.p-mv__bg {
	position: relative; 
	width: 100%; 
	height: 0; 
	padding-top: 51.5625%; 
	background-size: cover; 
	background-repeat: no-repeat;
}
.p-mv__bg::before {
	content: ""; 
	position: absolute; 
	left: 0; 
	top: 0; 
	width: 100%; 
	height: 100%; 
	/* border: 30px solid #fff;  */
	box-sizing: border-box; 
	z-index: 1;
}
.p-mv__item.-item-01 .p-mv__bg {
	background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide01_pc.jpg);
}
.p-mv__item.-item-02 .p-mv__bg {
	background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide02_pc.jpg);
}
.p-mv__item.-item-03 .p-mv__bg {
	background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide03_pc.jpg);
}
.p-mv__txt {
	position: absolute; 
	top: max(8.85416vw, 113px);
	z-index: 1; 
	animation-duration:1.5s; 
	animation-fill-mode:forwards; 
	opacity:0;
}
.p-mv__txt.animated {
	animation-name:mvFadeUp;
}
.p-mv__txt{
	left: 21%;
}
.p-mv__logo > img {
	display: block;
	width: max(19.63541vw, 251px);
	margin: 0 auto;
}
.p-mv__btn{
	position: relative;
    display: flex;
	max-width: 375px;
	min-height: 70px;
	margin-top: 40px;
	padding-right: 13px;
    padding-left: 13px;
	color: #fff !important;
	font-size: 1.75rem;
	font-weight: 700;
	background-color: #222;
	justify-content: center;
    align-items: center;

}
@media screen and (min-width:1px) and (max-width:959px){
	.p-mv__bg {
		height: calc(100vh - 74px);
		padding-top: 80%;
		background-position: center;
	}
	.p-mv__item.-item-01 .p-mv__bg {
		background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide01_sp.jpg);
	}	
	.p-mv__item.-item-02 .p-mv__bg {
		background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide02_sp.jpg);
	}	
	.p-mv__item.-item-03 .p-mv__bg {
		background-image: url(/prof/recruit/archi/building_construction/img/2027/bg_mv_slide03_sp.jpg);
	}	
	.p-mv__bg::before {
		border-width: 15px;
	}
	.p-mv__txt {
		top: 167px;
		left: calc(50% - 94px);
		text-align: center;
	}
	.p-mv__logo > img {
		display: block;
		/* width: max(49.86666vw, 187px); */
		width: 187px;
		margin: 0 auto;
	}	
	.p-mv__btn{
		max-width: 190px; 
		min-height: 56px;
		margin-top: 15px;
		margin-left: auto;
        margin-right: auto;
		padding-top: 3px;
        padding-bottom: 6px;
		font-size: 1.0625rem;
		letter-spacing: 0.05em;
	}
}

/* #block-movie */
.p-movie__inner{
	/* position: sticky;
	top: 0; */
	width: 100%;
	height: 776px;
	background-color: #222222;
}
.p-movie__movie {
	position: relative; 
	max-width: 1200px;
	height: auto;
	margin: 0 auto;
	padding-top: 50px;
}
.p-movie__ttl{
	position: absolute;
	top: 180px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	transition: all .8s;
	transition-delay: .3s;
	opacity: 0;
}
.p-movie__ttl.animated{
	top: 150px;
	opacity: 1;
}
.p-movie__img{
	width: 327px;
	height: auto;
}
.p-movie__bg{
	position: absolute;
	top: 50px;
	left: 0;
	width: 1200px;
	height: 675px;
	background-color: #A1A7B0;
	mix-blend-mode: multiply;
	z-index: 1;
}
.p-movie__movie > video {
	position: absolute;
	top: 50px;
	left: 0;
	width: 100%;
	height: auto;
	object-fit: cover; 
	object-position: center; 
}
.p-movie__txt{
	position: absolute;
	top: 350px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	text-align: center;
	font-size: min(1.5rem, 30px);
	letter-spacing: 0.1em;
	line-height: 2;
	font-weight: bold;
	z-index: 3;
	transition: all .8s;
	transition-delay: .3s;
	opacity: 0;
}
.p-movie__txt.animated{
	top: 320px;
	opacity: 1;
}

@media screen and (min-width:1px) and (max-width:959px){
	.p-movie__inner{
		height: 280px;
	}
	.p-movie__img{
		width: 162px;
	}	
	.p-movie__ttl{
		top: 64px;
	}
	.p-movie__ttl.animated{
		top: 34px;
		opacity: 1;
	}		
	.p-movie__bg{
		width: 100%;
		height: 280px;
		top: 0;
	}
	.p-movie__movie {
		width: 100vw;
		padding-top: 0;
	}
	.p-movie__movie > video {
		object-fit: cover; 
		object-position: center; 
		top: 0;
		left: 0;
		width: 100vw; 
		height: 283px;  
	}
	.p-movie__txt{
		width: 100%;
		top: 150px;
		padding-bottom: 33px;
		font-size: 0.75rem;
		line-height: 1.833333;
	}	
	.p-movie__txt.animated{
		top: 120px;
	}	
}  

/* #block-menu */
.p-menu{
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 30px;
	padding-right: 30px;
	padding-bottom: 30px;
	padding-left: 30px;
	background-color: #fff;
	border: 1px solid #EFEFEF;
}
.p-menu__list{
	display: flex;
	justify-content: flex-start;
}
.p-menu__item{
	position: relative;
	width: 270px;
	height: 270px;
	margin-right: 30px;
}
.p-menu__list .p-menu__item:last-of-type{
	margin-right: 0;
}
.p-menu__item a{
	display: block;
	width: 100%;
    height: 100%;
	background: no-repeat center center;
    background-size: cover;
	color: #fff !important;
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
    box-sizing: border-box;
	object-fit: cover;
}
.p-menu__item.-item-01 a{
	background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu01_pc.png);
}
.p-menu__item.-item-02 a{
	background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu02_pc.png);
}
.p-menu__item.-item-03 a{
	background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu03_pc.png);
}
.p-menu__item.-item-04 a{
	background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu04_pc.png);
}
.p-menu__item.-item-02{
	position: relative;
}
.p-menu__blank{
	position: absolute;
	right: 8px;
	bottom: 6px;
	width: 22px;
    height: 22px;
	background-image: url(/prof/recruit/archi/building_construction/img/2027/icon_top_blank.png);
    background-size: contain;
	content: "";
}
.p-menu__ttl{
	position: absolute;
	bottom: 27px;
	display: block;
	width: 100%;
	line-height: 1.41666;
	/* padding-top: 174px; */
}
@media screen and (min-width:1px) and (max-width:959px){
	.p-menu{
		width: 100%;
		margin: 0 auto;
		padding-top: 25px;
		padding-right: 2.6666vw;
		padding-bottom: 25px;
		padding-left: 2.6666vw;
		border: none;
	}
	.p-menu__list{
		flex-wrap: wrap;
		gap: 16px 0;
	}
	.p-menu__item{
		margin-right: 7px;
		width: 46.4vw;
		height: 38.4vw;	
	}
	.p-menu__list .p-menu__item:nth-of-type(2){
		margin-right: 0;
	}	
	.p-menu__item a{
		background-size: contain;
		font-size: 0.5625rem;
		line-height: 1.33333;
	}	
	.p-menu__item.-item-01 a{
		background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu01_sp.png);
	}
	.p-menu__item.-item-02 a{
		background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu02_sp.png);
	}
	.p-menu__item.-item-03 a{
		background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu03_sp.png);
	}
	.p-menu__item.-item-04 a{
		background-image: url(/prof/recruit/archi/building_construction/img/2027/banner_menu04_sp.png);
	}	
	.p-menu__ttl{
		bottom: 1.866666vw;
		/* padding-top: 16.8vw; */
		font-size: max(3.4vw ,13px);
	}	
	.p-menu__blank{
		right: 1.6vw;
		bottom: 2.66666vw;	
		width: 8px;
		height: 8px;	
	}		
}
/* #block-about */
.p-about {
	position: relative;
}
.p-about::after {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 10px;
	background-color: #222222;
	transition: all .6s;
	transition-delay: .6s;
	transform: scale(0, 1);
	transform-origin: center top;
	content: "";
}
.p-about.animated::after {
	transform: scale(1, 1);
}
.p-about__inner {
	display: flex;
	position: relative;
	max-width: 1160px;
	margin: auto;
	justify-content: flex-start;
	align-items: flex-start;
	overflow: hidden;
}
.p-about__inner::before{
	position: absolute;
	top: 10px;
	left: 50%;
	width: 580px;
	height: 570px;
	background-color: white;
	transition: all .6s;
	transition-delay: .9s;
	z-index: 2;
	content: '';
}
.p-about__inner::after{
	position: absolute;
	top: 10px;
	left: 0;
	width: 580px;
	height: 580px;
	background-color: white;
	transition: all .6s;
	transition-delay: .9s;
	z-index: 2;
	content: '';
}
.p-about__inner.animated::before {
	left: 100%;
}
.p-about__inner.animated::after {
	left: -50%;
}
.p-about__img{
	width: 680px;
	height: auto;
	margin-top: 10px;
}
.p-about__detail {
	width: 480px;
	margin-top: 10px;
}
.p-about__ttl {
	background-color: #222;
	color: #FFF;
	font-weight: 600;
	text-align: center;
}
.p-about__ttl.-ttl-01{
	min-height: 210px;
	padding-top: 25px;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.p-about__ttl.-ttl-02{
	min-height: 190px;
	padding-top: 20px;
	font-size: 3.4375rem;
	letter-spacing: 0;
	line-height: 1.27272;
}
.p-about__mainTtl.-mTtl-01{
	display: block;
	margin-left: 0.2em;
	text-align: left;
	font-size: 4.8125rem;
	font-weight: 600;
	line-height: 1.5;
}
.p-about__mainTtl.-mTtl-02{
	font-weight: 300;
}
.p-about__mainTtl.-mTtl-03{
	font-size: 3.5625rem;
}
.p-about__mainTtl.-mTtl-04{
	margin-left: -0.4em;
}
.p-about__detail > p {
	width: 390px;
	margin-top: 30px;
	margin-right: auto;
	margin-left: auto;
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.90909;
}
@media screen and (min-width:1px) and (max-width:959px){
	.p-about::after {
		height: 5px;
	}
	.p-about__inner {
		max-width: 100%;
		padding-right: 0;
		padding-left: 0;
		flex-direction: column;
	}
	.p-about__inner.-inner02{
		flex-direction: column-reverse
	}
	.p-about__inner::before{
		top: 5px;
		width: 100%;
	}		
	.p-about__inner.-inner01::before{
		height: 639px;
	}		
	.p-about__inner.-inner02::before{
		height: 547px;
	}		
	.p-about__inner::after{
		top: 5px;
		width: 100%;
	}
	.p-about__inner.-inner01::after{
		height: 639px;
	}		
	.p-about__inner.-inner02::after{
		height: 547px;
	}		
	.p-about__inner.animated::after {
		left: -100%;
	}		
	.p-about__img{
		width: 100%;
		margin-top: 5px;
	}	
	.p-about__spImg{
		width: 100vw;
	}	
	.p-about__detail {
		width: 100%;
		margin-top: 0;
	}
	.p-about__ttl.-ttl-01 {
		min-height: 160px;
		padding-top: 20px;
		padding-bottom: 22px;
		font-size: 1.25rem;
	}
	.p-about__ttl.-ttl-02{
		min-height: 100px;
		padding-top: 25px;
		padding-bottom: 25px;
		font-size: 2.1875rem;
		line-height: 1.08571;
	}	
	.p-about__mainTtl.-mTtl-01 {
		margin-left: -0.5em;
		font-size: 3.875rem;
		text-align: center;
		letter-spacing: 0.1em;
	}
	.p-about__mainTtl.-mTtl-03 {
		font-size: 2.8125rem;
	}
	.p-about__detail > p {
		width: 85.33333vw;
		margin-top: 20px;
		font-size: 0.8125rem;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 2.07692;
	}	
}

/* #block-voice */
.p-voice{
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 35px;
	padding-bottom: 35px;
	padding-left: 42px;
	background-color: #fff;
	border: 1px solid #CCC;
}
.p-voice__inner{
	display: flex;
}
.p-voice__txt{
	margin-top: 25px;
	margin-right: 8px;
}
.p-voice__ttl1{
	font-size: 3.75rem;
	font-weight: 600;
}
.p-voice__ttl2{
	display: block;
	margin-top: 2px;
	font-size: 4.6875rem;
	font-weight: 700;
	line-height: 1;
}
.p-voice__tagList{
	width: 450px;
	margin-top: 72px;
}
.p-voice__tagList{
	display: flex;
	justify-content: space-between;
}
.p-voice__item{
	width: 210px;
	min-height: 35px;
	margin-bottom: 15px;
	padding-top: 7px;
	padding-right: 21px;
	padding-bottom: 6px;
	padding-left: 21px;
	color: #FFF;
	font-size: 1.0625rem;
	text-align: left;
	border-radius: 50px;
}
.p-voice__item:last-child{
	margin-bottom: 0;
}
.p-voice__item.-item-pink{
	background-color: #E54298;
}
.p-voice__item.-item-green{
	background-color: #A6D386;
}
.p-voice__item.-item-blue{
	background-color: #50B5E1;
}
.p-voice__pcImg{
	width: 618px;
	height: auto;
}
.p-voice__spImg{
	display: none;
}
.p-voice__btn{
	position: absolute;
	right: 35px;
	bottom: 37px;
	width: 400px;
	font-size: 1.25rem;
	color: #FFF !important;
}
@media screen and (min-width:1px) and (max-width:959px){
	.p-voice{
		max-width: 100%;
		padding-top: 25px;
		padding-right: 2.66666vw;
		padding-bottom: 25px;
		padding-left: 2.66666vw;
	}	
	.p-voice__inner {
		flex-direction: column;
	}
	.p-voice__txt{
		margin-top: 0;
		margin-right: 0;
		text-align: center;
	}	
	.p-voice__ttl1{
		font-size: 1.5625rem;
	}
	.p-voice__ttl2{
		margin-top: 0;
		font-size: 2.5rem;
	}
	.p-voice__pcImg{
		display: none;
	}
	.p-voice__spImg{
		display: block;
		width: 100%;
		height: auto;
		margin-top: 12px;
	}
	.p-voice__tagList {
		width: 100%;
		margin-top: 24px;
		gap: 0 15px;
		justify-content: center;
	}
	.p-voice__item {
		width: 170px;
		min-height: 28px;
		margin-bottom: 13px;
		padding-top: 5px;
		padding-right: 17px;
		padding-bottom: 5px;
		padding-left: 18px;
		font-size: 0.8125rem;
	}
	.p-voice__btn {
		position: relative;
		right: 0;
		bottom: 0;
		width: 100%;
		margin-top: 24px;
	}
}

/* -------------------------------------------------- */
/* Utility */
/* -------------------------------------------------- */

.u-pc-hidden{
	display: none !important;
}

@media screen and (min-width:1px) and (max-width:959px){
	.u-sp-hidden{
		display: none !important;
	}
	.u-pc-hidden{
		display: block !important;
	}
}
