.slick-slider,
.slick-list,
.slick-track{ height: 100%; }
.slide > .slick-list,
.slide > .slick-list > .slick-track,
.slide > .slick-list > .slick-track > .slick-slide > div {
  position: relative;
  height: 100%;
}
.slide-animation{
	animation: fadezoom 8s 0s forwards;
}
@keyframes fadezoom {
	0% {
	transform: scale(1);
	}
	100% {
		transform: scale(1.1);
	}
}
.index-arow{
	width: 210px;
	border:solid 2px var(--main-color);
	background-color:#eeeeee;
	border-radius:20px;
	height: 35px;
	bottom: 40px;
	right: 2vw;
	display: flex;
	align-items:center;
}
.index-arow:hover{
	opacity: 0.5;
}
.index-arow .imgbox{ 
	width: auto; 
	height: 35px;
	border-right:solid 2px var(--main-color);
}
.index-arow .textbox {
	padding-left: 15px;
}
.index-arow p {
	font-size: 4.25vw;
	height: 35px;
	box-sizing:border-box;
	position: relative;
	display: flex;
	align-items:center;
	font-weight: bold;
}

.index-arow p span{
display: block;
padding: 0 0 5px 20px;
}
.index-arow .imgbox img{
	padding: 0 10px 0 15px;
}




.main-visual-content{
	position: absolute;
	border-radius:40px 0 0 0 ;
	overflow: hidden;
	width: 100%;
	height: 100%; }
.main-visual-content img{
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	position: absolute;
	transform: translateY(-50%) translateX(-50%);
	/* -webkit- transform: translateY(-50%) translateX(-50%); */
	object-position: 50% 50%;
	object-fit: cover; }
.main-visual__text {
	position: absolute;
	left: 3vw;
	top: 2vw;
	font-size: 4.5vw;
	margin: 0 auto;
	border-radius: 0 0 40px 40px;
}


/* .main-visual__text:before, */
/* .main-visual__text:after{
	content: "";
	width: 40px;
	height: 40px;
	background: url(../img/index/copy-item@2x.png);
	background-size: cover;
	position: absolute; } */
.main-visual__text:before{
	left: 0;
	top: -40px; }
.main-visual__text:after{
	bottom: 0;
	display: none;
	right: -40px; }
.index-copy{
	font-size: 2vw;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	font-weight: 700;
	text-align: center;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 3vw;
	transform: translateX(-50%);
}
.index-main-visual{
	position: relative;
	padding: 0 0 0 8vw; }
.index-inner{ position: relative; }
.index-main-visual .index-inner{
	height: 50vh;
	max-height: 50vh;
}
.main-visual .content-inner .main-copy{
	position: absolute;
	/* padding: 0.25em 0.25em 0 0; */
	font-size: 58px;
    line-height: 1;
	left: 0;
	top:200px;
 }

 /* .main_content-inner {
    width: 100%;
    max-width: 1180px;
	height: 300px;
	outline: solid 1px #f0f;

    position: relative;
} */
 .main-copy span{
	color: var(--sub3-color);
    background: var(--sub1-color);
	line-height: 1;
    margin-top: 20px;
    display: inline-block;
	font-weight: bold;
	white-space:nowrap;
	padding: 5px 0;
 }

.index-copy{ font-size: 2vw; }
.index-main-visual .copy {
    content: "";
    position: absolute;
    top: 40%;
    left: 10px;
    font-size: 8px;
    font-weight: 600;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}


@media screen and (min-width: 750px) {
	.main-copy{ font-size: 5.4rem; }
	.main-visual__text {
		top: auto;
		left: 3vw;
		bottom: 6vw;
	}
	.main-visual__text:after{ display: block; }

	.index-main-visual .copy{
		content:"";
		position: absolute;
		top:40%;
		left:20px;
		font-size: 12px;
		font-weight: 600;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.index-arow p{
		font-size: 16px;
	}
	.index-main-visual .index-inner{
		max-height: none;
	}
	
}
@media screen and (min-width: 896px) {
	.index-copy{ font-size: 1.2rem; }
}
@media screen and (min-width: 1024px) {
	.main-visual__text{
		position: absolute;
		left: -190px;
		bottom:70px;
		margin: 0 auto;
		/* background-color: #f1f3e9; */
		border-radius: 0 0 40px 40px; }
	

	.main-visual__text{
	}
	.index-main-visual{ padding: 0 0 0 22vw; }
	.index-copy{ left: 2vw; }
}

.index-section{ padding: 16vw 0 18vw; }
.index-section:last-child{ padding-bottom: 0; }
.index-section .content-title01{ margin-bottom: 12vw; }
@media screen and (min-width: 750px) {
	.index-section{ padding: 100px 0; }
	.index-section .content-title01{ margin-bottom: 70px; }
}
@media screen and (min-width: 1024px) {
	/* .index-section{ padding: 120px 0; } */
	.index-section .content-title01{ margin-bottom: 60px; }
}

/* 私たちについて */
.about-section .read h3{
	margin-top: 1em;
	margin-bottom: 1.75em;
	font-feature-settings: "palt";
	line-height: 2;
}
.about-img{
	display: none;
}
.about-img img{
	width: 100%;
}
.about-section .arow-link{
	margin-top:50px;
}

.about-section .content-inner{position: relative;}
.about-section{
	position: relative;
	padding: 0;
	margin: 16vw 0 18vw;
	padding-bottom: calc(100px - 10vw);
	border-bottom:solid 2px #eeeeee;
}

@media screen and (min-width: 1080px) {

}
@media screen and (min-width: 750px) {
	.about-section .content-inner{ display: flex; }
	.about-section .content-item{ margin-bottom: 0; }
	.about-section{ margin: 100px 0; }
	.about-img{
		width: 100%;
		/* height: 605px; */
		/* max-width: 50%; */
		position:relative;
		display: flex;
		margin-top: -200px;
	
	}
	.about-img img{
		width: 100%;
		/* max-width: 50%; */
		position:absolute;
		top:0px;
		right: 0;
		display: flex;
	
	}


	.about-section .read{
		width: 100%;
		/* padding-right: 80px; */
		max-width: 50%;
	
	}
}
@media screen and (min-width: 1024px) {
	.about-section{ margin: 0px 0 100px; }
	.about-section .read h3{ font-size: 4.4rem; margin-top: 0; }
}
@media screen and (min-width: 1220px) {
	.about-section .read h3{ font-size: 3rem; font-weight: 900;}
}






/* お知らせ */
.index-section .news-list__item a:before{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: #f9f9f9;
	left: -100%;
	-moz-transition: .2s;
	-webkit-transition: .2s;
}
.index-section .news-list__item a:hover::before{ left: 0; }
.index-section .news-list__item a:hover{ opacity: 0.5; }






/* 事業内容 */
#index-service .content-title03 {
	margin-top: 50px;
	margin-bottom: 1.75em;
    font-feature-settings: "palt";
    line-height: 2;
	font-size: 3rem;
}
#index-service .flex-list01 .box {
    position: relative;
}
#index-service .flex-list01 .box{position: relative;}
#index-service .flex-list01 .box h3{
	position: absolute; left: 0; bottom:0;
	border-radius: 0 20px;
    /* background: #fff; */
}
#index-service .flex-list01 .box h3 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#index-service .flex-list01 .content-title02 .en{
    position: relative;
    padding-left: 0;
    display: flex;
	font-size: 16px;
	z-index: 3;
	margin: 0px auto;
}
#index-service .flex-list01 .content-title02 .jp{
	position: relative; padding-right: 20px;
	font-size: 16px;
	z-index: 3;
}
#index-service .flex-list01 .content-title02 .jp::before{
	position: absolute;
    content: url(../img/index/arow_o_s.png);
    bottom: 25%;
	line-height: 1;
	right: 0;
}
#index-service .content-item0 .box{position: relative; margin-bottom: 50px;}
#index-service .content-item0 .box h3{
	position: absolute; left: 0; 
	bottom:0; margin-bottom: 0;
	background: #fff;
    padding: 0.5em;
    border-radius: 0 20px;
}
#index-service .content-item0 .box h3 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-5px;
    width: 45px;
    height: 45px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
#index-service .content-item0 .content-title02 .en{
	line-height: 1;
    position: relative;
    padding-left: 0;
    display: flex;
	font-size: 30px;
	font-weight: bold;
	z-index: 3;
}
#index-service .content-item0 .content-title02 .jp{position: relative; font-size: 40px;}
#index-service .content-item0 .main-txt{margin-top: 20px;}
#index-service .content-inner + div{margin-top: 60px;}
#index-service .flex-list01 .main-txt{font-size:14px;}
#index-service .flex-list01 .main-txt{margin-top: 20px;}
#index-service .flex-list01{
	margin-bottom: 100px;
}
#index-service .kadomaru-img img{
	height: 50vw;
	object-fit: cover;
	display: flex;
}

@media screen and (min-width: 480px) {
	#index-service .flex-list01 .content-title02 .jp{
		position: relative;
		padding-right: 40px;
		font-size: 26px;
	}


}
@media screen and (min-width: 750px) {

	#index-service .message-section {
		margin-bottom: 160px;
	}
	#index-service .flex-list01 .content-title02 .en{
		margin-bottom: 5px;
		position: relative;
		padding-left: 0;
		display: flex;
		font-size: 20px;
		z-index: 3;
	}
	#index-service .flex-list01 .content-title02 .jp{
		position: relative; padding-right: 40px;
		font-size: 26px;
		z-index: 3;
	}
	
	#index-service .flex-list01 .content-title02 .jp::before{
		position: absolute;
		content: url(../img/index/arow_o_s.png);
		bottom: 25%;
		line-height: 1;
		right: 0;
	}

	#index-service .kadomaru-img img{
		height: 250px;
	}

}
@media screen and (min-width: 1080px){
	.flex-list01 .flex-list__item {
		display: flex; width: calc((100% - 60px) / 2);
		}
} 
@media screen and (min-width: 1240px){
.flex-list01 .content-title02 .jp{
		position: relative;
		padding-right: 80px;
	}

} 
/* #index-service .flex-list01 .box {
    position: relative;
}
.kadomaru-img img {
    height: 250px;
    object-fit: cover;
    display: flex;
}
#index-service .flex-list__link{position: relative;}
#index-service .flex-list__link .main-txt{margin-top: 25px;}
#index-service .flex-list__link h3{
	position: absolute;
	bottom:50px;
	left: 0;
}

#index-service .content-title02 .en{ 
	font-family: 'Nerko One', cursive;
	font-size: 1.42858em;
	padding-left: 0;
	width: auto;
	z-index: 0;
}
.index-service-section .content-title02 .jp{position: relative;}
.index-service-section .content-title02 .en:before {
    content: "";
    display: block;
    left: -15px;
	top:-3px;
    width: 30px;
    height: 30px;
    position: absolute;
    border-radius: 50%;
    z-index: -1;
    background-color: var(--sub2-color);
}
.index-service-section .content-item p{
	margin-top: 60px;
}
.index-service-section .content-item2{
	margin-bottom: 90px;
}
.index-service-section .content-title02{ font-size: 2.725vw; }

#index-service  .flex-list__link figure h3{
	position: absolute;
	bottom:0px;
	right: 0;
	left: 0;
	z-index: 2;
	border-radius:0 20px 0 0;
}
.index-service-section .content-title02 .jp::after{
	position: absolute;
	content:url(../img/index/arow_o_s.png);
	bottom:25%;
	left: 100px;

} 



#index-service .flex-list__link h3{
	position: absolute;
	bottom:70px;
	left: 0;
}
@media screen and (min-width: 480px) {
	#index-service .flex-list__link h3{
		position: absolute;
		bottom:100px;
		left: 0;
	}
	.index-service-section .content-title02 .jp::after{
		position: absolute;
		content:url(../img/index/arow_o_s.png);
		bottom:25%;
		left: 150px;
	
	}
	#index-service .content-title02 .en{ 
		font-family: 'Nerko One', cursive;
		font-size: 1.42858em;
		padding-left: 0;
		width: auto;
		z-index: 3;
	}
}

@media screen and (min-width: 750px) {
#index-service .flex-list__link .content-title02{
	position: absolute;
	bottom:0px;
	left: 0;
	z-index: 2;
	border-radius:0 20px 0 0;
}
}

@media screen and (min-width: 768px) {
	#index-service .flex-list__link .main-txt{margin-top: 25px;}
	#index-service .flex-list__link figure{
		position: relative;
	}
	.index-service-section .content-title02 .jp::after{
		position: absolute;
		content:url(../img/index/arow_o_s.png);
		bottom:25%;
		left: 120px;
	
	}
	
	
}
@media screen and (min-width: 750px) {
	.index-service-section .content-title02{ font-size: 1.3rem; }

}
@media screen and (min-width: 1024px) {
	.index-service-section .content-title02{ font-size: 1.4rem; }
	.index-service-section .content-title02 .jp::after{
		position: absolute;
		content:url(../img/index/arow_o_s.png);
		bottom:25%;
		left: 170px;
	}


}
 */




/* SDGs・地域貢献 */
.sdgs-section{ 
	margin: 100px 0 0; 
	background:#eee; 
	position: relative;
	padding: 0;
	margin: 16vw 0 0vw;}

.sdgs-section .read h3{
	margin-top: 1em;
	/* margin-bottom: 1.75em; */
	font-feature-settings: "palt";
	line-height: 2;
}
.sdgs-section .flex{margin-bottom: 30px;}
.sdgs-img{
	border-radius: 20px;
	overflow: hidden; }
.sdgs-section .arow-link{
	margin-top: 3em;
}
.sdgs-section .content-wrap{padding: 100px 4vw;}
.content-inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
	position: relative;
}
@media screen and (min-width: 750px) {
	.sdgs-section .content-item{ margin-bottom: 0; }
	.sdgs-section{ margin: 180px 0 0;  background:#eee; }
	.sdgs-img{
		position: absolute;
		border-radius: 40px;
		/* width: 100%;
		max-width: 50%; */
		right: 0;
		top: -220px;
	}
	.sdgs-section .read{
		width: 100%;
		max-width: 50%; }
}
@media screen and (min-width: 1024px) {
	/* .sdgs-section{ margin: 120px 0 0; } */
	.sdgs-section .read h3{ font-size: 4.4rem; margin-top: 0; }
}
@media screen and (min-width: 1220px) {
	.sdgs-section .read h3{ font-size: 3rem; font-weight: 900;}
}







/* 採用情報 */
.index-recruit-section{
	background-image: url(../img/index/b_img.png);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center;
	margin-bottom: 20px;
}
.recruit-section .read h3{
	line-height: 1.5;
	margin-top: 1em;
	margin-bottom: 20px;
	font-feature-settings: "palt";
}
.recruit-section .read h3 .sp{
	display: none;
}
.recruit-section{
	position: relative;
	padding: 0!important;
	margin:0vw 0 18vw;
}
.recruit-img{
	overflow: hidden; }
.recruit-img.pc{
	display: none;
}
.recruit-img img{
	max-width: 100%;
}
.recruit-section .arow-link{
	margin-top: 25px;
}
.recruit-section .arow-link__item {
	border-radius: 30px;
	color:#fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	display: flex;
	font-weight: 400;
	font-family: 'Nerko One', cursive;
	position: relative;
}
.recruit-section .arow-link .arow {
	position: relative;
	height: 60px;
	width: 60px;
	background:#fff;
	border-radius: 50%;
}
.recruit-section .arow-link .arow:before {
	content: url(../img/index/arow_o.png);
	display: block;
	position: absolute;
	left: 50%;
	top: 53%;
	transform: translate(-50%,-50%);
}

.recruit-section .content-title01 {
	margin-bottom: 40px;
}

.recruit-section .arow-link:hover{
	opacity:0.5;
}

.recruit-img{
	border-radius: 0px;
	width: 100%;
	max-width: 100%;
	display: flex;
	justify-content: center;
	margin-bottom: 5em;
}
.index-recruit-section .content-inner{
	padding:80px 4vw;
}
.recruit-section .read {
	color: #fff;
}


@media screen and (min-width: 750px) {
	.recruit-img.sp{
		display: none;
	}
	.recruit-img.pc{
		display: flex;
	}
	.recruit-section{
		position: relative;
		padding: 0!important;
		margin: 16vw 0 18vw;
	}
	.recruit-section .read h3{
		line-height: 1;
		margin-top: 1em;
		margin-bottom: 40px;
		font-feature-settings: "palt";
	}
	.recruit-section .read h3 .sp{
		display: block;
	}
	
	.recruit-section .arow-link{
		margin-top: 50px;
	}
	
	.recruit-section .content-title01 {
		margin-bottom: 40px;
		margin-top: -20px;
	}
	
	.recruit-section .content-inner{
		display: flex;
	}
	.recruit-section .content-item{ margin-bottom: 0; }
	.recruit-section{ margin: 0px 0 20px; }
	.recruit-section .read{
		width: 100%;
		/* max-width: 50%;  */
		padding-left: 85px;
	}
	.recruit-section .read {
		width: 100%;
		/* max-width: 50%; */
	}
	.recruit-img{
		margin-bottom: 10%;
		border-radius: 0px;
		width: 100%;
		max-width: 400px;
		display: flex;
		/* justify-content: center; */
	}
	.recruit-img img{
	object-fit: cover;
	}

}
@media screen and (min-width: 1024px) {
	.recruit-section{ margin:0px 0 20px; }
	.recruit-section .read h3{ font-size: 4.4rem; margin-top: 0; }
	.index-recruit-section .content-inner{
		padding:100px 0vw;
	}

}
@media screen and (min-width: 1220px) {
	.recruit-section .read h3{ 
		font-size: 3rem; font-weight: 900;
		line-height: 2em;
	}
}





@media screen and (min-width: 1024px) {
	
}



/* //////////////////
F O O T E R
////////////////// */
footer{ margin-top: 18vw; }
footer .top_link{ position: absolute; }
@media screen and (min-width: 750px) {
	footer{ margin-top: 20px; }
}
@media screen and (min-width: 1024px) {
	footer{ margin-top: 20px; }
}



/* //////////////////
contact
////////////////// */
.contact-tel{
	padding: 3vw 4vw 4vw;
	border: solid 2px #bbbbbb;
	border-radius: 4px;
}
.contact-tel__inner .nom{ font-size: 5.25vw; }
.contact-tel__inner .nom{ font-size: 4.725vw; }
.contact-tel__inner strong{ font-size: 1.5em; }
.contact-tel__inner div{ position: relative; }
.contact-tel__inner div:last-child{ margin-top: 3vw; padding-top: 2vw; }
.contact-tel__inner div:last-child::before{
	content: "";
	left: 0;
	right: 0;
	margin: auto;
	width:20%;
	height: 2px;
	background: #bbbbbb;
	position: absolute;
	top: 0;
}
.contact-tel .txt-size16{ margin-top: 0.8em; }
@media screen and (min-width: 750px) {
	.contact-tel{
		padding: 0;
		border: none;
	}
	/* .content-title02 .en {
    margin-bottom: 0.5em;
    position: relative;
    padding-top: -4px;
    padding-left: 10px;
    display: flex;
    width: 140px;
    text-align: left; */
    /* margin: 20px auto 0px; */
	/* margin-bottom: 10px;
} */
	.contact-tel__inner{
		display: flex;
		justify-content: center;
	}
	.contact-tel__inner div{
		width: 50%;
		position: relative;
	}
	.contact-tel__inner .nom{
		font-size: 2.8rem;
	}
	.contact-tel__inner .nom.mail{
		font-size: 2.4rem;
	}
	.contact-tel__inner div:last-child{ margin-top: 0; padding-top: 0; }
	.contact-tel__inner div:last-child::before{
		content: "";
		width: 2px;
		height: 90%;
		bottom: 0;
		left: -1px;
		right: auto;
		background: #bbbbbb;
		position: absolute;
	}
	
}
@media screen and (min-width: 1024px) {
	.contact-tel__inner .nom{
		font-size: 3.6rem;
	}
	.contact-tel__inner .nom.mail{
		font-size: 3rem;
	}
}
