@charset "utf-8";
main{
  overflow: hidden;
}
/*# cmn
=============================================== */
.pcmn_sec_ttl{
  font-size: 3.8rem;
  font-weight: 500;
  line-height: var(--lh-sub);
}
.pcmn_sec_ttl > *[lang="en"]{
  position: relative;
  display: block;
  margin-top: 10px;
  padding-left: 17px;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--main-color);
}
.pcmn_sec_ttl> *[lang="en"]::before{
  position:absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: var(--main-color);
  border-radius: 50%;
}

.pcmn_sec_ttl.is_white,
.pcmn_sec_ttl.is_white > *[lang="en"]{
  color: #fff;
}
.pcmn_sec_ttl.is_white> *[lang="en"]::before{
  background: #fff;
}
@media screen and (max-width :834px){
  .pcmn_sec_ttl{
    font-size: 2.7rem;
  }
  .pcmn_sec_ttl > *[lang="en"]{
    margin-top: 3px;
    padding-left: 13px;
    font-size: 1.4rem;
  }
}
/*# splide
=============================================== */
.area_splide{
  margin-left: 50px;
  padding-left:calc(calc(100vw - 1380px) / 2);
}
.area_splide .splide__track{
  padding-bottom: 4px;
  overflow: visible;
}
.area_splide.is-slide .splide__slide.is-prev{
  opacity: 1;
}
.area_splide .splide__slide.is-prev{
  opacity: 0;
}

.area_splide .area_control{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 64px;
  padding-right:calc(calc(100vw - 1380px) / 2);
}
.area_splide .splide-controller{
  flex:1;
  align-items: center;
  height: 48px;
  margin-right: 88px;
}
.area_splide .splide__arrow{
  width: 48px;
  height: 48px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.area_splide .splide__arrow.splide__arrow--prev{
  transform: scale(-1, 1);
}
.area_splide .carousel-progress{
  flex: 1;
  margin: 0 20px;
  height: 1px;
  background: #bac7e6;
}
.area_splide .carousel-progress_bar{
  background: #fff;
  height: 1px;
  transition: width 1000ms ease;
  width: 0;
}
.area_splide  .link_more{
  margin-right: 50px;
}
.area_splide  .link_more a{
  padding-right: 48px;
  text-decoration: none;
  font-weight: 500;
  color: var(--font-black);
}
@media (min-width:1980px){
  .area_splide .splide__track{
    overflow: hidden;
  }  
 .area_splide .splide__slide.is-prev{
    opacity: 1;
  }
}
@media screen and (max-width :834px){
  .area_splide{
    margin-left: 5.2vw;
    padding-left: 0;
  }
  .area_splide .area_control{
    margin-top: 40px;
    padding-right:0;
  }
  .area_splide .splide-controller{
    height: 40px;
    margin-right: 32px;
  }
  .area_splide .splide__arrow{
    width: 40px;
    height: 40px;
  }
  .area_splide .carousel-progress{
    margin: 0 12px;
  }
  .area_splide  .link_more{
    margin-right: 5.2vw;
  }
  .area_splide  .link_more a{
    padding-right: 40px;
  }  
}
/*# sec_promo
=============================================== */
.sec_promo{
  position: relative;
  z-index: 1;
}
.sec_promo .splide__list li img{
  width: 100%;
}

/*area_important*/
.sec_promo .area_important{
  position: absolute;
  top: 16px;
  left: 24px;
  width: calc(100% - 48px);
  display: flex;
  align-items: center;
  padding: 28px 40px;
  background-color: #ffeced;
  color: var(--font-red);
  font-weight: 500;
  z-index: 1;
  border: solid 1px var(--font-red);
  border-radius: var(--radius);
}
.sec_promo .area_important .box_ttl{
  width: 175px;
  line-height: 1;
}
.sec_promo .area_important .box_ttl img{
  width: 16px;
  margin-right: 8px;
  vertical-align: middle;
}
.sec_promo .area_important ul li >*{
  display: flex;
  align-items: center;
  color: var(--font-red);
  text-decoration: none;
  line-height: var(--lh-sub);
}
.sec_promo .area_important ul li time{
  width: 7em;
  color: var(--font-red);
  font-weight: 400;
}
.sec_promo .area_important ul li .ttl{
  flex: 1;
}
.sec_promo .area_important ul li strong{
  font-weight: 500;
}
@media (min-width :835px){
  .sec_promo .area_important ul{
    padding-left: 40px;
    border-left: solid 1px var(--color-border);
  }
}
@media screen and (max-width :834px){
  /*area_important*/
  .sec_promo .area_important{
    display: block;
    top: 8px;
    left: 8px;
    width: calc(100% - 16px);
    padding: 15px 18px 12px;
    font-size: 1.3rem;
  }
  .sec_promo .area_important .box_ttl{
    width: 100%;
  }
  .sec_promo .area_important .box_ttl img{
    width: 15px;
    margin-right:6px;
  }
  .sec_promo .area_important ul{
    margin-top: 6px;
  }
}
/*# sec_service
=============================================== */
.sec_service{
  position: relative;
  z-index: 2;
  padding: 128px 0 320px;
  background: url(/assets/img_top/bg_service-01.svg)no-repeat bottom center;
  background-size: 1595px auto;
}
.sec_service .inner{
  max-width: 1820px;
}
.sec_service::before,
.sec_service::after{
  content: '';
  display: block;
  position: absolute;
  height:auto;
}
.sec_service::before{
  top: 0;
  right: 0;
  width:16.66%;
  max-width: 320px;
  aspect-ratio: 80 / 133;
  background: url(/assets/img_top/deco_service1.png)no-repeat right top;
  background-size: contain;
  transform: translateY(-36.6%);
}
.sec_service::after{
  top: 0;
  left: 0;
  width:12.8%;
  max-width: 246px;
  aspect-ratio: 123 / 200;
  background: url(/assets/img_top/deco_service2.png)no-repeat left bottom;
  background-size: contain;
  transform: translateY(122.25%);
}

.sec_service .list_service{
  display: flex;
  gap: 40px 2.3%;
  position: relative;
  z-index: 2;
}
.sec_service .list_service > .row{
  display: block;
  flex: 1;
  border:solid 1px var(--color-border);
  border-radius: var(--radius);
  background-color:#fff;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.sec_service .list_service dt{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 120px;
  padding: 0 10px;
  color: #fff;
  font-size: 1.7rem;
  font-size: clamp(1.5rem,0.885vw,1.7rem);
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}
.sec_service .list_service dt>*{
  position: relative;
  z-index: 1;
}
.sec_service .list_service dt::before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--main-color);
  background-image: -moz-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(72,110,195) 100%);
  background-image: -webkit-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(72,110,195) 100%);
  background-image: -ms-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(72,110,195) 100%);
  opacity: 0.9;  
  z-index: 0;
}
.sec_service .list_service dt em{
  display: block;
  margin-top: 8px;
  font-size: 2.6rem;
  font-size: clamp(2rem,1.3vw,2.6rem);
  font-weight: 500;
}
.sec_service .list_service dd{
  padding: 32px 8% 30px;
}
.sec_service .list_service .txt{
  margin-top: 23px;
  line-height: 1.75;
}
.sec_service .list_service .cmn_link{
  margin-top: 20px;
  padding-top: 22px;
  border-top: solid 1px var(--color-border);
}
.sec_service .list_service .cmn_link > li + li {
  margin-top: 12px;
}
.sec_service .cmn_btn{
  position: relative;
  margin-top: 80px;
  z-index: 1;
}

@media (max-width :1024px) {
  .sec_service .list_service{
    flex-wrap: wrap;
  }
  .sec_service .list_service > .row{  
    width: calc(50% - 20px);
    flex-shrink: 0;
    flex-basis: auto;
  }
}
@media screen and (max-width :834px){
  .sec_service{
    padding: 80px 0 41vw;
    background-image: url(/assets/img_top/bg_service_sp-01.svg);
    background-size: 100% auto;
  }
  .sec_service::before{
    width:38.35%;
    max-width:303px;
    aspect-ratio: 303 / 532;
    transform: translateY(-31.57%);
  }
  .sec_service::after{
    top: auto;
    bottom: 41vw;
    width:31.53%;
    max-width: 246px;
    aspect-ratio: 41/80;
    transform: translate(-8.9%,-7.5%);
  }
  .sec_service .list_service{
    gap: 16px 0;
  }
  .sec_service .list_service > .row{
    width: 100%;
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.1);
  }
  .sec_service .list_service dt{
    min-height: inherit;
    padding:24px 10px ;
    font-size: 1.4rem;
    font-size: clamp(1.2rem,3.589vw,1.4rem);
  }
  .sec_service .list_service dt em{
    margin-top: 8px;
    font-size: 1.8rem;
    font-size: clamp(1.5rem,4.615vw,1.8rem);
  }
  .sec_service .list_service dd{
    padding: 24px 5.7% 24px;
  }
  .sec_service .list_service .txt{
    margin-top: 15px;
  }
  .sec_service .list_service .cmn_link{
    margin-top: 16px;
    padding-top: 16px;
  }
  .sec_service .list_service .cmn_link > li + li {
    margin-top: 12px;
  }
  .sec_service .cmn_btn{
    margin-top: 40px;
  }  
  .sec_service .cmn_btn>*{
    max-width: 240px;
    width: 100%;
    min-width: inherit;
  }
}
/*# sec_nrapik
=============================================== */
.sec_nrapik{
  position: relative;
  padding: 86px 0 96px;
}
.sec_nrapik >*{
  position: relative;
  z-index: 2;
}
.sec_nrapik::before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--main-color);
  background-image: -moz-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  background-image: -webkit-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  background-image: -ms-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  opacity: 0.9;
  z-index: 0;
}

.sec_nrapik .pcmn_sec_ttl{
  margin-bottom: 70px;
}
.sec_nrapik  .cmn_menu_index.list_example li .box_text{
  margin-top: 0;
}
.sec_nrapik  .cmn_menu_index.list_example li .box_img{
  padding: 23px;
  text-align: center;
}
.sec_nrapik  .cmn_menu_index.list_example li .box_img img{
  width: 282px;
}
.sec_nrapik  .link_more a{
  color: #fff;
}
@media screen and (max-width :834px){
  .sec_nrapik{
    padding: 54px 0 64px;
  }
  .sec_nrapik .pcmn_sec_ttl{
    margin-bottom: 30px;
  }
  .sec_nrapik .cmn_menu_index.list_example > li .box_text .ttl {
    font-size: 1.5rem;
    line-height: 1.4;
  }  
  .sec_nrapik .cmn_menu_index.list_example li .box_img{
    padding: 12px;
  }  
  .sec_nrapik .cmn_menu_index.list_example li .box_img img{
    width: 141px;
  }
}

/*# sec_news
=============================================== */
.sec_news{
  position: relative;
  padding: 96px 0;
  z-index: 1;
}
.sec_news::after{
  content: '';
  display: block;
  position: absolute;
  height:auto;  
  top: 0;
  right: 0;
  width:15.2%;
  max-width: 292px;
  aspect-ratio: 73/120;
  background: url(/assets/img_top/deco_news01.png)no-repeat right top;
  background-size: contain;
  transform: translateY(-49.16%);
}
.sec_news .link_more{
  margin-top: 40px;
  text-align: right;
}
.sec_news  .link_more a{
  padding-right: 48px;
  text-decoration: none;
  font-weight: 500;
  color: var(--font-black);
}
@media (min-width :835px){
  .sec_news .area_list{
    display: flex;
    justify-content: space-between;
  }
  .sec_news .pcmn_sec_ttl{
    width: 230px;
  }
  .sec_news .cmn_news_list{
    flex:1;
  }  
}
@media screen and (max-width :834px){
  .sec_news{
    padding: 54px 0 64px;
  }
  .sec_news::after{
    width:37.43%;
    max-width: 290px;
    aspect-ratio:73 / 120;
    transform: translate(20.6%,-48.95%);
  }
  .sec_news .cmn_news_list{
    margin-top: 35px;
  }
  .sec_news .link_more{
    margin-top: 24px;
  }
  .sec_news  .link_more a{
    padding-right: 40px;
  }  
}
/*# sec_blog
=============================================== */
.sec_blog{
  position: relative;
  padding: 86px 0 96px;
}
.sec_blog>*{
  position: relative;
  z-index: 2;
}
.sec_blog::before{
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--main-color);
  background-image: -moz-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  background-image: -webkit-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  background-image: -ms-linear-gradient( -30deg, rgba(40,81,174,0.99608) 0%, rgb(86,119,195) 65%, rgb(131,157,215) 100%);
  opacity: 0.1;
  z-index: 0;
}
.sec_blog::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width:24%;
  max-width: 461px;
  aspect-ratio: 461/384;
  background: url(/assets/img_top/deco_blog.png)no-repeat bottom left;
  background-size: contain;
  z-index: 1;
}
.sec_blog .area_splide{
  margin-top: 64px;
  z-index: 3;
}
.sec_blog .cmn_menu_index > li .box_img > .thumb {
  padding-top: 56%;
}
.sec_blog .cmn_menu_index > li .box_text .ttl{
  margin-top: 10px;
  padding-right: 0;
  line-height: 1.684;
}
.sec_blog .cmn_menu_index > li .box_text .cmn_cate{
  margin-bottom: 0;
}
.sec_blog .carousel-progress{
  background: #d0d0d0;
}
.sec_blog .carousel-progress_bar{
  background:var(--main-color);
}
@media screen and (max-width :834px){
  .sec_blog{
    padding:56px 0 64px;
  }
  .sec_blog::after{
    width:55.5%;
    max-width: 433px;
    aspect-ratio: 433 / 664;
  }
  .sec_blog .area_splide{
    margin-top: 35px;
  }
  .sec_blog .cmn_menu_index > li .box_text .ttl{
    line-height: 1.4;
  }
}
/*# sec_partner
=============================================== */
.sec_partner{
  position: relative;
  padding: 86px 0 96px;
}
.sec_partner .list_logo{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap:24px 16px;
  text-align: center;
}
@media (max-width :1024px) {
  .sec_partner .list_logo{
    grid-template-columns: repeat(4, 1fr);
  }  
}
@media screen and (max-width :834px){
  .sec_partner{
    padding:56px 0 64px;
  }
  .sec_partner .list_logo{
    margin-top: 35px;
    grid-template-columns: repeat(3, 1fr);
    gap:16px 10px;
  }  
}

/* =============================================== */
.js_fade{
  opacity: 0;
  transition: opacity 2s;
  backface-visibility:hidden;
}
.js_fade.is_block.show{
  animation: fadeInUp2 1.3s ease 0.5s forwards;
}
.js_fade.show:not(.is_block){
  animation: fadeInUp 1.3s ease 0.3s forwards;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
     -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInUp2 {
  from {
    opacity: 0;
     -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media print{
  .js_fade{
    opacity: 1;
    visibility: visible;
  }
}