@charset "utf-8";
.top-first .ttl{margin-bottom:30px;font-size:7.2rem;font-weight:700;line-height:1;}
.top-first .ttl .sub{display:block;margin-bottom:12px;color:#5C5C5C;font-size:1.6rem;line-height:2;}
.top-first .lead{font-weight:500;line-height:2;}

/* -------------------------------------------------- */
/* #top-mv */
/* -------------------------------------------------- */
#top-mv .mv_arrow .arrow{position:absolute;left:-200vw;}
#top-mv .mv_arrow .arrow-1{top:215.8vw;animation:arrow1 2s;animation-fill-mode: forwards;}
#top-mv .mv_arrow .arrow-1 svg{width:85.4vw;height:185.9vw;}
#top-mv .mv_arrow .arrow-2{top:199.6vw;animation:arrow2 2s;animation-fill-mode: forwards;animation-delay:.3s;}
#top-mv .mv_arrow .arrow-2 svg{width:69.4vw;height:174.4vw;}
#top-mv .mv_arrow .arrow-3{top:192.8vw;animation:arrow3 2s;animation-fill-mode: forwards;animation-delay:.6s;}
#top-mv .mv_arrow .arrow-3 svg{width:82.6vw;height:200.3vw;}
#top-mv .mv_arrow .arrow-4{top:207vw;animation:arrow4 2s;animation-fill-mode: forwards;animation-delay:.9s;}
#top-mv .mv_arrow .arrow-4 svg{width:52.8vw;height:162.5vw;}
#top-mv .mv_arrow .arrow-5{top:191.5vw;animation:arrow5 2s;animation-fill-mode: forwards;animation-delay:1.2s;}
#top-mv .mv_arrow .arrow-5 svg{width:59.5vw;height:182.3vw;}
#top-mv .mv_inner{position:relative;width:100%;height:0;padding-top:52.77777777777778%;}
#top-mv .mv_inner::before{content:"";position:absolute;left:0;bottom:0;width:100%;height:0;padding-top:45.83333333333333%;background:url(/img/top/txt_en_mv.png)left top / 100% auto no-repeat;z-index:-1;}
#top-mv .mv_inner .txt{position:absolute;left:14.8vw;top:10.6vw;width:13.5vw;}

@keyframes arrow1{
  from{left:-200vw;top:215.8vw;}
  to{left:0;top:29.9vw;}
}
@keyframes arrow2{
  from{left:-200vw;top:199.6vw;}
  to{left:0;top:30.2vw;}
}
@keyframes arrow3{
  from{left:-200vw;top:192.8vw;}
  to{left:0;top:6.7vw;}
}
@keyframes arrow4{
  from{left:-200vw;top:207vw;}
  to{left:0;top:34vw;}
}
@keyframes arrow5{
  from{left:-200vw;top:191.5vw;}
  to{left:0;top:9.2vw;}
}

/* -------------------------------------------------- */
/* #top-news */
/* -------------------------------------------------- */
#top-news{position: relative;z-index:1;}
#top-news > .container{position: relative;}
#top-news .news_slider{position:absolute;top:-51px;left:0;width:100%;padding:0 56px;}
#top-news .news_slider .item{margin:0 8px;}
#top-news .news_slider .slick-arrow{position:absolute;top:50%;width:48px;height:48px;background-color:#202020;text-indent:-9999px;transform:translateY(-50%);z-index:1;}
#top-news .news_slider .slick-arrow::before{content:"";position:absolute;top:50%;left:50%;width:14px;height:13.4px;background:url(/img/common/icon_arrow_wt.svg) left top / 100% auto no-repeat;}
#top-news .news_slider .slick-prev{left:0;}
#top-news .news_slider .slick-prev::before{transform:translate(-50%, -50%) scaleX(-1);}
#top-news .news_slider .slick-next{right:0;}
#top-news .news_slider .slick-next::before{transform:translate(-50%, -50%);}

/* -------------------------------------------------- */
/* #top-service */
/* -------------------------------------------------- */
#top-service{position:relative;padding:130px 0 120px;background-color:rgba(255,255,255,0.9);backdrop-filter:blur(3px);}
#top-service .service_list{position:relative;margin-top:48px;counter-reset:service 0;}
#top-service .service_list .block{position:relative;}
#top-service .service_list .block .inner{position:relative;}
#top-service .service_list .block .inner:not(:has(.no-link))::before,#top-service .service_list .block .inner:not(:has(.no-link))::after{content:"";position:absolute;top:50%;transform:translateY(-50%);transition:.3s;}
#top-service .service_list .block .inner::before{right:0;width:60px;height:60px;border-radius:50%;box-shadow:0 0 0 1px rgba(64, 64, 64, 0.20);}
#top-service .service_list .block .inner::after{right:23px;width:14px;height:13px;background:url(/img/common/icon_arrow_bk.svg) left top / 100% auto no-repeat;}
#top-service .service_list .block .inner:has(a[target="_blank"])::after{right:21px;width:17px;height:17px;background-image:url(/img/common/icon_external_bk.svg);}

#top-service .service_list .block:first-child .inner{border-top:1px solid rgba(64,64,64,0.20);}
#top-service .service_list .block .inner a{position:relative;right:0;display:flex;align-items:center;gap:0 50px;padding:36px 0;transition-property:margin-left,opacity;transition-duration:.3s, .3s;}
#top-service .service_list .block .inner a::after{content:"";position:absolute;right:0;bottom:0;width:100%;height:1px;background-color:rgba(64, 64, 64, 0.20);}
#top-service .service_list .block .inner a.no-link{pointer-events:none;}
#top-service .service_list .block .inner .icon{width:180px;height:180px;display:flex;justify-content:center;align-items:center;border-radius:50%;border:1px solid rgba(64, 64, 64, 0.20);}
#top-service .service_list .block .inner .txt{position:relative;flex:1;}
#top-service .service_list .block .inner .txt::before{display:inline-block;counter-increment:service 1;content:"SERVICE - "counter(service);margin-bottom:1em;color:#53B953;font-family:"Montserrat",sans-serif;font-size:1.3rem;font-weight:700;line-height:1;}
#top-service .service_list .block .inner .txt h3{font-size:4.8rem;font-weight:700;line-height:1.1;letter-spacing:0;}
#top-service .service_list .block .inner .txt p{margin-top:1em;font-weight:500;line-height:2;}

/* -------------------------------------------------- */
/* #top-company */
/* -------------------------------------------------- */
#top-company{position:relative;padding:120px 0;background-color:#fff;}
#top-company::before{content:"";position:absolute;left:0;top:0;width:100%;height:calc(100% - 320px);background-color:#F6F7F9;}
#top-company > .container{position:relative;}
#top-company .company_first{display:flex;align-items:center;}
#top-company .company_first > *{width:50%;}
#top-company .company_map{position:relative;margin-top:60px;width:100%;height:0;padding-top:35%;}
#top-company .company_map iframe{position:absolute;left:0;top:0;width:100%;height:100%;}

/* -------------------------------------------------- */
/* #top-contact */
/* -------------------------------------------------- */
#top-contact{position:relative;padding:120px 0 130px;background-color:#53B953;}
#top-contact::before{content:"CONTACT";position:absolute;left:0;top:130px;color:#fff;font-family:"Montserrat",sans-serif;font-size:12.8vw;font-weight:700;line-height:0.4;opacity:0.16;}
#top-contact > .container{position:relative;}
#top-contact .contact_first{display:flex;align-items:center;color:#fff;}
#top-contact .contact_first > *{width:50%;}
#top-contact .contact_first .lead p{font-weight:700;line-height:2;}
#top-contact .contact_first .lead p + p{margin-top:1em;}
#top-contact .contact_form{padding:36px 0 60px;margin-top:60px;background-color:#fff;}
#top-contact .contact_form .common-table02{width:900px;margin:auto;}
#top-contact .contact_form .submitBtn{position:relative;max-width:516px;margin:24px auto 0;}
#top-contact .contact_form .submitBtn::after{content:"";position:absolute;top:50%;right:24px;width:14px;height:13px;background:url(/img/common/icon_arrow_wt.svg) left top / 100% auto no-repeat;transform:translateY(-50%);}
#top-contact .contact_form .submitBtn input[type=submit]{display:flex;justify-content:center;align-items:center;width:100%;height:70px;padding:0;color:#fff;font-size:1.8rem;font-weight:700;border:none;border-radius:3px;background-color:#202020;cursor:pointer;transition:.2s;}
#top-contact .contact_form .submitBtn input[type=submit]:hover{opacity:0.8;}
#top-contact .contact_form .submitBtn .wpcf7-spinner{display:none;}

@media screen and (min-width:1201px){
  #top-service .service_list::before{content:"";position:absolute;right:0;top:0;width:calc((100% - 1200px) / 2);height:1px;background-color:rgba(64,64,64,0.20);}
  #top-service .service_list .block::after{content:"";position:absolute;right:0;bottom:0;width:calc((100% - 1200px) / 2);height:1px;background-color:rgba(64,64,64,0.20);}
}
@media screen and (min-width:1025px){
  /* -------------------------------------------------- */
  /* #top-service */
  /* -------------------------------------------------- */
  #top-service .service_list .block .inner{max-width:calc(100% - 220px);margin-left:auto;}
  #top-service .service_list .block .inner a{opacity:0.6;}
  /* hover */
  #top-service .service_list .block .inner:hover::before{background-color:#53B953;}
  #top-service .service_list .block .inner:hover::after{background-image:url(/img/common/icon_arrow_wt.svg);}
  #top-service .service_list .block .inner:has(a[target="_blank"]):hover::after{background-image:url(/img/common/icon_external_wt.svg);}
  #top-service .service_list .block .inner a:hover{width:calc(100% + 40px);margin-left:-40px;opacity:1;}
}
@media screen and (max-width:999px){
  /* -------------------------------------------------- */
  /* #top-service */
  /* -------------------------------------------------- */
  #top-service .service_list .block .inner a{padding-right:70px;}

  /* -------------------------------------------------- */
  /* #top-company */
  /* -------------------------------------------------- */
  #top-company .company_first{display:block;}
  #top-company .company_first > *{width:auto;}
  #top-company .company_first .common-table01{width:100%;}

  /* -------------------------------------------------- */
  /* #top-contact */
  /* -------------------------------------------------- */
  #top-contact .contact_form{padding-left:20px;padding-right:20px;}
  #top-contact .contact_form .common-table02{width:100%;}
}
@media screen and (max-width:768px){
  .top-first .ttl{font-size:4rem;}
  .top-first .ttl .sub{font-size:1.4rem;}

  /* -------------------------------------------------- */
  /* #top-news */
  /* -------------------------------------------------- */
  #top-news .news_slider{top:-20px;padding:0;}
  #top-news .news_slider .slick-arrow{width:36px;height:36px;}

  /* -------------------------------------------------- */
  /* #top-service */
  /* -------------------------------------------------- */
  #top-service{padding-bottom:60px;}
  #top-service .service_list .block .inner{max-width:100%;}
  #top-service .service_list .block .inner::before{width:40px;height:40px;}
  #top-service .service_list .block .inner::after{right:15px;width:10px;height:9px;}
  #top-service .service_list .block .inner:has(a[target="_blank"])::after{right:14px;width:12px;height:12px;}
  #top-service .service_list .block .inner a{display:block;padding:18px 50px 18px 0;}
  #top-service .service_list .block .inner .icon{position:absolute;left:0;top:18px;width:90px;height:90px;}
  #top-service .service_list .block .inner .icon img{width:45px;}
  #top-service .service_list .block .inner .txt::before{padding-left:100px;}
  #top-service .service_list .block .inner .txt h3{min-height:50px;padding-left:100px;font-size:2.4rem;}
  #top-service .service_list .block .inner .txt p{font-size:1.3rem;}

  /* -------------------------------------------------- */
  /* #top-company */
  /* -------------------------------------------------- */
  #top-company{padding:60px 0;}
  #top-company::before{height: calc(100% - 160px);}
  #top-company .company_map{margin-top:30px;padding-top:56%;}

  /* -------------------------------------------------- */
  /* #top-contact */
  /* -------------------------------------------------- */
  #top-contact{padding:60px 0 65px;}
  #top-contact::before{top:65px;}
  #top-contact .contact_first{display:block;}
  #top-contact .contact_first > *{width:auto;}
  #top-contact .contact_form{padding:18px 20px 30px;margin-top:30px;}
  #top-contact .contact_form .common-btn01{margin-top:12px;width:100%;}
}