@charset "UTF-8";
/*リセット
--------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/*フォント
---------------------------------------------*/
/*メディアクエリー
---------------------------------------------*/
/*変数
---------------------------------------------*/
/* コンテンツ
---------------------------------------------*/
html {
  font-family: 'Overpass', 'YuGothic','游ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック', arial, helvetica, sans-serif;
  font-weight: 350;
  width: 100%;
  box-sizing: border-box; }

body {
  font-family: 'Overpass', 'YuGothic','游ゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック', arial, helvetica, sans-serif;
  font-weight: 350;
  width: 100%;
  height: 100%;
  letter-spacing: 1px; }
  @media screen and (min-width: 970px) {
    body {
      font-size: 12px;
      line-height: 20px; } }
  @media screen and (max-width: 970px) {
    body {
      font-size: 11px;
      line-height: 16px; } }

a {
  text-decoration: none;
  color: #000; }

img {
  width: 100%;
  height: auto;
  display: block; }

@media screen and (min-width: 970px) {
  .pc_none {
    display: none; } }
@media screen and (max-width: 970px) {
  .pc_none {
    display: block; } }

@media screen and (min-width: 970px) {
  .sp_none {
    display: block; } }
@media screen and (max-width: 970px) {
  .sp_none {
    display: none; } }

.inviewLeft {
  opacity: 0;
  transform: translate(-15px, 0);
  -webkit-transform: translate(-15px, 0);
  transition: 0.8s;
  transition-delay: 0.5s; }

.left {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

.inviewRight {
  opacity: 0;
  transform: translate(15px, 0);
  -webkit-transform: translate(15px, 0);
  transition: 0.8s;
  transition-delay: 0.5s; }

.right {
  opacity: 1.0;
  transform: translateX(0);
  -webkit-transform: translateX(0); }

.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 15px);
  -webkit-transform: translate(0, 15px);
  transition: 0.8s;
  transition-delay: 0.5s; }

.fadeInUp {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0); }

#wrap {
  border: 1px solid #000; }
  @media screen and (min-width: 970px) {
    #wrap {
      border-radius: 50px;
      margin: 30px; } }
  @media screen and (max-width: 970px) {
    #wrap {
      border-radius: 30px;
      margin: 13px; } }

h1 {
  text-align: center;
  font-family: 'Text Me One', sans-serif; }
  @media screen and (min-width: 970px) {
    h1 {
      margin: 40px 0;
      font-size: 27px; } }
  @media screen and (max-width: 970px) {
    h1 {
      margin: 25px 0;
      font-size: 22px; } }

@-webkit-keyframes movie {
  to {
    background-position: bottom; } }
@keyframes movie {
  to {
    background-position: bottom; } }
@-webkit-keyframes movie02 {
  to {
    background-position: right; } }
@keyframes movie02 {
  to {
    background-position: right; } }
@media screen and (min-width: 970px) {
  #film {
    background: url("../images/191204/film_pc.jpg") no-repeat;
    border-left: none;
    border-right: none;
    background-size: cover;
    background-position: left;
    width: 100%;
    height: 500px;
    -webkit-animation: movie02 22s linear -2s infinite alternate;
    animation: movie02 22s linear -2s infinite alternate; } }
@media screen and (max-width: 970px) {
  #film {
    background: url("../images/191204/film_sp.jpg") no-repeat;
    border-left: none;
    border-right: none;
    background-size: cover;
    background-position: left;
    width: 100%;
    height: 50vh;
    -webkit-animation: movie02 8s linear -2s infinite alternate;
    animation: movie02 8s linear -2s infinite alternate; } }
#film::before {
  display: block;
  content: "";
  padding-bottom: calc(500 / 640 * 100%); }

.title {
  text-align: center; }
  .title li {
    display: inline-block;
    border-left: 1px solid #000; }
    @media screen and (min-width: 970px) {
      .title li {
        width: 280px;
        margin: 40px 0; } }
    @media screen and (max-width: 970px) {
      .title li {
        width: 130px;
        margin: 15px auto 20px; } }
  @media screen and (min-width: 970px) {
    .title span {
      font-size: 15px;
      font-weight: bold; } }

.title li:last-child {
  border-right: 1px solid #000; }

@media screen and (max-width: 970px) {
  .sp_title {
    font-weight: bold;
    text-align: center;
    font-size: 15px;
    padding-top: 25px; } }

@media screen and (min-width: 970px) {
  #read p {
    text-align: center;
    padding-bottom: 40px; } }
@media screen and (max-width: 970px) {
  #read p {
    padding-bottom: 20px;
    width: 90%;
    margin: 0 auto; } }
#read a {
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 970px) {
    #read a {
      width: 2%; } }
  @media screen and (max-width: 970px) {
    #read a {
      width: 6%; } }

#box {
  margin: 0 auto; }
  @media screen and (min-width: 970px) {
    #box {
      width: 80%; } }
  @media screen and (max-width: 970px) {
    #box {
      width: 90%; } }

h2 {
  text-align: center;
  font-weight: bold;
  position: relative;
  border-bottom: 1px solid #000; }
  @media screen and (min-width: 970px) {
    h2 {
      font-size: 17px;
      padding-bottom: 10px; } }
  @media screen and (max-width: 970px) {
    h2 {
      padding-bottom: 8px;
      font-size: 13px; } }

h2 span {
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px; }

h2 span.line {
  display: inline-block;
  background: -webkit-linear-gradient(rgba(255, 255, 255, 0) 70%, #fff600 0);
  background: linear-gradient(rgba(255, 255, 255, 0) 70%, #fff600 0);
  background-size: 0 100%;
  background-repeat: no-repeat;
  -webkit-animation: drawTheLine 0.8s linear 1 forwards;
  animation: drawTheLine 0.8s linear 1 forwards; }

@-webkit-keyframes drawTheLine {
  from {
    background-size: 0 100%; }
  100% {
    background-size: 100% 100%; } }
@keyframes drawTheLine {
  from {
    background-size: 0 100%;
    -ms-background-size: 0 100%; }
  100% {
    background-size: 100% 100%;
    -ms-background-size: 100% 100%; } }
@media screen and (min-width: 970px) {
  .section {
    margin-bottom: 120px; } }
@media screen and (max-width: 970px) {
  .section {
    margin-bottom: 70px; } }
@media screen and (min-width: 970px) {
  .section .section_main {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 30px 0; } }
@media screen and (max-width: 970px) {
  .section .section_main {
    padding: 20px 0; } }
.section .section_main li {
  position: relative; }
  @media screen and (min-width: 970px) {
    .section .section_main li {
      width: 49%; } }
@media screen and (max-width: 970px) {
  .section .section_main li:nth-child(1) {
    margin-bottom: 20px; } }
.section .check {
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
  border-radius: 20px;
  text-align: center; }
  @media screen and (min-width: 970px) {
    .section .check {
      width: 90px;
      padding: 2px 0;
      font-size: 10px; } }
  @media screen and (max-width: 970px) {
    .section .check {
      width: 100px;
      padding: 5px 0;
      font-size: 10px; } }
.section .check:hover {
  color: #efcd10;
  border: 1px solid #efcd10; }
.section .check_main {
  position: absolute;
  bottom: 3%;
  left: 5%; }
.section .section_text {
  border-top: 1px solid #000; }
  @media screen and (min-width: 970px) {
    .section .section_text {
      text-align: center;
      padding-top: 15px; } }
  @media screen and (max-width: 970px) {
    .section .section_text {
      padding-top: 10px; } }
.section .section_other {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (min-width: 970px) {
    .section .section_other {
      padding-top: 50px; } }
  @media screen and (max-width: 970px) {
    .section .section_other {
      padding-top: 20px; } }
  @media screen and (min-width: 970px) {
    .section .section_other li {
      width: 23.5%; } }
  @media screen and (max-width: 970px) {
    .section .section_other li {
      width: 48.5%;
      padding-bottom: 30px; } }
  @media screen and (min-width: 970px) {
    .section .section_other .check_other {
      margin-top: 15px; } }
  @media screen and (max-width: 970px) {
    .section .section_other .check_other {
      margin-top: 10px; } }

details {
  transition: 0.5s; }

summary {
  outline: none;
  text-align: center;
  border: 1px solid #000;
  border-radius: 50%;
  width: 55px;
  height: 55px;
  margin: 20px auto 0; }

summary::-webkit-details-marker {
  background: url("../images/more.svg") no-repeat center;
  color: transparent;
  background-size: contain;
  background-position: 4px 23.5px;
  width: 32px;
  height: 32px; }

#keyword ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  @media screen and (min-width: 970px) {
    #keyword ul {
      justify-content: center;
      margin-top: 15px; } }
  @media screen and (max-width: 970px) {
    #keyword ul {
      justify-content: space-between;
      margin-top: 5px; } }
#keyword li {
  text-align: center; }
  @media screen and (min-width: 970px) {
    #keyword li {
      width: 200px;
      margin: 15px auto 0; } }
  @media screen and (max-width: 970px) {
    #keyword li {
      margin: 15px auto 0;
      width: 140px; } }
#keyword a {
  border: 1px solid #000;
  display: block;
  border-radius: 20px;
  padding: 7px 0; }
#keyword a:hover {
  color: #efcd10;
  border: 1px solid #efcd10; }

@media screen and (min-width: 970px) {
  footer {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding-bottom: 50px; } }
@media screen and (max-width: 970px) {
  footer {
    padding-bottom: 20px;
    text-align: center; } }
footer a:hover {
  color: #efcd10; }
footer p {
  font-size: 10px; }
  @media screen and (max-width: 970px) {
    footer p {
      padding-top: 30px; } }

#pagetop {
  position: fixed;
  bottom: 5%;
  right: 5%; }
  @media screen and (min-width: 970px) {
    #pagetop {
      width: 25px;
      height: 25px; } }
  @media screen and (max-width: 970px) {
    #pagetop {
      width: 18px;
      height: 18px; } }

/* ANIMATION
--------------------------------------*/

/*# sourceMappingURL=style.css.map */
