@charset "UTF-8";

.swiper {
  position: relative;
  margin-top: 8%;
}

.swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  height: 300px;
}

.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  width: 510px;
  height: 340px;
  transform: scale(.8); /* 左右のスライドを小さくする */
  transition: .7s; /* ゆっくり小さくさせる */
  text-align: center;
}

.swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}

.swiper-slide img {
  width: 70%;
}

@media only screen and (min-width: 960px){
  .swiper-slide img {
    width: 100%;
  }
}

/* .swiper-slide:nth-child(3n + 1) {
  background-color: #de4439;
}

.swiper-slide:nth-child(3n + 2) {
  background-color: #fcd500;
}

.swiper-slide:nth-child(3n + 3) {
  background-color: #53c638;
} */

.swiper-pagination {
  position: relative !important;
}

.swiper-pagination-bullets {
  position: static;
  margin-top: 30px;
} 

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
  background: #333 !important;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

main section {
  text-align: center;
}

.sec-title .jp{
  display: block;
  font-size: 1.5rem;
  line-height: 1.4;
  margin-bottom: 40px;
  letter-spacing: 0.25rem;
}

@media only screen and (min-width: 960px){
  .sec-title .jp{
    font-size: 2rem;
  }
}

.sec-title .eng {
    display: block;
    opacity: 0.7;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0.04em;
    font-weight: 900;
}

.maru {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  margin: 32px auto 0;
  background-color: #EBCA73;
}

main > section:nth-of-type(even) .maru {
  background-color: #4380DF;
}

.products-main {
  margin-top: 80px;
  font-size: 14px;
}

@media only screen and (min-width: 960px){
  .products-main {
    font-size: 20px;
  }
}

.products-title{
  margin: 0 auto;
}

.products-title p {
  font-size: 1.25rem;
}

.products-title p::after {
  content: "";
  margin: 0 auto;
  display: block;
  width: 160px;
  height: 2px;
  border-radius: 1px;
  background-color: #333;
}

.products-about {
  display:block;
  margin-top: 80px;
}

@media only screen and (min-width: 960px){
  .products-about {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top: 80px auto 0;
  }
}

.products-about img {
  position: relative;
}

.products-about p {
  width: 435px;
  text-align: left;
  margin: 32px auto 0;
  max-width: 100%;
}

@media only screen and (min-width: 960px){
  .products-about p {
    width: 591px;
    margin: 0 0 0 80px;
    font-size: 20px;
    line-height: 44px;
  }
}

.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #333;
  padding: 20px 20px;
  width: 75%;
  margin: 0 auto;
}

.news-list .item .date{
  margin-right: 88px;
  min-width: 120px;
  padding: 0 20px 0 0;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
  text-align: left;
}
.news-list .item a:hover .title{
  color: #00F;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

footer {
	background-color: #fff !important;
}

.footer-inner::before {
	background-color: #fff !important;
}

#header .pc {
  display: none;
}

#header .sp {
  width: 100%;
}

@media only screen and (min-width: 960px){
  #header .sp {
    display: none;
  }
}

.maru-left {
  position: absolute;
  top: 64px;
  left: -52px;
  transform: translateX(-400%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  width: 16%;
  opacity: 0;
}

@media only screen and (min-width: 960px){
  .maru-left {
    position: absolute;
    top: 64px;
    left: -52px;
    transform: translateX(-400%);
    animation: slide-in-anim_left 2.5s ease-in-out forwards;
    width: 16%;
    opacity: 1;
  }
}

.tetris-left {
  position: absolute;
  top: 40px;
  left: 0;
  transform: translateX(-400%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  z-index: 3;
  width: 28%;
}

@media only screen and (min-width: 960px){
  .tetris-left {
  left: 26%;
  width: 10%;
  }
}

.book-woman {
  position: absolute;
  top: 53px;
  left: 17%;
  transform: translateX(-400%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  z-index: 4;
  width: 22%;
}

@media only screen and (min-width: 960px){
  .book-woman {
    top: 68px;
    left: 30%;
    width: 13%;
  }
}

.block-left {
  position: absolute;
  bottom: 36%;
  left: -48%;
  transform: translateX(-400%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  z-index: 3;
  width: 90%;
}

@media only screen and (min-width: 960px){
  .block-left {
    bottom: 0;
    left: 16%;
    width: 24%;
  }
}

.book {
  position: absolute;
  bottom: 64%;
  left: 28%;
  transform: translateX(-1000%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  z-index: 4;
  width: 8%;
}

@media only screen and (min-width: 960px){
  .book {
    bottom: 54px;
    left: 30%;
    width: 5%;
  }
}

.handshake {
  position: absolute;
  top: 40%;
  left: 13%;
  transform: translateX(-400%);
	animation: slide-in-anim_left 2.5s ease-in-out forwards;
  z-index: 4;
  width: 21%;
}

@media only screen and (min-width: 960px){
  .handshake {
    top: auto;
    bottom: 90px;
    left: 46%;
    width: 10%;
    transform: translateX(-800%);
  }
}

.company-copy {
  position: absolute;
  bottom: 105px;
  left: 7%;
  width: 70%;
  z-index: 10;
}

@media only screen and (min-width: 960px){
  .company-copy {
    bottom: 200px;
    width: 23%;
  }
}

.company-copy svg text:first-child {
  stroke: #FFF;
  stroke-width: 1;
  stroke-linejoin: round;
}

@media only screen and (min-width: 960px){
  .company-copy svg text:first-child {
    stroke: none;
  }
}

.maru-center {
position: absolute;
bottom: 48px;
left: 17%;
transform: translateX(-400%);
animation: slide-in-anim_left 2.5s ease-in-out forwards;
z-index: 3;
width: 21%;
}

@media only screen and (min-width: 960px){
  .maru-center {
    left: auto;
    bottom: 48px;
    right: 50%;
    width: 11%;
    transform: translateX(1000%);
    animation: slide-in-anim_right 2.5s ease-in-out forwards;
  }
}

.tetris-right {
  position: absolute;
  bottom: 34px;
  right: 27%;
  transform: translateX(700%);
  animation: slide-in-anim_right 2.5s ease-in-out forwards;
  z-index: 3;
  width: 27%;
  }

  @media only screen and (min-width: 960px){
    .tetris-right {
      top: 160px;
      right: 50%;
      width: 20%;
    }
  }

.top-pc {
  position: absolute;
  top: 38px;
  right: 46%;
  transform: translateX(1000%);
  animation: slide-in-anim_right 2.5s ease-in-out forwards;
  z-index: 3;
  width: 17%;
}

@media only screen and (min-width: 960px){
  .top-pc {
    top: 190px;
    width: 9%;
  }
}

.maru-right {
  position: absolute;
  top: 66px;
  right: 70%;
  transform: translateX(500%);
  animation: slide-in-anim_right 2.5s ease-in-out forwards;
  z-index: 1;
  width: 84%;
  }

  @media only screen and (min-width: 960px){
    .maru-right {
      bottom: 48px;
      right: 33%;
      z-index: 3;
      width: 37%;
    }
  }

.discus-mans {
  position: absolute;
  top: 144px;
  right: 55%;
  transform: translateX(500%);
  animation: slide-in-anim_right 2.5s ease-in-out forwards;
  z-index: 3;
  width: 51%;
}

@media only screen and (min-width: 960px){
  .discus-mans {
    bottom: 190px;
    right: 27%;
    transform: translateX(500%);
    animation: slide-in-anim_right 2.5s ease-in-out forwards;
    z-index: 3;
    width: 25%;
  }
}

@keyframes slide-in-anim_right {
	75% {
		transform: translateX(95%);
		-webkit-transform: translateX(95%);
	}
  
	100% {
		transform: translateX(100%);
		-webkit-transform: translateX(100%);
	}
}

@keyframes slide-in-anim_left {
	75% {
		transform: translateX(5%);
		-webkit-transform: translateX(5%);
	}
  
	100% {
		transform: translateX(0);
		-webkit-transform: translateX(0);
	}
}

.breadcrumb{
  display: none;
}

nav+.main-visual{
  display: none;
}