@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Cabin&display=swap');

/* ------------------------------
	common
------------------------------ */

@media screen and (min-width: 641px), print {
  html,
  body {
    min-width: 1100px;
  }
  #content_wrap .cont_inner {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}

.page_wrapper{
  margin-top: 88px;
}
@media screen and (max-width: 640px) {
  .page_wrapper{
    margin-top: 50px;
  }
}

#content_wrap {
  font-feature-settings: "palt";
  font-family: "Noto Sans JP";
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #000;
}

/* ---------------------------------------------
ページタイトル
------------------------------------------------ */
.page_ttl{
  position: relative;
  line-height: 0;
}
.page_ttl h1{
  position: absolute;
  color: #fff;
  margin: 0;
  font-weight: 600;
  letter-spacing: 5px;
  line-height: 1;
}

/* ---------------------------------------------
episode
------------------------------------------------ */
.episode_wrap{
  background: #028cd6 url(/brand/niscene/episode1/images/bg_arrow.png) no-repeat right bottom / 535px auto;
}
.episode_lead{
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
}
.episode_list{
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.episode_list::before{
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 770px;
  height: 130px;
  background: url(../images/episode_bg_title.png) no-repeat center / contain;
}
.episode_list li .episode_ttl{
  margin: 0 0 30px;
  text-align: center;
  font-size: 25px;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.episode_list li .episode_txt{
  margin: 25px 1rem 0;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  line-height: 2;
}
.episode_list li .blue_btn{
  margin-top: 35px;
}
.episode_list li .blue_btn a{
  display: block;
  margin: auto;
  max-width: 412px;
  padding: 20px;
  background: #0a52b6;
  color: #fff;
  font-size: 22px;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
  box-shadow: 7px 7px 0 0 rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
.episode_list li .blue_btn a:hover{
  opacity: 0.75;
}
.episode_list li .blue_btn a span{
  position: relative;
  display: inline-block;
  padding-left: 22px;
}
.episode_list li .blue_btn a span::before{
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: url(../images/icon_circle_primary.png) no-repeat center / contain;
}

@media screen and (min-width: 641px), print {
  .page_ttl h1{
    right: 6%;
    top: 75px;
    font-size: 50px;
  }

  .episode_wrap .cont_inner{
    padding: 95px 0 130px;
  }
  .episode_list{
    gap: 65px 6%;
    padding-top: 112px;
    margin-top: 90px;
  }
  .episode_list li{
    width: 47%;
  }
  .episode_list li:nth-child(2n){
    margin-right: 0;
  }
}


@media screen and (max-width: 640px) {
  #content_wrap .cont_inner {
    padding-left: 10px;
    padding-right: 10px;
  }

  .page_ttl h1{
    right: 4%;
    bottom: 40px;
    font-size: 27px;
  }

  .episode_wrap{
    background-size: 268px auto;
  }
  .episode_wrap .cont_inner {
    padding: 40px 0 60px;
  }
  .episode_lead{
    font-size: 14px;
  }
  .episode_list{
    margin-top: 40px;
    padding-top: 45px;
  }
  .episode_list::before{
    width: 90%;
    height: 60px;
  }
  .episode_list li + li{
    margin-top: 50px;
  }
  .episode_list li .episode_ttl{
    font-size: 20px;
    margin: 0 0 15px;
  }
  .episode_list li .episode_txt {
    margin: 10px 15px 0;
    font-size: 13px;
  }
  .episode_list li .blue_btn {
    margin-top: 20px;
  }
  .episode_list li .blue_btn a{
    max-width: 240px;
    padding: 15px;
    font-size: 14px;
  }
}
