@charset "utf-8";
/* commpn
--------------------------------------------*/
.deco{
  position: absolute;
}

/* sec_main
--------------------------------------------*/
.sec_main{
  padding: 177px 0 200px;
  background: url(../../img/bg_main.svg)no-repeat top center;
  background-size: cover;
  background-color: #fff;
  z-index: 0;
}
.sec_main .area_ttl{
  text-align: center;
  background: url(../../img/bg_ttl_main.png) no-repeat center top;
}
.sec_main h1 img{
  width: 617px;
  margin: 0 auto;
  filter: drop-shadow(3px 3px 1px rgba(1,195,171,0.1));
}
.sec_main .txt_lead{
  margin-top: 40px;
  text-align: center;
}
.sec_main .cmn_btn{
  margin-top:45px;
}
.sec_main .cmn_btn .link{
  width: 320px;
  min-height: 64px;
  font-size: 1.8rem;
  border-radius: 32px;
}
@media screen and (max-width :834px) {
  .sec_main{
    padding: 57px 0 65px;
    background-image: url(../../img/bg_main_sp.svg);
  }
  .sec_main .area_ttl{
    padding-top:70px;
    padding-bottom: 35px;
    background-image: url(../../img/bg_ttl_main_sp.png);
    background-size:auto 100%;
  }  
  .sec_main .inner{
    padding: 0 3.2%;
  }
  .sec_main h1 img{
    width: 86.16%;
    max-width: 556px;
  }
  .sec_main .txt_lead{
    margin-top: 30px;
    font-size: 3.58vw;
  }
  .sec_main .cmn_btn{
    margin-top:30px;
  }
  .sec_main .cmn_btn .link{
    width:260px;
    min-height: 50px;
    font-size: 1.4rem;
    border-radius: 25px;
  }
}
/* area_slide----------------------*/
.sec_main .area_slide{
  position: relative;
  width: 760px;
  margin: 95px auto 0;
}
.sec_main .area_slide .txt_pickup{
  position: absolute;
  top:0;
  right: 0;
  z-index: 10;
  width: 139px;
  transform: translate(-10%,-25%);
}
.sec_main .area_slide .txt_pickup img{
  animation: rotateAnimation 10s linear infinite;
}
.sec_main .area_slide li{
  width: 760px;
}
.sec_main .area_slide li .wrap{
  position: relative;
  padding:4.8% 7.89%;
  transform: scale(0.768);
  transition: transform 0.6s;    
}
.sec_main .area_slide li.swiper-slide-active .wrap{
  transform: scale(1);
}
.sec_main .area_slide li figure{
  width: 100%;
  margin: 0 auto;
}
.sec_main .area_slide li .box_ttl{
  position: absolute;
  bottom:0;
  left: 0;
}
.sec_main .area_slide li .box_ttl .cmn_cate{
  margin-bottom: 12px;
}
.sec_main .area_slide li .box_ttl .ttl{
  display: inline;
  background: #fff;
  padding: 2px 12px;
  border-radius: 10px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-size: 3.6rem;
  font-weight: 500;
  color: var(--black);
}
@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media screen and (max-width :834px) {
  .sec_main .area_slide{
    width: 330px;
    margin-top: 40px;
  }
  .sec_main .area_slide .txt_pickup{
    width: 69px;
    transform: translate(17%,-18%);
  }
  .sec_main .area_slide li{
    width:330px;
  }
  .sec_main .area_slide li .wrap{
    padding:7% 1.51%;
    transform: scale(0.768);
    transition: transform 0.6s;    
  }
  .sec_main .area_slide li .box_ttl .cmn_cate{
    margin-bottom: 5px;
  }
  .sec_main .area_slide li .box_ttl .ttl{
    padding: 1px 5px;
    border-radius: 6px;
    font-size:2.1rem;
  }
}
/* sec_kifu
--------------------------------------------*/
.sec_kifu{
  position: relative;
  padding: 80px 0 222px;
  z-index: 1;
}
.sec_kifu::before{
  content: '';
  position: absolute;
  top: -53px;
  left: 0;
  width: 100%;
  height:54px;
  background: url(../../img/bg_wave.svg) repeat-x center bottom;
}
.sec_kifu .deco{
  top: 0;
  left: 0;
  width: 23.28%;
  transform: translate(-13%,-34.5%);
}
.sec_kifu .sec_ttl>span::before{
  width: 61px;
  height: 43px;
  background: url(../../img/ico_kifu_ttl.svg)no-repeat left bottom;
  background-size: contain;
  transform: translate(-68.8%,23.2%);
}

@media screen and (max-width :834px) {
  .sec_kifu{
    padding: 35px 0 200px;
  }
  .sec_kifu::before{
    top: -33px;
    height: 34px;
    background-size: 151px auto;
  }
  .sec_kifu .inner{
    padding:0 7.7%;
  }
  .sec_kifu .deco{
    display: none;
  }
  .sec_kifu .sec_ttl>span::before{
    width: 36px;
    height: 25px;
    transform: translate(-59%,20%);
  }

}

/* sec_news
--------------------------------------------*/
.sec_news{
  position: relative;
  padding-bottom: 40px;
  background-color: var(--beige);
  z-index: 0;
}
.sec_news::before{
  content: '';
  position: absolute;
  top: -249px;
  left: 0;
  width: 100%;
  height: 250px;
  background: url(../../img/bg_wave2.svg) repeat-x center bottom;
  z-index: 1;
}
.sec_news .deco_sec{
  top: 0;
  right: 0;
  width: 56.87%;
  transform: translate(60%,-58.78%);
  z-index: 2;
}
.sec_news .inner{
  max-width: 1380px;
  z-index: 3;
}
.sec_news .area_news{
  position: relative;
  transform: translateY(-100px);
  padding: 77px 20px 41px;
  border-radius: 48px;
  background-color: #fff;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
}
.sec_news .area_news .deco_list{
  top: 0;
  right: 0;
  width: 7.96%;
  transform: translate(25.5%,-73.19%);
}
.sec_news .area_news>*{
  max-width:1080px ;
  margin: 0 auto;
}
.sec_news .sec_ttl{
  margin-bottom: 25px;
  color: var(--black);
  font-weight: 400;
  text-align: left;
}
.sec_news .cmn_news li > *{
  padding-top: 10px;
  padding-bottom: 10px;
}
.sec_news .btn_more{
  margin-top: 27px;
  text-align: right;
}
.sec_news .btn_more .link{
  width: 240px;
  font-weight: 500;
}
@media screen and (max-width :834px) {
  .sec_news{
    padding-bottom: 15px;
  }
  .sec_news::before{
    top: -144px;
    height: 145px;
    background-image: url(../../img/bg_wave2_sp.svg);
    background-size: 390px auto;
  }
  .sec_news .deco_sec{
    top: 0;
    right: 0;
    width: 104%;
    transform: translate(77%,-80%);
    z-index: 2;
  }
  .sec_news .inner{
    max-width: 1380px;
    z-index: 3;
  }
  .sec_news .area_news{
    transform: translateY(-100px);
    padding: 30px 20px 32px;
    border-radius: 24px;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
  }
  .sec_news .area_news .deco_list{
    width:14.65%;
    transform: translate(-14.7%,-59.2%);
  }
  .sec_news .sec_ttl{
    margin-bottom: 12px;
  }
  .sec_news .cmn_news li > *{
    padding-top: 18px;
    padding-bottom: 11px;
  }  
  .sec_news .btn_more{
    margin-top: 30px;
    text-align: center;
  }
  .sec_news .btn_more .link{
    width: 270px;
    font-weight: 700;
  }  
}
/* sec_report
--------------------------------------------*/
.sec_report{
  padding: 125px 0 0;
  z-index: 3;
}
.sec_report .deco_top{
  top: 0;
  left: 50%;
  width: 12.13%;
  transform: translate(-252.7%,-62%);
}
.sec_report .deco_bottom{
  bottom:0;
  right: 0;
  width: 36.6%;
}
.sec_report .wrap_report{
  position: relative;
  padding-bottom: 430px;
  background: url(../../img/bg_report.png)no-repeat top 150px center;
}
@media screen and (max-width :834px) {
  .sec_report{
    padding: 30px 0 0;
  }
  .sec_report .deco_top{
    top: 0;
    left: 0;
    width: 29.873%;
    transform: translate(-15%,-55.15%);
  }
  .sec_report .deco_bottom{
    bottom:0;
    right: -8px;
    width: 113%;
    transform: translateY(42%);
  }
  .sec_report .wrap_report{
    padding-bottom: 170px;
    background: url(../../img/bg_report_sp.png)no-repeat top 20px center;
    background-size: 100% auto;
  }
}
/* sec_special
--------------------------------------------*/
.sec_special{
  position: relative;
  z-index: 4;
  padding-bottom: 135px;
  background: url(../../img/bg_special.svg)no-repeat right bottom -60px;
  background-color: #fff;
}
.sec_special::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 285px;
  background: url(../../img/bg_special_top.svg) no-repeat center top;
  transform: translateY(-99%);  
}
.sec_special .deco_top{
  top:-285px;
  left: 0;
  width: 19.53%;
  transform: translate(-8.2%,0);
  z-index: 1;
}
.sec_special .deco_report{
  top:-285px;
  left: 50%;
  width:204px;
  transform: translate(176%,-68.6%);
  z-index: 1;
}
.sec_special .inner{
  transform: translateY(-140px);
  z-index: 5;
  text-align: center;  
}
.sec_special .area_ttl{
  display: inline-block;
  padding: 20px 82px 10px;
  background: url(../../img/ico_special_ttl2.svg) no-repeat right center;
  background-size: contain;
}
.sec_special .sec_ttl>span::before{
  width: 45px;
  height:30px;
  background: url(../../img/ico_special_ttl.svg) no-repeat left top;
  background-size: contain;
  transform: translate(-120%,-123%);
}
.sec_special .area_list.list_kifu{
  margin-top: 120px;
}
.sec_special .area_list.list_kifu + .cmn_movie{
  margin-top: 120px;
}
.sec_special .area_list .deco_bottom{
  bottom: 0;
  left: 0;
  width: 142px;
  transform: translate(-190%,0);
  z-index: 0;
}
@media (min-width :1920px){
  .sec_special::before{
    background-size: 100% auto;  
  }  
}
@media screen and (max-width :834px) {
  .sec_special{
    padding-bottom: 147px;
    background-image: url(../../img/bg_special_sp.svg);
    background-position: right bottom 30px;
    background-size: 100% auto;
  }
  .sec_special::before{
    aspect-ratio: 780 / 182;
    height: auto;
    background-image: url(../../img/bg_special_top_sp.svg);
    background-size: 100% auto;  
  }
  .sec_special .deco_top{
    top: -28vw;
    width: 43.2%;
    transform: translate(-25.8%,0);
  }
  .sec_special .deco_report{
    top: -23vw;
    left: auto;
    right: 0;
    width:26.1%;
    transform: translate(5%,-30%);
  }  
  .sec_special .inner{
    transform: translateY(-30px);
  }
  .sec_special .area_ttl{
    padding: 85px 0 0;
    background-position: top center;
    background-size: 25px auto;
  }    
  .sec_special .sec_ttl>span::before{
    top: 0;
    bottom: auto;
    width: 32px;
    height:22px;
    transform: translate(-46%,-70%);
  }    
  .sec_special .area_list.list_kifu{
    margin-top: 129px;
  }  
  .sec_special .area_list .deco_bottom{
    width: 71px;
    transform: translate(-38px,50px);
  }  
}

/* sec_msg
--------------------------------------------*/
.sec_msg {
  position: relative;
  z-index: 5;
  border-radius: 0 0 120px 120px;    
  background: url(../../img/bg_msg1.svg)no-repeat top left,url(../../img/bg_msg2.svg)no-repeat right bottom;
  background-size: 32.23% auto,31% auto;
  background-color: #ccf3ee;
}
.sec_msg .deoc_aogiri{
  top: 0;
  right: 0;
  width: 20.78%;
  transform: translate(20%,-68%) rotate(62.35deg);
}
.sec_msg .img_main{
  margin-top: -120px;
  border-radius: 120px;
  width: 100%;
}
.sec_msg .inner{
  display: flex;
  justify-content: space-between;
  max-width: 1180px;
}
.sec_msg .inner .deco_msg{
  width:223px ;
  bottom: 329px;
  right: -208px;
}

.sec_msg .sec_ttl{
  padding-top: 90px;
  writing-mode: vertical-rl;
  text-align: left;
  color: var(--black);
}
.sec_msg .sec_ttl>span::before{
  top: 0;
  bottom: auto;
  width: 106px;
  height:116px;
  background: url(../../img/deco_ttl_msg.svg) no-repeat right top;
  background-size: contain;
  transform: translate(-40.5%,-39.6%);
}
.sec_msg .list_msg{
  max-width: 760px;
  height: 1230px;
  margin-left: 30px;
  mask-image: linear-gradient(to bottom,
    transparent 0%,
    black 22%,
    black 78%,
    transparent 100%);
  overflow: hidden;
}
.sec_msg .list_msg ul{
  width: 47.37%;
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.sec_msg .list_msg li{
  height: auto;
  padding:40px 30px 20px;
  background-color: #fff;
  border-radius:48px 48px 48px 0;
}
.sec_msg .list_msg li .txt{
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.667;
}
.sec_msg .list_msg li .date{
  display: flex;
  margin-top: 15px;
  padding-top: 15px;
  background-image: radial-gradient(circle, #d6d2c0 1.5px, transparent 1.5px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 10px 3px;  
}
.sec_msg .list_msg li time{
  margin-right: 20px;
  font-size: 1.4rem;
}
.sec_msg .list_msg li .name{
  flex: 1;
  font-size: 1.4rem;
}
@media (min-width :835px){
  .sec_msg .list_msg > div{
    display: flex;
    gap:0 5.26%;  
  }
  .sec_msg .list_msg ul{
    animation-duration: 30s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }
  .sec_msg .list_msg ul.list_right{
    animation-direction: reverse;
  }
  .sec_msg .list_msg ul:hover{
    animation-play-state: paused;
  }

}
@media screen and (max-width :834px) {
  .sec_msg {
    border-radius: 0 0 60px 60px;    
    background: url(../../img/bg_msg1_sp.svg)no-repeat top 150px left,url(../../img/bg_msg2_sp.svg)no-repeat right bottom;
    background-size: 100% auto,100% auto;
    background-color: #ccf3ee;
  }
  .sec_msg .deoc_aogiri{
    display: none;
  }
  .sec_msg .inner{
    padding-left: 2%;
    padding-right: 5.12%;
  }
  .sec_msg .img_main{
    margin-top: -60px;
    border-radius: 60px;
  }
  .sec_msg .inner .deco_msg{
    width:91px ;
    bottom: 270px;
    right: auto;
    left: 10px;
  }

  .sec_msg .sec_ttl{
    padding-top:80px;
  }
  .sec_msg .sec_ttl>span::before{
    width: 53px;
    height:58px;
    transform: translate(50%,-89%);
  }
  .sec_msg .list_msg{
    display: block;
    max-width: 520px;
    height: 1100px;
    margin-left: 12px;
  }
  .sec_msg .js_msg_sp{
    animation-duration: 100s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;  
  }
  .sec_msg .js_msg_sp:hover{
    animation-play-state: paused;
  }
  .sec_msg .list_msg ul{
    width: 100%;
    gap: 24px;
  }
  .sec_msg .list_msg ul+ul{
    margin-top: 24px;
  }
  .sec_msg .list_msg ul.list_right{
    margin-top: 24px;
  }
  .sec_msg .list_msg li{
    padding:25px 20px 20px;
    border-radius:24px 24px 24px 0;
  }
  .sec_msg .list_msg li .txt{
    line-height: 1.556;
  }
  .sec_msg .list_msg li .date{    
    margin-top: 25px;
    padding-top: 10px;
  }
  .sec_msg .list_msg li time{
    margin-right: 15px;   
  }
}