@charset "UTF-8";

/* Scss Document */
.mainvisual {
  padding: 3rem 0 2rem;
  background: url(../img/index/bg_visual.png);
}

@media only screen and (max-width: 640px) {
  .mainvisual {
    padding: 0 0 2rem;
  }
}

@media only screen and (max-width: 640px) {
  .mainvisual .inner {
    padding: 0 3vw;
  }
}

.top-slider {
  overflow: visible;
}

.top-slider .slick-slide {
  margin: 1rem;
  transition: .3s ease;
  width: 1200px;
  height: 810px;
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  transform: scale(1);
  transition: transform .5s;
  overflow: hidden;
}

.top-slider .slick-slide a {
  display: block;
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-slide {
    margin: 0;
    width: 100%;
    height: auto;
  }
}

.top-slider .slick-slide a:hover {
  opacity: 1;
}

.top-slider .slick-slide img {
  box-shadow: 0 3px 12px 0 rgba(0, 0, 0, 0.2);
}

.top-slider .slick-slide.slick-current,
.top-slider .slick-slide.is-active-next {
  transform: scale(1.1);
  z-index: 1;
}

@media only screen and (max-width: 640px) {

  .top-slider .slick-slide.slick-current,
  .top-slider .slick-slide.is-active-next {
    transform: scale(1);
  }
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-dotted.slick-slider {
    margin: 0;
  }
}

.top-slider .slick-dots {
  bottom: 3rem;
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-dots li {
    margin: 0;
  }
}

.top-slider .slick-dots li button:before {
  color: #fff;
  font-size: 1.6rem;
  opacity: 1;
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-dots li button:before {
    font-size: 1.2rem;
  }
}

.top-slider .slick-dots li.slick-active button:before {
  color: #2A2A60;
}







.top-slider .slick-prev {
  left: 25px;
  z-index: 1;
  width: 30px;
  height: 30px;
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-prev {
    left: 2vw;
    width: 6vw;
    height: 6vw;
    z-index: 1;
  }
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-prev {
    left: 2vw;
    width: 6vw;
    height: 6vw;
    z-index: 1;
  }
}

.top-slider .slick-prev:before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url(../img/index/arrow_left_0.png) no-repeat center center;
  background-size: auto 100%;
  opacity: 1 !important;
}

@media only screen and (max-width: 640px) {

  .top-slider .slick-prev:before {
    width: 6vw;
    height: 6vw;
    background: url(../img/index/arrow_left_0.png) no-repeat center center;
    background-size: auto 100%;
    opacity: 1 !important;
  }
}

.top-slider .slick-next {
  right: 25px;
  width: 30px;
  height: 30px;
}

@media only screen and (max-width: 640px) {
  .top-slider .slick-next {
    right: 2vw;
    width: 6vw;
    height: 6vw;
  }
}

.top-slider .slick-next:before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url(../img/index/arrow_right_0.png) no-repeat center center;
  background-size: auto 100%;
  opacity: 1 !important;
}

@media only screen and (max-width: 640px) {

  .top-slider .slick-next:before {
    width: 6vw;
    height: 6vw;
    background: url(../img/index/arrow_right_0.png) no-repeat center center;
    background-size: auto 100%;
    opacity: 1 !important;
  }
}










@keyframes MarqueeScroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.condition-wrapper .news {
  margin-bottom: -3rem;
  width: 94rem;
  background: #fff;
  display: flex;
  overflow: hidden;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .condition-wrapper .news {
    margin: 0 -3vw;
    width: auto;
    font-size: 1.4rem;
  }
}

.condition-wrapper .news dt {
  color: #fff;
  background: #2A2A60;
  width: 13.8rem;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .condition-wrapper .news dt {
    padding: 0 1rem;
    white-space: nowrap;
  }
}

.condition-wrapper .news dd {
  width: 80.7rem;
  overflow: hidden;
  text-align: left;
}

.condition-wrapper .news dd p {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation-name: MarqueeScroll;
  animation-timing-function: linear;
  animation-duration: 20s;
  /* 1周するのにかかる時間 */
  animation-iteration-count: infinite;
  /* 繰り返す回数 */
}

.condition-body {
  display: flex;
  flex-wrap: wrap;
  color: #2A2A60;
}

.condition-body .time,
.condition-body .weather-temperature,
.condition-body .condition-slope {
  margin-top: 5rem;
}

@media only screen and (max-width: 640px) {

  .condition-body .time,
  .condition-body .weather-temperature,
  .condition-body .condition-slope {
    margin-top: 0;
  }
}

.condition-body .time {
  border-right: solid 1px #2A2A60;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0;
  width: 16rem;
}

@media only screen and (max-width: 640px) {
  .condition-body .time {
    margin: 1.5rem auto;
    width: 100%;
    border-right: none;
  }
}

.condition-body .time .date {
  font-size: 5rem;
}

@media only screen and (max-width: 640px) {
  .condition-body .time .date {
    font-size: 4rem;
  }
}

@media only screen and (max-width: 640px) {
  .condition-body .time p {
    display: inline-block;
  }
}

.condition-body .weather-temperature,
.condition-body .condition-slope {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature,
  .condition-body .condition-slope {
    font-size: 1.5rem;
  }
}

.condition-body .weather-temperature ul,
.condition-body .condition-slope ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul,
  .condition-body .condition-slope ul {
    margin-bottom: 4rem;
    display: block;
  }
}

.condition-body .weather-temperature ul li,
.condition-body .condition-slope ul li {
  margin: 0 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul li,
  .condition-body .condition-slope ul li {
    margin: 0 1rem;
  }
}

.condition-body .weather-temperature ul li figure,
.condition-body .condition-slope ul li figure {
  margin-right: 1.5rem;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul li figure,
  .condition-body .condition-slope ul li figure {
    margin-right: 0.5rem;
    width: 3rem;
  }
}

.condition-body .weather-temperature ul li figure figcaption,
.condition-body .condition-slope ul li figure figcaption {
  font-size: 1.2rem;
  font-weight: bold;
}

.condition-body .weather-temperature ul li img,
.condition-body .condition-slope ul li img {
  height: 4rem;
  width: auto;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul li img,
  .condition-body .condition-slope ul li img {
    margin: 0 auto;
    height: 2.6rem;
  }
}

.condition-body .weather-temperature ul span,
.condition-body .condition-slope ul span {
  font-size: 2rem;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul span,
  .condition-body .condition-slope ul span {
    font-size: 1.4rem;
  }
}

.condition-body .weather-temperature ul span.small,
.condition-body .condition-slope ul span.small {
  font-size: 1.8rem;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature ul span.small,
  .condition-body .condition-slope ul span.small {
    font-size: 1.4rem;
  }
}

.condition-body .weather-temperature .btn-more,
.condition-body .condition-slope .btn-more {
  margin-top: 1rem;
}

.condition-body .weather-temperature .btn-more a,
.condition-body .condition-slope .btn-more a,
.condition-body .condition-img .btn-more span {
  padding-left: 3rem;
  color: #fff;
  background: #2A2A60;
  width: 21rem;
  font-size: 1.6rem;
  position: relative;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature .btn-more a,
  .condition-body .condition-slope .btn-more a,
  .condition-body .condition-img .btn-more span {
    padding: 0 1rem 0 2.5rem;
    width: auto;
    font-size: 1.2rem;
  }

  .condition-body .condition-slope .btn-more a {
    margin-left: 2rem;
    font-size: 2rem;
    width: 180%;
  }
}

.condition-body .weather-temperature .btn-more a:before,
.condition-body .condition-slope .btn-more a:before,
.condition-body .condition-img .btn-more span:before {
  content: "";
  position: absolute;
  top: -1.5rem;
  left: -1rem;
  width: 5rem;
  height: 5rem;
  background: url(../img/index/ico_check.png) no-repeat center center;
  background-size: 100% auto;
}

@media only screen and (max-width: 640px) {

  .condition-body .weather-temperature .btn-more a:before,
  .condition-body .condition-slope .btn-more a:before,
  .condition-body .condition-img .btn-more span:before {
    width: 3.5rem;
    height: 3.5rem;
  }


  .condition-body .condition-slope .btn-more a:before {
    width: 4.8rem;
    height: 4.8rem;
  }
}

.condition-body .weather-temperature {
  border-right: solid 1px #2A2A60;
  width: 34rem;
}

@media only screen and (max-width: 640px) {
  .condition-body .weather-temperature {
    width: 31%;
  }
}

.condition-body .condition-slope {
  width: 44rem;
}

@media only screen and (max-width: 640px) {
  .condition-body .condition-slope {
    width: 34%;
  }
}

@media only screen and (max-width: 640px) {
  .condition-body .condition-slope .btn-more {
    position: relative;
    z-index: 22;
  }
}


@media only screen and (max-width: 640px) {
  .condition-body .condition-img {
    position: relative;
  }
}

@media only screen and (max-width: 640px) {
  .condition-body .condition-img .btn-more {
    margin-top: -1.5rem;
  }
}

.condition-body .condition-img .btn-more span {
  display: block;
  width: 18rem;
  margin: 0 auto;
  border-radius: 2rem;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .condition-body .condition-img .btn-more span {
    width: calc((200/760)*100vw);
  }
}

.condition-img {
  position: relative;
  width: 19.5rem;
}

@media only screen and (max-width: 640px) {
  .condition-img {
    width: 33%;
  }
}

@media only screen and (max-width: 640px) {}

.youtube-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  /* 高さは自動で決まる */
}

.youtube-wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.title-l-en {
  margin-bottom: .5em;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  font-size: 6.4rem;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 640px) {
  .title-l-en {
    font-size: 4rem;
  }
}

.pickup {
  padding-bottom: 25rem;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .pickup {
    padding-bottom: 15rem;
  }
}

.pickup-slider {
  margin-top: 8rem;
  position: relative;
  z-index: 1;
}

.pickup-slider .slick-slide {
  margin: 1rem 1rem 1.5rem;
  width: 27.5rem;
  overflow: hidden;
}

.pickup-slider .slick-slide a {
  display: block;
}

.pickup-slider .slick-slide img {
  box-shadow: 0 4px 12px 3px rgba(0, 0, 0, 0.1);
}

.pickup-slider .slick-slide:nth-child(odd) {
  margin-top: 4rem;
}

.pickup-slider .slick-dots {
  bottom: -4rem;
}

@media only screen and (max-width: 640px) {
  .pickup-slider .slick-dots {
    bottom: -3rem;
  }
}

@media only screen and (max-width: 640px) {
  .pickup-slider .slick-dots li {
    margin: 0;
  }
}

.pickup-slider .slick-dots li button:before {
  color: #fff;
  font-size: 1.6rem;
  opacity: 1;
}

@media only screen and (max-width: 640px) {
  .pickup-slider .slick-dots li button:before {
    font-size: 1.2rem;
  }
}

.pickup-slider .slick-dots li.slick-active button:before {
  color: #e43b86;
}

.pickup:after {
  content: '';
  position: absolute;
  left: 0;
  top: 8rem;
  display: block;
  background: #2A2A60;
  background-size: cover;
  clip-path: polygon(0 0, 100% 30rem, 100% 85rem, 0 50rem);
  width: 100%;
  height: 80vw;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .pickup:after {
    top: auto;
    bottom: 20vw;
    clip-path: polygon(0 18vw, 100% 0, 100% 92vw, 0 110vw);
    height: 110vw;
  }
}

.information {
  margin-top: -10rem;
  padding-bottom: 45rem;
  position: relative;
}

@media only screen and (max-width: 640px) {
  .information {
    width: 50%;
    padding-bottom: 20rem;
  }
}

.information .inner {
  position: relative;
  z-index: 1;
}

.information-nav {
  display: flex;
  justify-content: center;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
}

@media only screen and (max-width: 640px) {
  .information-nav {
    font-size: 1.6rem;
  }
}

.information-nav li {
  margin: 0 8rem;
}

@media only screen and (max-width: 640px) {
  .information-nav li {
    margin: 0 3rem;
  }
}

.information-nav li a.active:after {
  content: '';
  margin: 0 auto;
  display: block;
  width: .2rem;
  height: 3rem;
  background: #2A2A60;
}

.information-nav a {
  color: #251d1a;
  text-decoration: none;
}

.information-block {
  padding: 4rem 0;
  border: solid 2px #2A2A60;
  background: rgba(255, 255, 255, 0.9);
}

@media only screen and (max-width: 640px) {
  .information-block {
    padding: 1rem;
  }
}

.information .post-items ul {
  display: flex;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 95rem;
}

@media only screen and (max-width: 640px) {
  .information .post-items ul {
    width: 100%;
  }
}

.information .post-items ul:after {
  content: '';
  width: 26.5rem;
}

@media only screen and (max-width: 640px) {
  .information .post-items ul:after {
    width: 50%;
  }
}

.information .post-items ul li {
  margin: 3rem 0;
  width: 26.5rem;
  line-height: 1.3;
}

@media only screen and (max-width: 640px) {
  .information .post-items ul li {
    margin: 5rem 0;
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 640px) {
  .information .post-items ul li {
    margin: 5% 3%;
    width: 44%;
  }
}

.information .post-items ul li a {
  color: #251d1a;
  text-decoration: none;
}

.information .post-items ul li .meta {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 640px) {
  .information .post-items ul li .meta {
    margin-bottom: 1rem;
  }
}

.information .post-items ul li .meta .cat {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  font-style: normal;
}

.information .post-items ul li figure {
  margin: 0 0 2rem;
  height: 26.5rem;
  overflow: hidden;
}

@media only screen and (max-width: 640px) {
  .information .post-items ul li figure {
    margin: 0 0 1rem;
    height: calc(265/640 * 100vw);
  }
}

.information .post-items ul li figure img {
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
  object-fit: cover;
  min-height: 100%;
}

.information:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  background: url(../img/index/bg_info.jpg) no-repeat center center;
  background-size: cover;
  clip-path: polygon(0 30rem, 100% 0, 100% 60rem, 0 90rem);
  width: 100%;
  height: 90rem;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .information:after {
    background-size: 220% auto;
    clip-path: polygon(0 18vw, 100% 0, 100% 62vw, 0 80vw);
    height: 80vw;
  }
}

.content-item {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 640px) {
  .content-item {
    padding-bottom: 100vw;
  }
}

.content-item .inner {
  width: 100%;
  max-width: 158rem;
  min-width: 120rem;
  height: 100%;
  display: flex;
}

@media only screen and (max-width: 640px) {
  .content-item .inner {
    padding: 0;
    max-width: 100%;
    min-width: 100%;
    height: auto;
  }
}

.content-body {
  padding-bottom: 20rem;
  background: rgba(0, 0, 0, 0.4);
  width: 69.5rem;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .content-body {
    padding-top: 10rem;
    width: 100%;
  }
}

@media only screen and (max-width: 640px) {
  .content-body {
    font-size: 1.8rem;
  }
}

.content-body-inner {
  position: relative;
  z-index: 0;
}

.content-body-inner .btn-more a {
  background-image: url(../img/index/arrow_base.png);
  background-position: right center;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 640px) {
  .content-body-inner .btn-more a {
    background-size: 15% auto;
  }
}

.content-body .jp {
  margin-bottom: 1em;
  font-size: 4rem;
  line-height: 1.2;
}

@media only screen and (max-width: 640px) {
  .content-body .jp {
    font-size: 3rem;
  }
}

.content-body .en {
  position: absolute;
  top: 3rem;
  left: -1rem;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 8rem;
  white-space: nowrap;
  writing-mode: vertical-rl;
  line-height: 1;
  text-align: left;
  z-index: 1;
}

@media only screen and (max-width: 640px) {
  .content-body .en {
    top: 1.5rem;
    left: -.5rem;
    font-size: 6rem;
  }
}

.content-wrapper {
  margin-top: -20rem;
  position: relative;
}

.content-wrapper .deco {
  position: absolute;
  z-index: 2;
}

.index-content {
  padding: 0;
}

.variation .content-item {
  background: url(../img/index/bg_variation.jpg) no-repeat center bottom;
  background-size: cover;
  clip-path: polygon(0 0, 100% 30rem, 100% 100rem, 0 70rem);
  height: 100rem;
}

@media only screen and (max-width: 640px) {
  .variation .content-item {
    background: url(../img/index/bg_variation_sp.jpg) no-repeat center bottom;
    background-size: 100% auto;
    clip-path: polygon(0 0, 100% 18vw, 100% 205vw, 0 187vw);
    height: 205vw;
  }
}

.variation .content-body {
  padding-left: 9.5rem;
  background-color: rgba(238, 170, 37, 0.84);
}

@media only screen and (max-width: 640px) {
  .variation .content-body {
    padding: 0;
    background: none;
  }
}

@media only screen and (max-width: 640px) {
  .variation .content-body-inner {
    width: 100%;
    padding: 10rem 2rem 20rem 9.5rem;
    background: rgb(238, 170, 37, 1.00);
    clip-path: polygon(0 0, 100% 0, 100% 105vw, 0 87vw);
  }
}

.variation:after {
  content: '';
  position: absolute;
  top: 30rem;
  left: 0;
  display: block;
  background: url(../img/index/bg_snow.jpg) no-repeat center bottom;
  background-size: cover;
  clip-path: polygon(0 30rem, 100% 0, 100% 70rem, 0 100rem);
  width: 100%;
  height: 100rem;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .variation:after {
    top: auto;
    bottom: -18vw;
    clip-path: polygon(0 18vw, 100% 0, 100% 62vw, 0 80vw);
    height: 80vw;
  }
}

.variation .deco {
  bottom: 12rem;
  left: 20%;
  transform: translate(-3rem, 0);
  transition: all .75s;
  opacity: 0;
}

@media only screen and (max-width: 640px) {
  .variation .deco {
    top: 6rem !important;
    bottom: auto;
    left: auto;
    right: 0;
    width: 45%;
  }
}

.variation .isPlay+.deco {
  transition-delay: .75s;
  opacity: 1;
  transform: translate(0, 0);
}

.westjapan .content-item {
  background: url(../img/index/bg_westjapan.jpg) no-repeat center center;
  background-size: cover;
  clip-path: polygon(0 30rem, 100% 0, 100% 70rem, 0 100rem);
  height: 100rem;
}

@media only screen and (max-width: 640px) {
  .westjapan .content-item {
    background: url(../img/index/bg_westjapan_sp.jpg) no-repeat center bottom;
    background-size: 100% auto;
    clip-path: polygon(0 18vw, 100% 0, 100% 187vw, 0 205vw);
    height: 205vw;
  }
}

.westjapan .content-body {
  margin: 0 0 0 auto;
  padding-right: 9.5rem;
  background: rgba(42, 42, 96, 0.81);
}

@media only screen and (max-width: 640px) {
  .westjapan .content-body {
    padding: 0;
    background: none;
  }
}

@media only screen and (max-width: 640px) {
  .westjapan .content-body-inner {
    width: 100%;
    padding: 12rem 6rem 20rem;
    background: #2A2A60;
    clip-path: polygon(0 0, 100% 0, 100% 87vw, 0 105vw);
  }
}

.westjapan .content-body .en {
  right: -1rem;
  left: auto;
}

.westjapan:after {
  content: '';
  position: absolute;
  top: 50rem;
  left: 0;
  display: block;
  background: url(../img/index/bg_snow.jpg) no-repeat center center;
  background-size: cover;
  clip-path: polygon(0 30rem, 100% 0, 100% 70rem, 0 100rem);
  width: 100%;
  height: 101.5rem;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .westjapan:after {
    top: auto;
    bottom: -18vw;
    clip-path: polygon(0 18vw, 100% 0, 100% 62vw, 0 80vw);
    height: 80vw;
  }
}

.westjapan .deco {
  bottom: 12rem;
  right: 0;
  transform: translate(3rem, 0);
  transition: all .75s;
  opacity: 0;
}

@media only screen and (max-width: 640px) {
  .westjapan .deco {
    top: -11rem;
    bottom: auto;
    left: 2rem;
    right: auto;
    width: 90%;
  }
}

.westjapan .isPlay+.deco {
  transition-delay: .75s;
  opacity: 1;
  transform: translate(0, 0);
}

.spring .content-item {
  background: url(../img/index/bg_spring.jpg) no-repeat center center;
  background-size: cover;
  clip-path: polygon(0 0, 100% 30rem, 100% 100rem, 0 70rem);
  height: 100rem;
}

@media only screen and (max-width: 640px) {
  .spring .content-item {
    background: url(../img/index/bg_spring_sp.jpg) no-repeat center bottom;
    background-size: 100% auto;
    clip-path: polygon(0 0, 100% 18vw, 100% 205vw, 0 187vw);
    height: 205vw;
  }
}

.spring .content-body {
  padding-left: 9.5rem;
  background: rgba(238, 170, 37, 0.84);
}

@media only screen and (max-width: 640px) {
  .spring .content-body {
    padding: 0;
    background: none;
  }
}

@media only screen and (max-width: 640px) {
  .spring .content-body-inner {
    width: 100%;
    padding: 10rem 2rem 20rem 9.5rem;
    background: rgb(238, 170, 37, 1.00);
    clip-path: polygon(0 0, 100% 0, 100% 105vw, 0 87vw);
  }
}

.spring:after {
  content: '';
  position: absolute;
  top: 30rem;
  left: 0;
  display: block;
  background: url(../img/index/bg_snow.jpg) no-repeat center bottom;
  background-size: cover;
  clip-path: polygon(0 30rem, 100% 0, 100% 70rem, 0 100rem);
  width: 100%;
  height: 101.5rem;
  z-index: 0;
}

@media only screen and (max-width: 640px) {
  .spring:after {
    top: auto;
    bottom: -18vw;
    clip-path: polygon(0 18vw, 100% 0, 100% 62vw, 0 80vw);
    height: 80vw;
  }
}

.spring .deco {
  bottom: 12rem;
  left: 30%;
  transform: translate(-3rem, 0);
  transition: all .75s;
  opacity: 0;
}

@media only screen and (max-width: 640px) {
  .spring .deco {
    top: -8rem;
    bottom: auto;
    left: auto;
    right: 0.5rem;
    width: 40%;
  }
}

.spring .isPlay+.deco {
  transition-delay: .75s;
  opacity: 1;
  transform: translate(0, 0);
}

.sns-index {
  margin-top: 12rem;
}

@media only screen and (max-width: 640px) {
  .sns-index {
    margin-top: 0;
  }
}

.sns-items {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 640px) {
  .sns-items {
    display: block;
  }
}

.sns-item {
  width: 37rem;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .sns-item {
    margin-top: 5rem;
    width: 100%;
  }
}

.sns-item h3 {
  margin-bottom: .5em;
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 700;
  font-style: normal;
}

.sns-item figure {
  margin: 0 auto 3rem;
  width: 5rem;
}