@charset "UTF-8";
.keyvisual {
  position: relative;
  width: 100%;
  background-color: #fff;
  padding: 5.2rem 0 0 0;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .keyvisual {
      width: 120rem;
      padding: 3.5rem 0 0 0; } }

.keyvisual--logo {
  width: 36.1rem;
  margin: 0 auto 0; }
  @media only screen and (min-width: 768px) {
    .keyvisual--logo {
      width: 37.6rem; } }

.keyvisual--catch {
  width: 70.8rem;
  margin: 1.5rem auto 0; }
  @media only screen and (min-width: 768px) {
    .keyvisual--catch {
      width: 84.6rem;
      margin: 1.5rem auto 0; } }

.keyvisual--title--wrap {
  position: relative;
  width: 65.4rem;
  height: 36.1rem;
  margin: 2.5rem auto 0 6rem; }
  @media only screen and (min-width: 768px) {
    .keyvisual--title--wrap {
      width: 118.1rem;
      height: 37rem;
      margin: 1.1rem auto 0 0.9rem; } }
  .keyvisual--title--wrap .keyvisual--title {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0; }
  .keyvisual--title--wrap .keyvisual--title--nyuzarashi {
    position: absolute;
    width: 6.2rem;
    top: 18.5rem;
    left: 12.7rem;
    transition: top 0.2s ease-out 1s; }
    @media only screen and (min-width: 768px) {
      .keyvisual--title--wrap .keyvisual--title--nyuzarashi {
        width: 6.6rem;
        top: 21.2rem;
        left: 13.6rem; } }
    .keyvisual--title--wrap .keyvisual--title--nyuzarashi.active {
      top: 13.6rem; }
      @media only screen and (min-width: 768px) {
        .keyvisual--title--wrap .keyvisual--title--nyuzarashi.active {
          top: 15.9rem; } }
  .keyvisual--title--wrap .keyvisual--title--kita {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0; }
  .keyvisual--title--wrap .kv_shinkansen {
    overflow: hidden;
    position: absolute;
    width: 65.5rem;
    right: 0.3rem;
    bottom: -10.2rem; }
    @media only screen and (min-width: 768px) {
      .keyvisual--title--wrap .kv_shinkansen {
        width: 72.3rem;
        right: 0.5rem;
        bottom: -1.9rem; } }
    .keyvisual--title--wrap .kv_shinkansen img {
      transform: translateX(-100%);
      transition: transform 0.4s ease-out 0.25s; }
    .keyvisual--title--wrap .kv_shinkansen.active img {
      transform: translateX(0); }
  .keyvisual--title--wrap .kv_shinkansen_catch {
    position: absolute;
    width: 21.7rem;
    right: 2.6rem;
    bottom: -11.6rem;
    opacity: 0;
    transition: opacity 0.2s ease 1s; }
    @media only screen and (min-width: 768px) {
      .keyvisual--title--wrap .kv_shinkansen_catch {
        width: 18.7rem;
        right: 4.9rem;
        bottom: -2.7rem; } }
    .keyvisual--title--wrap .kv_shinkansen_catch.active {
      opacity: 1; }

.kv_carousel_wrap {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  margin: 13.3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .kv_carousel_wrap {
      margin: 4.7rem auto 0; } }

.kv_carousel {
  display: flex;
  flex-wrap: nowrap; }
  .kv_carousel li {
    width: 106rem;
    height: 27.8rem; }
    @media only screen and (min-width: 768px) {
      .kv_carousel li {
        width: 206.5rem;
        height: 17.1rem; } }
    .kv_carousel li img {
      height: 100%;
      width: auto; }

.lead {
  width: 58.3rem;
  background-color: #fff;
  padding: 0 0 0;
  margin: 11.7rem auto 0;
  border: solid 0.3rem #009fb9;
  filter: drop-shadow(0.8rem 0.8rem 0 #009fb9); }
  @media only screen and (min-width: 768px) {
    .lead {
      width: 85.3rem;
      padding: 0 0 0;
      margin: 13.6rem auto 0; } }

.navi {
  width: 100%;
  padding: 7.8rem 0 5rem; }
  @media only screen and (min-width: 768px) {
    .navi {
      padding: 7rem 0 10.5rem; } }

.navi--wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 56rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .navi--wrap {
      justify-content: space-between;
      flex-wrap: nowrap;
      width: 80rem; } }
  .navi--wrap li {
    width: 25.5rem;
    margin-bottom: 4rem; }
    @media only screen and (min-width: 768px) {
      .navi--wrap li {
        width: 24.2rem;
        margin: 0; } }
    .navi--wrap li:first-child {
      margin-right: 5rem; }
      @media only screen and (min-width: 768px) {
        .navi--wrap li:first-child {
          margin-right: 0; } }

.intro {
  width: 100%;
  background-color: #00b4b9;
  background-image: url("../img/bg_intro_shinkansen.png");
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 66.2rem auto;
  padding: 11.5rem 0 23.6rem; }
  @media only screen and (min-width: 768px) {
    .intro {
      background-image: url("../img/bg_intro_shinkansen.png"), url("../img/bg_intro_mountain.png");
      background-repeat: no-repeat, no-repeat;
      background-position: bottom left,bottom center;
      background-size: 94rem auto,200rem auto;
      padding: 15.2rem 0 36.5rem; } }

.intro--inner {
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .intro--inner {
      margin: 0 auto; } }
  @media only screen and (min-width: 1200px) {
    .intro--inner {
      width: 120rem; } }

.intro--inner--catch {
  width: 66rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .intro--inner--catch {
      width: 115rem; } }

.intro--inner--title {
  width: 49.9rem;
  margin: 4rem auto 0; }
  @media only screen and (min-width: 768px) {
    .intro--inner--title {
      width: 62.4rem;
      margin: 5.4rem auto 0; } }

.intro--inner--ph {
  width: 65rem;
  margin: 6.8rem auto 0;
  filter: drop-shadow(1.2rem 1.2rem 0 #00788c); }
  @media only screen and (min-width: 768px) {
    .intro--inner--ph {
      width: 98.6rem;
      margin: 7.2rem auto 0; } }

.intro--inner--text {
  width: 58.8rem;
  margin: 8.3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .intro--inner--text {
      width: 100.6rem;
      margin: 9.5rem auto 0; } }

.intro--inner--bt_detail {
  width: 38rem;
  margin: 7rem auto 0;
  cursor: pointer;
  transform: scale(1);
  transition: transform 0.3s ease;
  /* スムーズに拡大 */ }
  @media only screen and (min-width: 768px) {
    .intro--inner--bt_detail {
      width: 38rem;
      margin: 7.8rem auto 0; } }
  .intro--inner--bt_detail:hover {
    transform: scale(1.05);
    /* 拡大 */ }

.intro--inner--bt_seiten {
  width: 59.5rem;
  margin: 12.6rem auto 0;
  transform: scale(1);
  transition: transform 0.3s ease;
  /* スムーズに拡大 */ }
  @media only screen and (min-width: 768px) {
    .intro--inner--bt_seiten {
      width: 85rem;
      margin: 16.6rem auto 0; } }
  .intro--inner--bt_seiten:hover {
    transform: scale(1.05);
    /* 拡大 */ }

.kitaca {
  background-image: url("../img/bg_kitaca_confetti_sp.svg"), url("../img/bg_kitaca_sp.png");
  background-position: top center, top center;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat,repeat;
  width: 100%;
  padding: 10.7rem 0 16.5rem; }
  @media only screen and (min-width: 768px) {
    .kitaca {
      background-image: url("../img/bg_kitaca_confetti_pc.svg"), url("../img/bg_kitaca_pc.png");
      background-repeat: no-repeat, repeat;
      background-size: 200rem auto, 5rem 5rem;
      padding: 18.7rem 0 17rem; } }

.kitaca--inner {
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .kitaca--inner {
      width: 120rem;
      margin: 0 auto; } }

.kitaca--inner--title {
  width: 68.1rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .kitaca--inner--title {
      width: 106.6rem; } }

.kitaca--prod {
  width: 100%;
  margin: 7.8rem auto 0; }
  @media only screen and (min-width: 768px) {
    .kitaca--prod {
      width: 114.6rem;
      margin: -1rem auto 0;
      transform: translateX(5rem); } }

.kitaca--inner--note {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  margin: 18rem auto 0; }
  @media only screen and (min-width: 768px) {
    .kitaca--inner--note {
      margin: 12rem auto 0; } }

.secoma {
  width: 100%;
  background-color: #f0a500;
  background-image: url("../img/bg_secoma_sp.png");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% auto;
  padding: 18.4rem 0 26.6rem; }
  @media only screen and (min-width: 768px) {
    .secoma {
      background-image: url("../img/bg_secoma03_pc.svg"), url("../img/bg_secoma02_pc.svg"), url("../img/bg_secoma01_pc.svg");
      background-repeat: no-repeat, no-repeat, repeat-x;
      background-position: bottom center,bottom center,bottom center;
      background-size: 200rem auto,200rem auto,auto 22.3rem;
      padding: 19.8rem 0 25.2rem; } }
  @media only screen and (min-width: 2000px) {
    .secoma {
      background-position: bottom center,bottom left,bottom center; } }

.secoma--inner {
  width: 100%; }
  @media only screen and (min-width: 768px) {
    .secoma--inner {
      margin: 0 auto; } }
  @media only screen and (min-width: 1200px) {
    .secoma--inner {
      width: 120rem; } }

.secoma--inner--title {
  width: 68.2rem;
  margin: 0rem auto 0; }
  @media only screen and (min-width: 768px) {
    .secoma--inner--title {
      width: 98rem;
      margin: 0rem auto 0; } }

.secoma--inner--ph {
  width: 65rem;
  margin: 6.8rem auto 0;
  filter: drop-shadow(1.2rem 1.2rem 0 #f06200); }
  @media only screen and (min-width: 768px) {
    .secoma--inner--ph {
      width: 98.6rem;
      margin: 7.2rem auto 0; } }

.secoma--inner--text {
  width: 44.8rem;
  margin: 8.3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .secoma--inner--text {
      width: 86.4rem;
      margin: 9.5rem auto 0; } }

.secoma--inner--bt_detail {
  width: 38rem;
  margin: 6.5rem auto 0;
  cursor: pointer;
  transform: scale(1);
  transition: transform 0.3s ease;
  /* スムーズに拡大 */ }
  @media only screen and (min-width: 768px) {
    .secoma--inner--bt_detail {
      width: 38rem;
      margin: 7.5rem auto 0; } }
  .secoma--inner--bt_detail:hover {
    transform: scale(1.05);
    /* 拡大 */ }

.cp {
  width: 100%;
  background-color: #f0f000;
  padding: 11rem 0 25.2rem; }
  @media only screen and (min-width: 768px) {
    .cp {
      padding: 19rem 0 24.5rem; } }

.cp_ti {
  width: 66rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .cp_ti {
      margin: 0 auto;
      width: 107.1rem; } }

.cp_course {
  width: 58.7rem;
  margin: 12.5rem auto 0;
  transform: translateX(1.1rem); }
  @media only screen and (min-width: 768px) {
    .cp_course {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: baseline;
      margin: 9.6rem auto 0;
      width: 100rem;
      transform: translateX(0.8rem); } }
  .cp_course li {
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .cp_course li {
        width: 48.5rem; } }
  .cp_course li + li {
    margin-top: 8.5rem; }
    @media only screen and (min-width: 768px) {
      .cp_course li + li {
        margin-top: 0;
        margin-bottom: 5.7rem; } }

.couse_note01 {
  width: 100%;
  margin: 10.5rem auto 0;
  font-size: 2.4rem;
  line-height: 1.2em;
  font-weight: bold;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .couse_note01 {
      margin: 7rem auto 0;
      font-size: 2.4rem; } }

.couse_note02 {
  width: 64rem;
  margin: 3rem auto 0;
  position: relative;
  padding-left: 1em;
  font-size: 2rem;
  line-height: 1.3em; }
  @media only screen and (min-width: 768px) {
    .couse_note02 {
      width: 93.5rem;
      margin: 4rem auto 0;
      font-size: 2rem; } }
  .couse_note02:before {
    content: '※';
    position: absolute;
    left: 0; }

.bt_cp_prod {
  width: 56.2rem;
  margin: 6rem auto 0; }
  @media only screen and (min-width: 768px) {
    .bt_cp_prod {
      width: 51rem;
      margin: 4.5rem auto 0; } }

.cp--cont__method {
  width: 52rem;
  margin: 10.7rem auto 0;
  background-color: #fff;
  padding-bottom: 5.8rem; }
  @media only screen and (min-width: 768px) {
    .cp--cont__method {
      width: 90rem;
      margin: 10rem auto 0;
      padding-bottom: 3.6rem; } }
  .cp--cont__method__title {
    background-color: #b7007a;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 3rem;
    height: 8.2rem; }
    @media only screen and (min-width: 768px) {
      .cp--cont__method__title {
        height: 6rem; } }
  .cp--cont__method__cont {
    margin: 5.25vw 1vw 0 4vw;
    padding: 0 1em 1em 0;
    height: 66.2rem;
    overflow-y: auto;
    font-size: 1.8rem; }
    @media only screen and (min-width: 768px) {
      .cp--cont__method__cont {
        margin: calc(30 / 1200 *100vw) calc(20 / 1200 *100vw) 0 calc(40 / 1200 *100vw);
        padding: 0 1.2em 1em 0;
        height: 25rem;
        overflow-y: auto;
        font-size: 1.5rem; } }
    .cp--cont__method__cont h4 {
      font-size: 2rem;
      margin-bottom: 0.5em; }
      @media only screen and (min-width: 768px) {
        .cp--cont__method__cont h4 {
          font-size: 1.7rem; } }
    .cp--cont__method__cont h5 {
      font-size: 2rem;
      margin-bottom: 0.5em; }
      @media only screen and (min-width: 768px) {
        .cp--cont__method__cont h5 {
          font-size: 1.7rem; } }
    .cp--cont__method__cont p {
      margin-bottom: 1em; }
      .cp--cont__method__cont p.note {
        padding-left: 1em;
        text-indent: -1em; }
    .cp--cont__method__cont ul li {
      position: relative;
      padding-left: 1em; }
      .cp--cont__method__cont ul li:before {
        content: '※';
        position: absolute;
        left: 0; }
    .cp--cont__method__cont ul li + li {
      margin-top: 0.3em; }

.cp--cont__note {
  margin: 6.8rem auto 0;
  font-size: 2rem;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .cp--cont__note {
      margin: 6.4rem auto 0;
      font-size: 2rem; } }

.cp--cont__entrybtn {
  width: 52.6rem;
  margin: 2rem auto 0; }
  @media only screen and (min-width: 768px) {
    .cp--cont__entrybtn {
      width: 52.6rem;
      margin: 2rem auto 0; } }

.insta_cont {
  position: relative;
  width: 59.7rem;
  margin: 19rem auto 0;
  transform: translateX(1.5rem); }
  @media only screen and (min-width: 768px) {
    .insta_cont {
      width: 108.4rem;
      margin: 19.9rem auto 0; } }
  .insta_cont .bt_insta {
    position: absolute;
    width: 43.6rem;
    top: 16.1rem;
    left: 0;
    right: 0;
    margin: auto;
    transform: translateX(-0.7rem); }
    @media only screen and (min-width: 768px) {
      .insta_cont .bt_insta {
        width: 80.7rem;
        top: 16.4rem;
        transform: translateX(-0.7rem); } }

.app {
  position: relative;
  background-image: linear-gradient(180deg, #008d3b 50%, #d0e2a1 50%);
  background-size: 100% auto;
  padding: 9.7rem 0 9.7rem; }
  @media only screen and (min-width: 768px) {
    .app {
      padding: 12.3rem 0 17rem; } }
  .app .app_ti {
    width: 100%;
    margin: 0 auto; }
    @media only screen and (min-width: 768px) {
      .app .app_ti {
        max-width: 120rem; } }
  .app .app_lime {
    position: absolute;
    background-color: #d0e2a1;
    width: 100%;
    height: 99.5rem;
    top: 30.8rem;
    clip-path: polygon(0 13.4rem, 100% 0, 100% 100%, 0% 100%);
    padding: 0; }
    @media only screen and (min-width: 768px) {
      .app .app_lime {
        width: 200rem;
        height: 114.5rem;
        position: absolute;
        top: 32.2rem;
        left: 50%;
        transform: translateX(-50%);
        clip-path: polygon(0 35.6rem, 100% 0, 100% 100%, 0% 100%);
        padding: 0; } }
    @media only screen and (min-width: 2000px) {
      .app .app_lime {
        width: 100%; } }
  .app .stamp_wrap {
    position: absolute;
    background: #FFF;
    width: 66rem;
    margin: 0 auto;
    padding: 5rem 0 5.8rem;
    border-radius: 1.5rem;
    top: 37.6rem;
    left: 50%;
    transform: translateX(-50%); }
    @media only screen and (min-width: 768px) {
      .app .stamp_wrap {
        width: 110rem;
        padding: 7rem 0 10rem;
        border-radius: 2rem;
        top: 46rem; } }
    .app .stamp_wrap .stamp {
      width: 56rem;
      margin: 0 auto 0; }
      @media only screen and (min-width: 768px) {
        .app .stamp_wrap .stamp {
          width: 90rem; } }
  .app .app_dl_catch {
    width: 31.3rem;
    margin: 97rem auto 0; }
    @media only screen and (min-width: 768px) {
      .app .app_dl_catch {
        margin: 107rem auto 0; } }
  .app .app_dl_bt {
    width: 51rem;
    margin: 2rem auto 0;
    transform: translateX(-0.6rem); }
    @media only screen and (min-width: 768px) {
      .app .app_dl_bt {
        width: 63.9rem;
        margin: 2.8rem auto 0;
        transform: translateX(-0.9rem); } }
  .app .app_note {
    width: 62rem;
    margin: 6.2rem auto 0;
    font-size: 1.8rem;
    color: #5a5a5a; }
    @media only screen and (min-width: 768px) {
      .app .app_note {
        width: 84.6rem;
        margin: 4.3rem auto 0;
        font-size: 1.3rem;
        padding-left: 1em; } }
    .app .app_note li {
      position: relative;
      padding-left: 1em; }
      .app .app_note li:before {
        content: '※';
        position: absolute;
        left: 0; }
    .app .app_note li + li {
      margin-top: 0.3em; }

.online {
  background-color: #00b4b9;
  background-image: url("../img/bg_online_sp.svg");
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: top center;
  padding: 11rem 0 8.2rem;
  border-bottom: 1rem solid #b7007a; }
  @media only screen and (min-width: 768px) {
    .online {
      background-image: url("../img/bg_online_pc.svg");
      background-position: top center;
      background-repeat: repeat-x;
      padding: 11.9rem 0 10.6rem;
      border-bottom: 1rem solid #b7007a; } }
  .online--inner {
    position: relative;
    width: 60.8rem;
    margin: 0 auto; }
    @media only screen and (min-width: 768px) {
      .online--inner {
        width: 87.4rem; } }
    .online--inner__ti {
      position: absolute;
      width: 48.2rem;
      top: -3.3rem;
      left: 0;
      right: 0;
      margin: auto; }
      @media only screen and (min-width: 768px) {
        .online--inner__ti {
          width: 54.5rem;
          top: -3.6rem; } }
    .online--inner__bt {
      position: absolute;
      width: 40rem;
      top: 18.8rem;
      left: 0;
      right: 0;
      margin: auto;
      filter: drop-shadow(0vw 0.6rem 0px rgba(0, 0, 0, 0.3)); }
      @media only screen and (min-width: 768px) {
        .online--inner__bt {
          width: 40rem;
          top: 22rem;
          filter: drop-shadow(0vw 0.6rem 0px rgba(0, 0, 0, 0.3)); } }
      .online--inner__bt:hover {
        transform: translate(0px, 0.6rem);
        transition: transform .2s;
        filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0)); }
        .online--inner__bt:hover img {
          transform: scale(1) !important; }
    .online--inner--nyuzarashi {
      position: absolute;
      width: 14.6rem;
      top: 10.6rem;
      left: -1.1rem;
      margin: auto; }
      @media only screen and (min-width: 768px) {
        .online--inner--nyuzarashi {
          width: 16.2remrem;
          top: inherit;
          bottom: -2.5rem;
          left: -3.7rem; } }

.footer {
  padding: 8.7rem 0 24.2rem; }
  @media only screen and (min-width: 768px) {
    .footer {
      padding: 7rem 0 7.5rem; } }
  .footer--note {
    text-align: center;
    font-size: 1.5rem; }
    @media only screen and (min-width: 768px) {
      .footer--note {
        font-size: 1.5rem; } }

.modal--wrap {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: scroll;
  z-index: -1; }
  .modal--wrap.active {
    display: block;
    z-index: 8888; }

.modal--closer {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -2; }
  .modal--closer.active {
    z-index: 7777;
    display: block;
    cursor: pointer; }

.modal--bk {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(240, 240, 240, 0.4);
  -webkit-backdrop-filter: blur(15px) brightness(100%);
  backdrop-filter: blur(15px) brightness(100%); }
  .modal--bk.active {
    display: block;
    z-index: 6666; }

.modal_fair, .modal_secoma {
  position: relative;
  z-index: 9999;
  display: none;
  opacity: 0;
  padding: 5vw 0;
  width: calc(630 / 750 *100vw);
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .modal_fair, .modal_secoma {
      padding: 5rem 0;
      width: 100rem; } }
  .modal_fair.active, .modal_secoma.active {
    display: block;
    animation: fadeIn 0.25s ease-out forwards; }
  .modal_fair .detail, .modal_secoma .detail {
    background: #FFF;
    padding: 0; }
    .modal_fair .detail .pop_ti, .modal_secoma .detail .pop_ti {
      width: 100%; }
    .modal_fair .detail .prod_list, .modal_secoma .detail .prod_list {
      width: 49.6rem;
      margin: 7.4rem auto 0; }
      @media only screen and (min-width: 768px) {
        .modal_fair .detail .prod_list, .modal_secoma .detail .prod_list {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          margin: 6.8rem auto 0;
          width: 86rem; } }
      .modal_fair .detail .prod_list li, .modal_secoma .detail .prod_list li {
        width: 49.6vw;
        margin: 0 auto 7.4rem; }
        @media only screen and (min-width: 768px) {
          .modal_fair .detail .prod_list li, .modal_secoma .detail .prod_list li {
            margin: 0 0 7.6rem;
            width: 41.5rem; } }
    .modal_fair .detail .footer, .modal_secoma .detail .footer {
      width: 100%;
      padding: 6rem 0 4.8rem; }
      @media only screen and (min-width: 768px) {
        .modal_fair .detail .footer, .modal_secoma .detail .footer {
          padding: 4rem 0 8rem; } }
      .modal_fair .detail .footer.fair_footer, .modal_secoma .detail .footer.fair_footer {
        background: #00b4b9; }
      .modal_fair .detail .footer.secoma_footer, .modal_secoma .detail .footer.secoma_footer {
        background: #f0a500; }
      .modal_fair .detail .footer .close--btn, .modal_secoma .detail .footer .close--btn {
        width: 18rem;
        margin: 0 auto 0;
        cursor: pointer;
        transform: scale(1);
        transition: transform 0.3s ease;
        /* スムーズに拡大 */ }
        @media only screen and (min-width: 768px) {
          .modal_fair .detail .footer .close--btn, .modal_secoma .detail .footer .close--btn {
            width: 18rem;
            margin: 0 auto 0; } }
        .modal_fair .detail .footer .close--btn:hover, .modal_secoma .detail .footer .close--btn:hover {
          transform: scale(1.05);
          /* 拡大 */ }
      .modal_fair .detail .footer .note, .modal_secoma .detail .footer .note {
        text-align: center;
        font-size: 1.6rem;
        margin: 4rem auto 0; }
        @media only screen and (min-width: 768px) {
          .modal_fair .detail .footer .note, .modal_secoma .detail .footer .note {
            font-size: 1.3rem;
            margin: 4rem auto 0; } }

.modal_fair .prod_list li {
  filter: drop-shadow(0.8rem 0.8rem 0 #00b4b9); }
  @media only screen and (min-width: 768px) {
    .modal_fair .prod_list li {
      filter: drop-shadow(0.6rem 0.6rem 0 #00b4b9); } }

.modal_secoma .prod_list li {
  filter: drop-shadow(0.8rem 0.8rem 0 #32b46b); }
  @media only screen and (min-width: 768px) {
    .modal_secoma .prod_list li {
      filter: drop-shadow(0.6rem 0.6rem 0 #32b46b); } }

@keyframes fadeIn {
  from {
    opacity: 0.5; }
  to {
    opacity: 1; } }
.upin {
  opacity: 0; }
  .upin.active {
    animation: upin 0.35s ease-in 0.25s forwards; }

.upin-d {
  opacity: 0; }
  .upin-d.active {
    animation: upin 0.35s ease-in 0.5s forwards; }

@keyframes upin {
  from {
    opacity: 0;
    transform: translateY(10%); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/*点滅*/
.blink {
  animation: blinking 1.2s linear infinite; }

@keyframes blinking {
  0% {
    opacity: 1; }
  49% {
    opacity: 1; }
  50% {
    opacity: 0; }
  99% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*アニメーション*/
.infinity-scroll-left {
  animation: infinity-scroll-left 70s infinite linear 0.5s both; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0%); }
  to {
    transform: translateX(-100%); } }
.fixedbtn {
  position: fixed;
  left: 0;
  bottom: calc(-850 / 750 * 100vw);
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 0.5rem 0.5rem 0  0.5rem;
  transition: all 0.75s ease; }
  @media only screen and (min-width: 768px) {
    .fixedbtn {
      left: inherit;
      background-color: transparent;
      right: 3rem;
      bottom: -55rem;
      width: 12.4rem; } }
  .fixedbtn.active {
    bottom: 0; }
    @media only screen and (min-width: 768px) {
      .fixedbtn.active {
        bottom: 2rem; } }
  .fixedbtn ul {
    display: flex;
    justify-content: space-between;
    width: 74rem;
    margin: 0 auto; }
    @media only screen and (min-width: 768px) {
      .fixedbtn ul {
        display: block;
        width: 12.4rem; } }
    .fixedbtn ul li {
      width: 18rem; }
      @media only screen and (min-width: 768px) {
        .fixedbtn ul li {
          width: 12.4rem;
          margin: 0 auto 1rem; } }

body {
  background: #ffffff;
  margin: 0 !important;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  word-wrap: break-word;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  padding: 0; }

html {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 768px) {
    html {
      font-size: 1.3333333333vw; } }
  @media only screen and (min-width: 768px) {
    html {
      font-size: 0.8333333333vw; } }
  @media only screen and (min-width: 1200px) {
    html {
      font-size: 10px; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, h4, section, nav, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a img {
  opacity: 1;
  transform: scale(1);
  transition: transform 0.3s ease;
  /* スムーズに拡大 */ }

@media only screen and (min-width: 768px) {
  a img:hover {
    transform: scale(1.05);
    /* 拡大 */ } }

.pcOnly {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pcOnly {
      display: inline-block; } }

.spOnly {
  display: inline-block; }
  @media only screen and (min-width: 768px) {
    .spOnly {
      display: none; } }
