@charset "utf-8";

/* Main Visual */

.m_visual{width:100%; margin:0 auto; position:relative;  z-index:100; padding-top:101px;}
.m_visual .visual{height:800px; position:relative; background-size:cover !important;}
.m_visual .visual::before{display:block; content:''; width:100%; height:100%; background:rgba(0,0,0,0.4); position:absolute; left:0; top:0;}
.m_visual .visual01{background:url('/img/202504/main/m_visual01.jpg?1') right no-repeat;}
.m_visual .visual02{background:url('/img/202504/main/m_visual02.jpg?1') top center no-repeat;}
.m_visual .visual03{background:url('/img/202504/main/m_visual03.jpg') center no-repeat;}
.m_visual .visual04{background:url('/img/202504/main/m_visual04.jpg') center center no-repeat;}
.m_visual .layout{height:100%; display:flex; align-items:center; justify-content:right;}
.m_visual .txt{color:#fff; text-align:right; margin-top:200px;}
.m_visual .txt p.tit{font-family:'title'; font-size:3.8rem; line-height:4.3rem;margin-bottom:30px;}
.m_visual .txt p.tit small{display:block; font-size:2.2rem; line-height:2.7rem; margin-bottom:14px;}
.m_visual .txt p.s_tit{margin-bottom:25px;}
.m_visual .txt p.s_tit span{display:block;}



/*main common-------------------------------------------------------------------------------------------------------------------------------------*/
#main h2{font-family: 'title'; position:relative; font-size:45px; font-weight:900; margin:20px 0 0px; width:fit-content;}
/* #main h2::before{display:block; width:30px; height:30px; border-radius:50%; content:''; background:#f6efa7; position:absolute; left:-37px; top:-12px;} */
#main .layout{max-width:1280px;}
#main section{padding:80px 0; background-size:cover;}
#main section .title{position:absolute; left:30px; top:0;}
#main section .title span{display:block; color:#00a54f; font-weight:600; font-size:2.5rem; font-family:'title';}
#main section  .layout{position:relative; padding-left:300px;}

.link_wr{gap:2%;}
.link_wr .box{position:relative; flex:1; background:#f9f9f9; border-radius:0 20px; overflow:hidden; transition:0.8s; color:#fff;}
/* .link_wr .box::before{content:''; display:block; width:100%; height:100%; opacity:0; background:rgba(0,0,0,0.5); transition:1s; position:absolute; left:0; top:0; z-index:1;} */
.link_wr .box a{display:block; height:100%; position:relative;}
.link_wr .box p.txt{position:absolute; left:0; bottom:0; background:rgba(0,0,0,0.4); width:100%; padding:20px; z-index:2; transition:1s;}
.link_wr .box span.tit{display:block; margin:0 0 17px; font-size:1.5rem; font-family:'title'; line-height:1.7rem; font-weight:500; border-bottom:1px solid rgba(255,255,255,0.45); padding-bottom:10px; width:fit-content;}
.link_wr .box span.s_tit{display:block; word-break:keep-all;}
.link_wr .box img{width:100%; height:100%; object-fit:cover; transition:2s;}
.link_wr .box:hover{}
.link_wr .box:hover p.txt{background:transparent; opacity:0;}
.link_wr .box:hover img{transform:scale(1.1);}

.m1 .layout{border-left:50px solid #00a54f;}
.m2 .layout{border-left:50px solid #194889;}
.m3 .layout{border-left:50px solid #7d42b3;}


.m2{background:#f4f8fd;}
.m2 .title span{color:#194889 !important;}
.m2 .link_wr{gap:0;}
.m2 .box{width:48%; flex:unset; margin-bottom:4%; min-height:400px;}
.m2 .box:nth-child(odd){margin-right:4%;}
.m2 .box .img_wrap{height:280px;}


.m3 .box{background:#724db9;}
.m3 .title span{color:#7d42b3 !important;}







/* ----------------------------------------- Media Query ----------------------------------------- */

@media only screen and (max-width : 1400px) {
}



@media only screen and (max-width : 1200px) {
	.m_visual{padding-top:65px;}
	.m_visual .layout{justify-content:center;}
}


@media only screen and (max-width : 1000px) {
 	.m_visual .visual{height:600px;}
	.m_visual .visual01{background-position:30% 100%;}
	.m_visual .visual03{background-position:80% 100%;}
	.m_visual .txt{text-align:left; max-width:300px; margin-top:250px;}
	.m_visual .txt p.tit{font-size:1.8rem; line-height:2rem; margin-bottom:32px;}
	.m_visual .txt p.tit small{font-size:1.1rem; line-height:1.4rem; margin-bottom:9px;}
	.m_visual .txt p.s_tit{line-height:20px; margin-bottom:35px;}
	.m_visual .txt p.s_tit span{display:inline; line-height:1.4rem;}
	.m_visual .btn-basic{float:unset; margin:0 auto;}

	#main h2{font-size:2rem; margin:5px auto 35px;}
	#main h2::before{width:20px;height:20px;}

	#main section{padding:50px 0;}
	#main section .layout{padding:25px; border-left:none !important;}
	#main section .title{position:unset;}
	#main section .title span{font-size:1.5rem; text-align:center;}
	.link_wr .box span.tit{font-size:1.3rem; padding-bottom:5px; margin:0 0 12px;}
	.link_wr .box span.s_tit{line-height:1.3rem;}

}



@media only screen and (max-width : 800px) {
	.m_visual .slick-prev,.m_visual .slick-next{display:none !important;}

	.link_wr .box{flex:unset; width:100%; margin-bottom:6%; height:335px;}
	.link_wr .box img{width:100%; height:100%; object-fit:cover;}
	.m2 .box{min-height:335px;}
	.m2 .box:nth-child(odd){margin-right:0;}
}




@media only screen and (max-width : 600px) {
	.m_visual .visual01{background-position:40% 100%;}
	.m_visual .visual04{background-position:21% 100%;}
}



@media only screen and (max-width : 400px) {

}