@charset "utf-8";

#footer-area{
	margin-top: 0;
}


#top-main-visual{
	background-color: rgba(0,0,0,.30);
	width: 100%;
	position: fixed;
	left: 0;
	z-index: -1;
}
#top-main-visual-region{
	width: 100%;
}
#top-main-visual .swiper-slide{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
#top-main-visual .swiper-slide .photo{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
#top-main-visual .swiper-slide .photo-list{
	position: absolute;
}
#top-main-visual .swiper-slide .photo-list figure{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#top-main-visual .catch{
	background-image: url("../img/catch.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: absolute;
	z-index: 2;
}
@keyframes fadeInPC {
		0% {
			opacity: 0;
		}
		50% {
			opacity: 1;
		}
		100% {
			transform: translateY(-20%);
			opacity: 1;
		}
	}
@media print, screen and (min-width:1025px) {
	#top-main-visual-region{
		height: calc(100vh - 100px);
	}
	#top-main-visual{
		height: calc(100vh - 100px);
		top: 100px;
	}
	#top-main-visual .swiper-slide{
		height: 100%;
	}
	#top-main-visual .swiper-slide .photo-list{
		width: 31.25%;
		right: 5%;
		top: 50%;
		transform: translateY(-30%) rotate(13deg);
	}
	#top-main-visual .swiper-slide.swiper-slide-visible .photo-list figure{
		animation: fadeInPC 6.0s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	#top-main-visual .swiper-slide.swiper-slide-prev .photo-list figure{
		transform: translateY(-20%);
	}
	#top-main-visual .catch{
		padding-bottom: calc(69.85294% * 35.4166% / 100%);
		width: 35.4166%;
		left: 7.2916%;
		top: 50%;
		transform: translateY(-50%);
	}
	
	
	
	#top-main-visual .visual1{
		background-image: url("../img/main01_back_pc.jpg");
	}
	#top-main-visual .visual1 .photo{
		background-image: url("../img/main01_front_pc.webp");
	}
	#top-main-visual .visual1 .photo-list figure{
		background-image: url("../img/main01_thumb_pc.webp");
		padding-bottom: 272.25%;
	}
	
	#top-main-visual .visual2{
		background-image: url("../img/main02_back_pc.jpg");
	}
	#top-main-visual .visual2 .photo{
		background-image: url("../img/main02_front_pc.webp");
	}
	#top-main-visual .visual2 .photo-list figure{
		background-image: url("../img/main02_thumb_pc.webp");
		padding-bottom: 272.25%;
	}
	
	#top-main-visual .visual3{
		background-image: url("../img/main03_back_pc.jpg");
	}
	#top-main-visual .visual3 .photo{
		background-image: url("../img/main03_front_pc.webp");
	}
	#top-main-visual .visual3 .photo-list figure{
		background-image: url("../img/main03_thumb_pc.webp");
		padding-bottom: 272.25%;
	}
	
	#top-main-visual .visual4{
		background-image: url("../img/main04_back_pc.jpg");
	}
	#top-main-visual .visual4 .photo{
		background-image: url("../img/main04_front_pc.webp");
	}
	#top-main-visual .visual4 .photo-list figure{
		background-image: url("../img/main04_thumb_pc.webp");
		padding-bottom: 272.4166%;
	}
}
@keyframes fadeInSP {
		0% {
			opacity: 0;
		}
		50% {
			opacity: 1;
		}
		100% {
			transform: translateX(20%);
			opacity: 1;
		}
	}
@media screen and (max-width: 1024px){
	#top-main-visual-region{
		height: calc(100vh - 70px);
	}
	#top-main-visual{
		height: calc(100vh - 70px);
		height: calc(100dvh - 70px);
		top: 70px;
	}
	#top-main-visual .swiper-slide{
		height: 100%;
	}
	#top-main-visual .swiper-slide .photo-list{
		width: 110.25641%;
		left: 50%;
		top: 10.0775%;
		transform: translateX(-65%);
	}
	#top-main-visual .swiper-slide.swiper-slide-visible .photo-list figure{
		animation: fadeInSP 6s cubic-bezier(0, 0.55, 0.45, 1) forwards;
	}
	#top-main-visual .swiper-slide.swiper-slide-prev .photo-list figure{
		transform: translateX(20%);
	}
	#top-main-visual .catch{
		padding-bottom: 202px;
		width: 290px;
		left: 50%;
		bottom: 60px;
		transform: translateX(-50%);
	}
	
	
	#top-main-visual .visual1{
		background-image: url("../img/main01_back_sp.jpg");
	}
	#top-main-visual .visual1 .photo{
		background-image: url("../img/main01_front_sp.webp");
	}
	#top-main-visual .visual1 .photo-list figure{
		background-image: url("../img/main01_thumb_sp.webp");
		padding-bottom: 23.25581%;
	}
	
	#top-main-visual .visual2{
		background-image: url("../img/main02_back_sp.jpg");
	}
	#top-main-visual .visual2 .photo{
		background-image: url("../img/main02_front_sp.webp");
	}
	#top-main-visual .visual2 .photo-list figure{
		background-image: url("../img/main02_thumb_sp.webp");
		padding-bottom: 23.25581%;
	}
	
	#top-main-visual .visual3{
		background-image: url("../img/main03_back_sp.jpg");
	}
	#top-main-visual .visual3 .photo{
		background-image: url("../img/main03_front_sp.webp");
	}
	#top-main-visual .visual3 .photo-list figure{
		background-image: url("../img/main03_thumb_sp.webp");
		padding-bottom: 23.25581%;
	}
	
	#top-main-visual .visual4{
		background-image: url("../img/main04_back_sp.jpg");
	}
	#top-main-visual .visual4 .photo{
		background-image: url("../img/main04_front_sp.webp");
	}
	#top-main-visual .visual4 .photo-list figure{
		background-image: url("../img/main04_thumb_sp.webp");
		padding-bottom: 23.25581%;
	}
}



#message-area{
	/*background: #0068FE;
	background: linear-gradient(180deg, rgba(0, 104, 254, 0) 0%, rgba(0, 104, 254, 0.8) 12%, rgba(0, 104, 254, 0.8) 75%, rgba(39, 90, 247, 1) 100%);*/
	position: relative;
}
#message-area p{
	color: #FFF;
	font-weight: 500;
	line-height: 1.66;
}
#message-area .catch{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
#message-area .catch span{
	background-color: #FFF;
	color: #275AF7;
	display: block;
	margin: 2.5px 0;
}
@media print, screen and (min-width:1025px) {
	#message-area{
		padding-top: 100vh;
	}
	#message-area .inner{
		padding-top: 308px;
		padding-bottom: 200px;
	}
	#message-area p{
		font-size: clamp(1.25rem, 0.471rem + 2.11vw, 2.25rem);
	}
	#message-area p:nth-child(n + 2){
		margin-top: 60px;
	}
	#message-area .catch span{
		padding: 5px 20px;
	}
}
@media screen and (max-width: 1024px){
	#message-area{
		padding-top: 100vh;
		padding-top: 100dvh;
	}
	#message-area .inner{
		padding-top: 165px;
		padding-bottom: 100px;
	}
	#message-area p{
		font-size: 1.8rem;
	}
	#message-area p:nth-child(n + 2){
		margin-top: 30px;
	}
	#message-area .catch span{
		padding: 10px 15px;
	}
}



#news-sec .ttl .en{
	font-weight: 500;
	line-height: 1;
}
#news-sec .news-list{
	border-top: 2px solid #275AF7;
}
#news-sec .news-list > div{
	border-bottom: 1px dashed #C3C3C3;
}
#news-sec .news-list > div dt,
#news-sec .news-list > div dd{
	font-weight: 300;
}
@media print, screen and (min-width:1025px) {
	#news-sec{
		display: flex;
		margin-left: auto;
		margin-right: auto;
		padding-top: 180px;
		padding-bottom: 140px;
		max-width: 1284px;
		width: 90%;
	}
	#news-sec .ttl{
		width: 22.1183%;
	}
	#news-sec .ttl .en{
		font-size: clamp(3rem, 0.943rem + 4.21vw, 6rem);
	}
	#news-sec .news-list{
		width: calc(100% - 22.1183%);
	}
	#news-sec .news-list > div{
		display: flex;
		padding: 25px 0;
	}
	#news-sec .news-list > div dt,
	#news-sec .news-list > div dd{
		font-size: 1.6rem;
	}
	#news-sec .news-list > div dt{
		width: 14em;
	}
	#news-sec .news-list > div dd{
		width: calc(100% - 14em);
	}
}
@media screen and (max-width: 1024px){
	#news-sec .ttl .en{
		font-size: 3.0rem;
	}
	#news-sec .news-list{
		margin-top: 25px;
	}
	#news-sec .news-list > div{
		padding: 20px 0;
	}
	#news-sec .news-list > div dt,
	#news-sec .news-list > div dd{
		font-size: 1.5rem;
	}
	#news-sec .news-list > div dt{
		color: #275AF7;
	}
}


#special-sec .image{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#special-sec .card{
	background-color: #FFF;
}
#special-sec .card .ttl .jp{
	font-weight: 700;
	line-height: 1.83;
}
#special-sec .card .ttl .en{
	font-weight: 500;
	line-height: 1;
}
#special-sec .card .detail .jp{
	font-weight: 500;
}
@media print, screen and (min-width:1025px) {
	#special-sec {
	  display: grid;
	  grid-template-columns: repeat(4, 2fr) 1fr 2fr;
		grid-template-rows: repeat(2, 1fr);
	  grid-column-gap: 20px;
	  grid-row-gap: 20px;
	}
	#special-sec .image{
		box-shadow: 5px 5px 15px rgba(0, 0, 0, .08);
		border-radius: 30px;
	}
	#special-sec .image1 {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		background-image: url("../img/img_special_photo1.jpg");
		background-position: center top;
	  grid-area: 1 / 1 / 2 / 2;
	}
	#special-sec .image2 {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		background-image: url("../img/img_special_photo2.jpg");
	  grid-area: 2 / 1 / 3 / 2;
	}
	#special-sec .image3 {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		background-image: url("../img/img_special_photo3.jpg");
	  grid-area: 1 / 6 / 2 / 7;
	}
	#special-sec .image4 {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		background-image: url("../img/img_special_photo4.jpg");
	  grid-area: 2 / 5 / 3 / 7;
	}
	#special-sec .image5 {
		background-image: url("../img/img_special_photo5.jpg");
	  grid-area: 1 / 4 / 2 / 6;
	}
	#special-sec .image6 {
		background-image: url("../img/img_special_photo6.jpg");
	  grid-area: 2 / 4 / 3 / 5;
	}
	#special-sec .card {
		box-shadow: 5px 5px 15px rgba(0, 0, 0, .08);
		border-radius: 30px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	  grid-area: 1 / 2 / 3 / 4;
		padding: min(10%,80px) 0 min(10%,80px) min(10%,80px);
	}
	#special-sec .card .ttl .jp{
		font-size: min(1.56vw,3.0rem);
	}
	#special-sec .card .ttl .en{
		font-size: min(5.2vw,10rem);
		margin-top: 10px;
	}
	#special-sec .card .detail{
		margin-top: 100px;
	}
	#special-sec .card .detail .jp{
		font-size: min(1.04vw,2.0rem);
	}
	#special-sec .btn-area > a{
		max-width: 290px;
		width: 90%;
	}
}
@media screen and (max-width: 1024px){
	#special-sec{
		margin-top: 60px;
	}
	#special-sec .image1{
		background-image: url("../img/img_special_sp.png");
		margin: 0 -19.23075% 0;
		padding-bottom: calc(62.9629% * 138.4615% / 100%);
		width: 138.4615%;
	}
	#special-sec .card {
		box-shadow: 3px 3px 10px rgba(0, 0, 0, .08);
		border-radius: 15px;
		margin-top: -13.29%;
		padding: min(7.69%,30px);
	}
	#special-sec .card .ttl .jp{
		font-size: 2.0rem;
	}
	#special-sec .card .ttl .en{
		font-size: 5.0rem;
		margin-top: 10px;
	}
	#special-sec .card .detail{
		margin-top: 20px;
	}
	#special-sec .card .detail .jp{
		font-size: 1.8rem;
	}
	#special-sec .btn-area > a{
		width: 100%;
	}
}



#talk-sec{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	color: #FFF;
}
#talk-sec .detail .ttl .jp,
#talk-sec .detail .detail-text{
	font-weight: 500;
}
#talk-sec .detail .ttl .en{
	font-weight: 500;
	line-height: 1;
}
#talk-sec .talk-list ol{
	border-top: 1px solid rgba(255,255,255,.40);
	font-weight: 500;
	counter-reset: number 0;
	line-height: 1;
}
#talk-sec .talk-list ol > li{
	border-bottom: 1px solid rgba(255,255,255,.40);
}
#talk-sec .talk-list ol > li > a{
	display: flex;
	align-items: center;
}
#talk-sec .talk-list ol > li > a:after{
	background-image: url("../common/img/ic_navi_arrow.svg");
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	margin-left: auto;
}
#talk-sec .talk-list ol > li > a > span{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#talk-sec .talk-list ol > li > a > span:before{
	counter-increment: number 1;
	content: counter(number,decimal-leading-zero);
	font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
	line-height: 1;
}
#talk-sec .talk-list ol > li > a > span:after{
	background-image: url("../img/img_slash.svg");
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
}
@media print, screen and (min-width:1025px) {
	#talk-sec{
		background-image: url("../img/bg_talk.jpg");
		border-radius: 30px;
		box-shadow: 8px 8px 16px rgba(0, 0, 0, .16);
		display: flex;
		justify-content: space-between;
		padding: min(5.79%,80px);
		margin-left: auto;
		margin-right: auto;
		margin-top: 140px;
		margin-bottom: 180px;
		max-width: 1380px;
		width: 90%;
	}
	#talk-sec .detail{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 42.62295%;
	}
	#talk-sec .detail .ttl .jp{
		font-size: min(1.56vw,3.0rem);
	}
	#talk-sec .detail .ttl .en{
		font-size: min(5.2vw,10rem);
		margin-top: 10px;
	}
	#talk-sec .detail .detail-text{
		font-size: clamp(1rem, 0.314rem + 1.4vw, 2rem);
	}
	#talk-sec .talk-list{
		width: 57.377%;
	}
	#talk-sec .talk-list ol > li{
		font-size: clamp(1.5rem, -0.144rem + 2.57vw, 3rem);
	}
	#talk-sec .talk-list ol > li > a{
		padding: 30px 20px;
		transition: .3s;
	}
	#talk-sec .talk-list ol > li > a > span{
		margin-right: 35px;
		width: 60px;
	}
	#talk-sec .talk-list ol > li > a > span:before{
		font-size: 3.0rem;
	}
	#talk-sec .talk-list ol > li > a > span:after{
		height: 25px;
		width: 13px;
	}
	#talk-sec .talk-list ol > li > a:after{
		height: 40px;
		width: 40px;
	}
	@media (hover: hover) and (pointer: fine){
		#talk-sec .talk-list ol > li > a:hover{
			opacity: .5;
		}
	}
}
@media screen and (max-width: 1024px){
	#talk-sec{
		background-image: url("../img/bg_talk_sp.jpg");
		border-radius: 15px;
		box-shadow: 3px 3px 10px rgba(0, 0, 0, .16);
		padding: min(7.69%,30px);
		margin-top: 30px;
	}
	#talk-sec .detail .ttl .jp{
		font-size: 2.0rem;
	}
	#talk-sec .detail .ttl .en{
		font-size: 5.0rem;
		margin-top: 10px;
	}
	#talk-sec .detail .detail-text{
		font-size: 1.8rem;
		margin-top: 20px;
	}
	#talk-sec .talk-list{
		margin-top: 40px;
	}
	#talk-sec .talk-list ol > li{
		font-size: 2.0rem;
	}
	#talk-sec .talk-list ol > li > a{
		padding: 20px 0;
	}
	#talk-sec .talk-list ol > li:last-child > a{
		border-bottom: none;
	}
	#talk-sec .talk-list ol > li > a > span{
		margin-right: 10px;
		width: 35px;
	}
	#talk-sec .talk-list ol > li > a > span:before{
		font-size: 1.8rem;
	}
	#talk-sec .talk-list ol > li > a > span:after{
		height: 12px;
		width: 6px;
	}
	#talk-sec .talk-list ol > li > a:after{
		height: 30px;
		width: 30px;
	}
}



#work-sec{
	overflow: hidden;
}
.work-heading-wrap .ttl .jp{
	font-weight: 500;
}
.work-heading-wrap .ttl .en{
	font-weight: 500;
	line-height: 1;
}
.employee-item .profile .joining,
.employee-item .profile .department,
.employee-item .profile .employee-name .jp,
.employee-item .profile .employee-name .en{
	font-weight: 500;
	line-height: 1.6;
}
.employee-item .profile .joining{
	color: #888888;
}
.employee-item .profile .employee-name{
	display: flex;
	align-items: center;
}
.employee-item .profile .employee-name .en{
	color: #275AF7;
}
@media print, screen and (min-width:1025px) {
	.work-heading-wrap{
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
	}
	.work-heading-wrap .ttl .jp{
		font-size: min(1.56vw,3.0rem);
	}
	.work-heading-wrap .ttl .en{
		font-size: min(5.2vw,10rem);
		margin-top: 10px;
	}
	.employee-list{
		margin-top: 55px;
		height: 100%;
		opacity: 0;
		transition: opacity 0.6s ease;
	}
	.employee-list.is-visible {
		opacity: 1;
	}
	.employee-list .swiper-wrapper{
		align-items: flex-end;
	}

	.employee-item a{
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		margin: 0 0 5.2%;
		width: 100%;
		transform: scale(0.77);
		transform-origin: bottom center;
		transition: .4s ease;
	}
	.employee-item.swiper-slide-prev a,
	.employee-item.swiper-slide-next a{
		margin-bottom: 1.7% !important;
	}
	.employee-item.swiper-slide-prev a{
		transform-origin: bottom left;
		transform: scale(0.92) translateX(-10px);
	}
	.employee-item.swiper-slide-next a{
		transform-origin: bottom right;
		transform: scale(0.92) translateX(10px);
	}
	.employee-item.swiper-slide-active a{
		margin: 0 0 0 !important;
		transform: scale(1) !important;
	}
	.employee-item .image{
		transition: .8s;
	}
	@media (hover: hover) and (pointer: fine) {
		.employee-item:hover .image{
			transform: scale(1.05)
		}
	}
	
	.employee-item .profile{
		margin-top: 20px;
		margin-left: 20px;
		margin-right: 20px;
	}
}
@media print, screen and (min-width:1026px) {
	.employee-item .profile .joining{
		font-size: min(0.94vw,1.3rem);
	}
	.employee-item .profile .department{
		font-size: min(1vw,1.4rem);
	}
	.employee-item .profile .employee-name{
		margin-top: 5px;
	}
	.employee-item .profile .employee-name .jp{
		font-size: min(1.59vw,2.2rem);
	}
	.employee-item .profile .employee-name .en{
		font-size: min(0.94vw,1.2rem);
		margin-left: 10px;
	}
}
@media screen and (min-width: 781px) and (max-width: 1025px) {
	.employee-list{
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	.employee-item .profile .joining{
		font-size: 1.3rem;
	}
	.employee-item .profile .department{
		font-size: 1.4rem;
	}
	.employee-item .profile .employee-name{
		margin-top: 5px;
	}
	.employee-item .profile .employee-name .jp{
		font-size: 2.2rem;
	}
	.employee-item .profile .employee-name .en{
		font-size: 1.2rem;
		margin-left: 10px;
	}
}
@media screen and (max-width: 1024px){
	.work-heading-wrap .ttl{
		text-align: center;
	}
	.work-heading-wrap .ttl .jp{
		font-size: 2.0rem;
	}
	.work-heading-wrap .ttl .en{
		font-size: 5.0rem;
		margin-top: 10px;
	}
	.employee-list .swiper-wrapper{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.employee-list .swiper-slide{
		margin-top: 30px;
		width: 44.5714%;
	}
	.employee-item .profile{
		margin-top: 10px;
	}
}
@media screen and (max-width: 780px){
	.employee-item .profile .joining{
		font-size: .9rem;
	}
	.employee-item .profile .department{
		font-size: .9rem;
	}
	.employee-item .profile .employee-nam{
		margin-top: 5px;
	}
	.employee-item .profile .employee-name .jp{
		font-size: 1.3rem;
	}
	.employee-item .profile .employee-name .en{
		font-size: .9rem;
		margin-left: 10px;
	}
}



.control-set .swiper-button-next,
.control-set .swiper-button-prev {
  color: #FFF;
  top: 0;
  margin: 0;
}
.control-set .swiper-button-next {
  right: 0;
  left: auto;
}
.control-set .swiper-button-prev {
  left: 0;
  right: auto;
}
.control-set .swiper-button-next:before,
.control-set .swiper-button-prev:before{
  color: #FD6925;
  font-family: "Material Symbols Outlined";
	font-variation-settings:
  'FILL' 1,
  'wght' 200,
  'GRAD' 0,
  'opsz' 48;
  font-weight: 200;
  font-size: 8.4rem;
  line-height: 1;
  transition: .5s ease-out;
}
.control-set .swiper-button-next:after,
.control-set .swiper-button-prev:after{
	display: none;
}
@media (hover: hover) and (pointer: fine) {
  .control-set .swiper-button-next:hover:before,
  .control-set .swiper-button-prev:hover:before {
    opacity: .7;
  }
}
.control-set .swiper-button-next:before{
  content: '\f591';
}
.control-set .swiper-button-prev:before{
  content: '\f591';
  transform: rotate(-180deg);
}
@media print, screen and (min-width:1025px) {
  .control-set {
  }
  .control-set .swiper-pagination {
    left: auto;
    right: auto;
    width: auto;
    flex-shrink: 0;
  }
  .control-set .page-prevnext {
    margin-left: auto;
    height: 54px;
    width: 110px;
    position: relative;
  }
}
@media screen and (max-width: 1024px) {
  .control-set {
    display: none;
  }
  
}



#project-sec{
	border-top: 1px solid #C9C9C9;
}
#project-sec .detail .ttl .jp,
#project-sec .detail .ttl .en,
#project-sec .detail > p{
	font-weight: 500;
}
#project-sec .detail .ttl .en{
	line-height: 1;
}
.project-images .image{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.project-images .photo1 {
  background-image: url("../img/project_photo1.jpg");
}
.project-images .photo2 {
  background-image: url("../img/project_photo2.jpg");
}
.project-images .photo3 {
  background-image: url("../img/project_photo3.jpg");
}
.project-images .photo4 {
  background-image: url("../img/project_photo4.jpg");
}
@media print, screen and (min-width:1025px) {
	#project-sec{
		margin-top: 120px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 120px;
		max-width: 1380px;
		width: 90%;
	}
	#project-sec .detail{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	#project-sec .ttl .jp{
		font-size: min(1.56vw,3.0rem);
	}
	#project-sec .ttl .en{
		font-size: min(5.2vw,10rem);
		margin-top: 10px;
	}
	#project-sec .detail > p{
		font-size: clamp(1rem, 0.314rem + 1.4vw, 2rem);
		margin-left: 30px;
	}
	
	
	.project-images {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
		grid-template-rows: repeat(9, .28fr);
	  grid-column-gap: 30px;
	  grid-row-gap: 20px;
		margin-top: 50px;
	}
	.project-images .image{
		border-radius: 30px;
	}
	
	.project-images .photo1 {
	  grid-area: 3 / 1 / 10 / 2;
	}
	.project-images .photo2 {
	  grid-area: 1 / 2 / 5 / 3;
	}
	.project-images .photo3 {
	  grid-area: 5 / 2 / 9 / 3;
	}
	.project-images .photo4 {
	  grid-area: 3 / 3 / 10 / 4;
	}
	.project-images .btn-area {
	  grid-area: 9 / 2 / 10 / 3;
		margin-top: 0;
	}
	.project-images .btn-area{
		margin: 5% auto 0;
		max-width: 290px;
		width: 76.3157%;
	}
}
@media screen and (max-width: 1024px){
	#project-sec{
		margin-top: 55px;
		margin-left: -5%;
		margin-right: -5%;
		padding: 55px 5% 0;
	}
	#project-sec .ttl{
		text-align: center;
	}
	#project-sec .ttl .jp{
		font-size: 2.0rem;
	}
	#project-sec .ttl .en{
		font-size: 5.0rem;
		margin-top: 10px;
	}
	#project-sec .detail > p{
		font-size: 1.6rem;
		margin-top: 40px;
	}
	
	
	.project-images {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  grid-template-rows: repeat(2,1fr) .5fr;
	  grid-column-gap: 5px;
	  grid-row-gap: 5px;
		margin-left: -5px;
		margin-right: -5px;
		margin-top: 30px;
	}
	.project-images .image{
		border-radius: 5px;
	}
	.project-images .photo1 {
	  grid-area: 1 / 1 / 3 / 2;
	}
	.project-images .photo2 {
	  grid-area: 1 / 2 / 2 / 3;
	}
	.project-images .photo3 {
	  grid-area: 2 / 2 / 3 / 3;
	}
	.project-images .photo4 {
	  grid-area: 1 / 3 / 3 / 4;
	}
	.project-images .btn-area {
	  grid-area: 3 / 1 / 4 / 4;
	}
	.project-images .btn-area > a{
		margin-left: auto;
		margin-right: auto;
		width: 83.7142%;
	}
}




.ttl-sub{
	color: #FFF;
	font-weight: 500;
	line-height: 1.1;
}
.ttl-sub strong{
	font-weight: 900;
}
.ogudlife-sec > a{
	position: relative;
	display: block;
	color: #FFF;
	overflow: hidden;
}
.ogudlife-sec > a:before,
.ogudlife-sec > a:after{
	content: "";
	display: block;
	position: absolute;
}
.ogudlife-sec > a:before{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 0;
	transition: .8s;
}
.ogudlife-sec > a:after{
	background-image: url("../common/img/ic_navi_arrow.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.ogudlife-sec h2{
	font-weight: 700;
	line-height: 1.6;
	position: relative;
	z-index: 2;
}
.ogud1 > a:before{
	background-image: url("../img/img_ogud1.jpg");
}
.ogud2 > a:before{
	background-image: url("../img/img_ogud2.jpg");
}
.ogud3 > a:before{
	background-image: url("../img/img_ogud3.jpg");
}


.recruitinfo-box,
.company-info-box{
	border-top: 1px solid rgba(255,255,255,.50);
}
.recruitinfo-box .detail h2,
.company-info-box .detail h2{
	color: #275AF7;
	font-weight: 700;
}
.recruitinfo-box .detail section > a,
.company-info-box .detail section > a{
	background-color: #FFF;
	height: 100%;
}
.recruitinfo-box .detail section > a[target="_blank"]:after, .company-info-box .detail section > a[target="_blank"]:after {
  background-image: url("../img/ic_window.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
}
@media print, screen and (min-width:1025px) {
	.ttl-sub{
		font-size: clamp(2.5rem, 0.786rem + 3.51vw, 5rem);
	}
	.ogudlife-box .detail{
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
	}
	.ogudlife-sec{
		width: 31.884%;
	}
	.ogudlife-sec > a{
		border-radius: 30px;
		padding: 12.95% 9.09% 111.55%;
	}
	.ogudlife-sec > a:after{
		height: 40px;
		width: 40px;
		right: 30px;
		bottom: 30px;
	}
	.ogudlife-sec h2{
		font-size: clamp(1.5rem, 0.471rem + 2.11vw, 3rem);
	}
	@media (hover: hover) and (pointer: fine){
		.ogudlife-sec > a:hover:before{
			transform: scale(1.06);
		}
	}
	
	
	.recruitinfo-box,
	.company-info-box{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.recruitinfo-box{
		margin-top: 80px;
	}
	.recruitinfo-box .ttl-sub,
	.company-info-box .ttl-sub{
		padding-right: 5px;
		width: 26.5217%;
	}
	.recruitinfo-box .detail,
	.company-info-box .detail{
		display: flex;
		justify-content: space-between;
		width: calc(100% - 26.5217%);
	}
	.recruitinfo-box .detail h2,
	.company-info-box .detail h2{
		font-size: clamp(1.2rem, 0.377rem + 1.69vw, 2.4rem);
		transition: .3s;
	}
	.recruitinfo-box .detail > section,
	.company-info-box .detail > section{
		width: 32.0512%;
	}
	.recruitinfo-box .detail section > a,
	.company-info-box .detail section > a {
	  border-radius: 30px;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  text-align: center;
	  min-height: 220px;
		position: relative;
	  transition: .3s;
	}
	.recruitinfo-box .detail section > a[target="_blank"]:after,
	.company-info-box .detail section > a[target="_blank"]:after{
		height: 48px;
		width: 48px;
		position: absolute;
		right: 20px;
		bottom: 20px;
	}
	@media (hover: hover) and (pointer: fine){
		.recruitinfo-box .detail section > a:hover,
		.company-info-box .detail section > a:hover{
			opacity: .7;
		}
	}
}
@media screen and (max-width: 1024px){
	.ttl-sub{
		font-size: 3.6rem;
		text-align: center;
	}
	.ogudlife-box .detail{
		margin-top: 30px;
	}
	.ogudlife-sec{
		margin-top: 20px;
	}
	.ogudlife-sec > a{
		border-radius: 30px;
		padding: 135px 0;
	}
	.ogudlife-sec > a:after{
		height: 30px;
		width: 30px;
		right: 20px;
		bottom: 20px;
	}
	.ogudlife-sec h2{
		font-size: 2.4rem;
		text-align: center;
	}
	
	
	.recruitinfo-box,
	.company-info-box{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.recruitinfo-box{
		margin-top: 60px;
	}
	.recruitinfo-box .ttl-sub,
	.company-info-box .ttl-sub{
	}
	.recruitinfo-box .detail,
	.company-info-box .detail{
		margin-top: 30px;
	}
	.recruitinfo-box .detail h2,
	.company-info-box .detail h2{
		font-size: 2.0rem;
	}
	.recruitinfo-box .detail > section,
	.company-info-box .detail > section{
		margin-top: 20px;
	}
	.recruitinfo-box .detail section > a,
	.company-info-box .detail section > a{
		border-radius: 10px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 30px 30px;
	}
	.recruitinfo-box .detail section > a[target="_blank"],
	.company-info-box .detail section > a[target="_blank"]{
		padding-right: 20px
	}
	.recruitinfo-box .detail section > a[target="_blank"]:after,
	.company-info-box .detail section > a[target="_blank"]:after{
		height: 48px;
		width: 48px;
	}
}





.block2{
	background-color: #EAEAEA;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.block3{
	background-color: #FFFFFF;
}
.block4{
	background-color: #0068FE;
}
@media print, screen and (min-width:1025px) {
	.block2{
		background-image: url("../img/bg_block2.png");
	}
	.block3{
		padding-top: 170px;
		padding-bottom: 180px;
	}
	.block4{
		padding-top: 170px;
		padding-bottom: 100px;
	}
}
@media screen and (max-width: 1024px){
	.block2{
		padding: 55px 5% 60px;
	}
	.block3{
		padding: 45px 5% 60px;
	}
	.block4{
		padding: 55px 0 60px;
	}
}


.btn-area > a{
	background-color: #FD6925;
	color: #FFF;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 500;
	line-height: 1;
}
.btn-area > a:after{
	background-image: url("../common/img/ic_navi_arrow.svg");
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
}
@media print, screen and (min-width:1025px) {
	.btn-area{
		margin-top: 50px;
	}
	.btn-area > a{
		border-radius: 70px;
		font-size: min(1.73vw,2.4rem);
		padding: 25px 30px 25px 45px;
		transition: .3s;
	}
	.btn-area > a:after{
		height: 40px;
		width: 40px;
	}
	@media (hover: hover) and (pointer: fine){
		.btn-area > a:hover{
			background-color: #0068FE;
		}
	}
}
@media screen and (max-width: 1024px){
	.btn-area{
		margin-top: 30px;
	}
	.btn-area > a{
		border-radius: 70px;
		font-size: 2.0rem;
		padding: 20px 30px 20px 40px;
	}
	.btn-area > a:after{
		height: 30px;
		width: 30px;
	}
}
