@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes flicker {
  0% {
    opacity: 0.9637224471; }
  5% {
    opacity: 0.5389100314; }
  10% {
    opacity: 0.9526869228; }
  15% {
    opacity: 0.1551451418; }
  20% {
    opacity: 0.9811793628; }
  25% {
    opacity: 0.9812800562; }
  30% {
    opacity: 0.4248881188; }
  35% {
    opacity: 0.9782044929; }
  40% {
    opacity: 0.3997133359; }
  45% {
    opacity: 0.9213961871; }
  50% {
    opacity: 0.1576399523; }
  55% {
    opacity: 0.6712122429; }
  60% {
    opacity: 0.2372201039; }
  65% {
    opacity: 0.2547484565; }
  70% {
    opacity: 0.9686837176; }
  75% {
    opacity: 0.4279541741; }
  80% {
    opacity: 0.466540921; }
  85% {
    opacity: 0.2122837874; }
  90% {
    opacity: 0.7413632574; }
  95% {
    opacity: 0.1749990727; }
  100% {
    opacity: 0.2775500063; } }
.animation_point {
  border: 5px solid green;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  opacity: 1;
  display: block;
  height: 10px;
  width: 10px;
  opacity: 0; }

.animation_point.animated {
  border-color: hotpink; }

.anchor_point {
  border: 5px solid red;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  opacity: 0;
  display: block; }

.siteheader .mainmenu li a[href*='special'] {
  background-color: rgba(205, 205, 203, 0.5);
  text-decoration: none; }

body.special #contents {
  font-size: 0;
  line-height: 1;
  min-height: 100vh; }
  body.special #contents::before {
    content: '';
    width: 100vw;
    height: 156.25vw;
    /*background: url("/harvestella/assets/img/special/bg.png") no-repeat left top / cover;*/
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0; }
  body.special #contents .contents_bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 156.25vw; }
    body.special #contents .contents_bg img {
      width: 100%;
      height: auto; }
  body.special #contents::after {
    content: '';
    width: 100vw;
    height: 100%;
    background: url("/harvestella/assets/img/special/bg_repeat.png") repeat-y left top/100% auto;
    position: absolute;
    left: 0;
    top: 156.25vw;
    z-index: 0; }
  body.special #contents .sec01 {
    padding: 40.43vw 0 25.391vw; }
    body.special #contents .sec01 .pagetitle {
      text-align: center; }
      body.special #contents .sec01 .pagetitle img {
        width: 100%;
        height: auto; }
      body.special #contents .sec01 .pagetitle span {
        font-size: 3.809vw;
        letter-spacing: 0.42em;
        text-indent: 0.21em;
        font-family: 'Noto Serif JP';
        padding: 14.453vw 0 5.859vw;
        display: block; }
    body.special #contents .sec01 .movie a,
    body.special #contents .sec01 .movies li a {
      display: block;
      width: 76.66vw;
      height: 43.75vw;
      padding: 0.781vw;
      position: relative;
      margin: 0 auto; }
      body.special #contents .sec01 .movie a::after,
      body.special #contents .sec01 .movies li a::after {
        content: '';
        width: 100%;
        height: 100%;
        border: 1px solid #333;
        border-radius: 0.586vw;
        z-index: 10;
        position: absolute;
        left: 0;
        top: 0; }
      body.special #contents .sec01 .movie a img,
      body.special #contents .sec01 .movies li a img {
        width: 100%;
        height: auto; }
      body.special #contents .sec01 .movie a i,
      body.special #contents .sec01 .movies li a i {
        pointer-events: none;
        background: url("/harvestella/assets/img/special/arr.png") no-repeat center center/cover;
        width: 75.098vw;
        height: 42.285vw;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: 100; }
    body.special #contents .sec01 .movie em,
    body.special #contents .sec01 .movies li em {
      display: block;
      background: url("/harvestella/assets/img/special/hr.png") no-repeat center bottom/100% auto;
      text-align: center;
      font-size: 3.223vw;
      letter-spacing: 0.46em;
      text-indent: 0.23em;
      padding-bottom: 4.688vw;
      padding-top: 7.422vw; }
    body.special #contents .sec01 .movie + .movie,
    body.special #contents .sec01 .movie + .movies,
    body.special #contents .sec01 .movies li + li {
      margin-top: 11.719vw; }

@media screen and (min-width: 1024px) {
  /*  pc 1024px ~
  ************************************/
  body.special #contents {
    padding: 0; }
    body.special #contents::before {
      content: '';
      width: 1920px;
      height: 1500px;
      /*background: url("/harvestella/assets/img/special/bg@pc.png") no-repeat center top / 100% auto;*/
      left: 50%;
      top: 0;
      z-index: 0;
      margin-left: -960px; }
    body.special #contents .contents_bg {
      position: absolute;
      left: 50%;
      height: 1500px;
      margin-left: -960px;
      width: 1920px; }
      body.special #contents .contents_bg img {
        width: 100%;
        height: auto; }
    body.special #contents::after {
      content: '';
      width: 1920px;
      height: 100%;
      background: url("/harvestella/assets/img/special/bg_repeat@pc.png") repeat-y center top/100% auto;
      top: 1500px;
      left: 50%;
      margin-left: -960px; }
    body.special #contents .sec01 {
      padding: 254px 0 200px; }
      body.special #contents .sec01 .pagetitle img {
        width: 1024px;
        height: auto; }
      body.special #contents .sec01 .pagetitle span {
        font-size: 28.8px;
        padding: 86px 0 58px; }
      body.special #contents .sec01 .movie a,
      body.special #contents .sec01 .movies li a {
        display: block;
        width: 816px;
        height: 466px;
        padding: 8px; }
        body.special #contents .sec01 .movie a::after,
        body.special #contents .sec01 .movies li a::after {
          border-radius: 6px; }
        body.special #contents .sec01 .movie a i,
        body.special #contents .sec01 .movies li a i {
          background: url("/harvestella/assets/img/special/arr@pc.png") no-repeat center center/cover;
          width: 800px;
          height: 450px; }
        body.special #contents .sec01 .movie a img,
        body.special #contents .sec01 .movies li a img {
          transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1); }
        body.special #contents .sec01 .movie a:hover img,
        body.special #contents .sec01 .movies li a:hover img {
          filter: brightness(1.2); }
        body.special #contents .sec01 .movie a:hover img,
        body.special #contents .sec01 .movies li a:hover img {
          transition: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); }
      body.special #contents .sec01 .movie em,
      body.special #contents .sec01 .movies li em {
        background: url("/harvestella/assets/img/special/hr@pc.png") no-repeat center bottom/457px 9px;
        font-size: 24px;
        padding-bottom: 49px;
        padding-top: 35px; }
      body.special #contents .sec01 .movie + .movie,
      body.special #contents .sec01 .movie + .movies {
        margin-top: 70px; }
      body.special #contents .sec01 .movies li + li {
        margin-top: 0; }
      body.special #contents .sec01 .movies li:nth-child(n + 3) {
        margin-top: 70px; }
      body.special #contents .sec01 .movies {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 1280px;
        margin: 0 auto; }
        body.special #contents .sec01 .movies li {
          padding: 0 20px; }
          body.special #contents .sec01 .movies li a {
            width: 530px;
            height: 306px; }
            body.special #contents .sec01 .movies li a i {
              width: 514px;
              height: 289px;
              background: url("/harvestella/assets/img/special/arr_s@pc.png") no-repeat center center/cover; }
          body.special #contents .sec01 .movies li em {
            background: url("/harvestella/assets/img/special/hr@pc.png") no-repeat center bottom/auto 7px;
            font-size: 21.6px;
            padding-bottom: 33px;
            padding-top: 50px; } }
@media screen and (min-width: 1024px) {
  /*  pc 1024px ~
  ************************************/ }
@media screen and (min-width: 1280px) {
  /*  pc 1280px ~
  ************************************/ }
@media screen and (min-width: 1920px) {
  /*  pc 1920px ~
  ************************************/
  body.special #contents::before {
    content: '';
    width: 100vw;
    height: 78.125vw;
    /*background: url("/harvestella/assets/img/special/bg@pc.png") no-repeat center top / 100% auto;*/
    left: 0%;
    top: 0;
    z-index: 0;
    margin-left: 0; }
  body.special #contents .contents_bg {
    position: absolute;
    left: 0%;
    height: 78.125vw;
    margin-left: 0;
    width: 100vw; }
    body.special #contents .contents_bg img {
      width: 100%;
      height: auto; }
  body.special #contents::after {
    content: '';
    width: 100vw;
    height: 100%;
    background: url("/harvestella/assets/img/special/bg_repeat@pc.png") repeat-y center top/100% auto;
    top: 78.125vw;
    left: 0;
    margin-left: 0; } }
