@charset "UTF-8";
/*-----------------------------
 コンテンツ共通
-------------------------------*/
*:after, *:before {
  box-sizing: border-box;
}

body {
  color: #3b322f;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #efefed;
  line-height: 1;
  height: auto;
}

.wrap {
  position: relative;
  display: flex;
  margin: 0 auto;
  padding: 5vw;
}
.wrap section {
  margin-bottom: 3vw;
}
.wrap img {
  vertical-align: bottom;
  touch-callout: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  max-width: 100%;
  height: auto;
}

.fadeIn {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 2s ease, transform 2s ease;
}
.fadeIn.is-show {
  opacity: 1;
  transform: translateY(0);
}

.pc-side {
  display: none;
}

@media only screen and (min-width: 769px) { /* 769px以上（PC） */
  .pc-side {
    display: block;
    position: sticky;
    top: 0;
    left: 0;
    width: calc((100% - 500px) / 2);
    height: 100vh;
  }
}
/*-----------------------------
 Left
-------------------------------*/
.slick-slide {
  height: 100vh;
}
.slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*-----------------------------
 Right
-------------------------------*/
@media only screen and (min-width: 769px) { /* 769px以上（PC） */
  .navi {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .navi dl {
    margin: 0 auto;
  }
  .navi dl dt {
    margin-bottom: 10px;
    color: #f7909d;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 30px;
    font-weight: bold;
  }
  .navi dl dd {
    display: list-item;
    list-style: disc;
    margin-left: 20px;
    text-decoration: none;
    line-height: 230%;
    letter-spacing: 0.1rem;
  }
  .navi dl dd a {
    display: block;
    font-size: 1.6rem;
    color: #3b322f;
  }
  .navi dl dd a:link {
    color: #3b322f;
    text-decoration: none;
    transition: all 0.5s ease 0s;
  }
  .navi dl dd a:hover {
    opacity: 0.6;
  }
}
/*-----------------------------
 メイン
-------------------------------*/
.main {
  width: 100%;
}

.wrap section .contents img {
  width: 100%;
}

.btn_box {
  position: absolute;
  margin: auto;
  right: 0;
}
.btn_box .btn {
  cursor: pointer;
}

/* アニメーション */
.animation {
  animation: yura 2s linear infinite;
}

@keyframes yura {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(0deg);
  }
  75% {
    transform: rotate(2deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
#special01 {
  position: relative;
}
#special01 .btn_box {
  bottom: 9vw;
  left: 0;
  width: 77%;
}

#special02 {
  position: relative;
}
#special02 .btn_box {
  bottom: 9vw;
  left: -3vw;
  width: 85%;
}

#special03 .contents {
  background-color: #43b791;
  border-radius: 10px;
}
#special03 .contents .apply {
  position: relative;
}
#special03 .contents .apply .btn_box {
  bottom: 11vw;
  left: 0;
  width: 82%;
}
#special03 .contents .winning {
  position: relative;
}
#special03 .contents .winning .btn_box {
  bottom: 9vw;
  left: 0;
  width: 89%;
}

@media only screen and (min-width: 600px) { /* 600px以上（タブレット） */
  .wrap {
    width: 100%;
  }
  .wrap section {
    margin-bottom: 2vw;
  }
}
@media only screen and (min-width: 769px) { /* 769px以上（PC） */
  .wrap {
    margin: 0;
    padding: 0;
    width: 98vw;
  }
  .wrap section {
    margin-bottom: 10px;
  }
  .main {
    margin: 0 auto;
    padding: 15px;
    width: 500px;
  }
  #special01 .btn_box {
    bottom: 50px;
  }
  #special02 .btn_box {
    left: -25px;
    bottom: 50px;
  }
  #special03 .contents .apply .btn_box {
    bottom: 60px;
  }
  #special03 .contents .winning .btn_box {
    bottom: 50px;
  }
}