@charset "utf-8";

/*------------------------------------------
sec_maincatch
------------------------------------------*/
#sec_maincatch{
	height:456px;
	background:url("../images/top/bg_maincatch.jpg?20260125");
	background-repeat: no-repeat;
	background-position: right top;
	background-size: auto 100%;
	display:flex;
	align-items:center;
	padding-left:30px;
}
.maincatch_inner{
	width:100%;
	max-width:1144px;
	margin:auto;
}
.maincatch_inner .catch{
	font-size:4rem;
	font-weight:600;
	color:var(--textcatch);
	line-height:1.2;
}
.maincatch_inner .sub{
	font-size:1.4rem;
	color:var(--textcatch);
	margin:15px 0;
}
@media screen and (max-width:1420px){
	#sec_maincatch{
		height:auto;
	}
	.maincatch_inner{
		padding:80px 0;
	}
}
@media screen and (max-width:500px){
	#sec_maincatch{
		padding-left:0;
	}
	.maincatch_inner{
		background:rgba(255,255,255,0.7);
		padding-left:30px;
	}
	.maincatch_inner .catch{
		font-size:2.2rem;
		line-height:1.2;
	}
}
/*------------------------------------------
sec_about
------------------------------------------*/
#sec_about{
	position:relative;
	height:728px;
	overflow:hidden;
}
#sec_about .slide-items{
	position:absolute;
	width:100%;
	height:100%;
}
#sec_about .wrapper{
	position:relative;
	z-index:2;
	display:flex;
	height:100%;
	padding:77px 30px;
}
#sec_about .wrapper>div{
	flex:1;
}
#sec_about .wrapper .ttl{
	text-align:center;
	padding-top:100px;
	color:#fff;
}
#sec_about .wrapper .ttl h2{
	font-size:3.2rem;
}
.about_box{
	background:rgba(255,255,255,0.8);
	text-align:center;
	padding:50px 50px 80px;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.about_box .logo_wrap img{
	width:163px;
	margin:0 auto 60px;
}
.about_box p{
	width:320px;
	text-align:left;
	font-size:2rem;
	line-height:1.5;
}
.about_wrap .btn_wrap{
	display:flex;
	gap:10px;
	justify-content:space-between;
	margin-top:100px;
}
.about_wrap .btn_wrap .btn_a{
	width:186px;
}
@media screen and (max-width:930px){
	#sec_about{
		height:auto;
	}
	#sec_about .wrapper{
		flex-direction:column;
		padding:60px 30px;
	}
	#sec_about .wrapper .ttl{
		padding-top:100px;
		padding-bottom:100px;
	}
	.about_box{
		width:80%;
		max-width:500px;
		padding:50px 0px 60px;
		margin:auto;
	}
	.about_wrap .btn_wrap{
		max-width:600px;
		margin:50px auto 0;
	}
}
@media screen and (max-width:500px){
	#sec_about .wrapper{
		padding:0px 15px 60px;
	}
	#sec_about .wrapper .ttl h2{
		font-size:2.2rem;
	}
	#sec_about .wrapper .ttl{
		padding-top:100px;
	}
	.about_box{
		width:90%;
		max-width:500px;
		padding:30px 0px;
		margin:auto;
	}
	.about_box .logo_wrap img{
		width:120px;
		margin:0 auto 30px;
	}
	.about_box p{
		font-size:1.6rem;
		text-align:center;
		padding-inline:20px;
	}

	.about_wrap .btn_wrap{
		margin:30px auto 0;
	}
	.about_wrap .btn_wrap .btn_a{
		font-size:1.4rem;
	}
}
/*------------------------------------------
slider
------------------------------------------*/
.slide-items {
    /* スライダー本体のスタイル */
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 1s ease-in-out; /* フェード効果 */
}
.slick-initialized.slide-items {
    opacity: 1; /* 初期化されたら表示 */
}
/* アクティブなスライドを強調（フェードイン後）*/
.slide-items .slick-active {
    opacity: 1;
}
/* フェードモード（fade: true）でスライドが切り替わった時のための設定 */
.slide-items .slick-slide {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.slide-items .slick-active {
    opacity: 1;
}

.slide-items {
	width: 100%;
	height:728px;
}
.slide-items img {
	width: 100%;
	height:728px;
	object-fit: cover;
	object-position: center;
}
@media (max-width: 768px) {
	.slide-items {
		height: 400px;
	}
	.slide-items img {
		height: 400px;
	}
}
@media (max-width: 500px) {
	.slide-items {
		height: 250px !important;
	}
	.slide-items img {
		height: 250px !important;
	}
}


.slide-items li{
	position:relative;
}

@media (max-width: 768px) {
	.slide-items {
		height: 400px;
	}
	.slide-items img {
		height: 400px;
	}
}

.dots-custom button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.dots-custom {
    display: flex;
    justify-content: center;
    margin-top: -30px;
    list-style:none;
    padding:0;
}
.dots-custom li {
    width: 10px;
    height: 10px;
    background-color: transparent;
    border: 1px solid var(--beige);
    border-radius: 50%;
    margin-right: 10px;
    cursor: pointer;
    transition: background-color .5s ease;
}
.dots-custom li.slick-active {
    background-color: var(--beige);
}
.dots-custom li:hover {
    background-color: var(--beige);
}
.dots-custom li:last-child {
    margin-right: 0;
}
.slick-dotted.slick-slider {
    margin-bottom: 0px !important;
}


/*------------------------------------------
sec_job
------------------------------------------*/
#sec_job{
	padding:80px 0;
	text-align:center;
}
#sec_job .ttl{
	margin-bottom:60px;
}
#sec_job .job_wrap{
	display:flex;
	gap:10px;
	justify-content:space-between;
}
#sec_job .ttl h2{
	font-size:3.2rem;
}
#sec_job .job_wrap .job_unit{
	width:200px;
	display: flex;
	flex-direction: column;
}
#sec_job .job_wrap .job_unit .content{
	flex-grow: 1;
}
#sec_job .job_wrap .job_unit h3{
	margin-top:15px;
	font-size:2rem;
	position:relative;
	margin-bottom:40px;
}
#sec_job .job_wrap .job_unit h3::after{
	content:"";
	background:var(--textbase);
	height:1px;
	position:absolute;
	bottom:-20px;
	left:50%;
	transform:translateX(-50%);
	width:60px;
}
#sec_job .job_wrap .job_unit p{
	font-size:1.4rem;
	text-align:left;
	padding-bottom:20px;
}

.job_unit .link_arrow {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 2px;
	margin: auto auto 5.7px;
	border-radius: 9999px;
	background-color: #000000;
	transition: width 0.3s ease-out;
}

.job_unit .link_arrow::before,
.job_unit .link_arrow::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	width: 10px;
	height: 2px;
	border-radius: 9999px;
	background-color: #000000;
	transform-origin: calc(100% - 1px) 50%;
}

.job_unit .link_arrow::before {
  transform: rotate(45deg);
}

.job_unit .link_arrow::after {
  transform: rotate(-45deg);
}
#sec_job .job_wrap .job_unit:hover .link_arrow{
	width: 150px;
}
@media screen and (max-width:500px){
	#sec_job{
		padding:50px 0;
		background:var(--lightgray);
	}
	#sec_job .ttl{
		margin-bottom:30px;
	}
	#sec_job .ttl h2{
		font-size:2.2rem;
	}
	#sec_job .job_wrap{
		flex-wrap:wrap;
		gap:15px;
		justify-content:center;
	}
	#sec_job .job_wrap .job_unit{
		background:#fff;
		width:100%;
		flex-direction: row;
		gap:15px;
		align-items:start;
		border:6px solid var(--lightblue);
		padding:10px;
	}
	#sec_job .job_wrap .job_unit img{
		width:80px
	}
	#sec_job .job_wrap .job_unit .content{
		text-align:left;
	}
	#sec_job .job_wrap .job_unit h3{
		margin-top:0px;
		font-size:1.8rem;
		padding-left:20px;
		margin-bottom:20px;
	}
	#sec_job .job_wrap .job_unit h3::before {
	  content: "";
	  position: absolute;
	  top: 50%; /* 上から中央に配置 */
	  left: 0;
	  transform: translateY(-50%); /* 自身の半分だけ上にずらして厳密に中央へ */
	  width: 0;
	  height: 0;
	  /* 三角の作成：borderの太さで大きさを調整 */
	  border-style: solid;
	  border-width: 6px 0 6px 10px; /* 上 下の太さ, 右, 下 下の太さ, 左(色付き部分) */
	  border-color: transparent transparent transparent var(--blue); /* 右、上、下を透明にし、左だけ色をつける */
	}
	#sec_job .job_wrap .job_unit h3::after{
		bottom:-10px;
		left:0;
		transform:none;
		width:200px;
	}
	#sec_job .job_wrap .job_unit p{
		padding-bottom:0px;
	}
	.job_unit .link_arrow {
		display:none;
	}
}
/*------------------------------------------
sec_person
------------------------------------------*/
#sec_person{
	position:relative;
	height:600px;
	overflow:hidden;
}
#sec_person .slide-items2{
	position:absolute;
	width:100%;
	height:100%;
}
#sec_person .wrapper{
	position:relative;
	z-index:2;
	display:flex;
	height:100%;
	padding:77px 30px;
	align-items:end;
}
#sec_person .overlay {
	position: absolute;
	inset: 0; /* top: 0; left: 0; right: 0; bottom: 0; と同じ */
	background-color: rgba(53, 94, 171, 0.5); /* 半透明の黒 */
	z-index: 2; /* コンテンツより手前 */
}
#sec_person .ttl{
	color:#fff;
}
#sec_person .ttl h2{
	font-size:3.2rem;
	margin-bottom:15px;
}
#sec_person .ttl p{
	margin-bottom:60px;
}

@media (max-width: 1170px) {
	#sec_person{
		height:400px;
	}
}
@media (max-width: 500px) {
	#sec_person .wrapper{
		padding:80px 30px 30px;
		align-items:center;
	}
	#sec_person .overlay {
		height:200px;
	}
	#sec_person .ttl{
		width:100%;
	}
	#sec_person .ttl h2{
		font-size:2.2rem;
		margin-bottom:70px;
	}
	#sec_person .ttl p{
		color:var(--textbase);
		margin-bottom:30px;
	}
	#sec_person .btn_area{
		text-align:center;
	}
}
/*------------------------------------------
slider
------------------------------------------*/
.slide-items2 {
    /* スライダー本体のスタイル */
    opacity: 0; /* 初期状態は非表示 */
    transition: opacity 1s ease-in-out; /* フェード効果 */
}
.slick-initialized.slide-items2 {
    opacity: 1; /* 初期化されたら表示 */
}
/* アクティブなスライドを強調（フェードイン後）*/
.slide-items2 .slick-active {
    opacity: 1;
}
/* フェードモード（fade: true）でスライドが切り替わった時のための設定 */
.slide-items2 .slick-slide {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.slide-items2 .slick-active {
    opacity: 1;
}

.slide-items2 {
	width: 100%;
	height:600px;
}
.slide-items2 img {
	width: 100%;
	height:600px;
	object-fit: cover;
	object-position: center;
}
.slide-items li{
	position:relative;
}

@media (max-width: 1170px) {
	.slide-items2 {
		height: 400px;
	}
	.slide-items2 img {
		height: 400px;
	}
}
@media (max-width: 768px) {
	.slide-items {
		height: 400px;
	}
	.slide-items img {
		height: 400px;
	}
}
@media (max-width: 500px) {
	.slide-items2 {
		height: 200px;
	}
	.slide-items2 img {
		height: 200px;
	}
}



