@charset "utf-8";

main {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.wrap {
  margin: 0 auto;
  width: 950px;
  position: relative;
}
.section-title {
  text-align: center;
}
.section-title img {
  height: 17px;
  width: auto;
}
@media screen and (max-width: 950px) {
  .wrap {
    width: auto;
    padding: 0 4%;
  }
}

/*=============================================
 * hero
 *=============================================*/
.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;
  }
}

/*=============================================
 * .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(/img/tab/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(/img/tab/tab-arrow-navy.png);
  background-size: contain;
}
.tab__item--corporation {
  background-color: #000740;
  color: #ffffff;
}
.tab__item--corporation span::before {
  background: url(/img/tab/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;
  justify-content: space-between;
}
.thumbnail {
  margin: 0 0 20px;
  width: calc(50% - 10px);
}
@media screen and (max-width: 768px) {
  .thumbnail {
    width: 100%;
    margin: 0 0 20px;
  }
  .thumbnail:nth-child(2n) {
    margin: 0 0 20px;
  }
}

/*=============================================
 * .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;
  }
}
