@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap');
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, li {
  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, menu, nav, section, summary {
  display: block; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

a,
button {
  text-decoration: none;
  -webkit-transition: opacity .4s ease , color .4s ease , background-color .4s ease;
  transition: opacity .4s ease , color .4s ease , background-color .4s ease;
  color: #221815; }
  a:hover,
  button:hover {
    opacity: .5; }
    @media (min-width: 1px) and (max-width: 1050px) {
      a:hover,
      button:hover {
        opacity: 1; } }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

img {
  max-width: 100%;
  height: auto; }
  @media screen and (max-width: 812px) {
    img {
      width: 100%; } }

table {
  width: 100%; }

input[type="text"],
input[type="email"],
textarea {
  -webkit-appearance: none;
  border: none;
  font-family: inherit; }

input[type="text"]:focus,
input[type="email"]:focus {
  outline: 0; }

::-webkit-input-placeholder {
  color: #cccccc; }

:-ms-input-placeholder {
  color: #cccccc; }

::-ms-input-placeholder {
  color: #cccccc; }

::placeholder {
  color: #cccccc; }

/* IE */
:-ms-input-placeholder {
  color: #cccccc; }

/* Edge */
::-ms-input-placeholder {
  color: #cccccc; }

/* ---------------------------------------
  html , body
-----------------------------------------*/
html {
  font-size: 62.5%;
  font-family: 'Noto Sans JP', sans-serif; }

body {
  -webkit-text-size-adjust: 100%;
  overflow-x: auto;
  overflow-y: auto;
  color: #000;
  position: relative; }
  @media screen and (min-width: 813px) {
    body {
      min-width: 1000px; } }
  @media screen and (max-width: 812px) {
    body {
      overflow-x: hidden; } }

/* ---------------------------------------
  .wrap
-----------------------------------------*/
.wrap {
  margin: 0 auto; }
  @media screen and (min-width: 813px) {
    .wrap {
      max-width: 980px; } }
  @media screen and (max-width: 812px) {
    .wrap {
      width: 84vw; } }

/* ---------------------------------------
  #mv
-----------------------------------------*/
#mv {
  padding: 118px 0; }
  @media screen and (max-width: 812px) {
    #mv {
      padding: 6.933vw 0 9.333vw; } }
  #mv h1 {
    text-align: center; }

/* ---------------------------------------
  #about
-----------------------------------------*/
#about {
  background-color: #fff9d3;
  padding: 100px 0; }
  @media screen and (max-width: 812px) {
    #about {
      padding: 10.133vw 0; } }
  #about .ttl {
    text-align: center; }
    #about .ttl.ttl1 img {
      width: 335px; }
      @media screen and (max-width: 812px) {
        #about .ttl.ttl1 img {
          width: 35.733vw; } }
    #about .ttl.ttl2 img {
      width: 820px; }
      @media screen and (max-width: 812px) {
        #about .ttl.ttl2 img {
          width: 100%; } }
  #about .txt {
    font-size: 2.2rem;
    line-height: 1.5;
    margin-top: 30px; }
    @media screen and (max-width: 812px) {
      #about .txt {
        font-size: 4vw;
        margin-top: 6.4vw; } }
  #about .img {
    padding: 75px 0 130px;
    text-align: center; }
    @media screen and (max-width: 812px) {
      #about .img {
        padding: 5.733vw 0 10.933vw; } }

/* ---------------------------------------
  #detail1
-----------------------------------------*/
.detailWrapper {
  background: url(../img/bg_detail.png) repeat-y top center;
  background-size: 100% auto;
}

#detail1 {
  padding: 106px 0; }
  @media screen and (min-width: 813px) {
    #detail1 {
      background-size: 100% auto; } }
  @media screen and (max-width: 812px) {
    #detail1 {
      padding: 13.333vw 0; } }
  #detail1 .wrap {
    background-color: #fff;
    border-radius: 30px;
    -webkit-box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25);
            box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25); }

  #detail1 .content {
    padding: 123px 100px 106px; }
    @media screen and (max-width: 812px) {
      #detail1 .content {
        padding: 10.667vw 6.667vw 16vw; } }
  #detail1 .img02 {
    margin-top: 65px; }
    @media screen and (max-width: 812px) {
      #detail1 .img02 {
        margin-top: 6vw; } }
  #detail1 .movie_box {
    margin-top: 75px; }
    @media screen and (max-width: 812px) {
      #detail1 .movie_box {
        margin-top: 8.4vw; } }
    #detail1 .movie_box .ttl {
      text-align: center; }
      #detail1 .movie_box .ttl img {
        width: 175px; }
        @media screen and (max-width: 812px) {
          #detail1 .movie_box .ttl img {
            width: 17.467vw; } }
    #detail1 .movie_box .movie {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      margin-top: 37px; }
      @media screen and (max-width: 812px) {
        #detail1 .movie_box .movie {
          margin-top: 4.933vw; } }
      #detail1 .movie_box .movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important; }
  #detail1 .img03 {
    margin-top: 80px; }
    @media screen and (max-width: 812px) {
      #detail1 .img03 {
        margin-top: 13.333vw; } }
  #detail1 .howto {
    margin-top: 100px; }
    @media screen and (max-width: 812px) {
      #detail1 .howto {
        margin-top: 9.333vw; } }
    #detail1 .howto .ttl {
      text-align: center; }
      #detail1 .howto .ttl img {
        width: 651px; }
        @media screen and (max-width: 812px) {
          #detail1 .howto .ttl img {
            width: 61.867vw; } }
    #detail1 .howto .list {
      margin-top: 47px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (max-width: 812px) {
        #detail1 .howto .list {
          margin-top: 6.4vw; } }
      @media screen and (min-width: 813px) {
        #detail1 .howto .list li:nth-of-type(n+7) {
          margin-top: 13px; } }
      @media screen and (max-width: 812px) {
        #detail1 .howto .list li {
          width: 31%; margin-bottom: 5px; } }
      @media screen and (max-width: 812px) {
        #detail1 .howto .list li:last-child {
          width: 65.5%; } }
  #detail1 .six {
    margin-top: 100px; }
    @media screen and (min-width: 813px) {
      #detail1 .six {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (max-width: 812px) {
      #detail1 .six {
        margin-top: 16.267vw; } }
    @media screen and (min-width: 813px) {
      #detail1 .six .img {
        -webkit-box-flex: 0;
            -ms-flex: none;
                flex: none; } }
    @media screen and (min-width: 813px) {
      #detail1 .six .txt_box {
        margin-left: 35px; } }
    @media screen and (max-width: 812px) {
      #detail1 .six .txt_box .ttl {
        text-align: center;
        margin-top: 7.733vw; } }
    #detail1 .six .txt_box .ttl img {
      width: 339px; }
      @media screen and (max-width: 812px) {
        #detail1 .six .txt_box .ttl img {
          width: 55.2vw; } }
    #detail1 .six .txt_box .txt {
      margin-top: 25px;
      font-size: 2.2rem;
      line-height: 1.5;
      letter-spacing: -1px; }
      @media screen and (max-width: 812px) {
        #detail1 .six .txt_box .txt {
          margin-top: 4.4vw;
          font-size: 4vw; } }
  #detail1 .supervision {
    margin-top: 100px; }
    @media screen and (max-width: 812px) {
      #detail1 .supervision {
        margin-top: 14.133vw; } }
    #detail1 .supervision .ttl {
      margin-top: 35px; }
      @media screen and (max-width: 812px) {
        #detail1 .supervision .ttl {
          text-align: center;
          margin-top: 7.333vw; } }
      #detail1 .supervision .ttl img {
        width: 461px; }
        @media screen and (max-width: 812px) {
          #detail1 .supervision .ttl img {
            width: 43.733vw; } }
    #detail1 .supervision .txt {
      margin-top: 35px;
      font-size: 2.2rem;
      line-height: 1.5; }
      @media screen and (max-width: 812px) {
        #detail1 .supervision .txt {
          margin-top: 7.867vw;
          font-size: 4vw; } }
  #detail1 .image {
    margin-top: 100px;
    text-align: center; }
    @media screen and (max-width: 812px) {
      #detail1 .image {
        margin-top: 4.4vw; } }
    @media screen and (max-width: 812px) {
      #detail1 .image img {
        width: 56.933vw; } }
  #detail1 .buy {
    margin-top: 105px; }
    @media screen and (max-width: 812px) {
      #detail1 .buy {
        margin-top: 10.933vw; } }
    #detail1 .buy .ttl {
      text-align: center; }
      #detail1 .buy .ttl img {
        width: 327px; }
        @media screen and (max-width: 812px) {
          #detail1 .buy .ttl img {
            width: 31.067vw; } }
    #detail1 .buylink__ttl-txt {
      display: none;
    }
    #detail1 .buy .buylink {
      position: static;
      width: auto;
      margin: 0 auto 0;
      font-size: 100%;
    }
    #detail1 .buy .list,
    #detail1 .buy .buylink__list {
      width: 650px;
      margin: 85px auto 0; }
    #detail1 .buy .buylink__list {
      border: none;
    }
    #detail1 .buy .buylink__list li{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: 90px;
        width: 48%;
        max-width: 312px;
        text-align: center;
        background: #f09cb4;
        border-radius: 10px;
        box-sizing: border-box;
    }
    #detail1 .buy .buylink__list .buylink__link {
      border-bottom: none;
    }
    #detail1 .buylink__link-txt{
        font-family: 'Nanum Gothic', sans-serif;
        color: #FFF;
        font-size: 2.6rem;
    }

      @media screen and (min-width: 813px) {
        #detail1 .buy .list,
        #detail1 .buy .buylink__list{
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: justify;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media screen and (max-width: 812px) {
        #detail1 .buy .list,
        #detail1 .buy .buylink__list{
          width: 41.6vw;
          margin: 7.067vw auto 0; }
        #detail1 .buy .buylink__list li{
            height: 12.14vw;
            width: 100%;
            max-width: inherit;
            border-radius: 5px;
        }
        #detail1 .buylink__link-txt{
            font-size: 3.4vw;
            line-height: 1.35;
        }
}
      @media screen and (min-width: 813px) {
        #detail1 .buy .list li:nth-of-type(n+3),
        #detail1 .buy .buylink__list li:nth-of-type(n+3){
          margin-top: 26px; } }
      @media screen and (max-width: 812px) {
        #detail1 .buy .list li:nth-of-type(n+2),
        #detail1 .buy .buylink__list li:nth-of-type(n+2){
          margin-top: 3.467vw; } }

/* ---------------------------------------
  #detail2
-----------------------------------------*/
#detail2 {
  padding: 106px 0; }
  @media screen and (min-width: 813px) {
    #detail2 {
      background-size: 100% auto; } }
  @media screen and (max-width: 812px) {
    #detail2 {
      padding: 13.333vw 0; } }
  #detail2 .wrap {
    background-color: #fff;
    border-radius: 30px;
    -webkit-box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25);
            box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25); }

  #detail2 .content {
    padding: 123px 100px 106px; }
    @media screen and (max-width: 812px) {
      #detail2 .content {
        padding: 10.667vw 6.667vw 16vw; } }
  #detail2 .img02 {
    margin-top: 65px; }
    @media screen and (max-width: 812px) {
      #detail2 .img02 {
        margin-top: 6vw; } }
  #detail2 .movie_box {
    margin-top: 75px; }
    @media screen and (max-width: 812px) {
      #detail2 .movie_box {
        margin-top: 8.4vw; } }
    #detail2 .movie_box .ttl {
      text-align: center; }
      #detail2 .movie_box .ttl img {
        width: 175px; }
        @media screen and (max-width: 812px) {
          #detail2 .movie_box .ttl img {
            width: 17.467vw; } }
    #detail2 .movie_box .movie {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      margin-top: 37px; }
      @media screen and (max-width: 812px) {
        #detail2 .movie_box .movie {
          margin-top: 4.933vw; } }
      #detail2 .movie_box .movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        width: 100% !important;
        height: 100% !important; }
  #detail2 .img03 {
    margin-top: 80px; }
    @media screen and (max-width: 812px) {
      #detail2 .img03 {
        margin-top: 13.333vw; } }
  #detail2 .howto {
    margin-top: 100px; }
    @media screen and (max-width: 812px) {
      #detail2 .howto {
        margin-top: 9.333vw; } }
    #detail2 .howto .ttl {
      text-align: center; }
      #detail2 .howto .ttl img {
        width: 651px; }
        @media screen and (max-width: 812px) {
          #detail2 .howto .ttl img {
            width: 61.867vw; } }
    #detail2 .howto .list {
      margin-top: 47px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (max-width: 812px) {
        #detail2 .howto .list {
          margin-top: 6.4vw; } }
      @media screen and (min-width: 813px) {
        #detail2 .howto .list li:nth-of-type(n+7) {
          margin-top: 13px; } }
      @media screen and (max-width: 812px) {
        #detail2 .howto .list li {
          width: 31%; margin-bottom: 5px; } }
      @media screen and (max-width: 812px) {
        #detail2 .howto .list li:last-child {
          width: 65.5%; } }
  #detail2 .six {
    margin-top: 100px; }
    @media screen and (min-width: 813px) {
      #detail2 .six {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (max-width: 812px) {
      #detail2 .six {
        margin-top: 16.267vw; } }
    @media screen and (min-width: 813px) {
      #detail2 .six .img {
        -webkit-box-flex: 0;
            -ms-flex: none;
                flex: none; } }
    @media screen and (min-width: 813px) {
      #detail2 .six .txt_box {
        margin-left: 35px; } }
    @media screen and (max-width: 812px) {
      #detail2 .six .txt_box .ttl {
        text-align: center;
        margin-top: 7.733vw; } }
    #detail2 .six .txt_box .ttl img {
      width: 339px; }
      @media screen and (max-width: 812px) {
        #detail2 .six .txt_box .ttl img {
          width: 55.2vw; } }
    #detail2 .six .txt_box .txt {
      margin-top: 25px;
      font-size: 2.2rem;
      line-height: 1.5;
      letter-spacing: -1px; }
      @media screen and (max-width: 812px) {
        #detail2 .six .txt_box .txt {
          margin-top: 4.4vw;
          font-size: 4vw; } }
  #detail2 .supervision {
    margin-top: 100px; }
    @media screen and (max-width: 812px) {
      #detail2 .supervision {
        margin-top: 14.133vw; } }
    #detail2 .supervision .ttl {
      margin-top: 35px; }
      @media screen and (max-width: 812px) {
        #detail2 .supervision .ttl {
          text-align: center;
          margin-top: 7.333vw; } }
      #detail2 .supervision .ttl img {
        width: 461px; }
        @media screen and (max-width: 812px) {
          #detail2 .supervision .ttl img {
            width: 43.733vw; } }
    #detail2 .supervision .txt {
      margin-top: 35px;
      font-size: 2.2rem;
      line-height: 1.5; }
      @media screen and (max-width: 812px) {
        #detail2 .supervision .txt {
          margin-top: 7.867vw;
          font-size: 4vw; } }
  #detail2 .image {
    margin-top: 100px;
    text-align: center; }
    @media screen and (max-width: 812px) {
      #detail2 .image {
        margin-top: 4.4vw; } }
    @media screen and (max-width: 812px) {
      #detail2 .image img {
        width: 56.933vw; } }
  #detail2 .buy {
    margin-top: 105px; }
    @media screen and (max-width: 812px) {
      #detail2 .buy {
        margin-top: 10.933vw; } }
    #detail2 .buy .ttl {
      text-align: center; }
      #detail2 .buy .ttl img {
        width: 327px; }
        @media screen and (max-width: 812px) {
          #detail2 .buy .ttl img {
            width: 31.067vw; } }
    #detail2 .buylink__ttl-txt {
      display: none;
    }
    #detail2 .buy .buylink {
      position: static;
      width: auto;
      margin: 0 auto 0;
      font-size: 100%;
    }
    #detail2 .buy .list,
    #detail2 .buy .buylink__list {
      width: 650px;
      margin: 85px auto 0; }
    #detail2 .buy .buylink__list {
      border: none;
    }
    #detail2 .buy .buylink__list li{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        height: 90px;
        width: 48%;
        max-width: 312px;
        text-align: center;
        background: #f09cb4;
        border-radius: 10px;
        box-sizing: border-box;
    }
    #detail2 .buy .buylink__list .buylink__link {
      border-bottom: none;
    }
    #detail2 .buylink__link-txt{
        font-family: 'Nanum Gothic', sans-serif;
        color: #FFF;
        font-size: 2.6rem;
    }

      @media screen and (min-width: 813px) {
        #detail2 .buy .list,
        #detail2 .buy .buylink__list{
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: justify;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media screen and (max-width: 812px) {
        #detail2 .buy .list,
        #detail2 .buy .buylink__list{
          width: 41.6vw;
          margin: 7.067vw auto 0; }
        #detail2 .buy .buylink__list li{
            height: 12.14vw;
            width: 100%;
            max-width: inherit;
            border-radius: 5px;
        }
        #detail2 .buylink__link-txt{
            font-size: 3.4vw;
            line-height: 1.35;
        }
}
      @media screen and (min-width: 813px) {
        #detail2 .buy .list li:nth-of-type(n+3),
        #detail2 .buy .buylink__list li:nth-of-type(n+3){
          margin-top: 26px; } }
      @media screen and (max-width: 812px) {
        #detail2 .buy .list li:nth-of-type(n+2),
        #detail2 .buy .buylink__list li:nth-of-type(n+2){
          margin-top: 3.467vw; } }

/* ---------------------------------------
  #lineup
-----------------------------------------*/
#lineup {
  background-color: rgba(255, 235, 115, 0.5); }
  #lineup .sec_ttl {
    background-color: #ffeb73;
    padding: 50px 0;
    text-align: center; }
    @media screen and (max-width: 812px) {
      #lineup .sec_ttl {
        padding: 7.333vw 0; } }
    #lineup .sec_ttl img {
      width: 499px; }
      @media screen and (max-width: 812px) {
        #lineup .sec_ttl img {
          width: 66.533vw; } }
  #lineup .wrap {
    padding: 116px 0 120px; }
    @media screen and (max-width: 812px) {
      #lineup .wrap {
        padding: 10.667vw 0 16.667vw; } }
  #lineup section {
    border-radius: 30px;
    background-color: #fff;
    -webkit-box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25);
            box-shadow: 2px 2px 8px 1px rgba(0, 0, 0, 0.25); }
    #lineup section:nth-of-type(n+2) {
      margin-top: 80px; }
      @media screen and (max-width: 812px) {
        #lineup section:nth-of-type(n+2) {
          margin-top: 6.667vw; } }
    #lineup section .content {
      padding: 60px 90px 55px 90px; }
      @media screen and (min-width: 813px) {
        #lineup section .content {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; } }
      @media screen and (max-width: 812px) {
        #lineup section .content {
          padding: 7.467vw 6.667vw 8vw; } }
      @media screen and (min-width: 813px) {
        #lineup section .content .img {
          -webkit-box-flex: 0;
              -ms-flex: none;
                  flex: none; } }
      @media screen and (min-width: 813px) {
        #lineup section .content .txt_box {
          margin-left: 33px; } }
      @media screen and (max-width: 812px) {
        #lineup section .content .txt_box .ttl {
          margin-top: 5.333vw; } }
      #lineup section .content .movie_btn {
        width: 100%; }
      #lineup section .content .movie_btn a {
        display: block;
        padding: 19px 0;
        border-radius: 30px;
        background: #FF9A3E;
        text-align: center; }
        @media screen and (max-width: 812px) {
          #lineup section .content .movie_btn a {
            padding: 2.9vw 0; } }
        @media screen and (max-width: 812px) {
          #lineup section .content .movie_btn a img {
            width: 44vw; } }
      #lineup section .content .txt_box .txt {
        margin-top: 35px;
        font-size: 2.2rem;
        line-height: 1.5;
        letter-spacing: -1px; }
        @media screen and (max-width: 812px) {
          #lineup section .content .txt_box .txt {
            font-size: 4vw;
            margin-top: 3.467vw; } }
    #lineup section .content + .content {
      padding: 0 90px 55px 90px; }
      @media screen and (max-width: 812px) {
        #lineup section .content + .content {
          padding: 0 6.667vw 8vw; } }
    #lineup section .btn a {
      background-color: #f09cb4;
      padding: 23px 0;
      text-align: center;
      border-bottom-left-radius: 30px;
      border-bottom-right-radius: 30px;
      display: block; }
      @media screen and (max-width: 812px) {
        #lineup section .btn a {
          padding: 3.067vw 0 4vw; } }
      #lineup section .btn a img {
        width: 283px; }
        @media screen and (max-width: 812px) {
          #lineup section .btn a img {
            width: 37.733vw; } }
    #lineup section.sec01 .content .txt_box .ttl img {
      width: 300px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec01 .content .txt_box .ttl img {
          width: 68vw; } }
    #lineup section.sec02 .content .txt_box .ttl img {
      width: 283px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec02 .content .txt_box .ttl img {
          width: 65.067vw; } }
    #lineup section.sec03 .content .txt_box .ttl img {
      width: 347px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec03 .content .txt_box .ttl img {
          width: 55.2vw; } }
    #lineup section.sec04 .content .txt_box .ttl img {
      width: 352px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec04 .content .txt_box .ttl img {
          width: 68.133vw; } }
    #lineup section.sec05 .content .txt_box .ttl img {
      width: 348px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec05 .content .txt_box .ttl img {
          width: 53.867vw; } }
    #lineup section.sec06 .content .txt_box .ttl img {
      width: 338px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec06 .content .txt_box .ttl img {
          width: 52.533vw; } }
    #lineup section.sec07 .content .txt_box .ttl img {
      width: 334px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec07 .content .txt_box .ttl img {
          width: 52.133vw; } }
    #lineup section.sec08 .content .txt_box .ttl img {
      width: 353px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec08 .content .txt_box .ttl img {
          width: 54.667vw; } }
    #lineup section.sec09 .content .txt_box .ttl img {
      width: 308px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec09 .content .txt_box .ttl img {
          width: 47.2vw; } }
    #lineup section.sec10 .content .txt_box .ttl img {
      width: 276px; }
      @media screen and (max-width: 812px) {
        #lineup section.sec10 .content .txt_box .ttl img {
          width: 66.667vw; } }

/* ---------------------------------------
  #copyright
-----------------------------------------*/
#copyright {
  padding: 82px 0 112px;
  font-size: 2.2rem; }
  @media screen and (max-width: 812px) {
    #copyright {
      padding: 10.933vw 0 26.667vw;
      font-size: 4vw; } }

/* ---------------------------------------
  .floating_btn
-----------------------------------------*/
.floating_btn {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }
@media screen and (max-width: 812px) {
  .floating_btn {
    width: 26vw;
    right: 0;
    bottom: 1rem; } }
.floating_btn.scrolled {
  opacity: 1;
  pointer-events: auto; }
/* ---------------------------------------
  表示・非表示処理
-----------------------------------------*/
.sp {
  display: none; }
  @media screen and (max-width: 812px) {
    .sp {
      display: block; } }

@media screen and (max-width: 812px) {
  .pc {
    display: none; } }


/* 2024.04.11 add */
/* ---------------------------------------
  flex 
-----------------------------------------*/
.flex {
  display: flex; }

.flex_pconly {
  display: flex;
  align-items: center;
}
  @media screen and (max-width: 812px) {
    .flex_pconly {
      display: block;
      text-align: center; } }
      
.justify_center {
  justify-content: center;
}

/* ---------------------------------------
  logo
-----------------------------------------*/
.logo {
  max-width: 200px !important;
  margin: 10px 20px;
}
/* add end */