body{
    background: #fffcee;
    letter-spacing: 0;
    overflow-x: clip:
}

main{
    color: #000000;
}

.mv_area {
  width: 100%;
  height: 100dvh;
    position: relative;
}
.mv_area .mv_img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.mv_area .mv_img li{
    width: 100%;
     height: 100dvh;
}
.mv_area .mv_img li img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
}
.mv_area .form_btn{
        position: absolute;
        bottom: 20px;
        right: 20px;
        display: flex;
        height: 140px;
        width: 140px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        background-color: #00347a;
        color: #fff;
        box-shadow: 0 4px 4px rgb(0 0 0 / 15%);
        line-height: 1.2;
        font-size: 20px;
        font-family: "Zen Old Mincho", serif;
        font-weight: 600;
        border-radius: 1000px;
        animation: floating-y 1.2s ease-in-out infinite alternate-reverse;
        
    }
    .mv_area .form_btn.hover{
        opacity: 0.7;
    }
      @keyframes floating-y {
  0% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(-10px);
  }
}
@media only screen and (max-width: 767px) {

.mv_area .form_btn{
        height: 100px;
        width: 100px;
       font-size: 14px;
        
    }   
}


.youtube{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe{
    width: 100%;
    height: 100%;
}
h2{
    width: 100%;
    height: 32px;
    margin-bottom: 48px;
   
}


h2 img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.section-copy{
    text-align: center;
    line-height: 1.6;
    font-size: 14px;
    margin-bottom: 60px;
}


section.white{
    margin: 0 auto;
    background: #fff;
    padding: 80px 0 100px;
}

@media only screen and (max-width: 767px) {
h2{
    width: 100%;
    height: 6.7vw;
    margin-bottom: 7vw;
   
}


.section-copy{
    text-align: center;
    line-height: 1.6;
    font-size: 3.7vw;
    margin-bottom: 16vw;
}

    
section.white{
    width: 100%;
    margin: 0 auto;
    background: #fff;
    padding: 16vw 0 18vw;
    border-radius: 0px;
}
}



.more-btn{
    width: 24vw;
    max-width: 120px;
    aspect-ratio: 1 / 1;
    position: relative;
    display: block;
    margin: 0 auto;
    font-size: 0;
    
}

.more-btn:before{
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url(../img/more-btn01.svg);
    background-size: 100% 100%;
    background-position: center;
}
.more-btn.movie-btn:before{
    
    background:url(../img/movie-btn01.svg);
    background-size: 100% 100%;
    background-position: center;
}
.more-btn:not(.movie-btn).hover:before{
     background:url(../img/more-btn01-hover.svg);
    background-size: 100% 100%;
    background-position: center;

}
.more-btn.hover:before{
     animation: spin 4s linear infinite; 
}
@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(-360deg); }
}

.more-btn:after{
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:url(../img/more-btn02.svg) no-repeat;
    background-size: 12% auto !important;
    background-position: center!important;
}

.more-btn.movie-btn:after{
    background:url(../img/movie-btn02.svg) no-repeat;
  
}
.more-btn:not(.movie-btn).hover:after{
    background:url(../img/more-btn02-hover.svg) no-repeat;
    
   
}



 .slick-prev,.slick-next{
    
   display: block !important;
        width: 130px;
    height: 13px;
    background: url(../img/arrow.png) !important;
    background-size: 100% 100% !important;;
        -webkit-transform: translate(0, 0%);
    -ms-transform: translate(0,0%);
    transform: translate(0, 0%);
     transition-duration: 0.2s;
} 
    .slick-prev{
    position: absolute;
    top: -53px;
    left: 40px;
   
    z-index: 2;
    transform: 0;
    
}
.slick-prev.hover{
    transform: translate(-10px, 0%);
}
.slick-next{
    position: absolute;
    top: -53px;
    right: 40px;
    z-index: 2;
    transform: scale(-1,1);
}
.slick-next.hover{
    transform: scale(-1,1) translate(-10px, 0%);
}
.slick-next:before, .slick-prev:before{
    display: none;
}


@media screen and (max-width: 767px){
  .slick-prev,.slick-next{
      background: url(../img/arrow.svg) !important;
    background-size: 100% 100% !important;;
        width: 14.7vw;
    height: 1.9vw;
} 
    .slick-prev{
    top: -7.8vw;
    left: 1.6vw;
}
    .slick-next{
    top: -7.8vw;
    right: 1.6vw;
}
}
.news-list{
    margin-bottom: 60px;
    opacity: 0;
  visibility: hidden;

}

.news-list a{
    width: 300px;
    margin:  0 42px;
}

.news-list a p.date{
    text-align: center;
    line-height: 1;
    margin-bottom: 8px;
}
.news-list a p.date span{
    font-size: 75%;
}
.news-list a h3{
    color: #009d85;
    font-size: 16px;
    line-height: 1.8;
}
.news-list a.hover h3{
    color: #ff9000;
}
.news-list a .news-img{
    aspect-ratio: 1 / 1;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}
.news-list a .news-img img{
    width: 100%;
    height: 100%;
   
}
.news-list a .news-img img:nth-child(1){
     object-fit: cover;
    opacity: 0.2;
    filter: blur(5px);
    transform: scale(1.05);
}
.news-list a .news-img img:nth-child(2){
     object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    transition-duration: 0.2s;
}


@media screen and (max-width: 767px){
    
    .news-list{
    margin-bottom: 10vw;
}

.news-list a{
    width: 60vw;
    margin:  0 4vw;
}

.news-list a p.date{
    text-align: center;
    line-height: 1;
    margin-bottom: 8px;
    font-size: 4vw;
}

.news-list a h3{
    color: #009d85;
    font-size: 4vw;
    line-height: 1.5;
}
.news-list a.hover h3{
    color: #ff9000;
}
.news-list a .news-img{
    overflow: hidden;
    margin-bottom: 4.8vw;
    border-radius: 3.2vw;
}
    
    
}


.contest-bnr{
           
            margin: 80px auto;
            position: relative;
            z-index: 2;
display:flex;
 justify-content: center;
    
        }
        
        .contest-bnr a{
             display: block;
            width: 50%;
            max-width: 450px;
           margin:0 10px;
        }
        @media only screen and (max-width: 767px){
            .contest-bnr{
            display:block;
            margin: 16vw auto 16vw;
        }
.contest-bnr a{
width:70%;
margin: 0px auto;
}

}

section.movie-area{
    padding: 120px 0 160px;
    background: #fff;
}
.movie h2{
    width: 400px;
    padding: 0 20px;
    height: auto;
    margin-bottom: 0;
    transform: translate(-50%,-50%);
    position: absolute;
    top: 0;
    left: 50%;
     background: #fff;
    z-index: 2;
}

.movie{
    width: 80%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 28px;
    position: relative;
}
.movie:before{
    content: "";
    display: block;
    position: absolute;
    top:28px;
    left:0;
    width:1px;
    height:calc(100% - 56px);
    background:#ff9000;
}
.movie:after{
    content: "";
    display: block;
    position: absolute;
    top:28px;
    right:0;
    width:1px;
    height:calc(100% - 104px);
    background:#ff9000;
}
.movie-inner{
    position: relative;
    padding: 28px 0;
}
.movie-inner:before{
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:#ff9000;
}
.movie-inner:after{
    content: "";
    display: block;
    position: absolute;
    bottom:0;
    left:0;
    width:calc(100% - 48px);
    height:1px;
    background:#ff9000;
}

.movie .more-btn{
    position: absolute;
    right: 0; bottom: 0;
    transform: translate(50%,50%);
}



@media screen and (max-width: 767px){
    section.movie-area{
    padding: 16vw 0px 32vw;
}
    .movie h2{
    width: 78vw;
    padding: 0;
    transform: translate(0);
    position: static;
    margin: 0 auto 4.8vw;
}

.movie{
    width: 86vw;
    max-width: 980px;
    margin: 0 auto;
    padding:0;
    position: relative;
}
.movie:before{
    display: none;
}
.movie:after{
    display: none;
}
.movie-inner{
    position: relative;
    padding: 0 0;
}
.movie-inner:before{
    display: none;
}
.movie-inner:after{
   display: none;
}

.movie .more-btn{
    position: absolute;
    right: 50%; bottom: 0;
    transform: translate(50%,80%);
}

    
    
}



section.omelover-area{
    padding: 80px 0 120px;
}

.omelover_list{
    width: 80%;
    max-width: 980px;
    margin: 0 auto;
}
section.omelover-area .omelover_list{
   margin-bottom: 60px;
}

.omelover_list a{
    position: relative;
   
   display: block;
     
   
}

.omelover_list a figure{
    aspect-ratio: 4 / 3;
   border-radius: 20px;
   margin-bottom: 0;
   width: 60%;
    overflow: hidden;
    display: block;
}

.omelover_list a figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 10%;
    transition-duration: 0.5s !important;
}
.omelover_list a:hover figure img{
    transform: scale(1.05);
}
.omelover_list_txt{
    background: #fff;
    background: #fff;
    padding: 40px 40px;
    width: 50%;
   position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0%;
    box-shadow: 0 0 10px rgba(0,0,0,.3);
   border-radius: 20px;
    
    z-index: 2;
    text-align: center;
   
}
.omelover_list_txt p{
    font-size: 16px;
    margin-bottom: 16px;
     font-family: "Zen Old Mincho", serif;
    font-weight: bold;
}
.omelover_list_txt h3{
    font-size: 32px;
    line-height: 1.4;
        font-family: "Zen Old Mincho", serif;
    font-weight: bold;
    color: #009d85;
}
.omelover_list_txt h3 span{
    font-size: 60%;
    display: block;
    font-weight: bold;
}


@media screen and (max-width: 767px){
    
    section.omelover-area{
    padding: 16vw 0 18vw;
}
section.omelover-area .omelover_list{
   margin-bottom: 10vw;
}
.omelover-area .omelover_list{
    max-width: 86vw;
}
.omelover_list a .banner{
    width: 80px;
    height: 38px;
    font-size: 16px;
    top: -6px;
    left:-2px;
   
}

.omelover_list a figure{
    width: 100%;
    aspect-ratio: 3 / 2;
   border-radius: 20px;
}


.omelover_list_txt{
    position: static;
    padding: 28px;
    width: 80%;
    margin: -60px auto 0;
    transform: translateY(0%);
   
}
.omelover_list_txt p{
    font-size: 12px;
    margin-bottom: 8px;
}
.omelover_list_txt h3{
    font-size: 24px;
}
    
}



.interview-list{
   
    justify-content: space-between;
    margin-bottom: 60px;
    
}






section.interview-area{
    margin-bottom: 148px;
}

.interview-list{
   
    justify-content: space-between;
    margin-bottom: 60px;
     opacity: 0;
  visibility: hidden;

    
}


.interview-list a{
    position: relative;
    width: 300px;
    margin: 0 25px;
}

.interview-list a .interview-img{
    aspect-ratio: 13 / 10;
    border-radius: 20px;
    overflow: hidden;
}
.interview-list a .interview-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.interview-list a p{
    position: absolute;
    bottom: 14px;
    left: -24px;
    color: #009d85;
}

.interview-list a.hover p{
    color: #ff9000;
}
.interview-list a p span{
  
   display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-size: 24px;
	font-weight: 700;
	padding: 0em 0.4em;
	line-height: 2.3;
	background: rgba(255,255,255,.95);
    font-size: 16px;
}



@media screen and (max-width: 767px){
    section.interview-area{
    margin-bottom: 24vw;
}

    .interview-list{
  display: block;
    padding: 0 0px;
    margin-bottom: 10vw;
    
}

.interview-list a{
    width: 60vw;
    margin:  0 4vw;
}
    .interview-list a .interview-img{
        border-radius: 3.2vw;
        margin-bottom: 4vw;
    }
.interview-list a p{
   position: static;
    bottom: 0px;
    left: 0px;
    color: #009d85;
}

.interview-list a p span{
  font-size: 3.6vw;
    line-height: 1.4
}

    
    
}
.immigration-area{
    margin-bottom: 148px;
}
.immigration-list{
    margin-bottom: 60px;
     opacity: 0;
  visibility: hidden;

    
}
.immigration-list a{
    width: 300px;
    margin:  0 25px;
}

.immigration-list a .immigration-img{
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 12px;
}
.immigration-list a h3{
    font-size: 20px;
    font-weight: bold;
    line-height: 1.45;
    height: 3.4em;
    color: #009d85;
}
.immigration-list a.hover h3{
    color: #ff9000;
}
.immigration-list a p{
    font-size: 14px;
    line-height: 1.5;
}



@media screen and (max-width: 767px){
    
    .immigration-area{
    margin-bottom: 24vw;
}
    
    .immigration-list{
    margin-bottom: 10vw;
    
}

.immigration-list a{
    width: 60vw;
    margin:  0 4vw;
}

.immigration-list a .immigration-img{
    border-radius: 3.2vw;
    margin-bottom: 2.8vw;
}
.immigration-list a h3{
    font-size: 4.6vw;
    font-weight: bold;
    line-height: 1.45;
    height: 3.4em;
    color: #009d85;
}

.immigration-list a p{
    font-size: 3.7vw;
    
}
    
    
}

section.living-area{
    width: 90%;
    max-width: 1300px;
    margin-bottom: 60px;
    border-radius: 20px;
}
.living-list{
   display: grid;
  grid-template-columns: repeat(3, minmax(0, 200px));
  justify-content: space-between;
    gap:48px 20px;
    padding: 0 160px;
}



.living-list li .living-img{
    border-radius: 20px;
    overflow: hidden;
}

.living-list li h3{
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    color: #009d85;
}
.living-list li a.hover h3{
    color: #ff9000;
}

@media screen and (max-width: 980px){
    .living-list{
   grid-template-columns: 1fr 1fr 1fr;
}
    
}

@media screen and (max-width: 767px){
    section.living-area{
    margin-bottom: 12vw;
        border-radius: 3.2vw;
}
.living-list{
  grid-template-columns: 1fr 1fr;
    gap:8vw 8vw;
    padding: 0 8vw;
}

.living-list li .living-img{
    margin-bottom: 2vw;
    border-radius: 3.2vw;
}
.living-list li h3{
    font-size: 4.6vw;
    
}

    
}
.a-img{
    
}
.a-img img{
    display: block;
    transition-duration: 0.5s !important;
}
a.hover .a-img img{
    transform: scale(1.05);
    
}