body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  background-color: #fe7527;
}

#main {
  background-color: #fe7527;
  padding-bottom: 15px;
}
#main a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  #main {
    margin-top: 12.2vw;
  }
}
#wrapper {
  min-width: inherit;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: initial;
  }
  .pc {
    display: none;
  }
}
/* mainvisual
----------------------------------------------------- */
#mainvisual .mainvisual__inner {
  position: relative;
  max-width: 1600px;
  width: 96.5%;
  margin: 0 auto;
}
#mainvisual .mainvisual__scroll {
  display: inline-block;
  position: absolute;
  right: 4.2%;
  bottom: -12px;
  z-index: 10;
  animation: barAnime 1.8s infinite;
  width: 14px;
  height: 170px;
}

@media screen and (min-width: 769px) and (max-width: 1366px) {
  #mainvisual {
    font-size: 1.32vw;
  }
  #mainvisual .mainvisual__scroll {
    right: 4.2%;
    bottom: 0vw;
    width: 1vw;
    height: 11vw;
  }
}
@media screen and (max-width: 768px) {
  #mainvisual {
    font-size: 3vw;
    background-color: #fe7527 !important;
  }
  #mainvisual .mainvisual__scroll {
    left: auto;
    right: 4.6%;
    bottom: 25vw;
    width: 2.5vw;
    height: 16vw;
  }
}
@-webkit-keyframes barAnime {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes barAnime {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(0);
  }
}
/* lead
----------------------------------------------------- */
#lead {
  padding: 4em 0;
}
#lead > * > div {
  margin-left: -0.8em;
}
#lead .lead__img {
  width: 62%;
  margin: 0 auto 3.4em;
}
#lead .lead__title {
  width: 26.5%;
  margin: 0 auto 2.3em;
}
#lead p {
  font-size: 0.83em;
  color: #fff;
  width: 50%;
  line-height: 2;
  margin: 0 auto 5.5em;
  text-align: left;
  padding-left: 8.5em;
}

@media screen and (min-width: 769px) and (max-width: 1170px) {
  #lead {
    font-size: 1.54vw;
  }
}
@media screen and (max-width: 768px) {
  #lead {
    font-size: 4.3vw;
    padding: 3em 0;
  }
  #lead > * > div {
    margin-left: 0;
  }
  #lead .lead__img {
    width: 90%;
    margin: 0 auto 3.6em;
  }
  #lead .lead__title {
    width: 70%;
    margin: 0 auto 2em;
  }
  #lead p {
    font-size: 0.83em;
    width: 70%;
    line-height: 2.1;
    margin: 0 auto 3.7em;
    padding-left: 0em;
  }
}
/* support
----------------------------------------------------- */
#support {
  padding: 1.5em 0 6em;
}
#support .support__title {
  text-align: center;
  border-bottom: 0.08em solid #fff;
  padding-bottom: 2.3em;
  margin-bottom: 2.3em;
}
#support .support__title img {
  width: 25.5%;
  margin: 0 auto;
}
#support .support__block {
  display: flex;
  justify-content: space-between;
  gap: 0 0.5em;
  text-align: center;
}
#support .support__block .support__blockitem {
  flex: 1;
  padding: 0.5em 0.5em 1em;
  color: #fff;
}
#support .support__block .support__blockitem.support__blockitem--type1 {
  background-color: #d9005c;
}
#support .support__block .support__blockitem.support__blockitem--type2 {
  background-color: #0d3385;
}
#support .support__block .support__blockitem.support__blockitem--type3 {
  background-color: #231815;
}
#support .support__block .support__blockitem:hover img, #support .support__block .support__blockitem:hover h4, #support .support__block .support__blockitem:hover p {
  opacity: 0.7;
}
#support .support__block .support__img {
  transition: all ease 0.2s;
}
#support .support__block .support__subtitle {
  font-size: 0.83em;
  line-height: 1.8;
  margin: 1.3em 0 2.4em;
  transition: all ease 0.2s;
}
#support .support__block p {
  font-size: 0.83em;
  line-height: 1.733;
  margin-bottom: 3.7em;
  transition: all ease 0.2s;
}
#support .support__block .support__icon {
  margin: 0 auto;
  width: 1.85em;
  transition: all ease 0.2s;
}

@media screen and (min-width: 769px) and (max-width: 1170px) {
  #support {
    font-size: 1.54vw;
  }
}
@media screen and (max-width: 768px) {
  #support {
    font-size: 4.3vw;
    padding: 0.8em 0 1.5em;
  }
  #support .container {
    width: 100%;
  }
  #support .support__title {
    border-bottom: 0.1em solid #fff;
    padding-bottom: 1em;
    width: 94%;
    margin: 0 auto 3em;
  }
  #support .support__title img {
    width: 66%;
  }
  #support .support__block {
    gap: 0 0.5em;
    padding-bottom: 0.8em;
  }
  #support .support__block .support__blockitem {
    padding: 0.3em 0.3em 0.7em;
    margin: 0 0.35em;
  }
  #support .support__block .support__subtitle {
    font-size: 1em;
    line-height: 1.6;
    margin: 1.3em 0 1.3em;
  }
  #support .support__block p {
    font-size: 0.67em;
    line-height: 1.733;
    margin-bottom: 2.6em;
  }
  #support .support__block .support__icon {
    margin: 0 auto;
    width: 1.6em;
  }
}
/* movie
----------------------------------------------------- */
#movie {
  padding: 1.5em 0 2.5em;
}
#movie .movie__title {
  text-align: center;
  border-bottom: 0.08em solid #fff;
  padding-bottom: 1.6em;
  margin-bottom: 2.3em;
}
#movie .movie__title img {
  width: 19%;
  margin: 0 auto;
}
#movie .movie__block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.7em 1em;
  padding-bottom: 0.3em;
}
#movie .movie__block .movie__blockitem {
  flex-basis: 49.1%;
}
#movie .movie__block iframe {
  width: 100%;
  height: 17em;
}

@media screen and (min-width: 769px) and (max-width: 1170px) {
  #movie {
    font-size: 1.54vw;
  }
}
@media screen and (max-width: 768px) {
  #movie {
    font-size: 4.3vw;
    padding: 1.5em 0 2em;
  }
  #movie .container:nth-of-type(2) {
    width: 100%;
  }
  #movie .movie__title {
    text-align: center;
    border-bottom: 0.08em solid #fff;
    padding-bottom: 1.6em;
    margin-bottom: 1.4em;
  }
  #movie .movie__title img {
    width: 50%;
    margin: 0 auto;
  }
  #movie .movie__block {
    display: flex;
    justify-content: space-between;
    gap: 0 1em;
    display: block;
  }
  #movie .movie__block .movie__blockitem {
    flex: 1;
    margin: 0 0.35em;
  }
  #movie .movie__block iframe {
    width: 100%;
    height: 10em;
  }
}
/* link
----------------------------------------------------- */
#link {
  padding: 1.5em 0 6.5em;
}
#link .link__title {
  text-align: center;
  border-bottom: 0.08em solid #fff;
  padding-bottom: 1.6em;
  margin-bottom: 2.3em;
}
#link .link__title img {
  width: 10%;
  margin: 0 auto;
}
#link .link__block {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1em 1em;
  padding-bottom: 0.3em;
}
#link .link__block > div {
  flex-basis: 49.1%;
}

@media screen and (min-width: 769px) and (max-width: 1170px) {
  #link {
    font-size: 1.54vw;
  }
}
@media screen and (max-width: 768px) {
  #link {
    font-size: 4.3vw;
    padding: 1.5em 0 5.8em;
  }
  #link .link__title {
    text-align: center;
    border-bottom: 0.08em solid #fff;
    padding-bottom: 1.6em;
    margin-bottom: 1.4em;
  }
  #link .link__title img {
    width: 25%;
    margin: 0 auto;
  }
  #link .link__block {
    flex-direction: column;
    gap: 1em 0;
  }
}
/* slick
----------------------------------------------------- */
.slick-arrow:before {
  content: "" !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.slick-next:before {
  background: url(../images/top/support_icon2.png) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.slick-prev:before {
  background: url(../images/top/support_icon1.png) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

.slick-arrow {
  font-size: 15px !important;
  z-index: 2 !important;
  width: 1.6em !important;
  height: 1.6em !important;
}

.slick-next {
  top: inherit !important;
  bottom: -2.5em !important;
  right: 8em !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
}
.slick-next::before {
  margin-left: 65px !important;
}

.slick-prev {
  top: inherit !important;
  bottom: -2.55em !important;
  left: 8em !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
}
.slick-prev::before {
  margin-left: -65px !important;
}

.slick-dots li button:before {
  font-size: 23px !important;
  color: #fff !important;
  opacity: 1 !important;
  z-index: 10;
}

.slick-dots li.slick-active button:after {
  content: "" !important;
  background-color: #222 !important;
  border-radius: 50% !important;
  width: 23px !important;
  height: 23px !important;
  position: absolute !important;
  top: -2px !important;
  left: 0px !important;
  z-index: 10;
}