@charset "utf-8";
/* ---------------------------------------------------------------------------------
Copyright (C) SOURCENEXT CORPORATION All Rights Reserved.

HTML CSS Selectors top

$Revision: 1.0 $
--------------------------------------------------------------------------------- */
#contents-wrapper {
  padding-top: 0;
}
/*タイトル影*/
.ttl__bg {
  display: block;
  width: 100%;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
  transform: translate(-10px,-10px);
}
/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .ttl__bg {
    bottom: -5px;
    left: 5px;
    transform: translate(-5px,-5px);
  }
}


/*---------------------------------------------------------------------------------
メインビジュアル
--------------------------------------------------------------------------------- */
.mv {
  width: 100%;
  height: 670px;
  background-image: -webkit-linear-gradient( -138deg, rgb(254,239,135) 0%, rgb(147,226,254) 100%);
  background-image: linear-gradient( -138deg, rgb(254,239,135) 0%, rgb(147,226,254) 100%);
  position: relative;
  margin-bottom: 50px;
  margin-top: 100px;
}
.en li {
  position: absolute;
  top: 102px;
  left: 50%;
  z-index: 1;
}
.en img {
  width: auto;
  height: 150px;
}
.mv-txt_en_01 {
  margin-left: -417px;
}
.mv-txt_en_02 {
  margin-left: -313px;
}
.mv-txt_en_03 {
  margin-left: -177px;
}
.mv-txt_en_04 {
  margin-left: -48px;
}
.mv-txt_en_05 {
  margin-left: 22px;
}
.mv-txt_en_06 {
  margin-left: 138px;
}
.mv-txt_en_07 {
  margin-left: 218px;
}
.mv-txt_en_08 {
  margin-left: 344px;
}
.jp li {
  width: 23px;
  position: absolute;
  top: 158px;
  left: 50%;
  z-index: 2;
}
.mv-txt_jp_01 {
  margin-left: -287px;
} 
.mv-txt_jp_02 {
  margin-left: -254px;
} 
.mv-txt_jp_03 {
  margin-left: -221px;
} 
.mv-txt_jp_04 {
  margin-left: -188px;
} 
.mv-txt_jp_05 {
  margin-left: -155px;
} 
.mv-txt_jp_06 {
  margin-left: -122px;
} 
.mv-txt_jp_07 {
  margin-left: -89px;
} 
.mv-txt_jp_08 {
  margin-left: -56px;
} 
.mv-txt_jp_09 {
  margin-left: -23px;
} 
.mv-txt_jp_10 {
  margin-left: 10px;
} 
.mv-txt_jp_11 {
  margin-left: 43px;
} 
.mv-txt_jp_12 {
  margin-left: 76px;
} 
.mv-txt_jp_13 {
  margin-left: 109px;
} 
.mv-txt_jp_14 {
  margin-left: 142px;
} 
.mv-txt_jp_15 {
  margin-left: 175px;
} 
.mv-txt_jp_16 {
  margin-left: 208px;
} 
.mv-txt_jp_17 {
  margin-left: 241px;
}
.mv-img li {
  position: absolute;
  left: 50%;
  z-index: 3;
}
.mv-img_01 {
  width: 235px;
  top: 275px;
  margin-left: -351px;
}
.mv-img_02 {
  width: 320px;
  top: 272px;
  margin-left: -175px;
}
.mv-img_03 {
  width: 260px;
  top: 213px;
  margin-left: 84px;
}
/* 
.mv-img_04 {
  width: 333px;
  top: 225px;
  margin-left: 194px;
}
*/

/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {  
  .mv {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100vh;
    background-image: -webkit-linear-gradient( -138deg, rgb(254,239,135) 0%, rgb(147,226,254) 100%);
    background-image: linear-gradient( -138deg, rgb(254,239,135) 0%, rgb(147,226,254) 100%);
    position: relative;
    margin-bottom: 75px;
    overflow:hidden;
    margin-top: 0px;
  }
  .mv .inner {
    width: 100%;
    height: 218px;
    position: relative;
  }
  .en li {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
  }
  .en img {
    width: auto;
    height: 60px;
  }
  .mv-txt_en_01 {
    margin-left: -150px;
  }
  .mv-txt_en_02 {
    margin-left: -112px;
  }
  .mv-txt_en_03 {
    margin-left: -65px;
  }
  .mv-txt_en_04 {
    margin-left: -20px;
  }
  .mv-txt_en_05 {
    margin-left: 2px;
  }
  .mv-txt_en_06 {
    margin-left: 45px;
  }
  .mv-txt_en_07 {
    margin-left: 70px;
  }
  .mv-txt_en_08 {
    margin-left: 117px;
  }
  .jp li {
    width: 12px;
    position: absolute;
    top: 23px;
    left: 50%;
    z-index: 2;
  }
  .mv-txt_jp_01 {
    margin-left: -152px;
  } 
  .mv-txt_jp_02 {
    margin-left: -134px;
  } 
  .mv-txt_jp_03 {
    margin-left: -115px;
  } 
  .mv-txt_jp_04 {
    margin-left: -97px;
  } 
  .mv-txt_jp_05 {
    margin-left: -78px;
  } 
  .mv-txt_jp_06 {
    margin-left: -60px;
  } 
  .mv-txt_jp_07 {
    margin-left: -43px;
  } 
  .mv-txt_jp_08 {
    margin-left: -25px;
  } 
  .mv-txt_jp_09 {
    margin-left: -5px;
  } 
  .mv-txt_jp_10 {
    margin-left: 13px;
  } 
  .mv-txt_jp_11 {
    margin-left: 32px;
  } 
  .mv-txt_jp_12 {
    margin-left: 48px;
  } 
  .mv-txt_jp_13 {
    margin-left: 66px;
  } 
  .mv-txt_jp_14 {
    margin-left: 85px;
  } 
  .mv-txt_jp_15 {
    margin-left: 103px;
  } 
  .mv-txt_jp_16 {
    margin-left: 121px;
  } 
  .mv-txt_jp_17 {
    margin-left: 140px;
  }
  .mv-img li {
    position: absolute;
    left: 50%;
    z-index: 3;
  }
  .mv-img_01 {
    width: 77px;
    top: 86px;
    margin-left: -167px;
  }
  .mv-img_02 {
    width: 105px;
    top: 85px;
    margin-left: -108px;
  }
  .mv-img_03 {
    width: 85px;
    top: 65px;
    margin-left: -22px;
  }
  .mv-img_04 {
    width: 110px;
    top: 70px;
    margin-left: 55px;
  }
}


/*---------------------------------------------------------------------------------
WHAT’S SOURCENEXT?
--------------------------------------------------------------------------------- */
.whats {
  margin-bottom: 265px;
}
.whats-inner {
  width: 1030px;
  margin: 0 auto 150px;
  position: relative;
}
.whats-ttl {
  width: 530px;
  margin: 0 auto;
  margin-bottom: 70px;
  position: relative;
  z-index: 3;
}
.whats-ttl .jp {
  display: block;
  padding-top: 23px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #36a1c9;
}
.whats-read-txt {
  width: 642px;
  margin: 0 auto 30px;
  font-size: 30px;
  line-height: 1.6;
  font-weight: 500;
  color: #2d9dc7;
  border-bottom: 2px solid #2d9dc7;
}
.whats-txt {
  font-size: 16px;
  text-align: center;
}
.whats-more {
  width: 116px;
  padding-top: 48px;
  margin: 0 auto;
}
.whats-more a {
  display: block;
  padding-bottom: 0px;
  font-family: 'Teko', sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.09em;
  border-bottom: 2px solid #000
}
.whats-illust {
  width: 700px;
  position: absolute;
  right: -68px;
  bottom: -192px;
  z-index: -1;
}
.whats-photo {
  width: 100%;
  height: 400px;
  position: relative;
  z-index: 3;
}
.whats-photo .img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.whats-photo .bg {
  width: 1280px;
  height: 120px;
  background-image: url("../images/top/whats_photo_bg.jpg");
  position: absolute;
  right: 0;
  bottom: -120px;
  z-index: -1;
}

/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .whats {
    margin-bottom: 70px;
    position: relative;
  }
  .whats:before {
    display: block;
    width: 13px;
    height: 183px;
    background-image: url("../images/top/sp_icon_scroll.png");
    background-size: 100% auto;
    position: absolute;
    top: -180px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 10;
    content:"";
  }
  .whats::after {}

  .whats-inner {
    width: 88%;
    margin: 0 auto 42px;
    padding: 20px 0 0;
  }
  .whats-inner .txt {
    width: 100%;
    margin: 0 auto;
  }
  .whats-ttl {
    width: 265px;
    margin: 0 0 33px;
    margin-bottom: 33px;
  }
  .whats-read-txt {
    padding-left: 13px;
    margin-bottom: 15px;
    font-size: 1.8rem;
    color: #000;
    border-bottom: none;
  }
  .whats-txt {
    font-size: 12px;
    text-align: left;
    padding-left: 0px;
  }
  .whats-more {
    width: 70px;
    margin: 0;
    padding-top: 15px;
    padding-bottom: 12px;
  }
  .whats-more a {
    font-size: 18px;
    border-bottom: 1px solid #000;
  }
  .whats-illust {
    width: 100%;
    position: static;
  }
  .whats-photo {
    height: 200px;
  }
}


/*---------------------------------------------------------------------------------
EXCITING TALK
--------------------------------------------------------------------------------- */
.talk {
  margin-bottom: 163px;
}
.talk-ttl {
  width: 346px;
  margin: 0 auto 48px;
  position: relative;
}
.talk-ttl .jp {
  display: block;
  margin-top: 22px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  color: #36a1c9;
}
.talk-read-txt {
  width: 830px;
  margin: 0 auto 70px;
}
.talk-inner {
  display: flex;
}
.talk-block {
  display: flex;
  width: 50%;
  height: 400px;
}
.talk-block-box {
  width: 640px;
  height: 400px;
  position: relative;
}
.talk-block-box a {
  display: block;
  width: 94px;
  height: 33px;
  font-family: 'Teko', sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.09em;
  color: #333;
  border-bottom: 2px solid #333333;
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  margin: auto;
  z-index: 2;
}
.talk-block-ttl {
  padding-bottom: 10px;
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  border-bottom: 3px solid #333333;
  position: absolute;
}
.talk-block-ttl .en {
  display: block;
  font-family: 'Teko', sans-serif;
  font-size: 60px;
  line-height: 1;
  font-weight: 400;
  transform:rotate(90deg);
  position: absolute;
}
.talk-block.left {
  justify-content: flex-end;
  background-color: #fee103;
  margin-bottom: 100px;
}
.talk-block.left .talk-block-ttl {
  width: 220px;
  bottom: -76px;
  left: 195px;
}
.talk-block.left .talk-block-ttl .en {
  left: -150px;
  top: -92px;
}

.talk-block.right {
  justify-content: flex-start;
  margin-top: 100px;
  background-color: #00b8ee;
}
.talk-block.right .talk-block-ttl {
  width: 404px;
  top: -55px;
  left: 120px;
  
}
.talk-block.right .talk-block-ttl .en {
  right: -150px;
  top: 22px;
}

/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .talk {
    margin-bottom: 70px;
  }
  .talk-ttl {
    width: 173px;
    margin: 0 auto 24px;
  }
  .talk-ttl .jp {
    display: block;
    margin-top: 14px;
    font-size: 12px;
  }
  .talk-read-txt {
    width: 90%;
    margin: 0 auto 10px;
  }
  .talk-inner {
    display: block;
  }
  .talk-block {
    display: block;
    width: 100%;
    height: auto;
  }
  .talk-block-box {
    width: 100%;
    height: auto;
  }
  .talk-block-box a {
    width: 75px;
    height: 17px;
    font-size: 16px;
    border-bottom: 1px solid #ccc;
    bottom: 20px;
  }
  .talk-block-ttl {
    padding-bottom: 6px;
    font-size: 16px;
    border-bottom: 2px solid #333333;
    position: absolute;
  }
  .talk-block-ttl .en {
    font-size: 40px;
  }
  .talk-block.left {
    margin-bottom: 100px;
  }
  .talk-block.left .talk-block-ttl {
    width: 150px;
    bottom: -15%;
    left: 50%;
    margin-left:-80px;
  }
  .talk-block.left .talk-block-ttl .en {
    left: -85px;
    top: -55px;
  }

  .talk-block.right {
    margin-top: 0;
    margin-bottom: 140px;
  }
  .talk-block.right .talk-block-ttl {
    width: 270px;
    top: 105%;
    left: 50%;
    margin-left: -132px;
  }
  .talk-block.right .talk-block-ttl .en {
    right: -70px;
    top: 22px;
  }
}




/*---------------------------------------------------------------------------------
INTERVIEW
--------------------------------------------------------------------------------- */
.interview {
  padding: 170px 0px;
  position: relative;
}
.interview::before {
  width: 58%;
  height: 100%;
  background-color: #eee;
  position: absolute;
  top: 0;
  left: 0;
  content:"";
}
.interview::after {
  width: 440px;
  height: 440px;
  background-image: url("../images/top/circle_01.png");
  position: absolute;
  top: -105px;
  left: 50%;
  margin-left: -7px;
  content:"";
  z-index: 1;
}
.interview-inner {
  box-sizing: border-box;
  width: 1170px;
  padding-left: 300px;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
.interview-inner::before {
  width: 170px;
  height: 170px;
  background-image: url("../images/top/circle_02.png");
  position: absolute;
  bottom: -105px;
  left: 225px;
  content:"";
  z-index: -1;
}
.interview-contents {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  height: 100%;
  width: 300px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 70px;
  margin: auto;
  z-index: 12;
}

.interview-contents a {
  display: block;
  padding-bottom: 0px;
  margin-top: 45px;
  font-family: 'Teko', sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.09em;
  border-bottom: 2px solid #333;
}

.interview-ttl {
  width: 256px;
  margin-bottom: 43px;
}
.interview-ttl .jp {
  display: block;
  padding-top: 20px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500; 
}
.interview-txt {
}

.interview-inner .slider {
  width: 870px;
  height: 450px;
  background-color: #fff;
}

/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .interview {
    padding: 0 0 95px;
  }
  .interview::before {
    content:none;
  }
  .interview::after {
    content:none;
  }
  .interview-inner {
    width: 100%;
    padding-left: 0;
  }
  .interview-inner::before {
    content:none;
  }
  .interview-contents {
    display: block;
    width: 90%;
    height: auto;
    position: static;
    margin: 0 auto;
    z-index: 12;
  }

  .interview-contents a {
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 40px;
    margin-top: 10px;
    width: 84px;
  }
  .interview-ttl {
    width: 128px;
    margin-bottom: 22px;
  }
  .interview-ttl .jp {
    padding-top: 13px;
    font-size: 12px;
  }
  .interview-txt {
    padding-bottom: 10px;
  }
  .interview-inner .slider {
    width: 100%;
    height: auto;
    background-color: #fff;
  }
}


/*---------------------------------------------------------------------------------
CULTURE
--------------------------------------------------------------------------------- */
.culture {
  padding: 0 0 225px;
  position: relative;
}
.culture::before {
  width: 58%;
  height: 100%;
  background-color: #eee;
  position: absolute;
  top: 0;
  left: 0;
  content:"";
  z-index: 1;
}
.culture::after {
  width: 440px;
  height: 440px;
  background-image: url("../images/top/circle_01.png");
  position: absolute;
  bottom: 5px;
  left: 50%;
  margin-left: -258px;
  content:"";
  z-index: 1;
}
.culture-inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  width: 1230px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.culture-contents {
  width: 330px;
  padding-right: 100px;
}



.culture-contents a {
  display: block;
    padding-bottom: 0px;
    width: 118px;
    margin-top: 45px;
    font-family: 'Teko', sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.09em;
    border-bottom: 2px solid #333;
}

.culture-ttl {
  width: 198px;
  margin-bottom: 30px;
}
.culture-ttl .jp {
  display: block;
  padding-top: 20px;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  color: #36a1c9;
}
.culture-txt {}
.culture-photo {
  width: 798px;
}
/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .culture {
    padding: 0 0 68px;
  }
  .culture::before {
    content:none;
  }
  .culture::after {
    content:none;
  }
  .culture-inner {
    display: block;
    width: 100%;
  }
  .culture-contents {
    width: 90%;
    padding-right: 0;
    margin: 0 auto;
    overflow:hidden;
  }

  .culture-contents a {
    font-size: 18px;
    border-bottom: 1px solid #333;
    margin-bottom: 40px;
    margin-top: 10px;
    width: 84px;
  }

  .culture-ttl {
    width: 105px;
    margin-bottom: 15px;
    margin-left: 5%;
  }
  .culture-ttl img {
    padding-right: 10px;
  }
  .culture-ttl .jp {
    display: block;
    padding-top: 10px;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    color: #36a1c9;
  }
  .culture-txt {
    padding-bottom: 10px;
  }
  .culture-photo {
    width: 114%;
    position: relative;
    left: -7%;
  }
}


/*---------------------------------------------------------------------------------
INFORMATION
--------------------------------------------------------------------------------- */
.information {
  box-sizing: border-box;
  width: 970px;
  padding: 80px 195px 85px;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0px 20px 40px 0px rgba(7, 0, 2, 0.05);
  position: relative;
  top: -94px;
  z-index: 5;
}
.information-ttl {
  width: 314px;
  margin: 0 auto 48px;
}
.information-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.information-list__date {
  width: 105px;
  padding-bottom: 25px;
  font-size: 14px;
}
.information-list__txt {
  width: 475px;
  padding-bottom: 25px;
  font-size: 14px;
}

/*SP ---------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .information {
    width: 100%;
    padding: 0px 8% 46px;
    margin-bottom: 80px;
    top: 0;
    z-index: 5;
  }
  .information-ttl {
    width: 157px;
    margin: 0 auto 22px;
  }
  .information-list__date {
    width: 77px;
    padding-bottom: 18px;
    font-size: 12px;
  }
  .information-list__txt {
    width: calc(100% - 77px);
    padding-bottom: 18px;
    font-size: 12px;
  }
  .information .sp_none {
    display: none;
  }
}


/*---------------------------------------------------------------------------------
script
--------------------------------------------------------------------------------- */

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -43px;
  right: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: right;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 10px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #ebebeb;
  border-radius: 50%;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li.slick-active button {
  background-color: #2d9dc7;
}

@media only screen and (max-width: 768px) {
  .slick-dots {
    bottom: -22px;
    text-align: center;
  }
  .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 5px;
  }
  .slick-dots li button {
    width: 8px;
    height: 8px;
  }
}
