@charset "utf-8";

/* -----------------------------------------------------------
	ローディングアニメーション
-------------------------------------------------------------- */
.loading{
	opacity: 1;
	visibility: visible;
}
.loading.is-active{
	opacity: 0;
	visibility: hidden;
}
.shutter{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color:var(--main);
	z-index:99999;
	animation: byeShutter 2.6s forwards;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
.shutter::before{
	content:'';
	/*background: url("../img/h-logo.svg") no-repeat center bottom 50vh / auto 90px, var(--bg-blue);*/
	background-color: var(--bg-blue);
	width: 1px;
	height: 1px;
	border-radius: 50%;
	position:absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 1;
	animation: shutterOpen1 2.6s forwards;
}
/*.shutter::after{
	content:'';
	background: url("../img/h-logo.svg") no-repeat center bottom 380px / auto 80px;
	width: 1px;
	height: 1px;
	border-radius: 50%;
	position:absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 2;
	animation: shutterOpen1 2.6s forwards;
}*/

.shutter span{
	background: url("../img/h-logo.svg") no-repeat center center / contain;
	aspect-ratio: 250 / 53;
	width: auto;
	/*height: 80px;*/
	height: 130px;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
	animation: logo-display 2.6s forwards;
}

.content{
	animation: contentScale 2.6s forwards;
}

@keyframes byeShutter{
	70%{
		opacity:1;
	}
	100%{
		opacity:0;
		display:none;
		z-index:-1;
	}
}
@keyframes shutterOpen1{
	0%{
		width: 30px;
		height: 30px;
	}
	30%{
		width: 100px;
		height: 100px;
	}
	100%{
		width: 200vw;
		height: 200vw;
	}
}
@keyframes logo-display{
	0%{
		opacity:0;
	}
	30%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}
@keyframes contentScale{
	70%{
		transform:perspective(800px) scale(0.9) rotateX(15deg);
	}
	100%{
		transform:perspective(800px) scale(1) rotateX(0);
	}
}

@media screen and (max-width: 768px) {
	
	/*.shutter::before{
		background-size: auto 63px;
	}*/
	/*.shutter::after{
		background-size: auto 63px;
	}*/
	
	/*
	.shutter::after{
		background: url("../img/h-logo.svg") no-repeat center bottom 50vh / auto 63px;
	}
	*/
	
	.shutter span{
		height: 63px;
	}
	
	@keyframes shutterOpen1{
		0%{
			width: 30px;
			height: 30px;
		}
		30%{
			width: 150px;
			height: 150px;
		}
		100%{
			width: 300vw;
			height: 300vw;
		}
	}
	
	@keyframes logo-display{
		0%{
			opacity:0;
		}
		35%{
			opacity:0;
		}
		100%{
			opacity:1;
		}
	}

	
}

/* -----------　ここまで　ローディングアニメーション ----------- */

#wrapper {
	overflow: clip;
}

#main {
	padding: 0;
}


/*h1エリア*/


@media screen and (max-width: 768px) {
	#top .button {
		margin: 30px auto 0;
	}

	
}

/* -----------------------------------------------------------
	mv
-------------------------------------------------------------- */
.mv{
    width: 100%;
    /*height: 923px;*/
	height: 850px;
    position: relative;
}
.mv::after{
    content: "";
	display: block;
	width: 1100px;
	height: 1100px;
	border-radius: 50%;
	background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
	position: absolute;
	bottom: -550px;
	right: -500px;
	z-index: -1;
}
.mv .h1-area{
    position: absolute;
    /*top: 630px;
	bottom: auto;
    left: 60px;
	right: auto;*/
	top: 110px;
	bottom: auto;
    left: auto;
	right: 20px;
    margin: 0 auto;
}
.h1-area h1 { 
    width: 100%;
    font-size: 1.1rem;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
    color: #ccc;
}
.mv .mv-title-wrap{
    display: flex;
    justify-content: center;
    /*align-items: center;*/
    flex-direction: column;
    /*margin: auto calc((100% - 1200px)/2) auto 60px;*/
	margin: auto 0 auto calc((100% - 1200px)/2);
    /*height: 923px;*/
	height: 850px;
    position: absolute;
    top: 0;
    border-bottom: 0;
    z-index: 2;
}
.mv .mv-title-wrap .mv-title-jp{
    font-size: 9.0rem;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 30px;
	font-family: var(--jp-serif);
    /*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF,  0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;*/
    color: #fff;
    /*-webkit-text-fill-color: #333;
    -webkit-text-stroke: 3px #fff;
    text-stroke: 3px #fff;*/
}
.mv .mv-title-wrap .mv-title-txt{
    width: 630px;
    /*-webkit-text-fill-color: #333;
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;*/
    /*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF,  0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;*/
	color: #fff;
    margin: 0 0 50px;
}

/*--- スライド ---*/
#top .mv .slide-wrap{
    width: 100%;
    /*height: 923px;*/
	height: 850px;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
#top .mv .slick1{
    width: 100%;
    /*height: 923px;*/
	height: 850px;
}
#top .mv .slick-slide{
    /*height: 923px;*/
	height: 850px;
}
#top .mv .slick1 img{
    width: 100%;
    height: 100%;
	object-fit: cover;
    object-position: center bottom;
}
#top .mv .slick-dots{
    position: absolute;
    left: 10px;
    bottom: 13vw;
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items:flex-start; 
    padding: 0;
    margin: 0;
    width: 100%;
    line-height: 0;
    z-index: 3;
}
#top .mv .slick-dots li {
    position: relative;
    display: inline-block;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    margin: 0 0 12px 0;
    padding: 0;
    cursor: pointer;
}
#top .mv .slick-dots li button {
    border: 0;
    background: #B4B4B4;
    display: block;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: #fff;
    padding: 0;
    cursor: pointer;
}
#top .mv .slick-dots li button:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    line-height: 0;
    text-align: left;
    opacity: 1;
    transition: 0.5s;
    cursor: pointer;
}

#top .mv .slick-dots li button:hover::before,
.slick-dots li button:focus::before {
    background: var(--main);
}

#top .mv .slick-dots li.slick-active button::before {
    background: var(--main);
    opacity: 1;
}

/*--- バナー ---*/
#top .mv .banner{
    /*width: calc(50% + 146px);
    background-color: var(--main);
    border-radius: 0 50px 50px 0;
    padding: 40px 50px;*/
    position: absolute;
    bottom: 210px;
    right: calc((100% - 1300px)/ 2);
    z-index: 3;
}
#top .mv .banner-list{
	display: flex;
	flex-direction: column;
    gap: 20px 0;
}
#top .mv .banner-list li{
    height: 120px;
    width: 335px;
}
#top .mv .banner-list li a{
    display: flex;
    align-items: center;
    border-radius: 20px;
    background-color: #fff;
    padding: 10px 20px 10px 10px;
    position: relative;
}
#top .mv .banner-list li a:hover{
    opacity: 1;
}
#top .mv .banner-list li .img{
	width: 100px;
	height: 100px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
}
#top .mv .banner-list li .txt-wrap{
    margin: 0 0 0 10px;
}
#top .mv .banner-list li .banner-ttl{
    font-size: 2.2rem;
    font-weight: 600;
    margin: 0 0 8px;
}
#top .mv .banner-list li .catch{
    font-size: 1.4rem;
    margin: 0;
}
#top .mv .banner-list li a span.arrow-b{
    display: block;
    width: 40px;
    height: 8px;
    position: absolute;
    right: 20px;
    bottom: 20px;
    transition: 0.5s;
    background: url("../img/arrow-b.svg") no-repeat center / contain;
}
#top .mv .banner-list li a:hover span.arrow-b{
    right: 10px;
}

@media screen and (max-width: 768px) {
    .mv{
        width: 100%;
        height: 470px;
        position: relative;
    }
	.mv::after{
		display: none;
	}
    .mv .h1-area{
        background-color: transparent;
        position: absolute;
        top: -50px;
        bottom: auto;
        right: 5px;
		left: auto;
        width: 100%;
    }
    .h1-area h1 { 
        font-size: 1.0rem;
        color: #888;
        text-align: right;
    }
    .mv .mv-title-wrap{
        width: auto;
        padding: 20px 0 30px;
        margin: 0 auto;
		height: 478px;
    }
    .mv .mv-title-wrap .mv-title-jp{
        font-size: 4.2rem;
        text-align: left;
        padding: 0 45px;
        margin: 0 0 15px;
        text-shadow: none;
        color: #fff;
    }
    .mv .mv-title-wrap .mv-title-txt{
        width: auto;
        margin: 0 50px;
        text-shadow: none;
        color: #fff;
    }

    /*--- スライド ---*/
    #top .mv .slide-wrap{
        width: 100%;
        height: 470px;
        border-radius: 0 0 0 180px;
		top: 0;
    }
    #top .mv .slick1{
        width: 100%;
        height: 470px;
    }
    #top .mv .slick-slide{
        width: 100%;
        height: 470px;
    }
    #top .mv .slick1 img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        max-width: 100%;
    }
	#top .mv .slick-slide img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        max-width: 100%;
    }
	
    #top .mv .slick-dots{
		left: auto;
        right: 10px;
        bottom: 50px;
		align-items: flex-end;
		z-index: 100;
    }
    #top .mv .slick-dots li {
        height: 10px;
        width: 10px;
        margin: 0 0 10px 0;
    }
    #top .mv .slick-dots li button {
        height: 10px;
        width: 10px;
    }
    #top .mv .slick-dots li button:before {
        width: 10px;
        height: 10px;
    }
    
    
    /*--- バナー ---*/
    #top .mv .banner{
        width: 100%;
        background-color: inherit;
        border-radius: 0;
        padding: 0 20px;
        position: absolute;
        bottom: -270px;
        left: 0;
        right: 0;
        margin: 0 auto;
        z-index: 3;
    }
    #top .mv .banner-list{
        display: flex;
		flex-direction: row;
        gap: 0 20px;
    }
    #top .mv .banner-list li{
        height: 140px;
        width: calc((100% - 20px)/ 2);
        border: 1px solid var(--main);
        border-radius: 15px;
        background-color: #fff;
        box-shadow: 0px 3px 7px rgba(0,0,0,0.16);
    }
    #top .mv .banner-list li a{
        flex-direction: column;
        padding: 5px;
    }
    #top .mv .banner-list li .img{
        border-radius: 10px;
		width: 100%;
        height: 90px;
        object-fit: cover;
        object-position: center;
    }
	#top .mv .banner-list li .txt-wrap{
		margin: 0;
	}

    #top .mv .banner-list li .banner-ttl{
        font-size: 1.8rem;
        font-weight: 600;
        margin: 10px 0 0 0;
        text-align: center;
    }
    #top .mv .banner-list li .catch{
        font-size: 1.4rem;
        margin: 0;
    }
    #top .mv .banner-list li a span.arrow-b{
        display: block;
        width: 32px;
        height: 6px;
        position: absolute;
        right: -16px;
        bottom: 0;
        background: url("../img/arrow-b.svg") no-repeat center / contain;
    }
    /*-- 採用バナー --*/
    #top .mv .rec-banner{
        margin: 20px 0 0 ;
        border-radius: 15px;
        background-color: var(--recruit-main);
    }
    #top .mv .rec-banner a{
        padding: 10px 10px 15px 10px;
        border-radius: 15px;
        background-color: var(--recruit-main);
        display: flex;
        align-items: center;
        position: relative;
    }
    #top .mv .rec-banner .img{
        width: 120px;
        height: 120px;
        border-radius: 10px;
        overflow: hidden;
        flex-shrink: 0;
    }
    #top .mv .rec-banner .txt-wrap{
        margin: 0 0 0 20px;
    }
    #top .mv .rec-banner .banner-ttl{
        font-size: 2.2rem;
        font-weight: 600;
        margin:  0 0 10px;
        color: #fff;
    }
    #top .mv .rec-banner .catch{
        font-size: 1.4rem;
        margin: 0;
        color: #fff;
    }
    #top .mv .rec-banner span.arrow-w{
        display: block;
        width: 40px;
        height: 8px;
        position: absolute;
        right: 15px;
        bottom: 15px;
        background: url("../img/arrow-w.svg") no-repeat center / contain;
    }
}



/* -----------------------------------------------------------
	news
-------------------------------------------------------------- */
.news-area {
	padding: 60px 0 80px 0;
	margin: 0 auto;
	position: relative;
}
.news-area .news-box_inner{
	display: flex;
	justify-content: space-between;
    margin: 10px auto 0;
}
.news-area .news-box{
	display: flex;
	justify-content: space-between;
	position: relative;
    margin: 0 0 10px 0;
}
.news-area .news-title {
	font-size: 3rem;
	font-weight: 700;
	font-family: var(--en-font);
    color: var(--main);
}
.news-area .news-list {
	width: 1000px;
	list-style-type: none;
	padding: 0 0 0 60px;
    /*margin: 0 80px 0 0;*/
}

.news-area .news-list a{
	display: flex;
	width: 100%;
	box-sizing: border-box;
	align-items: center;
    margin: 0 0 10px;
}

.news-area .news-de_title {
	flex: 1;
	font-weight: 400;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.news-area .cate{
	display: inline-block;
	color: #333;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
	padding: 3px 15px 6px;
	border: 1px solid #707070;
	margin: 0 30px;
    background: #fff;
	min-width: 80px;
}

.news-area .news-more{
	right: 0;
}
.news-area .news-more > a{
}
.news-area .news-more > a::before{
	display: inline-block;
	content: "\f105";
	font-weight: 700;
	font-family: "Font Awesome 5 Free";
	padding: 0 8px 0 0;
}

.news-area .news-right a {
    width: 330px;
    padding: 40px 30px 40px 120px;
    background: url("../img/top-product01.png") no-repeat 15px 15px;
}

.news-area .news-right a .txt{
    font-weight: 400;
}

@media screen and (max-width: 768px){
	.news-area {
		padding: 30px 20px 0;
        margin: 260px auto 0;
	}
	.news-area .news-box{
		display: block;
		position: relative;
		margin-bottom: 50px;
        padding: 0;
	}
	.news-area .news-box_inner{
		display: block;
        margin: 20px 0 0;
	}
	.news-area .news-title {
		font-size: 2.6rem;
		margin: 0;
	}
	.news-area .news-list {
		width: 100%;
        padding: 0;
	}
	.news-area .news-list li{
		margin: 15px 0 0;
	}
    .news-area .news-list li:nth-child(n+3){
		display: none;
	}
	.news-area .news-list a{
		flex-wrap: wrap;
	}
	.news-area .news-de_title {
		flex: auto;
		flex-shrink: 0;
		width: 100%;
		margin: 10px 0 0;
	}
	.news-area .cate{
		margin: 0 0 0 10px;
	}
	.news-area .news-more{
		position: absolute;
		top: 0;
		right: 0;
	}
}

/* -----------------------------------------------------------
	aboutus
-------------------------------------------------------------- */
.aboutus-area{
    padding: 0;
	display: flex;
	justify-content: space-between;
	width: 1200px;
	margin: 0 auto;
}
/*.aboutus-area .img{
    width: calc(100% - (50% - 80px));
	position: relative;
}
.aboutus-area .img img{
    height: 100%;
	width: auto;
	position: absolute;
	right: 0;
}*/

.aboutus-area .img{
	position: relative;
	width: 650px;
}
.aboutus-area .img img{
    height: 100%;
	width: 100%;
	border-radius: 50%;
}

.aboutus-area .catch{
    font-size: 3.7rem;
}
.aboutus-area .txt-wrap{
    width: calc(100% - 650px);
	margin: 0 0 0 80px;
    /*margin: 0 calc((100% - 1200px)/2) 0 80px;*/
}
.aboutus-area .button{
    text-align: left;
}

@media screen and (max-width: 768px){
    .aboutus-area{
        padding: 0;
		width: 100%;
		flex-direction: column;
		position: relative;
    }
	/*.aboutus-area .img{
		width: auto;
		height: 346px;
		position: relative;
	}
	.aboutus-area .img img{
		max-width: none;
	}*/
	
	.aboutus-area .img{
		position: absolute;
		width: 220px;
		right: -20px;
		top: -10px;
	}
	.aboutus-area .img img{
	}

	.aboutus-area .catch{
		font-size: 2.4rem;
		text-shadow: #fff 2px 0px 0px, #fff -2px 0px 0px, #fff 0px -2px 0px, #fff 0px 2px 0px, #fff 2px 2px 0px, #fff -2px 2px 0px, #fff 2px -2px 0px, #fff -2px -2px 0px, #fff 1px 2px 0px, #fff -1px 2px 0px, #fff 1px -2px 0px, #fff -1px -2px 0px, #fff 2px 1px 0px, #fff -2px 1px 0px, #fff 2px -1px 0px, #fff -2px -1px 0px, #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
	}
	.aboutus-area .txt-wrap{
		width: 100%;
        margin: 10px auto 0;
        padding: 0 20px;
	}
	.aboutus-area .titlebox.js-fadeup{
		margin: 0 0 20px;
	}
	.aboutus-area .txt{
		display: none;
	}
	.aboutus-area .button{
		text-align: center;
	}
}


/* -----------------------------------------------------------
	movie
-------------------------------------------------------------- */
.movie-area {
	margin: 100px 0 0;
}
.movie-area .movie-wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	/* justify-content: space-between; */
	justify-content: center;
	/* gap: 30px; */
	gap: 50px;
}
.movie-area .movie-wrap li {
	width: calc((100% - 60px) / 3);
	text-align: center;
}
.movie-area .movie-wrap li .img-area {
}
.movie-area .movie-wrap li .img-area img {
	width: 100%;
}
.movie-area .movie-wrap li .basic-txt {
	line-height: 1.6;
	margin: 10px 0 0;
}
.movie-area .movie-wrap li .basic-txt a {
	color: var(--sub-blue);
}
.movie-area .movie-wrap li .basic-txt a:hover {
	color: var(--main);
}

@media screen and (max-width: 768px){
	
	.movie-area {
		margin: 0 0 -30px;
		padding: 40px 20px 0;
	}

	.movie-area .movie-wrap {
		display: block;
	}
	.movie-area .movie-wrap li {
		width: 100%;
		margin: 20px 0 0;
	}
	
	.movie-area .movie-wrap li .img-area img {
		height: 200px;
		object-fit: cover;
	}
	
}
	

/* -----------------------------------------------------------
	plan-area
-------------------------------------------------------------- */
.plan-area{
    margin: 120px 0 0;
    padding: 0 0 0;
    position: relative;
}
.plan-area::before{
    content: "";
	display: block;
	width: 1100px;
	height: 1100px;
	border-radius: 50%;
	background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
	position: absolute;
	top: -330px;
	right: -500px;
	z-index: -1;
}
.plan-area::after{
    content: "";
	display: block;
	width: 1100px;
	height: 1100px;
	border-radius: 50%;
	background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
	position: absolute;
	bottom: 330px;
	right: -500px;
	z-index: -1;
}
.plan-area .plan-top{
    display: flex;
    gap: 0 70px;
    width: 1300px;
    padding: 0 0 0 50px;
    margin: 0 auto;
	position: relative;
}
.plan-area .plan-top::before{
    content: "";
	display: block;
	width: 745px;
	height: 745px;
	background: url("../img/bg-blueprint.png") no-repeat center / cover;
	position: absolute;
	top: -100px;
	left: -150px;
	z-index: -1;
}

.plan-area .img-circle{
	width: 650px;
	height: 650px;
	border-radius: 50%;
	position: relative;
}
.plan-area .circle-wrap{
	content: "";
	display: block;
	width: 650px;
	height: 650px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
	-webkit-animation: loading05 5s cubic-bezier(.58,.17,.67,.83) infinite;
	        animation: loading05 5s cubic-bezier(.58,.17,.67,.83) infinite;
}
.plan-area .circle {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	position: absolute;
	top: -9px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: var(--main);
}
@-webkit-keyframes loading05 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes loading05 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
/*.intro-area .img{
	border-radius: 50%;
	overflow: hidden;
}*/

.plan-area .plan-top .video{
	border-radius: 50%;
	overflow: hidden;
	width: 650px;
	height: 650px;
	flex-shrink: 0;
	position: relative;
}
.plan-area .plan-top .video video{
	width: auto;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);

	/*left: -200px;*/
}

/* ------------------------
	画面固定
------------------------ */
/*ラッパー要素*/
.plant-wrapper{
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
    position: relative;
	top: -55px;
}
.plant-wrapper::before{
    content: "";
    display: block;
    width: 100%;
    max-width: calc(1300px + (100% - 1300px)/2 + 80px);
    height: 100%;
    background-color: var(--bg-blue);
    border-radius: 200px 0 0 200px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}
.plant-wrapper::after{
    content: "";
	display: block;
	width: 1100px;
	height: 1100px;
	border-radius: 50%;
	background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
	position: absolute;
	top: 100px;
	right: -500px;
	z-index: -1;
}
/*コンテンツのブロック*/
.plant-contents {
    width: 600px;
    margin: 0 calc((100vw - 1200px)/2) 0 75px;
}
.plant-contents .scroll-box01,
.plant-contents .scroll-box02,
.plant-contents .scroll-box03{
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 90px 0 0;
}
.plant-contents .plan-ttl{
    font-size: 4.4rem;
    font-weight: 600;
	color: var(--main);
    margin: 0 0 25px;
    line-height: 1;
	position: relative;
}
.plant-contents .plan-ttl::after{
    display: block;
	font-size: 9rem;
	font-family: var(--en-font);
	font-weight: 600;
	color: #fff;
	opacity: 1;
	position: absolute;
	top: -60px;
	left: -40px;
	z-index: -1;
	white-space: pre;
	line-height: .9;
}
.plant-contents .scroll-box01 .plan-ttl::after{
    /*content: "Process";*/
	content: "Production \AProcess";
}
.plant-contents .scroll-box02 .plan-ttl::after{
    /*content: "Primary";*/
	content: "Primary \AProcessing";
}
.plant-contents .scroll-box03 .plan-ttl::after{
    /*content: "Secondary";*/
	content: "Secondary \AProcessing";
	width: 120%;
}
.plant-contents .catch{
    font-size: 3.2rem;
    margin: 0 0 10px;
}
.plant-contents .btn-flex{
    display: flex;
    gap: 0 30px;
}
.plant-contents .btn-flex .button a.btn{
    width: 270px;
}

/*画像のブロック*/
.images{
    width: calc(50vw - 75px);
    max-width: 720px;
    min-width: 525px;
    height: 100vh;
    display: flex;
    align-items: center;
    position: sticky;
    position: -webkit-sticky;
    top:0;
}
.images div {
    height: 580px;
    margin: auto;
    max-width: 720px;
    min-width: 525px;
    display: block;
    border-radius: 0 120px 120px 0;
    overflow: hidden;
    visibility: hidden;
    /* 画像が透過pngの時は背景色が必要です */
    position: absolute;
    top: 90px;
    bottom: 0;
    /* フェード速度 */
    transition: .3s;
    opacity: 0;
}
.images div:first-child,
.images div.active {
    visibility: visible;
    opacity: 1;
}
.images div img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.images .scroll-box01 img{
    object-position: left center;
}

@media screen and (max-width: 768px){
    .plan-area{
		margin: 30px 0 0;
		padding: 0;
		position: relative;
	}
	.plan-area::before{
		display: none;
	}
	.plan-area::after{
		display: none;
	}
	.plan-area .plan-top{
		display: block;
		width: 100%;
		padding: 40px 0 50px;
		margin: 0 auto;
	}
	.plan-area .plan-top::before{
		content: "";
		display: block;
		width:100%;
		height: 100%;
		background: url("../img/bg-blueprint.png") no-repeat center / cover;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	.plan-area .plan-top .titlebox{
		padding: 0;
		margin: 0 0 20px 15px;
	}
	.plan-area .plan-top .titlebox .title-jp{
		margin: 10px 0 0;
	}
	.plan-area .plan-top .catch{
		font-size: 2.4rem;
		width: 50%;
		padding: 0 0 0 15px;
	}
	.plan-area .plan-top .txt{
		padding: 0 15px;
	}
	/*.plan-area .plan-top .img{
		width: 200px;
		height: 200px;
		border-radius: 50%;
		position: absolute;
		top: 115px;
		left: 57%;
	}*/
	
	.plan-area .img-circle{
		position: absolute;
		top: 70px;
		left: 55%;
		width: 200px;
		height: 200px;
	}
	.plan-area .circle-wrap{
		width: 200px;
		height: 200px;
		-webkit-animation: loading05 3s cubic-bezier(.58,.17,.67,.83) infinite;
		animation: loading05 3s cubic-bezier(.58,.17,.67,.83) infinite;
	}
	.plan-area .circle {
		width: 12px;
		height: 12px;
		top: -6px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.plan-area .plan-top .video{
		width: 200px;
		height: 200px;
	}
	.plan-area .plan-top .video video{
		top: 0;
		bottom: 0;
		/*left: -80px;*/
	}
	/* ------------------------
		画面固定　PC表示
	------------------------ */
	/*ラッパー要素*/
	.plant-wrapper{
		display: none;
	}
	/*画像のブロック*/
	.images{
		display: none;
	}
	
	/* ------------------------
		SP表示
	------------------------ */
	.plant-wrapper-sp{
		padding: 50px 0;
		position: relative;
	}
	.plant-wrapper-sp::before{
		content: "";
		display: block;
		width: 100%;
		max-width: none;
		height: 100%;
		background-color: var(--bg-blue);
		border-radius: 80px 0 0 80px;
		position: absolute;
		top: 0;
		right: 0;
		z-index: -1;
	}
	/*コンテンツのブロック*/
	.plant-contents {
		width: 100%;
		margin: 20px 0 0;
	}
	.plant-contents.process .img,
	.plant-contents.second .img{
		border-radius: 0 20px 20px 0;
		width: calc(100% - 20px);
		margin: 0 20px 0 0;
		overflow: hidden;
	}
	.plant-contents.first .img{
		border-radius: 20px 0 0 20px;
		width: calc(100% - 20px);
		margin: 0 0 0 20px;
		overflow: hidden;
	}
	.plant-contents a{
		display: block;
		padding: 20px 25px;
		width: calc(100% - 20px);
		background-color: #fff;
		position: relative;
		top: -20px;
		left: 0;
	}
	.plant-contents.process a,
	.plant-contents.second a{
		border-radius: 20px 0 0 20px;
		margin: 0 0 0 20px;
	}
	.plant-contents.first a{
		border-radius: 0 20px 20px 0;
		margin: 0 20px 0 0;
	}
	
	.plant-contents .plan-ttl{
		font-size: 2.8rem;
		font-weight: 600;
		color: var(--main);
		margin: 0 0 10px;
		line-height: 1;
		position: relative;
	}
	.plant-contents .catch{
		font-size: 1.8rem;
		margin: 0;
		font-weight: 500;
		line-height: 1.5;
	}
	.plant-contents .btn-flex{
		display: flex;
		gap: 0 30px;
	}
	.plant-contents a .arrow{
		display: block;
		width: 32px;
		height: 6px;
		position: absolute;
		right: 20px;
		bottom: 15px;
		background: url("../img/arrow-b.svg") no-repeat center / contain;
	}
	.plant-wrapper-sp .sp-link a{
		display: inline-block;
		padding: 0 0 0 20px;
		color: var(--main);
	}
	.plant-wrapper-sp .sp-link a::before{
		content: "\f105";
		display: inline-block;
		font-weight: 700;
		font-family: "Font Awesome 5 Free";
		padding: 0 8px 0 0;
	}
}


/* -----------------------------------------------------------
	product-area
-------------------------------------------------------------- */
.product-area{
	margin: 100px 0 0;
	padding: 140px 0 100px;
	background: url("../img/top-products-bg.jpg") no-repeat center top / 100% auto ,var(--bg-blue);
	border-radius: 200px 200px 200px 0;
}
.product-area .txt-wrap{
	color: #fff;
	margin: 0 auto 50px;
}
.product-area .title-en,
.product-area .title-jp{
	color: #fff;
}
.product-area .titlebox.type2 .title-en{
	opacity: 0.3!important;
}

/*------------　製品検索　------------*/
.product-area .search-area{
	width: 1200px;
	margin: 0 auto;
	padding: 70px 80px;
	border-radius: 30px;
	background-color: #fff;
	box-shadow: 0px 3px 15px rgba(0,0,0,0.16);
}
.product-area .search-area .titlebox{
	position: relative;
	top: 0;
	left: 0;
	padding: 0 0 0 70px;
	margin: 0 0 20px;
}
.product-area .search-area .titlebox::before{
	content: "\f002";
	display: block;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid var(--main);
	color: var(--main);
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 2.4;
	text-align: center;
	vertical-align: middle;
	margin: 0 10px 0 0;
	position: absolute;
	top: -5px;
	left: 0;
}
.product-area .search-area .title-en{
	color: var(--main);
	font-size: 2.5rem;
}
.product-area .search-area .title-jp{
	color: var(--main);
}

/*------------　分野で選ぶ　------------*/
.product-area .category-wrap {
	margin: 70px auto 0;
	width: 1200px;
}
.product-area .category-wrap .category-ttl{
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	margin: 0 auto;
	position: relative;
}
.product-area .category-wrap .category-ttl::before{
	content: "";
	display: inline-block;
	width: 510px;
	height: 1px;
	background-color: var(--gray);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.product-area .category-wrap .category-ttl::after{
	content: "";
	display: inline-block;
	width: 510px;
	height: 1px;
	background-color: var(--gray);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}
.product-area .category-wrap .category-ttl{
	font-size: 2.2rem;
	font-weight: 600;
}
.product-area .category-wrap .catch{
	font-size: 2.8rem;
	text-align: center;
	margin: 20px 0 40px;
}

@media screen and (max-width: 768px){
    .product-area{
		margin: 50px 0 0;
		padding: 50px 0 0;
		/*background: url("../img/top-products-bg-sp.jpg") no-repeat center top / auto 297px , #fff;*/
		background: url("../img/top-products-bg-sp.jpg") no-repeat center top / 100% auto , #fff;
		border-radius: 0 60px 40px 0;
	}
	.product-area .txt-wrap{
		color: #fff;
		margin: 0 auto 30px;
		text-align: center;
	}
	.product-area .title-en,
	.product-area .title-jp{
		color: #fff;
		text-align: center;
	}
	.product-area .catch{
		font-size: 2rem;
	}

	/*------------　製品検索　------------*/
	.product-area .search-area{
		width: calc(100% - 40px);
		max-width: 480px;
		margin: 0 auto;
		padding: 30px 15px;
		border-radius: 15px;
		box-shadow: 0px 3px 10px rgba(0,0,0,0.16);
	}
	.product-area .search-area .titlebox{
		margin: 0 0 10px 0;
		position: relative;
		top: 0;
		left: 0;
		padding: 0 0 0 60px;
	}
	.product-area .search-area .titlebox::before{
		content: "\f002";
		display: block;
		width: 45px;
		height: 45px;
		border-radius: 50%;
		background-color: #fff;
		border: 2px solid var(--main);
		color: var(--main);
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
		font-size: 2.0rem;
		line-height: 2.2;
		text-align: center;
		vertical-align: middle;
		margin: 0 10px 0 0;
		position: absolute;
		top: -5px;
		left: 0;
	}
	.product-area .search-area .title-en{
		color: var(--main);
		font-size: 2.0rem;
		text-align: left;
	}
	.product-area .search-area .title-jp{
		font-size: 1.7rem;
		color: var(--main);
		text-align: left;
	}

	/*------------　分野で選ぶ　------------*/
	.product-area .category-wrap {
		margin: 40px auto 0;
		padding: 0 20px;
		width: 100%;
	}
	.product-area .category-wrap .category-ttl{
		font-size: 1.8rem;
		font-weight: 600;
		width: fit-content;
		margin: 0 auto;
		padding: 0 10px;
		background-color: #fff;
		z-index: 2;
	}
	.product-area .category-wrap .category-ttl::before{
		content: "";
		display: inline-block;
		width: calc(100vw - 10px);
		height: 1px;
		background-color: var(--gray);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		margin: auto;
		z-index: -1;
	}
	.product-area .category-wrap .category-ttl::after{
		content: "";
		display: inline-block;
		width: 100%;
		height: 100%;
		background-color: #fff;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto 0;
		z-index: -1;
	}
	.product-area .category-wrap .catch{
		font-size: 2.0rem;
		text-align: center;
		margin: 20px 0;
	}
	
}

/* -----------------------------------------------------------
	case-area
-------------------------------------------------------------- */
.case-area{
	margin: 150px auto;
	width: 1300px;
	position: relative;
}
.case-area::before{
	content: "";
	display: block;
	width: 939px;
	height: 939px;
	border-radius: 50%;
	background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
	position: absolute;
	top: -300px;
	right: calc(100vh - (100vh + 500px));
	z-index: -1;
}
.case-area .txt-wrap{
	width: 440px;
	margin: 0 0 0 50px;
}
.case-area .img-slide-wrap{
	width: 744px;
	height: 631px;
	position: absolute;
	top: -100px;
	right: 0;
	overflow: hidden;
	z-index: -1;
	display: flex;
	justify-content: space-between;
}
.case-area .img-slide01{
	width: 365px;
	height: auto;
	background: url("../img/top-case-slide01.png") repeat-y top left/ 365px auto;
	animation: bg-slider01 35s linear infinite;
}

@keyframes bg-slider01 {
	from {
        background-position: 0 0;
    }
    to {
        background-position: 0 -1773px;
    } /* 1178pxとは使用した背景画像の長さ */
}

.case-area .img-slide02{
	width: 365px;
	height: auto;
	background: url("../img/top-case-slide02.png") repeat-y top left/ 365px auto;
	animation: bg-slider02 35s linear infinite;
}

@keyframes bg-slider02 {
	from {
        background-position: 0 -1773px;
    }
    to {
        background-position: 0 0;
    } /* 1178pxとは使用した背景画像の長さ */
}

@media screen and (max-width: 768px){
    .case-area{
		margin: 70px auto 0;
		padding: 60px 0 70px;
		width: 100%;
		position: relative;
	}
	.case-area::before{
		content: "";
		display: block;
		width: 387px;
		height: 387px;
		border-radius: 50%;
		background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
		position: absolute;
		top: -140px;
		right: -130px;
		z-index: -1;
	}
	.case-area::after{
		content: "";
		display: block;
		width: 631px;
		height: 631px;
		border-radius: 50%;
		background: radial-gradient( rgba(190,229,248, 0.77) 0% , rgba(241,249,254, 0.5) 50% , rgba(255,255,255, 0) 100%);
		position: absolute;
		top: -120px;
		left: -220px;
		z-index: -2;
	}
	.case-area .txt-wrap{
		width: 100%;
		margin: 0;
		padding: 0 20px;
		text-align: center;
		color: #fff;
	}
	.case-area .txt-wrap .title-en,
	.case-area .txt-wrap .title-jp{
		color: #fff;
		text-shadow: 0px 0px 6px rgba(0,0,0,0.16);
	}
	.case-area .txt-wrap .catch{
		font-size: 2.2rem;
		text-shadow: 0px 0px 6px rgba(0,0,0,0.16);
	}
	#top .case-area .txt-wrap .button{
		margin: 60px auto 0;
	}
	.case-area .img-slide-wrap{
		width: 100%;
		height: 253px;
		position: absolute;
		top: 0;
		right: 0;
		overflow: hidden;
		z-index: -1;
		display: flex;
		justify-content: space-between;
	}
	.case-area .img-slide01{
		width: 100%;
		height: 253px;
		background: url("../img/top-case-slide01-sp.png") repeat-x top left/ auto 253px;
		animation: bg-slider01 13s linear infinite;
	}

	@keyframes bg-slider01 {
		from {
			background-position: 0 0;
		}
		to {
			background-position: -631px 0;
		} /* 631pxとは使用した背景画像の長さ */
	}
}



/* ----------------------------------------------------------- 
	recruit-area
-------------------------------------------------------------- */
.recruit-area{
}
.recruit-area .catch-wrap{
	margin: 80px auto 0;
	width: 100%;
	height: 800px;
	background: var(--bg-green) url("../img/top-recruit.jpg") no-repeat center top -12px / cover;
	/*border-radius: 200px 0 0 0;*/
	border-radius: 200px 200px 0 0;
	position: relative;
	overflow: hidden;
	max-width: 1600px;
}
/*.recruit-area .catch-wrap::before{
	content: "";
	width: 200px;
	height: 200px;
	background: url("../img/top-recruit-bg.png") no-repeat center / cover;
	position: absolute;
	top: 500px;
	right: 0;
}*/
/*.recruit-area .catch-wrap .bg-img{
	width: 100%;
	height: 300px;
	border-radius: 200px 0 0 0;
	position: relative;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: -1;
}
.recruit-area .catch-wrap .bg-img.style02{
	width: 100%;
	height: 400px;
	border-radius: 0;
	position: relative;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: -1;
}
.recruit-area .catch-wrap .bg-img img{
	width: 100%;
	height: 300px;
	border-radius: 200px 0 0 0;
	object-fit: cover;
	object-position: center;
}

.recruit-area .catch-wrap .bg-img.style02 img{
	width: 100%;
	height: 400px;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
}*/
.recruit-area .catch-wrap .bg-img,
.recruit-area .catch-wrap .bg-img.style02{
	display: none;
}

.recruit-area .catch-wrap .rec-catch{
	/*color: #fff;
	line-height: 2;
	display: inline-block;
	margin: 0 0 0 calc((100% - 1200px)/2);
	position: absolute;
	top: 330px;*/
	
	position: absolute;
	top: 280px;
	left: 50%;
	transform: translateX(-50%);
	/*top: 50%;
	transform: translate(-50%, -50%);*/
	color: #fff;
	line-height: 1.6;
	font-size: 7rem;
	font-weight: 700;
	font-family: var(--jp-serif);
	width: 100%;
	text-align: center;
	text-shadow: 3px 3px 10px #444;
	
}
/*.recruit-area .catch-wrap .rec-catch span{
	display: inline-block;
	background-color: rgba(13,190,179,0.8);
	padding: 0 .15em;
	margin: .15em 0;
	font-size: 4.0rem;
	font-weight: bold;
}*/
.recruit-area .btm-wrap{
	background-color: var(--bg-green);
	/*border-radius: 120px 0 0 120px;*/
	border-radius: 0 0 0 120px;
	position: relative;
	top: -100px;
	left: 0;
	width: 100%;
}
.recruit-area .btm-wrap .text-slide{
	width: 100%;
	height: 183px;
	position: absolute;
	top: 0;
	right: 0;
	background: url("../img/text-slide.png") repeat-x top left / auto 183px;
	animation: bg-slider2 35s linear infinite;
	overflow: hidden;
}
.recruit-area .btm-wrap .inner{
	padding: 120px 0 100px;
}

@keyframes bg-slider2 {
	from {
        background-position: 0 0;
    }
    to {
        background-position: -3672px 0;
    } /* 3672pxとは使用した背景画像の長さ */
}

.recruit-area .btm-wrap .recruit-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 50px 0 0;
}
.recruit-area .btm-wrap .recruit-list li{
	background-color: #fff;
	border-radius: 30px;
}
.recruit-area .btm-wrap .recruit-list li a{
	display: block;
	position: relative;
	border-radius: 30px;
	box-shadow: 7px 7px 30px -10px rgba(0,0,0,0.1);
}
.recruit-area .btm-wrap .recruit-list li.style1{
	width: calc((100% - 40px)/ 2); 
}
.recruit-area .btm-wrap .recruit-list li.style2{
	width: calc((100% - 80px)/ 3); 
}
.recruit-area .btm-wrap .recruit-list li .img{
	border-radius: 30px 30px 0 0;
	overflow: hidden;
	position: relative;
}
.recruit-area .btm-wrap .recruit-list li .img::after{
	content: "";
	display: block;
	width: 100%;
	height: 58px;
	background: linear-gradient(to bottom , rgba(255,255,255,0) 0% , rgba(255,255,255,0.7) 60%, rgba(255,255,255,1) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}
.recruit-area .btm-wrap .recruit-list li .titlebox{
	padding: 0 28px;
  	margin: -20px 0 20px;
}
.recruit-area .btm-wrap .recruit-list li .titlebox.recruitment{
	min-height: 107px;
}
.recruit-area .btm-wrap .recruit-list li .titlebox .title-en,
.recruit-area .btm-wrap .recruit-list li .titlebox .title-en.s{
	font-size: 3.8rem!important;
	letter-spacing: -0.02em;
}
.recruit-area .btm-wrap .recruit-list li .titlebox .title-jp{
	color: var(--recruit-main);
}
.recruit-area .btm-wrap .recruit-list li .catch{
	padding: 0 28px 40px;
	font-size: 1.8rem;
	line-height: 1.5;
	margin: 0;
}
.recruit-area .btm-wrap .recruit-list li .arrow-g{
	display: block;
	width: 40px;
	height: 8px;
	position: absolute;
	right: 20px;
	bottom: 30px;
	transition: 0.5s;
	background: url("../img/arrow-g.svg") no-repeat center / contain;
}
.recruit-area .btm-wrap .recruit-list li a:hover .arrow-g{
	right: 10px;
}

@media screen and (max-width: 768px){
    .recruit-area .catch-wrap{
		width: 100%;
		height: 264px;
		background: var(--bg-green) url("../img/top-recruit-sp.jpg") no-repeat center / cover;
		/*border-radius: 50px 0 0 0;*/
		border-radius: 50px 50px 0 0;
		position: relative;
		overflow: hidden;
		margin: 40px 0 0;
	}
	/*.recruit-area .catch-wrap::before{
		content: "";
		width: 50px;
		height: 50px;
		background: url("../img/top-recruit-bg-sp.png") no-repeat center / cover;
		position: absolute;
		top: 171px;
		right: -1px;
	}*/
	
	/*.recruit-area .catch-wrap .bg-img{
		height: 110px;
		border-radius: 50px 0 0 0;
	}
	.recruit-area .catch-wrap .bg-img.style02{
		height: 155px;
	}
	.recruit-area .catch-wrap .bg-img img{
		height: 110px;
		border-radius: 50px 0 0 0;
	}
	.recruit-area .catch-wrap .bg-img.style02 img{
		height: 155px;
	}*/
	.recruit-area .catch-wrap .bg-img,
	.recruit-area .catch-wrap .bg-img.style02{
		display: none;
	}
	
	
	.recruit-area .catch-wrap .rec-catch{
		/*color: #fff;
		line-height: 2;
		margin: 0 0 0 20px;
		top: 90px;*/
		top: 65px;
		font-size: 3rem;
		line-height: 1.4;
	}
	/*.recruit-area .catch-wrap .rec-catch span{
		background-color: rgba(13,190,179,0.8);
		padding: 0 .15em;
		margin: .15em 0;
		font-size: 2.4rem;
	}*/
	.recruit-area .btm-wrap{
		/*border-radius: 50px 0 0 50px;*/
		border-radius: 0 0 0 50px;
		top: -43.2px;
	}
	.recruit-area .btm-wrap .text-slide{
		width: 100%;
		height: 97px;
		background: url("../img/text-slide.png") repeat-x top left / auto 97px;
		animation: bg-slider2 80s linear infinite;
		overflow: hidden;
		margin: 15px 0 0;
	}
	.recruit-area .btm-wrap .inner{
		padding: 40px 20px 50px;
	}
	.recruit-area .titlebox .title-en,
	.recruit-area .titlebox .title-jp{
		text-align: center;
	}
	.recruit-area .btm-wrap .recruit-list{
		flex-direction: column;
		flex-wrap: wrap;
		gap: 20px;
		margin: 35px 0 0;
	}
	.recruit-area .btm-wrap .recruit-list li{
		border-radius: 10px;
	}
	.recruit-area .btm-wrap .recruit-list li a{
		display: flex;
		position: relative;
		border-radius: 10px;
		align-items: center;
	}
	.recruit-area .btm-wrap .recruit-list li.style1{
		width: 100%; 
	}
	.recruit-area .btm-wrap .recruit-list li.style2{
		width: 100%; 
	}
	.recruit-area .btm-wrap .recruit-list li .img{
		border-radius: 10px 0 0 10px;
		width: 100px;
		height: 100px;
	}
	.recruit-area .btm-wrap .recruit-list li .img::after{
		display: none;
	}
	.recruit-area .btm-wrap .recruit-list li .titlebox{
		padding: 0 0;
		margin: 0 0 0 15px;
	}
	.recruit-area .btm-wrap .recruit-list li .titlebox.recruitment{
		min-height: inherit;
	}
	.recruit-area .btm-wrap .recruit-list li .titlebox .title-en{
		font-size: 2.6rem!important;
		text-align: left;
		margin: 0 0 2px;
	}
	.recruit-area .btm-wrap .recruit-list li .titlebox .title-en.s{
		font-size: 2.2rem!important;
	}
	.recruit-area .btm-wrap .recruit-list li .titlebox .title-jp{
		font-size: 1.6rem;
		text-align: left;
		color: #333;
	}
	.recruit-area .btm-wrap .recruit-list li .arrow-g{
		width: 28px;
		height: 6px;
		right: 15px;
		bottom: 15px;
		background: url("../img/arrow-g-small.svg") no-repeat center / contain;
	}
}



/* -----------------------------------------------------------
	company-area
-------------------------------------------------------------- */
.company-area{ 
	padding: 100px 0 0;
	position: relative;
}
.company-area::before{ 
	content: "";
	display: block;
	width: 100%;
	max-width: calc(1300px + (100% - 1300px)/2 + 80px);
	height: 437px;
	background-color: var(--bg-blue);
	border-radius: 0 150px 150px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.company-area .flex{ 
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.company-area .catch{ 
	font-size: 2.4rem;
}
.company-area ul{ 
	display: flex;
	gap: 0 20px;
}
.company-area ul li{ 
	width: calc((100% - 60px)/4);
	height: 400px;
	border-radius: 30px;
}
/*------ ふわっと　アニメーション ------*/
.company-area ul li.fadeUp {
    animation-name:fadeUpAnime;
    animation-duration: 1.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

.company-area ul li a{
	display: block;
	width: 100%;
	height: 400px;
	border-radius: 30px;
	position: relative;
}
.company-area ul li.message a{ 
	background: url("../img/top-com-message.jpg") no-repeat center /cover;
}
.company-area ul li.outline a{ 
	background: url("../img/top-com-outline.jpg") no-repeat center /cover;
}
.company-area ul li.office a{ 
	background: url("../img/top-com-office.jpg") no-repeat center /cover;
}
.company-area ul li.download a{ 
	background: url("../img/top-com-download.jpg") no-repeat center /cover;
}
.company-area ul li a .titlebox{
	padding: 260px 20px 0;
}
.company-area ul li a .titlebox .title-en{
	font-size: 3.2rem;
	margin: 0 0 8px;
}
.company-area ul li a span.arrow-w{
	display: block;
	width: 40px;
	height: 8px;
	position: absolute;
	right: 20px;
	bottom: 30px;
	transition: 0.5s;
	background: url("../img/arrow-w.svg") no-repeat center / contain;
}
.company-area ul li a:hover span.arrow-w{
	right: 10px;
}

@media screen and (max-width: 768px){
    .company-area{ 
		padding: 50px 0;
	}
	.company-area::before{ 
		content: "";
		display: block;
		width: 100%;
		max-width: none;
		height: 100%;
		background-color: var(--bg-blue);
		border-radius: 0 40px 40px 0;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	.company-area .flex{ 
		display: block;
	}
	.company-area .flex .title-jp{ 
		text-align: center;
	}
	.company-area .catch{ 
		font-size: 2.2rem;
	}
	.company-area ul{ 
		flex-direction: column;
		gap: 20px;
	}
	.company-area ul li{ 
		width: 100%;
		height: 130px;
		border-radius: 20px;
	}
	/*------ ふわっと　アニメーション ------*/
	.company-area ul li.fadeUp {
		animation-name:fadeUpAnime;
		animation-duration: 1.5s;
		animation-fill-mode:forwards;
		opacity: 0;
	}
	.company-area ul li a{
		display: block;
		width: 100%;
		height: 130px;
		border-radius: 20px;
		position: relative;
	}
	.company-area ul li.message a{ 
		background: url("../img/top-com-message-sp.jpg") no-repeat center /cover;
	}
	.company-area ul li.outline a{ 
		background: url("../img/top-com-outline-sp.jpg") no-repeat center /cover;
	}
	.company-area ul li.office a{ 
		background: url("../img/top-com-office-sp.jpg") no-repeat center /cover;
	}
	.company-area ul li.download a{ 
		background: url("../img/top-com-download-sp.jpg") no-repeat center /cover;
	}
	.company-area ul li a .titlebox{
		padding: 30px 0 0;
		margin: 0 0 0 30px;
	}
	.company-area ul li a .titlebox .title-en{
		font-size: 2.6rem;
		margin: 0 0 5px;
	}
	.company-area ul li a .titlebox .title-jp{
		font-size: 1.6rem;
	}
	.company-area ul li a span.arrow-w{
		width: 28px;
		height: 6px;
		right: 15px;
		bottom: 15px;
		background: url("../img/arrow-w-small.svg") no-repeat center / contain;
	}
}




