@charset "UTF-8";
#page,
body .wrap{
  overflow: clip;
}
.contentsWrap{
  position: relative;
}
.breadlist{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  color: #fff;
  z-index: 10;
}

.breadlist li a{
  color: #fff;
}
/*for PC*/
@media screen and (min-width: 768px) {
  
  .ttlEn.type03{
    font-size: clamp(calc(50px * 0.7), calc(50vw / 9.76), 50px);/*45 / 30*/
  }
}


/*for SP*/
@media screen and (max-width: 767px) {

}


/*
intro
---------------------------*/
.intro{
  position: relative;
  background-image: url("../images/topic/hero_pc.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  color: #fff;
}
.intro::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #777;
  mix-blend-mode: multiply;
}
.intro .intBody{
  position: relative;
  padding: 8.0rem 0 6.0rem 0;
}
.intro .intBody .copy03{
  margin-bottom: 10px;
}
.intro .intBody .copy02{
  margin-bottom: 35px;
}
.intro .intBody .copy02 + p{
  max-width: 400px;
  margin: 0 auto;
  text-align: left;
  line-height: 2.4;
}
.intro .intBody figure{
  max-width: 150px;
  margin: 50px auto 0 auto;
}

/*for SP*/
@media screen and (max-width: 767px) {
  .intro{
    background-image: url("../images/topic/hero_sp.jpg");
    background-position: 20% center;
  }
  .intro::before{}
  .intro .intBody{
    padding: 6rem 0 5.5rem 0;
  }
  .intro .intBody .copy03{}
  .intro .intBody .copy02{
    margin-bottom: 25px;
    padding-left: 0.1em;
    font-size:  clamp(calc(23px * 0.7), calc(23vw / 3.75), 23px);
    letter-spacing: 0.1em;
  }
  .intro .intBody .copy02 + p{
    width: 80%;
  }
  .intro .intBody figure{
    margin-top: 40px;
  }

}




/*
topic
---------------------------*/
.topicLP{
  position: relative;
  padding: 50px 0 0 0;
  color: #0d3f41;
}
.topicLP .lp{
  position: relative;
  width: calc((940 / 976) * 100%);
  margin: 0 0 0 auto;
  z-index: 9;
}
.topicLP .topicLPTxt{
  position: absolute;
  left: 0;
  top: 2rem;
  width: calc((940 / 976) * 100%);
  text-align: left;
  z-index: 10;
}
.topicLP .topicLPTxt .fEn{
  font-size: clamp(calc(80px * 0.7), calc(80vw / 9.76), 80px);/*80 / 50*/
  line-height: 1.2;
  font-weight: normal;
  letter-spacing: 0.05em;
}
.topicLP .topicLPTxt .t01{
  margin: 40px 0 0 0;
  font-size: clamp(calc(20px * 0.7), calc(20vw / 9.76), 20px);/*20 / 16*/
  line-height: 1.0;
}
.topicLP .topicLPTxt .t01 + p{
  margin: 20px 0 0 0;
}
/*for SP*/
@media screen and (max-width: 767px) {
  .topicLP{
    padding-top: 40px;
  }
  .topicLP .lp{
    width: 100%;
    margin: -3rem auto 0 auto;
  }
  .topicLP .topicLPTxt{
    position: relative;
    left: 0;
    top: 0;
    width: auto;
  }
  .topicLP .topicLPTxt .fEn{
    font-size: clamp(calc(50px * 0.7), calc(50vw / 3.75), 50px);/*80 / 50*/
  }
  .topicLP .topicLPTxt .t01{
    margin-top: 20px;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*20 / 18*/
  }
  .topicLP .topicLPTxt .t01 + p{}
}



/*
topic
---------------------------*/
.topic{
  display: flex;
}
.topic .ttList,
.topic .ttSlide{
  width: calc(100% / 2);
}
.topic .ttList{
  padding: 2.2rem 0;
}
.topic .ttList > section{
  max-width: 400px;
  margin: 0 auto;
  padding: 2.2rem 0;
}
.topic .ttList > section h3{
  position: relative;
  padding: 75px 0 0 0;
  line-height: 1.0;
}
.topic .ttList > section h3 i{
  position: absolute;
  left: 6px;
  top: 0;
  width: 96px;
  font-style: normal;
}
.topic .ttList > section h3 > span{
  display: block;
  border: 1px solid #202124;
}
.topic .ttList > section p,
.topic .ttList > section figure{
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}
.topic .ttList > section p{
  margin-top: 2rem;
  text-align: left;
}
.topic .ttList > section figure{
  margin-top: 2rem;
}


.ttSlide{}
.ttSlide .swiper{
  position: sticky;
  top: 0;
  height: 100vh;
}

.ttSlide .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.ttSlide .swiper-slide {
  height: auto;
}


/*for SP*/
@media screen and (max-width: 767px) {
  .topic{
    flex-direction: column-reverse;
  }
  .topic .ttList,
  .topic .ttSlide{
    width: 100%;
  }
  .topic .ttList{
    padding: 1.5rem 0;
  }
  .topic .ttList > section{
    width: 90%;
    padding: 1.5rem 0;
  }
  .topic .ttList > section h3{
    padding-top: 50px;
  }
  .topic .ttList > section h3 i{
    width: 70px;
  }
  .topic .ttList > section h3 > span{
    overflow: hidden;
  }
  .topic .ttList > section h3 > span img{
    transform: scale(1.13);
  }
  .topic .ttList > section p,
  .topic .ttList > section figure{
    width: 95%;
    max-width: initial;
  }
  .topic .ttList > section p{
    margin-top: 1.3rem;
  }
  .topic .ttList > section figure{
    margin-top: 1.3rem;
  }


  .ttSlide{
    padding-top: 2.0rem;
  }
  .ttSlide .swiper{
    position: static;
    height: auto;
  }
  .ttSlide .swiper-wrapper {}
  .ttSlide .swiper-slide {
    height: 100%;
  }
}


/*
data analytics
---------------------------*/
.data{
  color: #0d3f41;
}
.data .dataList{
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0 0 0;
}
.data .dataList li{
  width: calc(100%  / 2);
  padding: 3.0rem 0 1.0rem 0;
  border-color: #0d3f41;
  border-style: solid;
  text-align: center;
}
.data .dataList li:nth-of-type(2n+1){
  border-width: 0 0 1px 1px;
}
.data .dataList li:nth-of-type(2n){
  border-width: 0 1px 1px 1px;
}
.data .dataList li:nth-of-type(-n+2){
  border-top-width: 1px;
}
.data .dataList li:not(:last-of-type) h4,
.data .dataList li:not(:last-of-type) p{
  width: 80%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.data .dataList li:not(:last-of-type) h4{
  line-height: 1.0;
}
.data .dataList li p{
  min-height: 5em;
  margin-top: 2.0rem;
  text-align: left;
}
.data .dataList li:not(:last-of-type) figure{
  width: calc((450 / 488) * 100%);
  max-width: 450px;
  margin: 0 auto 0 auto;
}

.data .dataList li:last-of-type{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding-top: 1.0rem;
  border-right-width: 1px;
  background: #fff;
}
.data .dataList li:last-of-type > div{
  width: calc((300 / 976) * 100%);
  margin: 0 10px 0 0;
  text-align: left;
}
.data .dataList li:last-of-type > div h4{
  font-size: clamp(calc(25px * 0.7), calc(25vw / 9.76), 25px);/*25 / 20*/
  line-height: 1.0;
  text-align: left;
}

.data .dataList li:last-of-type > figure{
  width: calc((572 / 976) * 100%);
  margin: 0 10px 0 0;
}


.data .dataList li:nth-of-type(5) figure{
  margin-top: -30px;
}

/* for SP*/
/*@media screen and (max-width:767px)*/
@media screen and (max-width: 767px) {
  .data{
    padding: 50px 0 !important;
  }
  .data .dataList{
    display: block;
    margin-top: 30px;
  }
  .data .dataList li{
    width: 100%;
    padding: 2.0rem 0 1.0rem 0;
  }
  .data .dataList li:nth-of-type(2n+1){
    border-width: 0 1px 1px 1px;
  }
  .data .dataList li:nth-of-type(2n){
    border-width: 0 1px 1px 1px;
  }
  .data .dataList li:nth-of-type(-n+2){
     border-width: 0 1px 1px 1px;
  }
  .data .dataList li:nth-of-type(1){
     border-top-width: 1px;
  }
  .data .dataList li:not(:last-of-type) h4,
  .data .dataList li:not(:last-of-type) p{}
  .data .dataList li:not(:last-of-type) h4{}
  .data .dataList li p{
    margin-top: 1.5rem;
  }
  .data .dataList li:not(:last-of-type) figure{}

  .data .dataList li:last-of-type{
    display: block;
    padding-top: 1.5rem;
  }
  .data .dataList li:last-of-type > div{
    width: 80%;
    margin: 0 auto;
  }
  .data .dataList li:last-of-type > div h4{
    font-size: clamp(calc(20px * 0.7), calc(20vw / 3.75), 20px);/*25 / 20*/
  }

  .data .dataList li:last-of-type > figure{
    width: 95%;
    margin: 10px auto 0 auto;
  }


  .data .dataList li:nth-of-type(5) figure{
    margin-top: -20px;
  }
}



/*
movie
---------------------------*/
.movie{
  color: #0d3f41;
}
.movie .movList{
  max-width: 800px;
  margin: 0 auto;
}
.movie .movList section{
  margin: 80px 0 0 0;
}
.movie .movList section h4{
  margin: 0 0 25px 0;
  text-align: center;
}
/* for SP*/
/*@media screen and (max-width:767px)*/
@media screen and (max-width: 767px) {
  .movie{
    padding: 50px 0 !important;
  }
  .movie .movList{}
  .movie .movList section{
    margin-top: 40px;
  }
  .movie .movList section h4{
   margin-bottom: 15px;
  }
}


/*
outro
---------------------------*/
.outro{
  color: #0d3f41;
}
.outro .copy00{
  margin-bottom: 0;
}
.outro .copy03{
  margin-top: 35px;
  margin-bottom: 0;
  padding-left: 0.4em;
  letter-spacing: 0.4em;
}

.outro .btn{
  width: 90%;
  max-width: 600px;
  height: 120px;
  margin: 50px auto 0 auto;
}
.outro .btn a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: 0.2em;
  background: #0d3f41;
  border: 1px solid #0d3f41;
  color: #fff;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 9.76), 18px);/*18 / 16*/
  line-height: 1.0;
  letter-spacing: 0.2em;
  transition: .3s;
}
.outro .btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 27px;
  height: 7px;
  background: url(../images/common/ico_arr_wh01.svg) no-repeat center center;
  background-size: contain;
  transform: translate(0, -50%);
  transition: .3s;
}

/*for PC*/
@media screen and (min-width: 768px) {
  .outro .btn a:hover{
    background: transparent;
    color: #0d3f41;
  }
  .outro .btn a:hover::after{
    right: 10px;
    background-image: url("../images/common/ico_arr_gr02.svg");
  }
}

/* for SP*/
/*@media screen and (max-width:767px)*/
@media screen and (max-width: 767px) {
  .outro{}
  .outro .copy00{
    padding-left: 0.05em;
    letter-spacing: 0.05em;
  }
  .outro .copy03{
    margin-top: 25px;
    margin-bottom: 0;
    padding-left: 0.1em;
    letter-spacing: 0.1em;
  }

  .outro .btn{
    width: 100%;
    height: 100px;
    margin-top: 30px;
  }
  .outro .btn a{
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*18 / 16*/
  }
  .outro .btn a::after {
    right: 20px;
    width: 18px;
    height: 5px;
  }
  .outro .btn a:active{
    background: transparent;
    color: #0d3f41;
  }
  .outro .btn a:active::after{
    right: 15px;
  }
}

