/*--------------------------------------------------
    COMMON
--------------------------------------------------*/
h2.section-title-jp{
  font-size:16px;
  font-weight:400;
  letter-spacing:2px;
}
.section-title-en{
  margin:0!important;
}
.section-title-en p{
  line-height:1.4;
  }
@media screen and (max-width: 767px){
  .section-title-en p{
    font-size:40px;
  }
}
@media screen and (min-width: 768px){
  .section-title-en p{
    font-size:68px;
  }
}
/*--------------------------------------------------
    MV
--------------------------------------------------*/
.mv{
  position: relative;
  width:100%;
  aspect-ratio: 12 / 5;
  margin-top:108px;
  background-image:linear-gradient(rgba(0, 0, 0, .3),  rgba(0, 0, 0, .3)),url(/system_panel/uploads/images/img_mv_bg.jpg);
  background-position:center 15%;
  background-size: cover;
  overflow: hidden;
}
/*3枚*/
.mv .mv-image {
	position: absolute;
	top: 0;
    right: 0;
  opacity: 0;
  animation: image-switch-animation 4s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
.mv .mv-image:nth-child(1) {
    animation-delay: 0s;
}
.mv .mv-image:nth-child(2) {
    animation-delay: 1s;
  opacity:0;
}
.mv .mv-image:nth-child(3) {
    animation-delay: 3s;
}
/*2枚
.mv .mv-image {
	position: absolute;
	top: 0;
    right: 0;
    opacity: 0;
    animation: image-switch-animation 6s;
  animation-fill-mode: forwards;
}
.mv .mv-image:nth-child(1) {
    animation-delay: 0s;
}
.mv .mv-image:nth-child(2) {
    animation-delay: 5s;
}
.mv .mv-image img {
    width: 100%;
    object-fit: cover;
}*/
/*.mv .mv-image::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}*/
/*3枚
@keyframes fade {
	0% { opacity: 0;}
  50% { opacity: 1;}
  60% { opacity: 1;}
	100% { opacity: 1;}
}*/
/*3枚
@keyframes image-switch-animation {
	0% { opacity: 0;}
	15% { opacity: 1;} 
	30% { opacity: 1;} 
	45% { opacity: 1;}
	100% { opacity: 1;}
}*/

/*2枚*/
@keyframes image-switch-animation {
	0% { opacity: 0;}
	15% { opacity: 1; z-index : 2;} 
	30% { opacity: 1;} 
	45% { opacity: 1; z-index : 1;}
	100% { opacity: 1;}
}

.hide{
  /*visibility: hidden;
  opacity:0!important;*/
  transition:1s;
  animation: fadeOut 1.5s!important;
  animation-fill-mode: both;
}
@keyframes fadeOut {
    0% {
        opacity: 1; /*初めに存在する*/
    }
    100% {
        opacity: 0; /*最後に消える*/
    }
}

/*zoomIn*/
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.875s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.5);
  }

  to {
      transform: scale(1.25);
  }
}
.mv h1{
  z-index: -999;
  position: relative;
}
@media screen and (max-width: 767px){
  .mv{
      aspect-ratio: 3 / 2;
  }
 .radiation{
  position:absolute;
  margin: -60px auto;
}
}

@media screen and (max-width: 1299px) {
  .mv{
    margin-top:65px;
    }
}

@media screen and (max-width: 374px){
.mv-inner-text {
  font-size: 30px!important;
  text-align: left;
  line-height: 60px;
  padding: 0 0 0 0!important;
}
}

@media screen and (min-width: 768px){
  .radiation{
  position:absolute;
  margin: -400px auto;
}
}

.top-slider-inner260213{
  position: absolute;
  z-index: 1;
  top: 25%;
  left: 50%;
  animation-name: fadeIn1s;
    animation-delay: 1s;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    transform-origin: center center;
    transform: translateX(-50%) scale(2.0) ;
    opacity: 0;
}

@keyframes fadeIn1s {
  0% {
  }
  100% {
    transform:translateX(-50%) scale(1.0) ;
      opacity: 1;
  }
}

@media screen and (max-width: 1160px){
  .top-slider-inner260213{
    top: 50%;
  }

  
@keyframes fadeIn1s {
  0% {
  }
  100% {
    transform:translateX(-50%) scale(1.5) ;
      opacity: 1;
  }
}

}

@media screen and (max-width: 767px){
  
@keyframes fadeIn1s {
  0% {
  }
  100% {
    transform:translateX(-50%) scale(1.8) ;
      opacity: 1;
  }
}
}

/*--------------------------------------------------
    REASON
--------------------------------------------------*/
.reason{
  max-width:100%;
  padding: 40px 0 20px;
  position:relative;
}
.reason .reason-inner{
  max-width:1240px;
  display:flex;
  align-items: center;
  margin:0 auto;
}
.reason .reason-inner .text-area .catch{
  line-height:2;
}
.reason .reason-inner .text-area .catch span{
    background: linear-gradient(transparent 70%, #fae757 70%);
  } 
.reason .reason-inner .text-area .btn-area{
  padding:20px 0;
}
.reason .reason-inner .text-area .btn-area .btn{
  width:100%;
  background: #0d9352;
  color: #fff;
  letter-spacing: 2px;
  border:#0d9352 2px solid;
  border-radius: 0;
}
.reason .reason-inner .text-area .btn-area .btn::after{
  content: '';
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.reason .reason-inner .text-area .btn-area .btn:hover{
  background: #fff;
  color: #0d9352;
}
.reason .reason-inner .text-area .btn-area .btn:hover::after{
  color: #0d9352;
}
.reason .clip{
  background-image:url(/system_panel/uploads/images/img_home_reason_bg.jpg);
  background-position:cente;
  background-size: auto;
  width: 100%;
  height: 680px;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 100%);
  position: absolute;
  top: 0;
  z-index: -2;
}

@media screen and (max-width: 767px){
  .reason .reason-inner{
    flex-direction: column;
    padding:20px  0;
  }
  .reason .reason-inner .text-area{
    order:2;
  }
  .reason .reason-inner .text-area .catch{
    font-size:16px;
  }
  .reason .reason-inner .text-area .catch.pc,.reason .reason-inner .text-area .catch.tb{
    display:none;
  }
  .reason .reason-inner .text-area .catch span{
    font-size:20px;
  }
  .reason .reason-inner .text-area .btn-area .btn{
    padding:20px;
  }  
  .reason .reason-inner .img-area{
    max-width:40%;
    order:1;
  }
}
@media screen and (min-width: 768px){
  .reason .reason-inner{
    justify-content: center;
    padding:20px;
  }
  .reason .reason-inner .text-area{
    width:50%;
    padding:20px;
  }
   .reason .reason-inner .text-area .catch{
    font-size:30px;
  } 
  .reason .reason-inner .text-area .catch span{
    font-size:40px;
  }
  .reason .reason-inner .text-area .btn-area .btn{
    padding:20px 0;
  }
  .reason .reason-inner .img-area{
    padding:20px;
  } 
  .reason .reason-inner .img-area img{
    max-width:360px;
  }
}

@media screen and (min-width: 768px)and (max-width: 1023px){
  .reason .reason-inner .text-area .catch{
     font-size:28px;
  }
  .reason .reason-inner .text-area .catch span{
    font-size:32px;
  }
  .reason .reason-inner .text-area .catch.sp,.reason .reason-inner .text-area .catch.pc{
    display:none;
  }
}

@media screen and (min-width: 1024px){
  .reason .reason-inner .text-area .catch span{
    font-size:40px;
  }
  .reason .reason-inner .text-area .catch.sp,.reason .reason-inner .text-area .catch.tb{
    display:none;
  }
}

/*--------------------------------------------------
    SERVICE
--------------------------------------------------*/
.service-shop{
  position:relative;
}
.service{
  max-width: 100%;
  position:relative;
}
.service .service-inner {
  max-width: 1100px;
  display:flex;
  align-items: center;
  column-gap:20px;
  row-gap:20px;
  padding:20px;
  margin:0 auto;
}
.service .service-inner h2{
  color:#fff;
  margin:0 0 20px 0;
}
.service .service-inner .section-title-en p{
  color:#fff;
}
.service .service-inner .text-area .text{
  color:#fff;
  font-weight:700;
}
.service .service-inner .service-item{
  background:#fff;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
}
.service .service-inner .service-item h3{
  background: #ffe200;
  font-weight:700;
  letter-spacing:10px;
  text-align:center;
  position:relative;
  padding:20px;
  margin: 0 0 0 -10px;
}
.service .service-inner .service-item h3::before{
  content:'';
  bottom: -10px;
  left: 0;
  width: 0;
  height: 0;
  border-top: 10px solid #ccc100;
  border-left: 10px solid transparent;
  position: absolute;
}
  .service-shop .bg-gr{
  background-image:url(/system_panel/uploads/images/img_home_service_bg_01.png);
  background-size: cover;
  background-position:center top;
  position:absolute;
  z-index:-1;
  width:100%;
  height:900px; 
}
.service-shop  .bg-yl{
  background-image:url(/system_panel/uploads/images/img_home_service_bg_02.png);
  background-size: cover;
  background-position:center top;
  position:absolute;
  z-index:-2;
   width:100%;
  height:900px;
}
/*fade in*/
.fadeIn {
  opacity: 0;
  transition: 1s;
}
.fadeIn01 {
  opacity: 0;
  transition: 1.5s;
}
.fadeIn02 {
  opacity: 0;
  transition: 0.3s;
}
.fadeIn.is-show,
.fadeIn01.is-show,
.fadeIn02.is-show{
  opacity: 1;
}
/*slide in*/
.slideIn,
.slideIn01,
.slideIn02{
  opacity: 0;
  transform: translateX(30px); 
  transition: opacity .8s, transform .8s;
}
.slideIn.is-show{
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: .5s; 
}
.slideIn01.is-show{
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: .25s; 
}
.slideIn02.is-show{
  opacity: 1; 
  transform: translateY(0); 
  transition-delay: .75s; 
}

@media screen and (max-width: 767px){
  .service{
    padding:20px 0;
  }
  .service .service-inner{
    flex-direction:column;
  }
  .service .service-inner .service-item{
    order:2;
  }
  .service .service-inner .service-item h3{
    font-size:22px;
  }
    .service .service-inner .service-item img{
    padding:10px;
  }
  .service .service-inner .service-item p{
    padding:10px 10px 20px;
  }
  .service .service-inner .text-area{
    width:100%;
    order:1;
  }
  .service-shop  .bg-gr{
    top: -20vw;
  }
  .service-shop  .bg-yl{
    top: -20vw;
  }
}
@media screen and (min-width: 768px){
  .service{
    padding:40px 0 120px 0;
  }
  .service .service-inner{
    margin: -40px auto 0;
  }
  .service .service-inner .service-item{
    width:35%;
  }
  .service .service-inner .text-area{
    order:3;
  }
  .service .service-inner .service-item h3{
    font-size:30px;
  }
  .service .service-inner .service-item img{
    padding:30px;
  }
  .service .service-inner .service-item p{
    padding:30px 30px 40px;
  }
  .service-shop  .bg-gr{
    top: 0; 
  }
  .service-shop  .bg-gr{
    top: 3vw;
  }  
}

/*--------------------------------------------------
    SHOP
--------------------------------------------------*/
.shop{
  max-width: 100%;
  /*background-image:url(/system_panel/uploads/images/img_home_shop_bg.png);*/
  background-position:center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}
.shop .shop-inner{
  background: #fff;
  max-width: 1060px;
  margin: 0 auto;
}
.shop .shop-inner .title-area{
  align-items: flex-start;
  margin:0 0 40px 0;
}
.shop .shop-inner .section-title-en p{
  color:#099452;
}
.shop .shop-inner .shop-item-area{
  display:flex;
  column-gap:40px;
  row-gap:40px;
}
.shop .shop-inner .shop-item-area h3{
  font-weight:700;
  letter-spacing:2px;
  margin: 0 0 10px;
}
.shop .shop-inner .shop-item-area p {
  font-size:14px;
  line-height:1.8;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area{
  display:flex;
  position:relative;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn-area{
  margin:40px 0 0 0;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn{
  width:100%;
  background:#0c9351;
  color:#fff;
  border:#0c9351 1px solid;
  border-radius:0;
  padding:10px 0;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn:hover{
  background:#fff;
  color:#0c9351;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn::after{
  content: '';
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn:hover::after{
  color:#0d9352;
}
.shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn p{
  font-size:16px;
}
.fadeUp.is-show{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

.scroll-infinity__item__bg {
  width: 100vw;
  }
@media screen and (max-width: 767px){
  .shop{
    padding:40px 20px;
  }
  .shop .shop-inner{
    padding:10px;
  }
  .shop .shop-inner .shop-item-area{
    flex-direction:column;
}
  .shop .shop-inner .shop-item-area h3{
    font-size:20px;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area img{
    position:absolute;
    max-height:110px;
    bottom: -20px;
    left: -15px;
    z-index: 1;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area{
    display:block;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area .text-area{
    padding:20px 0;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area .btn{
    width:100%;
  }
}
@media screen and (min-width: 768px){
  .shop{
    padding:40px 20px 100px;
  }
  .shop .shop-inner{
    padding:40px;
    margin: -80px auto 0;
  }
  .shop .shop-inner .shop-item-area .shop-item{
    width:50%;
  }
  .shop .shop-inner .shop-item-area h3{
    font-size:24px;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area{
    display:flex;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area img{
    max-height:200px;
    margin: -15px 0 0 -20px;
  }
  .shop .shop-inner .shop-item-area .shop-item .shop-info-area .text-area{
    width:80%;
    padding:20px 10px;
  }
}

/*--------------------------------------------------
    RECRUIT
--------------------------------------------------*/
.recruit{
  max-width: 100%;
  padding:40px 20px;
}
.recruit .recruit-inner{
  max-width: 1200px;
  display:flex;
  column-gap: 20px;
  row-gap: 20px;
  padding: 20px;
  margin: 0 auto;
}
.recruit-inner .section-title-en p{
  color:#000;
}
.recruit .recruit-inner .text-area h3{
  margin:30px 0 20px 0;
}
.recruit .recruit-inner .text-area p.text{
  line-height:2;
}
.recruit .recruit-inner .text-area .btn-area{
  margin:40px 0 0 0;
}
.recruit .recruit-inner .text-area .btn-area .btn{
  width:100%;
  background:#0c9351;
  color:#fff;
  border:#0c9351 1px solid;
  border-radius:0;
  padding:10px 0;
}
.recruit .recruit-inner .text-area .btn-area .btn:hover{
  background:#fff;
  color:#0c9351;
}
.recruit .recruit-inner .text-area .btn-area .btn::after{
  content: '';
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.recruit .recruit-inner .text-area .btn-area .btn:hover::after{
  color:#0d9352;
}
.recruit .recruit-inner .text-area .btn-area .btn p{
  font-size:16px;
}
@media screen and (max-width: 767px){
  .recruit .recruit-inner{
    flex-direction:column;
    padding:20px 0;
  }
  .recruit .recruit-inner .text-area h3{
    font-size:24px;
  }
  .recruit .recruit-inner .text-area .btn-area .btn{
    width:100%;
  }
}
@media screen and (min-width: 768px){
  .recruit .recruit-inner .text-area{
    width:40%;
  }
  .recruit .recruit-inner .img-area{
    width:60%;
  }
  .recruit .recruit-inner .text-area h3{
    font-size:30px;
    letter-spacing: 2px;
  }
}

/*--------------------------------------------------
    NEWS
--------------------------------------------------*/
.news{
  background: #f4f3ea;
  max-width: 100%;
}
.news-inner{
  background:#fff;
  max-width: 1000px;
  display:flex;
  column-gap: 20px;
  row-gap: 20px;
  padding: 20px;
  margin: 0 auto;
}
.news-inner .section-title-en p{
  color:#000;
}
.news .news-list-item{
  display:flex;
  align-items: center;
  column-gap: 10px;
  row-gap: 10px;
  border-top:#dcdcdc 2px dotted;
}
.news .news-list-item:last-of-type{
  border-bottom:#dcdcdc 2px dotted;
  margin:0;
}
.news .news-list-item .news-list-tag{
  color:#0c9351;
  font-size:14px;
  font-weight:400;
}
.news .news-list-item .news-list-title h3{
  font-size:16px;
  font-weight:700;
  line-height:1.4;
}

.news .news-inner .btn{
  width: 100%;
  background:#0c9351;
  color:#fff;
  border:#0c9351 1px solid;
  border-radius:0;
  margin: 20px 0 0 0;
}
.news .news-inner .btn:hover{
  background:#fff;
  color:#0c9351;
}
.news .news-inner .btn::after{
  content: '';
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.news .news-inner .btn:hover::after{
  color:#0d9352;
}
.news .news-inner .btn p{
  font-size:14px;
}

@media screen and (max-width: 767px){
  .news-inner{
    flex-direction:column;
  }
  .news-inner .section-title-en p{
    font-size:30px;
}
  .news .news-list-item{
    flex-direction:column;
    align-items: flex-start;
    padding:15px 0;
  }
}
@media screen and (min-width: 768px){
  .news{
    padding:80px 20px;
  }
  .news-inner{
    padding:40px;
  }
  .news-inner .section-title-en p{
    font-size:36px;
}
  .news-inner .text-area{
    width: 17.5%;
  }
  .news-inner .news-area{
    width: 82.5%;
  }
  .news .news-list-item{
    padding:20px 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .news .news-list-item .news-list-tag{
    width: 25%;
  }
  .news .news-list-item .news-list-title{
    width: 75%;
}
@media screen and (min-width: 1024px) {
  .news .news-list-item .news-list-tag{
    width: 15%;
  }
  .news .news-list-item .news-list-title{
    width: 85%;
}

/*--------------------------------------------------
    CTA 
--------------------------------------------------*/
.cta{
  background: repeating-linear-gradient(135deg, #06bf52, #06bf52 10px, #06c755 10px, #06c755 20px);
}
.cta .section-inner{
  max-width:1100px;
  padding:60px 20px;
  margin:0 auto;
}
.cta .section-inner .cta-area .text{
  color:#fff;
  font-weight:700;
  margin: 0 0 20px 0;
}
.cta .section-inner .detail-box{
  background: #fff;
  font-weight: 700;
  border: 3px solid #000;
  border-radius: 5px;
  box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 0.1);
  justify-content: space-between;
  align-items: center;
}
.cta .section-inner .detail-box h2{
  color:#06bf52;
  font-size:24px;
  font-weight:700;
  letter-spacing: 2px;
}
.cta .section-inner .detail-box ul{
  padding-left:10px;
  margin:0;
}
.cta .section-inner .detail-box ul li::marker{
  color:#06bf52;
}

@media screen and (max-width: 767px){
  .cta .section-inner .illust-area{
    display:none;
  }
  .cta .section-inner .cta-area .text{
    font-size:20px;
  }
  .cta .section-inner .detail-box{
    flex-direction: column;
    padding:40px 20px;
}
}

@media screen and (min-width: 768px){
  .cta .section-inner .illust-area {
    width: 25%;
    z-index: 1;
  }
  .cta .section-inner .cta-area {
    margin: 0 0 0 -30px;
    z-index: 0;
  } 
  .cta .section-inner .cta-area .text{
    font-size:30px;
  }
  .cta .section-inner .cta-area .text br{
    display:none;
  }
  .cta .section-inner .detail-box{
    padding:40px;
}
  .cta .section-inner .detail-box ul li{
    font-size:20px;
    line-height:1.6;
  }
}
