@charset "utf-8";
p, span {
  color: #333333;
  font-family: "Noto Serif JP", YakuHanMP, "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
.caption {
  font-size: 12px;
  font-weight: 400;
  position: absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.caption.wh {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .caption {
    font-size: 2.604vw;
    margin:0.625vw;
  }
}

.main_visual {
  width: 100%;
  height: fit-content;
  position: relative;
  min-width: 1320px;
  padding-top:100px;
}
.mv_wrap {
  position: relative;
}
.mv_wrap .mv_ttl{
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  min-width: 281px;
  width:21.964%;
  text-align: center;
  line-height: 1;
}
.mv_wrap .mv_ttl .jp{
  font-size:1.429vw;
  color:#fff;
  margin-top:1.488vw;
  display:block;
}

@media screen and (max-width: 1280px) {
  .mv_wrap .mv_ttl .jp{
    font-size:18px;
    margin-top:19px;
  }
}

@media screen and (max-width: 768px) {
  .main_visual {
    width: 100%;
    height: fit-content;
    position: relative;
    min-width: initial;
    padding-top:0;
  }
  .mv_wrap {
    position: relative;
  }
  .mv_wrap .mv_ttl{
    min-width: inherit;
    width:45.833%;
  }
  .mv_wrap .mv_ttl .jp{
    font-size:3.385vw;
    margin-top:3.906vw;
  }
}

.contents_wrap{
  width:1320px;
  margin:0 auto;
  padding:80px 20px 0;
  box-sizing: border-box;
}
.contents_wrap .tab_wrap{
  width:1280px;
  display:flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom:80px;
}
.contents_wrap .tab_wrap .tab{
  width:305px;
  height:80px;
  font-size:22px;
  line-height: 1.182;
  color:#508cb2;
  border:1px solid #508cb2;
  box-sizing: border-box;
  border-radius: 40px;
  display:flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition-duration: .3s;
}
.contents_wrap .tab_wrap .tab:hover{
  opacity:.7;
  transition-duration: .3s;
  color:#fff;
  background-color:#508cb2;
}
.contents_wrap .tab_wrap .tab.current{
  color:#fff;
  background-color:#508cb2;
  pointer-events: none;
}
.gallery_wrap{
  width:1280px;
}
.gallery{
  display:none;
  opacity: 0;
}
.gallery.active{
  display:block;
  opacity: 1;
  animation: fadeIn .5s ease-in-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0; /* 透明 */
  }
  to {
    opacity: 1; /* 不透明 */
  }
}

@media screen and (max-width: 768px) {
  .contents_wrap{
    width:100%;
    padding:9.505vw 0 0;
  }
  .contents_wrap .tab_wrap{
    width:92.057%;
    flex-wrap: wrap;
    margin:0 auto 9.505vw;
  }
  .contents_wrap .tab_wrap .tab{
    width:48.515%;
    height:13.411vw;
    font-size:3.906vw;
    line-height: 1.2;
    border-radius: 6.641vw;
    letter-spacing: -0.02em;
  }
  .contents_wrap .tab_wrap .tab:nth-child(n+3){
    margin-top:2.734vw;
  }
  .gallery_wrap{
    width:96.029%;
    margin-left: auto;
  }
  .gallery_wrap .swiper-main .img{
    width:95.864%;
  }
}


.captionArea .caption {
  max-width: 1320px;
  padding:0 20px;
  box-sizing: border-box;
}
.captionArea .caption {
  position: static;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.captionArea .caption.off {
  display:none;
}
#footer{
  min-width: 1320px;
}
@media all and (max-width: 768px){
  .captionArea{
    padding: 9.091% 0;
  }
  .captionArea .caption{
    max-width: inherit;
    width:92.057%;
    padding: 0;
    font-size: 2.597vw;
    line-height:1.5;
  }
  #footer{
    min-width: inherit;
  }
}


/*スライド*/

.gallery .swiper-container .swiper-slide{
  width:100%;
}
.gallery .swiper-container .swiper-slide .img{
  position: relative;
  font-size:0;
}
.gallery .swiper-container .swiper-slide .img .cap{
  position: absolute;
  bottom:0;
  right:0;
  font-size:12px;
  line-height: 1;
  margin:5px;
  color:#fff;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.gallery .swiper-container .swiper-slide .img .cap.bk{
  color:#333;
}
.swiper-thumbnail{
  margin:8px auto 0;
}
.swiper-thumbnail .swiper-wrapper{
}
.swiper-thumbnail .swiper-wrapper .swiper-slide{
  background-color:rgba(36,36,36,1);
  position: relative;
  transition-duration: .3s;
  cursor: pointer;
  font-size: 0;
}
.swiper-thumbnail .swiper-wrapper .swiper-slide::before{
  content: '';
  display: block;
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
  background-color:rgba(36,36,36,.6);
  opacity: 0;
  transition: opacity 0.3s;
}
.swiper-thumbnail .swiper-wrapper .swiper-slide:hover::before{
  opacity:1;
}
.swiper-thumbnail .swiper-slide-thumb-active {
  pointer-events: none;
}
.swiper-thumbnail .swiper-wrapper .swiper-slide-thumb-active::before {
  content: '';
  display: block;
  position: absolute;
  top:0;
  left:0;
  width: 100%;
  height: 100%;
  background-color:rgba(36,36,36,.6);
  transition: opacity 0.3s;
  opacity:1;
}
.swiper-button-prev01,
.swiper-button-next01,
.swiper-button-prev02,
.swiper-button-next02,
.swiper-button-prev03,
.swiper-button-next03,
.swiper-button-prev04,
.swiper-button-next04{
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translate(0,-50%);
  cursor: pointer;
  z-index: 1;
  display: inline-block;
  width:51px;
  height:51px;
  border-radius: 26px;
  box-sizing: border-box;
  background-color:rgba(0,0,0,.6);
}
.swiper-button-prev01::before,
.swiper-button-next01::before,
.swiper-button-prev02::before,
.swiper-button-next02::before,
.swiper-button-prev03::before,
.swiper-button-next03::before,
.swiper-button-prev04::before,
.swiper-button-next04::before{
  content: '';
  width: 12px;
  height: 12px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 55%;
  top: 50%;
  transform: translate(-50%,-50%) rotate(-135deg);
}
.swiper-button-next01,
.swiper-button-next02,
.swiper-button-next03,
.swiper-button-next04{
  left:auto;
  right:30px;
  transform: translate(0,-50%) scale(-1,-1);
}
.swiper-button-disabled{
  pointer-events: none;
  opacity:.7;
  transition-delay: .5s;
}

@media all and (max-width: 768px){
  .gallery .swiper-container .swiper-slide .img .cap{
    font-size:2.604vw;
    margin:0.651vw;
  }
  .swiper-thumbnail{
    margin:1.356% auto 0;
  }
  .swiper-thumbnail .swiper-slide-thumb-active {
    pointer-events: auto;
  }
  .swiper-button-prev01,
  .swiper-button-next01,
  .swiper-button-prev02,
  .swiper-button-next02,
  .swiper-button-prev03,
  .swiper-button-next03,
  .swiper-button-prev04,
  .swiper-button-next04{
    left: 2.576%;
    width:6.641vw;
    height:6.641vw;
    border-radius: 4vw;
  }
  .swiper-button-prev01::before,
  .swiper-button-next01::before,
  .swiper-button-prev02::before,
  .swiper-button-next02::before,
  .swiper-button-prev03::before,
  .swiper-button-next03::before,
  .swiper-button-prev04::before,
  .swiper-button-next04::before{
    width: 1.563vw;
    height: 1.563vw;
    border-top: solid 0.26vw #fff;
    border-right: solid 0.26vw #fff;
  }
  .swiper-button-next01,
  .swiper-button-next02,
  .swiper-button-next03,
  .swiper-button-next04{
    left:auto;
    right:6.712%;
  }
}
