/*
 * StyleName: autoload.css
 * Version: 1.0
 *
 */

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body {
  font-family: sans-serif;
}

.eb-navi-toggle ul li a {
  font-weight: normal;
}

/*=============================================
 * .hero
 *=============================================*/
.hero__sride {
  position: relative;
}

.hero__text-01 {
  position: absolute;
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 600;
  font-size: 35px;
  top: 35%;
  left: 60vw;
  transform: translate(-50%, -50%);
}

/*=============================================
 * .pickup
 *=============================================*/
.pickup {
  padding: 62px 0 100px;
}

.pickup__banner {
  padding-top: 20px;
}

.pickup__link {
  display: block;
}

.pickup__link+.pickup__link {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .pickup {
    padding: 42px 0 65px;
  }
}

@media screen and (max-width: 480px) {
  .pickup {
    padding: 42px 0 45px;
  }
}

/*=============================================
 * .content
 *=============================================*/
.content {
  background: url(../images/top2021/content-bg.png);
  background-size: cover;
  background-position: center bottom 5%;
  padding: 100px 0;
}

@media screen and (max-width: 768px) {
  .content {
    padding: 65px 30px;
  }

  .content__full {
    padding: 65px 0;
  }
}

@media screen and (max-width: 480px) {
  .content {
    padding: 45px 0;
  }

  .content__full {
    padding: 45px 0;
  }
}

/*=============================================
 * .tab
 *=============================================*/
.tab {
  display: flex;
}

.tab__item {
  flex-grow: 1;
  list-style: none;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
  padding: 12px 0;
}

.tab__item span {
  position: relative;
  letter-spacing: 2px;
  padding-left: 25px;
}

.tab__item span::before {
  position: absolute;
  content: "";
  width: 17px;
  height: 17px;
  left: -3px;
  top: 0;
  transition: transform 0.5s;
}

.tab__item.is-active {
  transition: all 0.2s ease-out;
}

.tab__item.is-active span::before {
  transform: rotate(-90deg);
}

.tab__item--individual {
  background-color: #ffffff;
  color: #000740;
}

.tab__item--individual span::before {
  background: url(../images/top2021/tab-arrow-navy.png);
  background-size: contain;
}

.tab__item--corporation {
  background-color: #000740;
  color: #ffffff;
}

.tab__item--corporation span::before {
  background: url(../images/top2021/tab-arrow-white.png?2021);
  background-size: contain;
}

@media screen and (max-width: 480px) {
  .tab__item {
    font-size: 14px;
    padding: 10px 0;
  }

  .tab__item span {
    padding-left: 20px;
  }

  .tab__item span::before {
    position: absolute;
    content: "";
    width: 15px;
    height: 15px;
    left: 2px;
    top: 0;
    transition: transform 0.5s;
  }
}

/*=============================================
 * .panel
 *=============================================*/
.panel {
  position: relative;
}

.panel__item {
  padding: 65px 50px 45px;
  display: none;
}

.panel__item.is-show {
  display: block;
  opacity: 1;
}

.panel__item--individual {
  background-color: #fff;
}

.panel__item--corporation {
  background-color: #000740;
}

.panel__item.is-show .thumbnails {
  animation: displayAnime 1s forwards ease-in;
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media screen and (max-width: 768px) {
  .panel__item {
    padding: 45px 30px 25px;
  }
}

@media screen and (max-width: 480px) {
  .panel__item {
    padding: 20px 30px 0;
  }
}


/*=============================================
 * .thumbnail
 *=============================================*/
.thumbnails {
  display: flex;
  flex-wrap: wrap;
}

.thumbnail {
  width: calc(50% - 10px);
}

.thumbnail:nth-child(2n) {
  margin: 0 0 20px 20px;
}

@media screen and (max-width: 768px) {
  .thumbnail {
    width: 100%;
    margin: 0 0 20px;
  }

  .thumbnail:nth-child(2n) {
    margin: 0 0 20px;
  }
}


/*=============================================
 * home
 *=============================================*/
.home-title {
  text-align: center;
}

.home-title img {
  height: 17px;
  width: auto;
}

@media screen and (max-width: 480px) {
  .home-title img {
    height: 14px;
    width: auto;
  }
}

/*=============================================
 * .instagram
 *=============================================*/
.instagram {
  padding: 60px 55px 105px;
}

.instagram-title img {
  height: 22px;
}

.instagram__readmore {
  padding-top: 30px;
  display: block;
  text-align: center;
}

.instafeed {
  padding-top: 20px;
}

.social {
  padding-top: 25px;
  display: flex;
  justify-content: center;
}

.social__item+.social__item {
  padding-left: 40px;
}

@media screen and (max-width: 768px) {
  .instagram {
    padding: 40px 0 65px;
  }
}

@media screen and (max-width: 480px) {
  .instagram-title img {
    height: 18px;
  }

  .social__item+.social__item {
    padding-left: 25px;
  }

  .social img {
    width: 35px;
    height: 35px;
  }
}

/*=============================================
 * swiper
 *=============================================*/
.swiper-container img {
  height: 950px;
  width: 100%;
  object-fit: cover;
}

.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
  width: auto;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  height: 40px;
  width: 23px;
  content: "";
}

.swiper-button-prev:after {
  background-image: url(../images/index/arrow-prev.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.swiper-button-next:after {
  background-image: url(../images/index/arrow-next.png);
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 1830px) {
  .swiper-container img {
    height: 100%
  }
}

@media screen and (max-width: 950px) {
  .swiper-container img {
    min-height: 520px;
    height: auto;
    object-fit: cover;
  }
}

@media screen and (max-width: 480px) {
  .swiper-container img {
    min-height: 400px;
  }
}

@media screen and (max-width: 400px) {
  .swiper-container img {
    min-height: 330px;
  }
}