@charset "UTF-8";
/* CSS Document */

#mainImage{
position: relative;
padding: 50% 0 0;
}
#homeNews{
position: absolute;
right: 0;
bottom: 12%;
max-width: 50%;
background-color: rgba(0,0,0,0.5);
padding: 20px 25px;
color: #ffffff;
z-index: 2;
}
#homeNewsHeading{
font-size: 1.125rem;
line-height: 1.5;
}
#homeNews ul li{
font-size: 0.875rem;
margin: 0.5em 0 0;
}
#homeSlide{
position: absolute;
top: 0;
right: 0;
left: 0;
padding: 50% 0 0;
overflow: hidden;
z-index: 1;
}
#homeSlide ul{
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
#homeSlide ul li{
width: 100%;
height: 100%;
overflow: hidden;
}
#homeSlide ul li img{
width: 100%;
height: 100%;
object-fit: cover;
}
#homeSlide ul li.swiper-slide-active img{
animation: slideZoom 7000ms cubic-bezier(0.37, 0, 0.63, 1);
}

@media screen and (max-width: 999px){
#mainImage{
padding: 0;
}
#homeNews{
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
right: auto;
bottom: auto;
max-width: none;
padding: 0 0 0 10px;
height: 40px;
}
#homeNewsHeading{
font-size: 1rem;
width: 60px;
flex-shrink: 0;
}
#homeNews ul{
width: calc(100% - 60px);
/*width: min-content;*/
overflow: hidden;
}
/*#homeNews ul li{
display: flex;
align-items: center;
font-size: 0.75rem;
margin: 0;
padding: 0 10px 0 0;
animation: news 20s linear infinite;
}
#homeNews ul li p.title{
white-space: nowrap;
margin: 0 0 0 10px;
}*/
#homeNews ul li{
display: inline-block;
font-size: 0.75rem;
margin: 0;
white-space: nowrap;
padding: 0 0 0 100%;
animation: news 20000ms linear infinite;
}
#homeNews ul li p{
display: inline-block;
}
#homeNews ul li p.title{
margin: 0 0 0 10px;
}
#homeSlide{
position: relative;
top: auto;
right: auto;
left: auto;
}
}/*999*/

@keyframes slideZoom{
0%{
transform: scale(1.2);
}
100%{
transform: none;
}
}

@keyframes news{
0%{
transform: translateX(0);
}
100%{
transform: translateX(-100%);
}
}





#homeCopy{
display: flex;
justify-content: center;
position: absolute;
left: 0;
top: 0;
width: 100%;
font-size: 5.8vw;
font-weight: 300;
line-height: 100%;
color: #ffffff;
text-align: center;
white-space: nowrap;
transform: translateY(-55%);
z-index: 2;
}
#homeCopy .indent{
display: block;
transform: translateX(0.3em);
}
.animate #homeCopy .indent{
display: flex;
}
/*.animate #homeCopy .indent span{
display: block;
opacity: 0;
transform: translateY(-50%);
animation: homeCopy 1000ms 500ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}*/
/*.animate #homeCopy .indent span:nth-child(2){
animation-delay: 550ms;
}
.animate #homeCopy .indent span:nth-child(3){
animation-delay: 600ms;
}
.animate #homeCopy .indent span:nth-child(4){
animation-delay: 650ms;
}
.animate #homeCopy .indent span:nth-child(5){
animation-delay: 700ms;
}
.animate #homeCopy .indent span:nth-child(6){
animation-delay: 750ms;
}
.animate #homeCopy .indent span:nth-child(7){
animation-delay: 800ms;
}
.animate #homeCopy .indent span:nth-child(8){
animation-delay: 850ms;
}
.animate #homeCopy .indent span:nth-child(9){
animation-delay: 900ms;
}
.animate #homeCopy .indent span:nth-child(10){
animation-delay: 950ms;
}
.animate #homeCopy .indent span:nth-child(11){
animation-delay: 1000ms;
}
.animate #homeCopy .indent span:nth-child(12){
animation-delay: 1050ms;
}
.animate #homeCopy .indent span:nth-child(13){
animation-delay: 1100ms;
}
.animate #homeCopy .indent span:nth-child(14){
animation-delay: 1150ms;
}
.animate #homeCopy .indent span:nth-child(15){
animation-delay: 1200ms;
}
.animate #homeCopy .indent span:nth-child(16){
animation-delay: 1250ms;
}
.animate #homeCopy .indent span:nth-child(17){
animation-delay: 1300ms;
}
.animate #homeCopy .indent span:nth-child(18){
animation-delay: 1350ms;
}
.animate #homeCopy .indent span:nth-child(19){
animation-delay: 1400ms;
}*/
.animate #homeCopy .indent span{
display: block;
opacity: 0;
transform: translateY(-50%);
}
.animate #homeCopy.active .indent span{
animation: homeCopy 1000ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.animate #homeCopy .indent span:nth-child(2){
animation-delay: 50ms;
}
.animate #homeCopy .indent span:nth-child(3){
animation-delay: 100ms;
}
.animate #homeCopy .indent span:nth-child(4){
animation-delay: 150ms;
}
.animate #homeCopy .indent span:nth-child(5){
animation-delay: 200ms;
}
.animate #homeCopy .indent span:nth-child(6){
animation-delay: 250ms;
}
.animate #homeCopy .indent span:nth-child(7){
animation-delay: 300ms;
}
.animate #homeCopy .indent span:nth-child(8){
animation-delay: 350ms;
}
.animate #homeCopy .indent span:nth-child(9){
animation-delay: 400ms;
}
.animate #homeCopy .indent span:nth-child(10){
animation-delay: 450ms;
}
.animate #homeCopy .indent span:nth-child(11){
animation-delay: 500ms;
}
.animate #homeCopy .indent span:nth-child(12){
animation-delay: 550ms;
}
.animate #homeCopy .indent span:nth-child(13){
animation-delay: 600ms;
}
.animate #homeCopy .indent span:nth-child(14){
animation-delay: 650ms;
}
.animate #homeCopy .indent span:nth-child(15){
animation-delay: 700ms;
}
.animate #homeCopy .indent span:nth-child(16){
animation-delay: 750ms;
}
.animate #homeCopy .indent span:nth-child(17){
animation-delay: 800ms;
}
.animate #homeCopy .indent span:nth-child(18){
animation-delay: 850ms;
}
.animate #homeCopy .indent span:nth-child(19){
animation-delay: 900ms;
}

@keyframes homeCopy{
0%{
opacity: 0;
transform: translateY(-50%);
}
100%{
opacity: 1;
transform: none;
}
}





@keyframes homeImgShow{
0%{
mask-size: 0 100%;
}
100%{
mask-size: 100% 100%;
}
}





#homeAbout{
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #70c0ff;
padding: 12% 0;
background-image: url(../images/home_about_bg.jpg);
background-repeat: no-repeat;
background-position: center 70%;
background-size: cover;
z-index: 1;
}
#homeAbout .txt{
position: relative;
display: flex;
flex-direction: column;
align-items: center;
z-index: 2;
}
#homeAbout h2{
font-size: 2.25rem;
font-weight: 400;
line-height: 1.4;
text-align: center;
color: #ffffff;
}
#homeAbout h2 small{
display: block;
font-size: 50%;
margin: 0 0 1em;
}
#homeAbout p.lead{
font-size: 0.875rem;
line-height: 2.5;
color: #ffffff;
margin: 2em 0 0;
text-align: center;
}
#homeAbout p.btn{
width: 100%;
max-width: 260px;
margin: 40px 0 0;
}

@media screen and (max-width: 999px){
#homeAbout{
padding: 15% 20px;
background-position: center center;
}
#homeAbout h2{
font-size: min(7vw, 1.5rem);
}
#homeAbout h2 small{
font-size: 60%;
}
#homeAbout p.lead{
font-size: 0.75rem;
}
#homeAbout p.btn{
max-width: 200px;
margin: 30px 0 0;
}
}/*999*/

#homeAbout.init .txt{
opacity: 0;
transform: translateY(50px);
}
#homeAbout.init.active .txt{
animation: commonShow01 800ms linear forwards, commonShow02 800ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}





#homeBusiness{
padding: 8% 0;
}
#homeBusinessContent{
display: flex;
justify-content: space-between;
align-items: center;
max-width: 1000px;
margin: 0 auto;
}
#homeBusinessContent figure{
position: relative;
flex: 1;
margin: 0 0 0 calc(50% - 50vw);
overflow: hidden;
border-bottom-right-radius: 20px;
border-top-right-radius: 20px;
padding-top: 33vw;
}
#homeBusinessContent figure img{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
#homeBusinessContent .txt{
display: flex;
flex-direction: column;
align-items: flex-start;
width: 50%;
padding: 0 0 0 50px;
}
#homeBusinessContent .txt h2{
font-size: 2.25rem;
font-weight: 400;
line-height: 1.4;
color: #008773;
}
#homeBusinessContent .txt h2 small{
display: block;
font-size: 50%;
margin: 0 0 1em;
}
#homeBusinessContent .txt p.lead{
font-size: 0.875rem;
line-height: 2;
margin: 1.5em 0 0;
}
#homeBusinessContent .txt p.btn{
width: 100%;
max-width: 260px;
margin: 30px 0 0;
}

@media screen and (max-width: 999px){
#homeBusiness{
padding: 15% 0;
}
#homeBusinessContent{
display: block;
}
#homeBusinessContent figure{
width: 80%;
margin: 0;
padding-top: 51.66%;
border-bottom-right-radius: 0.75em;
border-top-right-radius: 0.75em;
}
#homeBusinessContent .txt{
width: auto;
padding: 0 20px;
margin: 30px 0 0;
}
#homeBusinessContent .txt h2{
font-size: min(7vw, 1.5rem);
}
#homeBusinessContent .txt h2 small{
font-size: 60%;
}
#homeBusinessContent .txt p.lead{
font-size: 0.75rem;
}
#homeBusinessContent .txt p.btn{
max-width: 200px;
margin: 25px 0 0;
}
}/*999*/

/*.init #homeBusinessContent figure::before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #ffffff;
z-index: 2;
}
.init #homeBusinessContent .txt{
opacity: 0;
transform: translateY(50px);
}
.init.active #homeBusinessContent figure::before{
left: 100%;
transition: left 500ms cubic-bezier(0.25, 1, 0.5, 1);
}
.init.active #homeBusinessContent .txt{
opacity: 1;
transform: none;
transition: opacity 500ms linear, transform 500ms cubic-bezier(0.25, 1, 0.5, 1);
}*/
.init #homeBusinessContent figure{
mask-image: url(../images/slide_anim_obj.svg);
mask-repeat: no-repeat;
mask-position: left center;
mask-size: 0 100%;
}
.init #homeBusinessContent .txt{
opacity: 0;
transform: translateY(50px);
}
.init.active #homeBusinessContent figure{
animation: homeImgShow 500ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.init.active #homeBusinessContent .txt{
animation: commonShow01 800ms linear forwards, commonShow02 800ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}





#homeInterview{
position: relative;
padding: 8% 0;
background-image: url(../images/home_interview_bg.jpg);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-attachment: fixed;
z-index: 1;
}
#homeInterview::before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(255,255,255,0.9);
z-index: -1;
}
#homeInterview h2{
font-size: 2.25rem;
font-weight: 400;
line-height: 1.4;
color: #008773;
text-align: center;
}
#homeInterview h2 small{
display: block;
font-size: 50%;
margin: 0 0 1em;
}
#homeInterview p.lead{
font-size: 0.875rem;
line-height: 2;
margin: 1.5em 0 0;
text-align: center;
}
#homeInterviewSlide{
position: relative;
margin: 50px 0 0;
}
#homeInterviewSlide ul li{
padding: 0 2vw 2px;
}
#homeInterviewSlide ul li figure{
position: relative;
overflow: hidden;
padding: 100% 0 0;
}
#homeInterviewSlide ul li figure img{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
#homeInterviewSlide ul li .txt{
display: flex;
flex-direction: column;
align-items: flex-start;
margin: 1em 0 0;
}
#homeInterviewSlide ul li .txt p.store,
#homeInterviewSlide ul li .txt p.date{
font-size: 0.875rem;
}
#homeInterviewSlide ul li .txt p.btn{
width: 100%;
max-width: 260px;
margin: 20px 0 0;
}
.slideBtnWrap{
display: flex;
justify-content: space-between;
position: absolute;
top: 12.25vw;
left: 50%;
width: calc(81.5% + 40px);
height: 40px;
transform: translate(-50%, -50%);
visibility: hidden;
z-index: 2;
}
.slideBtnPrev,
.slideBtnNext{
display: block;
width: 40px;
height: 40px;
position: relative;
background-color: #008773;
border: 2px solid #008773;
border-radius: 50%;
cursor: pointer;
visibility: visible;
transition: background 200ms ease, border 200ms ease;
}
.slideBtnPrev::before,
.slideBtnNext::before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #ffffff;
mask-image: url(../images/arrow01.svg);
mask-repeat: no-repeat;
mask-position: center center;
mask-size: 50% auto;
transition: background 200ms ease;
}
.slideBtnPrev::before{
transform: rotate(180deg);
}
.slideBtnPrev:hover,
.slideBtnNext:hover{
background-color: #ffffff;
}
.slideBtnPrev:hover::before,
.slideBtnNext:hover::before{
background-color: #008773;
}
.slideBtnPrev.swiper-button-disabled,
.slideBtnNext.swiper-button-disabled{
background-color: #cdcdcd;
cursor: default;
border: 2px solid #cdcdcd;
}
.slideBtnPrev.swiper-button-disabled::before,
.slideBtnNext.swiper-button-disabled::before{
background-color: #ffffff;
}
#homeInterviewMovie{
max-width: 1000px;
margin: 80px auto 0;
}
#homeInterviewMovie ul{
display: flex;
justify-content: center;
margin: 0 0 0 -40px;
}
#homeInterviewMovie ul li{
width: 800px;
padding: 0 0 0 40px;
}
#homeInterviewMovie ul li .movie{
position: relative;
width: 100%;
padding-top: 56.25%;
}
#homeInterviewMovie ul li .movie iframe{
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}
#homeInterviewMovie ul li p.title{
display: flex;
justify-content: center;
align-items: center;
color: #ffffff;
background-color: #0080c3;
padding: 5px 10px;
font-size: 1.125rem;
}
#homeInterviewMovie ul li p.title::before{
content: '';
display: block;
width: 20px;
height: 14px;
background-color: #ffffff;
mask-image: url(../images/movie.svg);
mask-repeat: no-repeat;
mask-position: center center;
mask-size: 100% 100%;
margin: 0 10px 0 0;
}

@media screen and (max-width: 999px){
#homeInterview{
padding: 15% 0;
background-attachment: scroll;
}
#homeInterviewHead{
padding: 0 20px;
}
#homeInterview h2{
font-size: min(6vw, 1.5rem);
}
#homeInterview h2 small{
font-size: 60%;
}
#homeInterview p.lead{
font-size: 0.75rem;
text-align: left;
}
#homeInterviewSlide{
margin: 30px 0 0;
}
#homeInterviewSlide ul li{
padding: 0 20px 2px;
}
#homeInterviewSlide ul li .txt p.store,
#homeInterviewSlide ul li .txt p.date{
font-size: 0.75rem;
}
#homeInterviewSlide ul li .txt p.name{
font-size: 0.875rem;
}
#homeInterviewSlide ul li .txt p.btn{
max-width: 200px;
margin: 20px auto 0;
}
.slideBtnWrap{
top: calc(50vw - 20px);
width: calc(100% - 10px);
height: 30px;
}
.slideBtnPrev,
.slideBtnNext{
width: 30px;
height: 30px;
}
#homeInterviewMovie{
margin: 50px auto 0;
padding: 0 20px;
}
#homeInterviewMovie ul{
display: block;
margin: 0;
}
#homeInterviewMovie ul li{
width: auto;
padding: 0;
}
#homeInterviewMovie ul li+li{
margin: 30px 0 0;
}
#homeInterviewMovie ul li p.title{
font-size: 0.875rem;
}
}/*999*/

#homeInterview.init>*{
opacity: 0;
transform: translateY(50px);
}
#homeInterview.init.active>*{
animation: commonShow01 800ms linear forwards, commonShow02 800ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}





#homeEnvironment{
padding: 8% 0;
}
#homeEnvironmentContent{
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
max-width: 1000px;
margin: 0 auto;
}
#homeEnvironmentContent figure{
position: relative;
flex: 1;
margin: 0 calc(50% - 50vw) 0 0;
overflow: hidden;
border-bottom-left-radius: 20px;
border-top-left-radius: 20px;
padding-top: 33vw;
}
#homeEnvironmentContent figure img{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
#homeEnvironmentContent .txt{
display: flex;
flex-direction: column;
align-items: flex-start;
width: 50%;
padding: 0 50px 0 0;
}
#homeEnvironmentContent .txt h2{
font-size: 2.25rem;
font-weight: 400;
line-height: 1.4;
color: #008773;
}
#homeEnvironmentContent .txt h2 small{
display: block;
font-size: 50%;
margin: 0 0 1em;
}
#homeEnvironmentContent .txt p.lead{
font-size: 0.875rem;
line-height: 2;
margin: 1.5em 0 0;
}
#homeEnvironmentContent .txt p.btn{
width: 100%;
max-width: 260px;
margin: 30px 0 0;
}

@media screen and (max-width: 999px){
#homeEnvironment{
padding: 15% 0;
}
#homeEnvironmentContent{
display: block;
}
#homeEnvironmentContent figure{
width: 80%;
margin: 0 0 0 auto;
padding-top: 51.66%;
border-bottom-left-radius: 0.75em;
border-top-left-radius: 0.75em;
}
#homeEnvironmentContent .txt{
width: auto;
padding: 0 20px;
margin: 30px 0 0;
}
#homeEnvironmentContent .txt h2{
font-size: min(7vw, 1.5rem);
}
#homeEnvironmentContent .txt h2 small{
font-size: 60%;
}
#homeEnvironmentContent .txt p.lead{
font-size: 0.75rem;
}
#homeEnvironmentContent .txt p.btn{
max-width: 200px;
margin: 25px 0 0;
}
}/*999*/

/*.init #homeEnvironmentContent figure::before{
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #ffffff;
z-index: 2;
}
.init #homeEnvironmentContent .txt{
opacity: 0;
transform: translateY(50px);
}
.init.active #homeEnvironmentContent figure::before{
right: 100%;
transition: right 500ms cubic-bezier(0.25, 1, 0.5, 1);
}
.init.active #homeEnvironmentContent .txt{
opacity: 1;
transform: none;
transition: opacity 500ms linear, transform 500ms cubic-bezier(0.25, 1, 0.5, 1);
}*/
.init #homeEnvironmentContent figure{
mask-image: url(../images/slide_anim_obj.svg);
mask-repeat: no-repeat;
mask-position: right center;
mask-size: 0 100%;
}
.init #homeEnvironmentContent .txt{
opacity: 0;
transform: translateY(50px);
}
.init.active #homeEnvironmentContent figure{
animation: homeImgShow 500ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.init.active #homeEnvironmentContent .txt{
animation: commonShow01 800ms linear forwards, commonShow02 800ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}





#homeRecruitment{
padding: 8% 0;
background-color: #f1ebe5;
}
#homeRecruitment h2{
font-size: 2.25rem;
font-weight: 400;
line-height: 1.4;
color: #008773;
text-align: center;
}
#homeRecruitment h2 small{
display: block;
font-size: 50%;
margin: 0 0 1em;
}
#homeRecruitmentList{
max-width: 1000px;
margin: 50px auto 0;
}
#homeRecruitmentList ul{
display: flex;
flex-wrap: wrap;
margin: -50px 0 0 -50px;
}
#homeRecruitmentList ul li{
/*width: 33.33%;*/
width: 50%;
margin: 50px 0 0;
padding: 0 0 0 50px;
}
#homeRecruitmentList ul li a{
display: block;
position: relative;
color: #008773;
background-color: #ffffff;
text-decoration: none;
padding: 0 0 30px;
transition: color 200ms ease, background 200ms ease;
}
#homeRecruitmentList ul li a::after{
content: '';
display: block;
position: absolute;
right: 10px;
bottom: 10px;
width: 20px;
height: 20px;
background-color: #008773;
mask-image: url(../images/arrow02.svg);
mask-repeat: no-repeat;
mask-position: center center;
mask-size: 100% 100%;
transition: background 200ms ease;
}
#homeRecruitmentList ul li a:hover{
color: #ffffff;
background-color: #008773;
}
#homeRecruitmentList ul li a:hover::after{
background-color: #ffffff;
}
#homeRecruitmentList ul li figure{
position: relative;
padding: 66.66% 0 0;
overflow: hidden;
}
#homeRecruitmentList ul li figure img{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 500ms ease;
}
#homeRecruitmentList ul li a:hover figure img{
transform: scale(1.1);
}
#homeRecruitmentList ul li .txt{
padding: 25px 10px 0;
}
#homeRecruitmentList ul li .txt p.title{
font-size: 1.5rem;
line-height: 1.5;
text-align: center;
}
#homeRecruitmentList ul li .txt p.title small{
display: block;
font-size: 50%;
}

@media screen and (max-width: 999px){
#homeRecruitment{
padding: 15% 0;
}
#homeRecruitmentHead{
padding: 0 20px;
}
#homeRecruitment h2{
font-size: min(6vw, 1.5rem);
}
#homeRecruitment h2 small{
font-size: 60%;
}
#homeRecruitmentList{
margin: 30px auto 0;
padding: 0 20px;
}
#homeRecruitmentList ul{
display: block;
margin: 0;
}
#homeRecruitmentList ul li{
width: auto;
margin:  0;
padding: 0;
}
#homeRecruitmentList ul li+li{
margin: 30px 0 0;
}
#homeRecruitmentList ul li .txt p.title{
font-size: 1.375rem;
}
}/*999*/

#homeRecruitment.init>*{
opacity: 0;
transform: translateY(50px);
}
#homeRecruitment.init.active>*{
animation: commonShow01 800ms linear forwards, commonShow02 800ms cubic-bezier(0.25, 1, 0.5, 1) forwards;
}