@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital@0;1&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit; }

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit; }

* {
  padding: 0;
  margin: 0; }

hr {
  overflow: visible;
  height: 0;
  color: inherit; }

details, main {
  display: block; }

summary {
  display: list-item; }

small {
  font-size: 80%; }

[hidden] {
  display: none; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

a {
  background-color: transparent; }

a:active, a:hover {
  outline-width: 0; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

pre {
  font-size: 1em; }

b, strong {
  font-weight: bolder; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

table {
  border-color: inherit;
  text-indent: 0; }

input {
  border-radius: 0; }

[disabled] {
  cursor: default; }

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; }

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  resize: vertical; }

button, input, optgroup, select, textarea {
  font: inherit; }

optgroup {
  font-weight: 700; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0; }

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText; }

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button; }

button, input, select, textarea {
  background-color: transparent;
  border-style: none; }

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit; }

img {
  border-style: none; }

progress {
  vertical-align: baseline; }

[aria-busy=true] {
  cursor: progress; }

[aria-controls] {
  cursor: pointer; }

[aria-disabled=true] {
  cursor: default; }

@font-face {
  font-family: "banana";
  src: url("ydwbananaslipplus-webfont.woff2") format("woff2");
  font-display: swap; }
* {
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  background: #FFF5E0;
  font-family: "Zen Kaku Gothic New", serif;
  font-size: clamp(1.4rem, calc(1.328rem + 0.23vw), 1.6rem);
  line-height: 1.8em;
  color: #674A2D;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%;
  height: auto; }

a {
  color: #674A2D;
  text-decoration: none;
  transition: .3s; }
  a:hover {
    transition: .3s;
    text-decoration: none; }
  a img {
    transition: .3s; }
    a img:hover {
      opacity: .7;
      transition: .3s; }

p {
  font-weight: 500; }

li {
  list-style: none; }

.flb_sb, header, header .menubtn, .topinfo .inner, .topinfo .term, .topinfo .pagenav, .topinfo .contact dl, .contact .topinfo dl, .howto .honav, .ticket h3, .ticket .searchform, .ticket .result, .supporting ul, .sponsored-by .bnr, .date-cat, .pagenav, .contact dl dt, .contact .formbtn {
  display: flex;
  justify-content: space-between; }

.flb_ct, .loading, .spnav .txt, footer .right .txt, .snsbox .inbox ul, .topbtn, .topstores .box a, .about .bg, .howto .honav li, .howto .hocontainer .box h3::before, .ticket .searchform button, .supporting .member .btn, .donation .list .btn, .provisions ul li a, .catlist {
  display: flex;
  justify-content: center; }

.flb_st, footer .right .nav li a, .topother .taco .txt dl, .bread, .bread li a, .company dl, .ticket .search h4, .supporting h3, .contact dl .radio.flb .wpcf7-radio {
  display: flex;
  justify-content: flex-start; }

.flb_ed, .date-cat ul {
  display: flex;
  justify-content: flex-end; }

.sp {
  display: block; }
  @media screen and (min-width: 701px) {
    .sp {
      display: none; } }

.sptab {
  display: block; }
  @media screen and (min-width: 961px) {
    .sptab {
      display: none; } }

.tab {
  display: none; }
  @media screen and (min-width: 701px) {
    .tab {
      display: block; } }
  @media screen and (min-width: 961px) {
    .tab {
      display: none; } }

.tabpc {
  display: none; }
  @media screen and (min-width: 701px) {
    .tabpc {
      display: block; } }

.pc {
  display: none; }
  @media screen and (min-width: 961px) {
    .pc {
      display: block; } }

.inner, .term, .pagenav, .contact dl, .contact .formbtn {
  width: min(calc(100% - 6.4rem), 102.4rem);
  margin: auto; }

.wide {
  width: min(calc(100% - 6.4rem), 136rem);
  margin: auto; }

.fadeIn {
  opacity: 0;
  transition: 3s; }
  .fadeIn.is-show {
    opacity: 1; }

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 2s; }
  .fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1; }

.fadeIn_left {
  opacity: 0;
  transform: translate(-50px, 0);
  transition: 2s; }
  .fadeIn_left.is-show {
    transform: translate(0, 0);
    opacity: 1; }

.fadeIn_right {
  opacity: 0;
  transform: translate(50px, 0);
  transition: 2s; }
  .fadeIn_right.is-show {
    transform: translate(0, 0);
    opacity: 1; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
/* ローディング */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  align-items: center; }
  .loading .video {
    width: 90%;
    border-radius: .8rem;
    aspect-ratio: 16 / 9;
    overflow: hidden; }
    @media screen and (min-width: 701px) {
      .loading .video {
        border-radius: 1.6rem; } }
    .loading .video video {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .loading .close {
    display: block;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 2rem;
    right: 2rem; }
    .loading .close span {
      display: block;
      width: 100%;
      height: 4px;
      border-radius: 10rem;
      background: #fff;
      position: absolute;
      top: 50%;
      left: 0;
      cursor: pointer; }
      .loading .close span:nth-of-type(1) {
        transform: rotate(45deg); }
      .loading .close span:nth-of-type(2) {
        transform: rotate(-45deg); }

/* ヘッダー */
.gnav {
  text-align: center; }
  @media screen and (min-width: 961px) {
    .gnav {
      display: flex;
      justify-content: flex-end; } }
  .gnav li {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 4rem; }
    @media screen and (min-width: 961px) {
      .gnav li {
        font-size: clamp(1.2rem, calc(-0.408rem + 1.6vw), 1.6rem);
        letter-spacing: 0.05em;
        margin-right: min(1.5vw, 2.4rem);
        margin-bottom: 0; } }
    .gnav li a {
      font-weight: 700; }
    .gnav li:nth-child(2) a {
      color: #FAAD00; }
    .gnav li:nth-child(3) a {
      color: #14AC6D; }
    .gnav li:nth-child(4) a {
      color: #EA0000; }
    .gnav li:nth-child(5) a {
      color: #FF550A; }

header {
  position: fixed;
  top: 1.6rem;
  left: .8rem;
  width: calc(100% - 1.6rem);
  height: 6.4rem;
  background: #fff;
  border-radius: 10rem;
  align-items: center;
  padding: 0 2.4rem;
  z-index: 999; }
  @media screen and (min-width: 961px) {
    header {
      justify-content: flex-end;
      top: 2.4rem;
      left: 2.4rem;
      width: calc(100% - 4.8rem);
      height: 8rem;
      padding: 0 1.2rem 0 clamp(1.2rem, 3vw, 5.2rem); } }
  header .logo {
    display: block;
    width: min(53.3%, 16.6rem); }
    @media screen and (min-width: 961px) {
      header .logo {
        width: clamp(13rem, 14vw, 23.4rem);
        margin-right: auto; } }
    header .logo img {
      display: block; }
  header .gnav {
    display: none; }
    @media screen and (min-width: 961px) {
      header .gnav {
        display: flex; } }
  header .btn {
    display: none; }
    @media screen and (min-width: 961px) {
      header .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: min(12vw, 19rem);
        height: 5.6rem;
        font-size: clamp(1.2rem, calc(0.64rem + 0.8vw), 1.6rem);
        font-weight: 700;
        letter-spacing: 0.05em;
        background: #DD0628;
        color: #fff;
        border-radius: 2.7rem; } }
  header .menubtn {
    align-items: center;
    flex-direction: column;
    height: 2.8rem;
    text-align: center;
    line-height: 1rem;
    cursor: pointer; }
    @media screen and (min-width: 961px) {
      header .menubtn {
        display: none; } }
    header .menubtn::before, header .menubtn::after {
      display: block; }
    header .menubtn::before {
      content: "";
      width: 2.9rem;
      aspect-ratio: 29 / 5;
      background: url("../images/common/open.svg") center center no-repeat;
      background-size: 100% auto; }
    header .menubtn::after {
      content: "MENU";
      font-family: "Montserrat", sans-serif;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0.08rem; }
    header .menubtn.active::before {
      background: url("../images/common/close.svg") center center no-repeat;
      background-size: 100% auto; }
    header .menubtn.active::after {
      content: "CLOSE"; }

.spnav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 998;
  background: #FFF5E0;
  padding-top: 12rem;
  text-align: center; }
  @media screen and (min-width: 961px) {
    .spnav {
      display: none; } }
  .spnav::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 125 / 19;
    background: url("../images/common/round-sp.webp") center center no-repeat;
    background-size: 100% auto;
    transform: scale(1, -1);
    position: absolute;
    top: 100%;
    left: 0; }
  .spnav .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(78vw, 29.5rem);
    height: 6.4rem;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    background: #EA0800;
    color: #fff;
    border-radius: 10rem;
    margin: 0 auto 4rem; }
  .spnav .txt {
    padding-bottom: 1.6rem; }
    .spnav .txt li {
      display: block;
      font-size: 1.4rem;
      margin: 0 1.2rem; }
      .spnav .txt li a {
        font-weight: 500;
        text-decoration: underline; }
  .spnav .copy {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    opacity: .5; }

/* フッター */
footer {
  padding-top: 7.5rem;
  padding-bottom: 2rem; }
  @media screen and (min-width: 701px) {
    footer {
      padding-top: 14rem;
      padding-bottom: 4rem; } }
  footer .wide {
    text-align: center; }
    @media screen and (min-width: 961px) {
      footer .wide {
        display: flex;
        justify-content: space-between;
        align-items: flex-start; } }
  footer h2 {
    font-size: clamp(1.2rem, calc(1.128rem + 0.23vw), 1.4rem);
    line-height: 1.5em;
    position: relative;
    width: 20rem;
    margin: 0 auto 3.2rem; }
    @media screen and (min-width: 961px) {
      footer h2 {
        width: 22.4rem;
        margin: 0; } }
    footer h2::after {
      content: "";
      display: block;
      width: 11rem;
      aspect-ratio: 111 / 146;
      background: url("../lp/images/possible.webp") center center no-repeat;
      background-size: 100% auto;
      position: absolute;
      left: calc(100% - 2.5rem);
      bottom: -1.6rem; }
    footer h2 img, footer h2 span {
      display: block; }
    footer h2 img {
      margin-bottom: 1.4rem; }
      @media screen and (min-width: 961px) {
        footer h2 img {
          margin-bottom: 1.6rem; } }
    footer h2 span {
      font-weight: 700; }
  @media screen and (min-width: 961px) {
    footer .right {
      width: 70rem;
      text-align: right; } }
  footer .right .nav {
    display: none; }
    @media screen and (min-width: 961px) {
      footer .right .nav {
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        padding-bottom: 1.6rem; } }
    footer .right .nav li {
      display: block;
      margin-left: 3.2rem;
      margin-bottom: 1.6rem; }
      footer .right .nav li:first-child {
        margin-left: 0; }
      footer .right .nav li a {
        display: flex;
        align-items: center;
        font-weight: 700; }
        footer .right .nav li a::before {
          content: "";
          display: block;
          width: 1.7rem;
          aspect-ratio: 1 / 1;
          background: url("../images/common/arrow-light.svg") center center no-repeat;
          background-size: 100% auto;
          margin-right: 1.2rem; }
  footer .right .txt {
    padding-bottom: 1.6rem; }
    @media screen and (min-width: 961px) {
      footer .right .txt {
        justify-content: flex-end;
        padding-bottom: 3.2rem; } }
    footer .right .txt li {
      display: block;
      font-size: 1.4rem;
      margin: 0 1.2rem; }
      @media screen and (min-width: 961px) {
        footer .right .txt li {
          margin: 0 0 0 2.4rem; }
          footer .right .txt li:first-child {
            margin-left: 0; } }
      footer .right .txt li a {
        font-weight: 500;
        text-decoration: underline; }
  footer .right .copy {
    font-size: clamp(1rem, calc(0.854rem + 0.45vw), 0.875rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    opacity: .5; }

.snsbox {
  background: #FF7612;
  position: relative;
  padding-top: 4rem;
  padding-bottom: 1.6rem;
  text-align: center; }
  @media screen and (min-width: 961px) {
    .snsbox {
      padding-top: 6rem;
      padding-bottom: 2rem; } }
  .snsbox::before, .snsbox::after {
    content: "";
    display: block;
    width: 100%;
    position: absolute;
    left: 0; }
  .snsbox::before {
    height: 1.4rem;
    background: url("../images/common/wave-sp.webp") repeat-x;
    background-size: auto 1.4rem;
    top: 0;
    transform: translateY(-100%); }
    @media screen and (min-width: 701px) {
      .snsbox::before {
        height: 2rem;
        background: url("../images/common/wave.webp") repeat-x;
        background-size: auto 2rem; } }
  .snsbox::after {
    aspect-ratio: 250 / 17;
    background: url("../images/common/round-or-sp.webp") center center no-repeat;
    background-size: 100% auto;
    top: 100%; }
    @media screen and (min-width: 701px) {
      .snsbox::after {
        aspect-ratio: 1600 / 69;
        background: url("../images/common/round-or.webp") center center no-repeat;
        background-size: 100% auto; } }
  .snsbox .inbox {
    width: min(calc(100% - 6.4rem), 87.9rem);
    margin: auto;
    position: relative;
    z-index: 3; }
    @media screen and (min-width: 701px) {
      .snsbox .inbox {
        display: flex;
        justify-content: center; } }
    .snsbox .inbox::before, .snsbox .inbox::after {
      content: "";
      display: block;
      position: absolute;
      top: 50%; }
    .snsbox .inbox::before {
      width: 5.8rem;
      aspect-ratio: 43 / 89;
      background: url("../images/common/fork.webp") center center no-repeat;
      background-size: 100% auto;
      left: 0;
      transform: translateX(-40%) translateY(-50%); }
      @media screen and (min-width: 701px) {
        .snsbox .inbox::before {
          transform: translateX(20%) translateY(-50%); } }
      @media screen and (min-width: 1081px) {
        .snsbox .inbox::before {
          width: 8rem; } }
    .snsbox .inbox::after {
      width: 6.2rem;
      aspect-ratio: 188 / 355;
      background: url("../images/common/spoon.webp") center center no-repeat;
      background-size: 100% auto;
      right: 0;
      transform: translateX(25%) translateY(-50%); }
      @media screen and (min-width: 701px) {
        .snsbox .inbox::after {
          transform: translateX(0) translateY(-50%); } }
      @media screen and (min-width: 1081px) {
        .snsbox .inbox::after {
          width: 9rem; } }
    @media screen and (min-width: 701px) {
      .snsbox .inbox .box:nth-of-type(1) {
        padding-right: 3.2rem;
        margin-right: 3.2rem;
        position: relative; } }
    @media screen and (min-width: 961px) {
      .snsbox .inbox .box:nth-of-type(1) {
        padding-right: 5.6rem;
        margin-right: 5.6rem; } }
    .snsbox .inbox .box:nth-of-type(1)::after {
      content: "";
      display: block;
      width: 24rem;
      height: .4rem;
      background: url("../images/common/dotline.webp") repeat-x;
      background-size: auto .4rem;
      margin: 2.4rem auto; }
      @media screen and (min-width: 701px) {
        .snsbox .inbox .box:nth-of-type(1)::after {
          width: .4rem;
          height: 100%;
          background: url("../images/common/dotline-v.webp") repeat-y;
          background-size: .4rem auto;
          position: absolute;
          top: 0;
          right: 0;
          margin: 0; } }
    .snsbox .inbox h2 {
      font-family: "banana", "Zen Kaku Gothic New", sans-serif;
      font-size: clamp(2.4rem, calc(2.108rem + 0.91vw), 3.2rem);
      font-weight: 400;
      color: #fff;
      padding-bottom: 2.4rem; }
    .snsbox .inbox ul {
      align-items: center; }
      .snsbox .inbox ul li {
        display: block;
        width: 3.5rem;
        margin: 0 1.6rem; }
        .snsbox .inbox ul li a {
          display: block; }
          .snsbox .inbox ul li a img {
            display: block; }
        .snsbox .inbox ul li:nth-child(3) {
          width: 4.2rem; }

/* トップページ */
.mv {
  width: 100%;
  height: 100vh;
  position: relative; }
  .mv::before, .mv::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    z-index: 3;
    pointer-events: none; }
  .mv::before {
    width: 32%;
    aspect-ratio: 117 / 803;
    background: url("../images/top/frame-left-sp.webp") center center no-repeat;
    background-size: 100% auto;
    left: 0; }
    @media screen and (min-width: 701px) {
      .mv::before {
        width: 29.6%;
        aspect-ratio: 474 / 899;
        background: url("../images/top/frame-left.webp") center center no-repeat;
        background-size: 100% auto; } }
  .mv::after {
    width: 26.6%;
    aspect-ratio: 193 / 1606;
    background: url("../images/top/frame-right-sp.webp") center center no-repeat;
    background-size: 100% auto;
    right: 0; }
    @media screen and (min-width: 701px) {
      .mv::after {
        width: 26.8%;
        aspect-ratio: 427 / 899;
        background: url("../images/top/frame-right.webp") center center no-repeat;
        background-size: 100% auto; } }
  .mv h1 {
    width: min(72%, 26.8rem);
    position: absolute;
    left: 50%;
    bottom: 3.2rem;
    transform: translateX(-50%);
    z-index: 4; }
    @media screen and (min-width: 701px) {
      .mv h1 {
        width: min(33%, 52.8rem);
        bottom: min(2.5vw, 4rem); } }
  .mv figure {
    width: 100%;
    aspect-ratio: 375 / 614;
    position: relative; }
    @media screen and (min-width: 701px) {
      .mv figure {
        aspect-ratio: auto;
        height: 100%; } }
    .mv figure::after {
      content: "";
      display: block;
      width: 100%;
      aspect-ratio: 125 / 19;
      background: url("../images/common/round-sp.webp") center center no-repeat;
      background-size: 100% auto;
      position: absolute;
      left: 0;
      bottom: 0; }
      @media screen and (min-width: 701px) {
        .mv figure::after {
          aspect-ratio: 1600 / 243;
          background: url("../images/common/round.webp") center center no-repeat;
          background-size: 100% auto; } }
    .mv figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.topbtn {
  width: min(100%, 30.8rem);
  height: 7.4rem;
  align-items: center;
  background: #FFE62A;
  font-size: 1.8rem;
  font-weight: 700; }
  .topbtn::before {
    content: "";
    display: block;
    width: 1.7rem;
    aspect-ratio: 1 / 1;
    background: url("../images/common/arrow.svg") center center no-repeat;
    background-size: 100% auto;
    margin-right: 1.2rem; }

.topabout {
  padding-top: 2.4rem;
  padding-bottom: 4rem;
  position: relative; }
  @media screen and (min-width: 701px) {
    .topabout {
      padding-top: 12.4rem;
      padding-bottom: 14.8rem;
      display: flex;
      justify-content: space-between;
      align-items: flex-start; } }
  .topabout::before {
    content: "";
    display: block;
    width: calc(100% - 2rem);
    aspect-ratio: 1570 / 1347;
    background: url("../images/top/about.webp") center center no-repeat;
    background-size: 100% auto;
    margin-bottom: 1.4rem; }
    @media screen and (min-width: 701px) {
      .topabout::before {
        width: 52.5%; } }
  .topabout::after {
    content: "";
    display: block;
    width: 12rem;
    aspect-ratio: 1 / 1;
    background: url("../lp/images/14.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 22%;
    left: 22%; }
    @media screen and (min-width: 701px) {
      .topabout::after {
        width: clamp(14rem, 12vw, 18rem);
        top: 43vw;
        left: 13%; } }
    @media screen and (min-width: 1081px) {
      .topabout::after {
        top: 36vw; } }
  .topabout .txt {
    width: calc(100% - 6.4rem);
    margin: auto; }
    @media screen and (min-width: 701px) {
      .topabout .txt {
        width: 42.5%;
        margin: 0; } }
    @media screen and (min-width: 701px) {
      .topabout .txt .inbox {
        width: min(calc(100% - 3.2rem), 39rem); } }
  .topabout h2 {
    font-family: "banana", "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(4rem, calc(3.416rem + 1.82vw), 5.6rem);
    font-weight: 400;
    line-height: 1.4em;
    margin-bottom: 3.2rem; }
  .topabout .topbtn {
    margin-top: 3.2rem; }

.topstores {
  position: relative;
  z-index: 1;
  padding-top: 1rem; }
  @media screen and (min-width: 701px) {
    .topstores {
      padding-top: 4.4rem; } }
  .topstores::before, .topstores::after {
    content: "";
    display: block;
    position: absolute; }
  .topstores::before {
    width: min(44%, 16.5rem);
    aspect-ratio: 33 / 41;
    background: url("../images/top/shop-sp.webp") center center no-repeat;
    background-size: 100% auto;
    top: 0;
    right: 0;
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .topstores::before {
        width: min(44%, 67.9rem);
        aspect-ratio: 679 / 505;
        background: url("../images/top/shop.webp") center center no-repeat;
        background-size: 100% auto; } }
  .topstores::after {
    width: 100%;
    height: 86%;
    left: 0;
    bottom: 0;
    background: #F2E5CB;
    z-index: -2; }
    @media screen and (min-width: 701px) {
      .topstores::after {
        height: 78%; } }
    @media screen and (min-width: 1301px) {
      .topstores::after {
        height: 61%; } }
  .topstores h2 span {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(1rem, calc(0.928rem + 0.23vw), 1.2rem);
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.9em;
    opacity: .5;
    padding-top: .6rem; }
  .topstores p {
    width: min(100%, 22rem); }
    @media screen and (min-width: 701px) {
      .topstores p {
        width: 100%; } }
  .topstores .shopmap {
    padding-top: .6rem;
    padding-bottom: 6.7rem;
    position: relative; }
    @media screen and (min-width: 701px) {
      .topstores .shopmap {
        padding-bottom: 5.6rem; } }
    @media screen and (min-width: 1301px) {
      .topstores .shopmap {
        padding-top: 7.2rem;
        position: relative; } }
    .topstores .shopmap::before {
      content: "";
      display: block;
      width: min(100%, 31.65rem);
      aspect-ratio: 633 / 323;
      background: url("../images/top/map-sp.webp") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 1301px) {
        .topstores .shopmap::before {
          width: min(26.17%, 26.8rem);
          aspect-ratio: 134 / 141;
          background: url("../images/top/map.webp") center center no-repeat;
          background-size: 100% auto;
          position: absolute;
          top: 0;
          left: 0;
          transform: translateX(-100%); } }
    .topstores .shopmap::after {
      content: "";
      display: block;
      width: min(51.7vw, 19.4rem);
      aspect-ratio: 97 / 102;
      background: url("../images/top/map-bg.webp") center center no-repeat;
      background-size: 100% auto;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: -1;
      transform: translate(-30%, 7%); }
      @media screen and (min-width: 1301px) {
        .topstores .shopmap::after {
          width: min(18.375vw, 29.4rem);
          transform: translate(-60%, 60%); } }
    .topstores .shopmap iframe {
      border: 0;
      display: block;
      width: 100%;
      aspect-ratio: 311 / 533;
      object-fit: cover; }
    .topstores .shopmap .mapwrap {
      position: relative; }
      .topstores .shopmap .mapwrap::before {
        content: "";
        display: block;
        width: 12rem;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/24.webp") center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 5%;
        bottom: 100%; }
        @media screen and (min-width: 701px) {
          .topstores .shopmap .mapwrap::before {
            width: 17rem;
            bottom: auto;
            right: 100%;
            top: 10%; } }
  .topstores .box {
    background: #fff;
    border-radius: .8rem;
    text-align: center;
    margin-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .topstores .box {
        display: flex;
        justify-content: space-between;
        border-radius: 1.6rem;
        text-align: left;
        margin-bottom: 5.6rem; } }
    .topstores .box .txt {
      padding: 2.4rem 0; }
      @media screen and (min-width: 701px) {
        .topstores .box .txt {
          padding: 4rem;
          width: calc(100% - 36.2rem); } }
      .topstores .box .txt p {
        font-weight: 500;
        width: 100%; }
    .topstores .box a {
      padding: 2.4rem 0;
      background: #FF7612;
      align-items: center;
      color: #fff;
      font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.125rem);
      font-weight: 700;
      border-radius: 0 0 .8rem .8rem; }
      @media screen and (min-width: 701px) {
        .topstores .box a {
          width: 36.2rem;
          border-radius: 0 1.6rem 1.6rem 0; } }
      .topstores .box a::before {
        content: "";
        display: block;
        width: 1.7rem;
        aspect-ratio: 1 / 1;
        background: url("../images/common/arrow.svg") center center no-repeat;
        background-size: 100% auto;
        filter: brightness(0) invert(1);
        margin-right: 1.2rem; }
      .topstores .box a:hover {
        opacity: .7; }
  .topstores .imgs {
    display: flex;
    width: 100%;
    overflow: hidden; }
    .topstores .imgs ul {
      display: flex;
      animation: infinity-scroll-left 120s infinite linear 0.5s both; }
      .topstores .imgs ul li {
        display: block;
        width: 26rem; }
        @media screen and (min-width: 701px) {
          .topstores .imgs ul li {
            width: 34rem; } }
        .topstores .imgs ul li img {
          display: block; }

.topother {
  padding-top: 8rem;
  padding-bottom: 5.2rem;
  position: relative;
  z-index: 2;
  overflow: hidden; }
  @media screen and (min-width: 701px) {
    .topother {
      padding-top: 6rem; } }
  .topother::before {
    content: "";
    display: block;
    width: 12rem;
    aspect-ratio: 241 / 391;
    background: url("../images/top/other-sp.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    right: 0;
    bottom: 6%;
    transform: translateX(40%);
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .topother::before {
        width: min(21.25%, 34rem);
        aspect-ratio: 17 / 22;
        background: url("../images/top/other.webp") center center no-repeat;
        background-size: 100% auto;
        right: 0.96vw;
        bottom: auto;
        top: 50%;
        transform: translateX(0) translateY(-50%); } }
  .topother .taco {
    margin-bottom: 2.4rem;
    background: #FFE62A;
    border-radius: .8rem;
    position: relative; }
    @media screen and (min-width: 701px) {
      .topother .taco {
        margin-bottom: 6.4rem;
        display: flex;
        justify-content: flex-start;
        border-radius: 1.6rem; } }
    @media screen and (min-width: 961px) {
      .topother .taco {
        margin-bottom: 8rem; } }
    .topother .taco::before {
      content: "";
      display: block;
      width: 100%;
      height: 15.3rem;
      background: #fff;
      border-radius: .8rem .8rem 0 0; }
      @media screen and (min-width: 701px) {
        .topother .taco::before {
          width: 31rem;
          height: auto;
          border-radius: 1.6rem 0 0 1.6rem; } }
    .topother .taco .txt {
      padding: 2.4rem 2.4rem 1.6rem;
      position: relative; }
      @media screen and (min-width: 701px) {
        .topother .taco .txt {
          width: calc(100% - 31rem); } }
      @media screen and (min-width: 961px) {
        .topother .taco .txt {
          display: flex;
          justify-content: center;
          align-items: center; } }
      .topother .taco .txt::before {
        content: "";
        display: block;
        width: 21rem;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/03.webp") center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -100%); }
        @media screen and (min-width: 701px) {
          .topother .taco .txt::before {
            width: 25rem;
            left: 0;
            top: 50%;
            transform: translate(-115%, -50%); } }
      .topother .taco .txt h2 {
        width: min(100%, 24.4rem);
        margin: 0 auto 1.6rem; }
        @media screen and (min-width: 961px) {
          .topother .taco .txt h2 {
            width: 34%;
            margin: 0; } }
      .topother .taco .txt dl {
        flex-wrap: wrap; }
        @media screen and (min-width: 961px) {
          .topother .taco .txt dl {
            width: calc(66% - 3rem);
            margin-left: 3rem; } }
        .topother .taco .txt dl dt, .topother .taco .txt dl dd {
          display: block;
          margin-bottom: .8rem; }
        .topother .taco .txt dl dt {
          font-family: "banana", "Zen Kaku Gothic New", sans-serif;
          font-weight: 400;
          font-size: 1.8rem;
          width: 6rem;
          line-height: 1.4em; }
        .topother .taco .txt dl dd {
          width: calc(100% - 6rem);
          font-weight: 500;
          line-height: 1.4em; }
          .topother .taco .txt dl dd span {
            display: inline-block;
            font-size: 1.2rem; }
  @media screen and (min-width: 701px) {
    .topother .bnr {
      display: flex;
      justify-content: space-between; } }
  .topother .bnr li {
    display: block;
    margin-bottom: 1.2rem; }
    @media screen and (min-width: 701px) {
      .topother .bnr li {
        width: 46%; } }
    .topother .bnr li img {
      display: block; }
    .topother .bnr li a {
      display: block;
      position: relative; }
      .topother .bnr li a::after {
        content: "";
        display: block;
        width: 10.5rem;
        aspect-ratio: 1 / 1;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto; }
        @media screen and (min-width: 701px) {
          .topother .bnr li a::after {
            width: 13rem; } }
        @media screen and (min-width: 961px) {
          .topother .bnr li a::after {
            width: 15.6rem; } }
    .topother .bnr li:nth-child(1) a::after {
      background: url("../images/top/03.webp") center center no-repeat;
      background-size: 100% auto; }
    .topother .bnr li:nth-child(2) a::after {
      background: url("../images/top/08.webp") center center no-repeat;
      background-size: 100% auto; }

.topinfo {
  background: #F2E5CB;
  padding-top: 6rem;
  padding-bottom: 7rem;
  position: relative;
  z-index: 1;
  overflow: hidden; }
  @media screen and (min-width: 701px) {
    .topinfo {
      padding-top: 8rem;
      padding-bottom: 10rem; } }
  @media screen and (min-width: 961px) {
    .topinfo {
      padding-bottom: 12rem; } }
  .topinfo::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 750 / 143;
    background: url("../images/top/info-sp.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    bottom: 100%;
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .topinfo::before {
        aspect-ratio: 3200 / 399;
        background: url("../images/top/info.webp") center center no-repeat;
        background-size: 100% auto; } }
  .topinfo .inner, .topinfo .term, .topinfo .pagenav, .topinfo .contact dl, .contact .topinfo dl, .topinfo .contact .formbtn, .contact .topinfo .formbtn {
    position: relative;
    flex-wrap: wrap;
    z-index: 1; }
    .topinfo .inner::before, .topinfo .term::before, .topinfo .pagenav::before, .topinfo .contact dl::before, .contact .topinfo dl::before, .topinfo .contact .formbtn::before, .contact .topinfo .formbtn::before {
      content: "";
      display: block;
      width: 22.8rem;
      aspect-ratio: 938 / 1175;
      background: url("../images/top/info-left.webp") center center no-repeat;
      background-size: 100% auto;
      position: absolute;
      left: 0;
      top: 20%;
      margin-left: -26%;
      z-index: -1; }
      @media screen and (min-width: 701px) {
        .topinfo .inner::before, .topinfo .term::before, .topinfo .pagenav::before, .topinfo .contact dl::before, .contact .topinfo dl::before, .topinfo .contact .formbtn::before, .contact .topinfo .formbtn::before {
          width: min(29vw, 29.8rem);
          top: 50%; } }
      @media screen and (min-width: 1081px) {
        .topinfo .inner::before, .topinfo .term::before, .topinfo .pagenav::before, .topinfo .contact dl::before, .contact .topinfo dl::before, .topinfo .contact .formbtn::before, .contact .topinfo .formbtn::before {
          left: auto;
          transform: translateX(0);
          right: 100%; } }
    @media screen and (min-width: 1081px) {
      .topinfo .inner::after, .topinfo .term::after, .topinfo .pagenav::after, .topinfo .contact dl::after, .contact .topinfo dl::after, .topinfo .contact .formbtn::after, .contact .topinfo .formbtn::after {
        content: "";
        display: block;
        width: min(12.5vw, 20rem);
        aspect-ratio: 468 / 323;
        background: url("../images/top/info-right.webp") center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 100%;
        top: 5%;
        transform: translateX(30%);
        z-index: -1; } }
    .topinfo .inner h2, .topinfo .term h2, .topinfo .pagenav h2, .topinfo .contact dl h2, .contact .topinfo dl h2, .topinfo .contact .formbtn h2, .contact .topinfo .formbtn h2 {
      width: calc(100% - 24rem);
      writing-mode: vertical-lr;
      margin-bottom: 0;
      padding-left: 0;
      line-height: 0.3em;
      position: relative; }
      @media screen and (min-width: 701px) {
        .topinfo .inner h2, .topinfo .term h2, .topinfo .pagenav h2, .topinfo .contact dl h2, .contact .topinfo dl h2, .topinfo .contact .formbtn h2, .contact .topinfo .formbtn h2 {
          width: 15%; } }
      .topinfo .inner h2::before, .topinfo .term h2::before, .topinfo .pagenav h2::before, .topinfo .contact dl h2::before, .contact .topinfo dl h2::before, .topinfo .contact .formbtn h2::before, .contact .topinfo .formbtn h2::before {
        top: -.65em;
        left: 0; }
      .topinfo .inner h2 span, .topinfo .term h2 span, .topinfo .pagenav h2 span, .topinfo .contact dl h2 span, .contact .topinfo dl h2 span, .topinfo .contact .formbtn h2 span, .contact .topinfo .formbtn h2 span {
        display: block;
        font-family: "Montserrat", sans-serif;
        font-size: clamp(1rem, calc(0.928rem + 0.23vw), 1.2rem);
        opacity: .5;
        line-height: 1.6em;
        margin-left: 1rem; }
        @media screen and (min-width: 701px) {
          .topinfo .inner h2 span, .topinfo .term h2 span, .topinfo .pagenav h2 span, .topinfo .contact dl h2 span, .contact .topinfo dl h2 span, .topinfo .contact .formbtn h2 span, .contact .topinfo .formbtn h2 span {
            margin-left: 2rem; } }
    .topinfo .inner .newslist, .topinfo .term .newslist, .topinfo .pagenav .newslist, .topinfo .contact dl .newslist, .contact .topinfo dl .newslist, .topinfo .contact .formbtn .newslist, .contact .topinfo .formbtn .newslist {
      position: relative;
      width: 24rem;
      z-index: 1; }
      @media screen and (min-width: 701px) {
        .topinfo .inner .newslist, .topinfo .term .newslist, .topinfo .pagenav .newslist, .topinfo .contact dl .newslist, .contact .topinfo dl .newslist, .topinfo .contact .formbtn .newslist, .contact .topinfo .formbtn .newslist {
          width: 85%; } }
    .topinfo .inner .topbtn, .topinfo .term .topbtn, .topinfo .pagenav .topbtn, .topinfo .contact dl .topbtn, .contact .topinfo dl .topbtn, .topinfo .contact .formbtn .topbtn, .contact .topinfo .formbtn .topbtn {
      margin: auto;
      position: relative;
      z-index: 1; }

/* 下層ページ */
.pg {
  padding-top: 12.8rem;
  position: relative; }
  @media screen and (min-width: 961px) {
    .pg {
      padding-top: 17rem; } }
  .pg::before, .pg::after {
    content: "";
    display: block; }
  .pg::before {
    width: 13rem;
    aspect-ratio: 37 / 31;
    background: url("../images/common/pg-img-sp.webp") center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    right: 0;
    top: 94%; }
    @media screen and (min-width: 701px) {
      .pg::before {
        width: min(14.75%, 23rem);
        aspect-ratio: 461 / 530;
        background: url("../images/common/pg-img.webp") center center no-repeat;
        background-size: 100% auto;
        top: auto;
        bottom: 0;
        right: min(4.25vw, 6.8rem); } }
  .pg::after {
    width: 100%;
    aspect-ratio: 125 / 13;
    background: url("../images/common/pg-sp.webp") center center no-repeat;
    background-size: 100% auto; }
    @media screen and (min-width: 961px) {
      .pg::after {
        aspect-ratio: 640 / 57;
        background: url("../images/common/pg.webp") center center no-repeat;
        background-size: 100% auto; } }
  @media screen and (min-width: 701px) {
    .pg .wide {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; } }
  .pg h1, .pg h2 {
    margin-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .pg h1, .pg h2 {
        margin-bottom: 8rem; } }
    .pg h1 b, .pg h2 b {
      display: block;
      font-family: "banana", "Zen Kaku Gothic New", sans-serif;
      font-size: clamp(3.2rem, calc(1.745rem + 3vw), 7.2rem);
      font-weight: 400;
      margin-bottom: 1.8rem;
      text-shadow: 3px 3px 0 #fff; }
      @media screen and (min-width: 701px) {
        .pg h1 b, .pg h2 b {
          margin-bottom: 2.2rem; } }
      @media screen and (min-width: 961px) {
        .pg h1 b, .pg h2 b {
          margin-bottom: 4rem; } }
    .pg h1 span, .pg h2 span {
      font-family: "Montserrat", sans-serif;
      font-size: clamp(1rem, calc(0.928rem + 0.23vw), 1.2rem);
      font-weight: 600;
      letter-spacing: 0.08em;
      line-height: 1.6em;
      opacity: .5; }
    .pg h1.red b, .pg h2.red b {
      color: #EA0800; }
    .pg h1.orange b, .pg h2.orange b {
      color: #FF5509; }
    .pg h1.light b, .pg h2.light b {
      color: #FF7612; }
    .pg h1.green b, .pg h2.green b {
      color: #13AC6D; }
    .pg h1.yellow b, .pg h2.yellow b {
      color: #FAAD01; }

.bread {
  align-items: flex-start;
  margin-bottom: 4rem;
  width: min(100%, 41rem); }
  @media screen and (min-width: 701px) {
    .bread {
      margin-bottom: 0;
      justify-content: flex-end;
      width: min(100%, 37rem); } }
  @media screen and (min-width: 961px) {
    .bread {
      width: min(100%, 41rem); } }
  @media screen and (min-width: 1081px) {
    .bread {
      width: min(100%, 56rem); } }
  .bread li {
    display: block;
    font-size: clamp(1.2rem, calc(1.054rem + 0.45vw), 1.6rem);
    letter-spacing: 0.08em;
    font-weight: 500; }
    .bread li a {
      align-items: center;
      font-weight: 500;
      word-break: keep-all; }
      .bread li a::after {
        content: "";
        display: block;
        width: .6rem;
        height: .6rem;
        border-top: #FAC259 1.5px solid;
        border-right: #FAC259 1.5px solid;
        transform: rotate(45deg);
        margin-left: .8rem;
        margin-right: .6rem; }
        @media screen and (min-width: 961px) {
          .bread li a::after {
            width: .8rem;
            height: .8rem;
            margin: 0 1rem; } }

.bg {
  background: #F2E5CB;
  border-radius: 0 0 4rem 0; }
  @media screen and (min-width: 701px) {
    .bg {
      border-radius: 0 0 6rem 0; } }
  @media screen and (min-width: 961px) {
    .bg {
      border-radius: 0 0 8rem 0; } }

.psub, .policy dl dt {
  font-family: "banana", "Zen Kaku Gothic New", sans-serif;
  font-size: clamp(3.2rem, calc(2.763rem + 1.36vw), 4.4rem);
  font-weight: 400;
  line-height: 1.5em;
  padding-left: 1.6rem;
  margin-bottom: 2.8rem;
  position: relative; }
  @media screen and (min-width: 701px) {
    .psub, .policy dl dt {
      padding-left: 3.2rem;
      margin-bottom: 5.6rem; } }
  .psub::before, .policy dl dt::before {
    content: "";
    display: block;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background: #FF7612;
    position: absolute;
    left: 0;
    top: .65em; }
    @media screen and (min-width: 701px) {
      .psub::before, .policy dl dt::before {
        width: 1.6rem;
        height: 1.6rem;
        top: .5em; } }

/* タコライスラバーズとは */
.about {
  padding-top: 9.5rem;
  padding-bottom: 25.3rem; }
  @media screen and (min-width: 701px) {
    .about {
      padding-top: 6.8rem;
      padding-bottom: 24rem; } }
  .about .bg {
    width: min(calc(100% - 3.2rem), 102.4rem);
    aspect-ratio: 343 / 575;
    background: url("../images/about/about-bg-sp.webp") center center no-repeat;
    background-size: 100% auto;
    margin: auto;
    align-items: center;
    flex-direction: column;
    position: relative; }
    @media screen and (min-width: 701px) {
      .about .bg {
        aspect-ratio: 1024 / 645;
        background: url("../images/about/about-bg.webp") center center no-repeat;
        background-size: 100% auto; } }
    .about .bg::before, .about .bg::after {
      content: "";
      display: block;
      position: absolute; }
    .about .bg::before {
      width: 104%;
      aspect-ratio: 719 / 298;
      background: url("../images/about/about-top.webp") center center no-repeat;
      background-size: 100% auto;
      top: 0;
      left: 50%;
      transform: translate(-50%, -70%); }
      @media screen and (min-width: 701px) {
        .about .bg::before {
          width: min(22.5vw, 36rem);
          aspect-ratio: 15 / 34;
          background: url("../images/about/about-left.webp") center center no-repeat;
          background-size: 100% auto;
          top: 50%;
          left: 0;
          transform: translate(-50%, -50%); } }
    .about .bg::after {
      width: 104%;
      aspect-ratio: 718 / 379;
      background: url("../images/about/about-btm.webp") center center no-repeat;
      background-size: 100% auto;
      left: 50%;
      bottom: 0;
      transform: translate(-50%, 85%); }
      @media screen and (min-width: 701px) {
        .about .bg::after {
          width: min(31.5vw, 50.4rem);
          aspect-ratio: 144 / 193;
          background: url("../images/about/about-right.webp") center center no-repeat;
          background-size: 100% auto;
          top: 50%;
          left: auto;
          right: 0;
          bottom: auto;
          transform: translate(45%, -50%); } }
      @media screen and (min-width: 961px) {
        .about .bg::after {
          transform: translate(16%, -50%); } }
      @media screen and (min-width: 1301px) {
        .about .bg::after {
          transform: translate(50%, -50%); } }
    .about .bg .inbox {
      padding: 0 4.8rem;
      width: min(100%, 83.2rem); }
  .about h2 {
    text-align: center;
    font-family: "banana", "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(3.1rem, calc(1.818rem + 0.91vw), 4rem);
    font-weight: 400;
    line-height: 1.5em; }
    .about h2::after {
      content: "";
      display: block;
      width: 100%;
      height: .4rem;
      background: url("../images/common/dotline.webp") repeat-x;
      background-size: auto .4rem;
      margin: 2rem 0 2.4rem 0; }
      @media screen and (min-width: 961px) {
        .about h2::after {
          margin: 3rem 0; } }
      @media screen and (min-width: 1081px) {
        .about h2::after {
          margin: 4rem 0; } }
    @media screen and (min-width: 701px) {
      .about h2 br {
        display: none; } }
  .about p {
    font-size: clamp(1.4rem, calc(1.254rem + 0.45vw), 1.8rem);
    font-weight: 700;
    width: min(100%, 65.6rem);
    margin: auto; }
    .about p b {
      color: #FF7612;
      font-weight: 700; }
    .about p.pb {
      padding-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .about p.pb {
          padding-bottom: 3.2rem; } }

.miraiticket {
  position: relative;
  z-index: 1;
  background: #F2E5CB; }
  @media screen and (min-width: 701px) {
    .miraiticket {
      padding-bottom: 2rem; } }
  .miraiticket::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #FFF5E0;
    border-radius: 0 0 0 4rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .miraiticket::before {
        border-radius: 0 0 0 6rem; } }
    @media screen and (min-width: 961px) {
      .miraiticket::before {
        border-radius: 0 0 0 8rem; } }
  .miraiticket .wide {
    width: min(calc(100% - 3.2rem), 136rem);
    background: #fff;
    border-radius: .8rem;
    padding-top: 4.8rem;
    padding-bottom: 3.2rem;
    transform: translateY(-8rem); }
    @media screen and (min-width: 701px) {
      .miraiticket .wide {
        border-radius: 1.6rem;
        padding-top: 10rem;
        padding-bottom: 8rem;
        transform: translateY(-10rem); } }
  .miraiticket .inner, .miraiticket .term, .miraiticket .pagenav, .miraiticket .contact dl, .contact .miraiticket dl, .miraiticket .contact .formbtn, .contact .miraiticket .formbtn {
    width: min(calc(100% - 3.2rem), 102.4rem); }
  @media screen and (min-width: 701px) {
    .miraiticket .txt {
      width: calc(100% - 18rem); } }

.howto {
  position: relative;
  padding-top: 1rem; }
  @media screen and (min-width: 701px) {
    .howto {
      padding-top: 4rem; } }
  .howto::before {
    content: "";
    display: block;
    width: min(83%, 25.9rem);
    aspect-ratio: 173 / 98;
    background: url("../images/about/taco-sp.webp") center center no-repeat;
    background-size: 100% auto;
    margin: 0 auto 3.2rem; }
    @media screen and (min-width: 701px) {
      .howto::before {
        width: min(24.4%, 25rem);
        aspect-ratio: 251 / 269;
        background: url("../images/about/taco.webp") center center no-repeat;
        background-size: 100% auto;
        margin: 0;
        position: absolute;
        bottom: 100%;
        right: 0;
        transform: translateX(3rem); } }
  .howto .honav {
    background: #FAC259;
    border-radius: 10rem;
    overflow: hidden;
    margin-bottom: 2rem; }
    @media screen and (min-width: 701px) {
      .howto .honav {
        margin-bottom: 5rem; } }
    @media screen and (min-width: 961px) {
      .howto .honav {
        margin-bottom: 7rem; } }
    .howto .honav li {
      width: 50%;
      align-items: center;
      width: 100%;
      border: #FAC259 2px solid;
      border-radius: 10rem;
      padding: 1rem 0;
      font-size: clamp(1.6rem, calc(1.528rem + 0.23vw), 1.8rem);
      font-weight: 700;
      letter-spacing: 0.08em;
      cursor: pointer;
      transition: .3s; }
      @media screen and (min-width: 701px) {
        .howto .honav li {
          padding: 1.3rem 0; } }
      .howto .honav li:hover {
        background: rgba(255, 255, 255, 0.3); }
      .howto .honav li.active {
        pointer-events: none;
        background: #fff; }
  .howto .hocontainer {
    padding-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .howto .hocontainer {
        padding-bottom: 3.6rem; } }
    .howto .hocontainer .box {
      counter-reset: num;
      display: none; }
      @media screen and (min-width: 701px) {
        .howto .hocontainer .box {
          display: none;
          justify-content: space-between;
          flex-wrap: wrap; } }
      .howto .hocontainer .box.show {
        display: block; }
        @media screen and (min-width: 701px) {
          .howto .hocontainer .box.show {
            display: flex; } }
      .howto .hocontainer .box h3 {
        font-family: "banana", "Zen Kaku Gothic New", sans-serif;
        font-size: clamp(2.2rem, calc(2.096rem + 0.8vw), 3.2rem);
        font-weight: 400;
        line-height: 1.5em;
        padding-left: 4.8rem;
        position: relative;
        counter-increment: num;
        margin-bottom: 2rem; }
        @media screen and (min-width: 701px) {
          .howto .hocontainer .box h3 {
            width: 55%;
            margin-bottom: 4rem; }
            .howto .hocontainer .box h3::after {
              content: "";
              display: block;
              width: 100%;
              height: .4rem;
              background: url("../images/common/dotline.webp") repeat-x;
              background-size: auto .4rem;
              position: absolute;
              left: 0;
              bottom: 0; } }
        .howto .hocontainer .box h3::before {
          content: counter(num);
          align-items: center;
          font-family: "Zen Kaku Gothic New", serif;
          font-size: clamp(2rem, calc(1.854rem + 0.45vw), 2.4rem);
          font-weight: 700;
          width: 3.6rem;
          aspect-ratio: 1 / 1;
          background: #FAC259;
          border-radius: .4rem;
          position: absolute;
          top: 0;
          left: 0; }
        .howto .hocontainer .box h3 b {
          color: #FF7612; }
      .howto .hocontainer .box figure {
        margin: 0; }
        @media screen and (min-width: 701px) {
          .howto .hocontainer .box figure {
            width: 45%; } }
        .howto .hocontainer .box figure img {
          display: block; }
        .howto .hocontainer .box figure:nth-of-type(1)::after {
          content: "";
          display: block;
          width: 100%;
          height: .4rem;
          background: url("../images/common/dotline.webp") repeat-x;
          background-size: auto .4rem;
          margin: 3.2rem 0; }
          @media screen and (min-width: 701px) {
            .howto .hocontainer .box figure:nth-of-type(1)::after {
              margin: 3.6rem 0 4rem; } }
        @media screen and (min-width: 701px) {
          .howto .hocontainer .box figure:nth-of-type(2)::after {
            content: "";
            display: block;
            width: 100%;
            height: .4rem;
            background: url("../images/common/dotline.webp") repeat-x;
            background-size: auto .4rem;
            margin: 3.6rem 0 4rem; } }
        @media screen and (min-width: 701px) {
          .howto .hocontainer .box figure:nth-of-type(2) img {
            width: 91%;
            margin: auto; } }

.howtomovie h3 {
  width: min(89%, 40.7%);
  margin: auto; }
  .howtomovie h3 img {
    display: block; }
.howtomovie iframe {
  border: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover; }

.company {
  background: #F2E5CB;
  padding-top: 6rem;
  padding-bottom: 8rem; }
  @media screen and (min-width: 701px) {
    .company {
      padding-top: 8rem;
      padding-bottom: 10rem; } }
  @media screen and (min-width: 961px) {
    .company {
      padding-top: 12rem;
      padding-bottom: 14rem; } }
  .company dl {
    flex-wrap: wrap;
    padding-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .company dl {
        padding-bottom: 4.8rem; } }
    .company dl dt, .company dl dd {
      display: block;
      padding-bottom: 1.6rem;
      margin-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .company dl dt, .company dl dd {
          padding-bottom: 3.2rem;
          margin-bottom: 3.2rem; } }
    .company dl dt {
      width: 8rem;
      font-weight: 700;
      border-bottom: #FF7612 2px solid; }
      @media screen and (min-width: 701px) {
        .company dl dt {
          text-align: center;
          width: 18.4rem; } }
    .company dl dd {
      width: calc(100% - 8rem);
      border-bottom: #fff 2px solid;
      font-weight: 500; }
      @media screen and (min-width: 701px) {
        .company dl dd {
          width: calc(100% - 18.4rem);
          padding-left: 4%; } }
  .company .greeting {
    background: #fff;
    padding: 2.4rem 2rem;
    border-radius: .8rem; }
    @media screen and (min-width: 701px) {
      .company .greeting {
        padding: 4rem;
        border-radius: 1.6rem; } }
    .company .greeting .name {
      text-align: right;
      padding-top: 2.4rem; }
      .company .greeting .name b {
        font-size: clamp(1.6rem, calc(1.308rem + 0.91vw), 2.4rem);
        font-weight: 700;
        margin-left: 1rem; }
        @media screen and (min-width: 701px) {
          .company .greeting .name b {
            margin-left: 2rem; } }

/* みらいチケット 協力店 */
.map {
  padding: 6rem 0; }
  @media screen and (min-width: 701px) {
    .map {
      padding-top: 6rem;
      padding-bottom: 8rem; } }
  @media screen and (min-width: 961px) {
    .map {
      padding-top: 8rem;
      padding-bottom: 12rem; } }
  .map iframe {
    display: block;
    width: 100%;
    aspect-ratio: 128 / 65;
    object-fit: cover;
    margin-top: 4rem;
    border: 0; }
    @media screen and (min-width: 701px) {
      .map iframe {
        margin-top: 6rem; } }
    @media screen and (min-width: 961px) {
      .map iframe {
        margin-top: 8rem; } }

.ticket {
  padding-top: 6rem;
  padding-bottom: 8rem; }
  @media screen and (min-width: 701px) {
    .ticket {
      padding-top: 8rem;
      padding-bottom: 10rem; } }
  @media screen and (min-width: 961px) {
    .ticket {
      padding-top: 12rem;
      padding-bottom: 14rem; } }
  .ticket .lead {
    width: min(100%, 76rem);
    margin-bottom: 2.8rem; }
    @media screen and (min-width: 701px) {
      .ticket .lead {
        margin-bottom: 4.2rem; } }
    @media screen and (min-width: 961px) {
      .ticket .lead {
        margin-bottom: 5.6rem; } }
  .ticket .step {
    background: #fff;
    border-radius: .8rem;
    padding: 1.6rem;
    margin-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .ticket .step {
        padding: 3.9rem 5.6rem 5.6rem;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 2.4rem; } }
    .ticket .step:last-of-type {
      margin-bottom: 0; }
    .ticket .step .num {
      display: none; }
      @media screen and (min-width: 701px) {
        .ticket .step .num {
          display: block;
          width: 12.6rem; } }
      .ticket .step .num::after {
        content: "";
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/03.webp") center center no-repeat;
        background-size: 100% auto; }
    @media screen and (min-width: 701px) {
      .ticket .step .txt {
        width: calc(100% - 17.4rem); } }
    @media screen and (min-width: 701px) {
      .ticket .step .txt p:nth-of-type(n + 2) {
        margin-top: 1.6rem; } }
    .ticket .step .txt p a {
      color: #FF7612; }
      .ticket .step .txt p a:hover {
        text-decoration: underline; }
    .ticket .step dl {
      margin-top: 2.4rem;
      position: relative; }
      @media screen and (min-width: 701px) {
        .ticket .step dl {
          margin-top: 3.2rem; } }
      .ticket .step dl::before {
        content: "";
        display: block;
        width: 100%;
        height: .4rem;
        background: url("../lp/images/dotline.webp") repeat-x;
        background-size: auto .4rem;
        margin-bottom: 2.4rem; }
        @media screen and (min-width: 701px) {
          .ticket .step dl::before {
            margin-bottom: 3.2rem; } }
      .ticket .step dl dt {
        font-size: clamp(1.6rem, calc(1.454rem + 0.45vw), 2rem);
        font-weight: 700;
        padding-bottom: 1.6rem; }
      .ticket .step dl dd {
        font-size: clamp(1.3rem, calc(1.19rem + 0.34vw), 1rem);
        padding-left: 1.6rem;
        font-weight: 700;
        position: relative;
        margin-bottom: 1.2rem; }
        @media screen and (min-width: 701px) {
          .ticket .step dl dd {
            padding-left: 2.4rem;
            margin-bottom: .8rem; } }
        .ticket .step dl dd::before {
          content: "";
          display: block;
          width: 1.2rem;
          aspect-ratio: 1 / 1;
          background: url("../lp/images/check.svg") center center no-repeat;
          background-size: 100% auto;
          position: absolute;
          top: .6em;
          left: 0; }
          @media screen and (min-width: 701px) {
            .ticket .step dl dd::before {
              width: 1.4rem; } }
        .ticket .step dl dd a {
          color: #FF7612; }
          .ticket .step dl dd a:hover {
            text-decoration: underline; }
  .ticket h3 {
    align-items: flex-start;
    font-family: "banana", "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(1.8rem, calc(1.291rem + 1.59vw), 3.2rem);
    font-weight: 400;
    line-height: 1.7em;
    margin-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .ticket h3 {
        margin-bottom: 3.2rem; } }
    .ticket h3 img {
      display: block;
      width: 6.5rem; }
      @media screen and (min-width: 701px) {
        .ticket h3 img {
          display: none; } }
    .ticket h3 span {
      display: block;
      width: calc(100% - 7.5rem);
      font-weight: 400; }
      @media screen and (min-width: 701px) {
        .ticket h3 span {
          width: 100%; } }
  .ticket .search {
    background: #FFF3DA;
    padding: 1.6rem;
    border-radius: .8rem; }
    @media screen and (min-width: 701px) {
      .ticket .search {
        padding: 2.4rem; } }
    @media screen and (min-width: 1081px) {
      .ticket .search {
        display: flex;
        justify-content: space-between; } }
    .ticket .search h4 {
      font-size: clamp(1.4rem, calc(1.328rem + 0.23vw), 1.6rem);
      font-weight: 700;
      align-items: center;
      margin-bottom: .8rem; }
      .ticket .search h4::before {
        content: "";
        display: block;
        width: 1.4rem;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/search.svg") center center no-repeat;
        background-size: 100% auto;
        margin-right: .6rem; }
        @media screen and (min-width: 701px) {
          .ticket .search h4::before {
            width: 1.6rem; } }
    .ticket .search .left {
      margin-bottom: 1.6rem; }
      @media screen and (min-width: 1081px) {
        .ticket .search .left {
          width: 26.2rem;
          margin-bottom: 0; } }
  .ticket .searchform {
    border: #67523D 1px solid;
    background: #fff;
    border-radius: .4rem; }
    .ticket .searchform input[type=text] {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      padding: 1rem;
      width: calc(100% - 6.4rem);
      box-sizing: border-box; }
    .ticket .searchform button {
      align-items: center;
      font-size: 1.4rem;
      font-weight: 700;
      width: 6.4rem;
      background: #28C383;
      color: #fff; }
  @media screen and (min-width: 1081px) {
    .ticket .right {
      width: calc(100% - 28.2rem); } }
  .ticket .radio-group {
    padding: .8rem 0; }
    .ticket .radio-group label {
      display: block;
      position: relative; }
      .ticket .radio-group label::before {
        content: "";
        display: block;
        width: 1.4rem;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/nocheck.svg") center center no-repeat;
        background-size: 100% auto;
        position: absolute;
        left: 0;
        top: .5em; }
      .ticket .radio-group label input[type=radio] {
        opacity: 0; }
      .ticket .radio-group label:has(:checked)::before {
        background: url("../lp/images/check.svg") center center no-repeat;
        background-size: 100% auto; }
  .ticket .research {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    border-radius: .4rem;
    background: #28C383;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 3.8rem; }
  .ticket .result {
    align-items: center;
    padding: 1.4rem; }
    @media screen and (min-width: 1081px) {
      .ticket .result {
        padding: 1.6rem 1.6rem 1.6rem .9rem; } }
    .ticket .result .resulttxt {
      width: calc(100% - 8rem); }
      @media screen and (min-width: 1081px) {
        .ticket .result .resulttxt {
          width: calc(100% - 9rem); } }
    .ticket .result.full::before {
      content: "";
      display: block;
      width: 7rem;
      aspect-ratio: 1 / 1;
      background: url("../lp/images/capacity.webp") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 1081px) {
        .ticket .result.full::before {
          width: 9rem;
          margin-top: -2.5rem; } }
    .ticket .result.available::before {
      content: "";
      display: block;
      width: 7rem;
      aspect-ratio: 1 / 1;
      background: url("../lp/images/possible.webp") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 1081px) {
        .ticket .result.available::before {
          width: 9rem;
          margin-top: -2.5rem; } }
    .ticket .result.not-found::before {
      content: "";
      display: block;
      width: 7rem;
      aspect-ratio: 1 / 1;
      background: url("../lp/images/no-found.webp") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 1081px) {
        .ticket .result.not-found::before {
          width: 9rem;
          margin-top: -2.5rem; } }
  .ticket .loading-spinner {
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: #FF7612;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    margin: 0 auto;
    display: none;
    flex-shrink: 0; }
@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
#districtSelection {
  display: none;
  background: #fff;
  border-radius: .4rem;
  padding: 1.4rem; }
  @media screen and (min-width: 1081px) {
    #districtSelection {
      padding: 1.6rem; } }

#result {
  background: #fff;
  width: 100%; }

#resultText p {
  font-size: 1.2rem;
  margin-top: 0; }
  @media screen and (min-width: 1081px) {
    #resultText p {
      font-size: 1.6rem; } }
  #resultText p span {
    font-size: 1.4rem;
    font-weight: 900; }
    @media screen and (min-width: 1081px) {
      #resultText p span {
        font-size: 1.6rem; } }
  #resultText p b {
    color: #FF7612;
    font-weight: 900;
    text-decoration: underline; }

.lity-content:after {
  box-shadow: none !important i;
  -webkit-box-shadow: none !important; }

.term {
  background: #fff;
  padding: 2rem;
  max-height: 86vh !important;
  border-radius: .8rem;
  overflow-y: scroll; }
  @media screen and (min-width: 701px) {
    .term {
      padding: 4rem;
      border-radius: 1.6rem; } }
  @media screen and (min-width: 961px) {
    .term {
      padding: 6.4rem; } }
  .term h2, .term dl, .term p {
    width: min(100%, 73rem);
    margin: auto; }
  .term h2 {
    font-size: clamp(1.6rem, calc(1.436rem + 1.14vw), 2.8rem);
    font-weight: 700;
    color: #FF7612;
    margin-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .term h2 {
        margin-bottom: 3.2rem; } }
  .term p {
    font-weight: 700; }
  .term dl dt {
    font-size: clamp(1.6rem, calc(1.454rem + 0.45vw), 2rem);
    font-weight: 700;
    padding-top: 1.6rem;
    padding-bottom: .8rem; }
    @media screen and (min-width: 701px) {
      .term dl dt {
        padding-top: 3.2rem;
        padding-bottom: 1.6rem; } }

/* 協賛・賛助会員・後援 */
.sponsorship {
  padding: 6rem 0; }
  @media screen and (min-width: 701px) {
    .sponsorship {
      padding-top: 6rem;
      padding-bottom: 8rem; } }
  @media screen and (min-width: 961px) {
    .sponsorship {
      padding-top: 8rem;
      padding-bottom: 12rem; } }

.supporting {
  padding: 6rem 0;
  background: #F2E5CB;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 701px) {
    .supporting {
      padding: 8rem 0;
      border-radius: 0 0 6rem 0; } }
  @media screen and (min-width: 961px) {
    .supporting {
      padding: 12rem 0;
      border-radius: 0 0 8rem 0; } }
  .supporting::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #FFF5E0;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 0 0 4rem;
    z-index: -1; }
    @media screen and (min-width: 701px) {
      .supporting::before {
        border-radius: 0 0 0 6rem; } }
    @media screen and (min-width: 961px) {
      .supporting::before {
        border-radius: 0 0 0 8rem; } }
  .supporting h3 {
    font-size: clamp(1.6rem, calc(1.308rem + 0.91vw), 2.4rem);
    font-weight: 700;
    align-items: center;
    margin-bottom: 1.2rem; }
    @media screen and (min-width: 701px) {
      .supporting h3 {
        margin-bottom: 2.4rem; } }
    .supporting h3::before {
      content: "";
      display: block;
      width: .4rem;
      height: 2.8rem;
      background: #FAC259;
      border-radius: 10rem;
      margin-right: .8rem; }
      @media screen and (min-width: 701px) {
        .supporting h3::before {
          width: .8rem;
          height: 5.6rem;
          margin-right: 1.6rem; } }
  .supporting ul {
    flex-wrap: wrap;
    padding-bottom: .8rem; }
    @media screen and (min-width: 701px) {
      .supporting ul::before, .supporting ul::after {
        content: "";
        display: block;
        width: 22.6%; } }
    .supporting ul::before {
      order: 1; }
    .supporting ul li {
      display: block;
      text-align: center;
      width: 47%;
      font-size: clamp(1.3rem, calc(1.19rem + 0.3vw), 1.54rem);
      font-weight: 500;
      margin-bottom: 1.6rem; }
      @media screen and (min-width: 701px) {
        .supporting ul li {
          width: 23.5%;
          margin-bottom: 3.2rem; } }
      @media screen and (min-width: 961px) {
        .supporting ul li {
          width: 22.6%; } }
      .supporting ul li img {
        display: block;
        margin-bottom: .8rem; }
        @media screen and (min-width: 701px) {
          .supporting ul li img {
            margin-bottom: 1.2rem; } }
  .supporting .member {
    background: #FFE62A;
    margin-top: 1rem;
    padding: 2rem;
    border-radius: .8rem; }
    @media screen and (min-width: 701px) {
      .supporting .member {
        margin-top: 1.4rem;
        padding: 4rem 1.6rem 4rem 4rem;
        border-radius: 1.6rem;
        display: flex;
        justify-content: space-between;
        align-content: center; } }
    .supporting .member .txt {
      padding-bottom: 2.4rem; }
      @media screen and (min-width: 701px) {
        .supporting .member .txt {
          padding-bottom: 0;
          width: calc(100% - 36rem); } }
    .supporting .member .btn {
      align-items: center;
      width: 20rem;
      height: 6rem;
      background: #FF7612;
      color: #fff;
      font-size: clamp(1.5rem, calc(1.39rem + 0.34vw), 1.8rem);
      font-weight: 700;
      position: relative; }
      @media screen and (min-width: 701px) {
        .supporting .member .btn {
          width: 25.3rem;
          height: 7.4rem;
          margin-right: 9.2rem; } }
      .supporting .member .btn::before, .supporting .member .btn::after {
        content: "";
        display: block; }
      .supporting .member .btn::before {
        width: 1.7rem;
        aspect-ratio: 1 / 1;
        background: url("../images/common/arrow-ylw.svg") center center no-repeat;
        background-size: 100%;
        margin-right: 1.2rem; }
      .supporting .member .btn::after {
        width: 11rem;
        position: absolute;
        left: calc(100% - 1.6rem);
        top: 50%;
        aspect-ratio: 1 / 1;
        background: url("../lp/images/possible.webp") center center no-repeat;
        background-size: 100% auto;
        transform: translateY(-55%); }
        @media screen and (min-width: 701px) {
          .supporting .member .btn::after {
            width: 13rem;
            left: calc(100% - 3rem); } }
      .supporting .member .btn:hover {
        opacity: .7; }

.donation {
  padding: 6rem 0; }
  @media screen and (min-width: 701px) {
    .donation {
      padding: 8rem 0; } }
  @media screen and (min-width: 961px) {
    .donation {
      padding: 12rem 0; } }
  .donation p {
    font-weight: 500; }
  .donation .pl {
    margin-bottom: 2.8rem; }
    @media screen and (min-width: 701px) {
      .donation .pl {
        padding-left: 3.2rem;
        margin-bottom: 5.6rem; } }
  @media screen and (min-width: 701px) {
    .donation .list {
      display: flex;
      justify-content: space-between; } }
  .donation .list .box {
    background: #fff;
    border-radius: .8rem;
    padding: 2rem; }
    @media screen and (min-width: 701px) {
      .donation .list .box {
        border-radius: 1.6rem;
        padding: 3.2rem;
        width: 47.6%; } }
    .donation .list .box:nth-of-type(1) {
      margin-bottom: 2.4rem; }
      @media screen and (min-width: 701px) {
        .donation .list .box:nth-of-type(1) {
          margin-bottom: 0; } }
    .donation .list .box p {
      font-weight: 400; }
  .donation .list h3 {
    font-family: "banana", "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(2rem, calc(1.291rem + 1.59vw), 3.2rem);
    font-weight: 400;
    text-align: center;
    padding-bottom: 1.2rem; }
    @media screen and (min-width: 701px) {
      .donation .list h3 {
        padding-bottom: 2.4rem; } }
  .donation .list .btn {
    align-items: center;
    width: min(100%, 23.5rem);
    height: 6rem;
    background: #FFE62A;
    font-size: clamp(1.5rem, calc(1.39rem + 0.34vw), 1.8rem);
    font-weight: 700;
    margin: 2.8rem auto 0; }
    @media screen and (min-width: 701px) {
      .donation .list .btn {
        height: 7.4rem; } }
    .donation .list .btn::before {
      content: "";
      display: block;
      width: 1.5rem;
      aspect-ratio: 1 / 1;
      background: url("../images/common/blank.svg") center center no-repeat;
      background-size: 100% auto;
      margin-right: 1.6rem; }
    .donation .list .btn:hover {
      opacity: .7; }
  .donation .list dl {
    margin-top: 2.4rem; }
    @media screen and (min-width: 961px) {
      .donation .list dl {
        display: flex;
        justify-content: center;
        flex-wrap: wrap; } }
    .donation .list dl::before {
      content: "";
      display: block;
      width: 100%;
      height: .4rem;
      background: url("../images/common/dotline.webp") repeat-x;
      background-size: auto .4rem;
      margin-bottom: 2.4rem; }
    .donation .list dl dt {
      font-weight: 700;
      color: #FF7612;
      padding-bottom: .5rem; }
      @media screen and (min-width: 701px) {
        .donation .list dl dt {
          padding-bottom: 0; } }
      @media screen and (min-width: 961px) {
        .donation .list dl dt {
          margin-right: 11%; } }
    .donation .list dl dd {
      font-weight: 700; }

.sponsored-by {
  padding-top: 6rem;
  padding-bottom: 8rem; }
  @media screen and (min-width: 701px) {
    .sponsored-by {
      padding-top: 8rem;
      padding-bottom: 10rem; } }
  @media screen and (min-width: 961px) {
    .sponsored-by {
      padding-top: 12rem;
      padding-bottom: 14rem; } }
  .sponsored-by .bnr {
    flex-wrap: wrap; }
    .sponsored-by .bnr li {
      display: block;
      width: 48.8%; }
      .sponsored-by .bnr li a {
        display: block; }
      .sponsored-by .bnr li img {
        display: block; }

/* 動画ギャラリー */
.music {
  padding-top: 8.4rem;
  padding-bottom: 6rem;
  position: relative; }
  @media screen and (min-width: 701px) {
    .music {
      padding-top: 8.4rem;
      padding-bottom: 12rem; } }
  .music p {
    font-weight: 500; }
  .music iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-top: 2.8rem;
    border: 0; }
    @media screen and (min-width: 701px) {
      .music iframe {
        margin-top: 5.6rem; } }

.tvcm {
  padding: 6rem 0; }
  @media screen and (min-width: 701px) {
    .tvcm {
      padding: 12rem 0; } }
  @media screen and (min-width: 701px) {
    .tvcm ul {
      display: flex;
      justify-content: space-between; } }
  .tvcm ul li {
    text-align: center;
    font-weight: 500;
    margin-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .tvcm ul li {
        margin-bottom: 0;
        width: 31.25%; } }
    .tvcm ul li iframe, .tvcm ul li img, .tvcm ul li video {
      display: block;
      width: 100%;
      aspect-ratio: 160 / 119;
      object-fit: cover;
      margin-bottom: 1.6rem; }

/* 規定 */
.provisions {
  background: #F2E5CB;
  padding-top: 10rem;
  padding-bottom: 7rem; }
  @media screen and (min-width: 701px) {
    .provisions {
      padding-top: 8rem;
      padding-bottom: 14rem; } }
  @media screen and (min-width: 701px) {
    .provisions ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; } }
  @media screen and (min-width: 961px) {
    .provisions ul::after {
      content: "";
      display: block;
      width: 31.25%; } }
  .provisions ul li {
    font-size: clamp(1.6rem, calc(1.454rem + 0.45vw), 2rem);
    margin-bottom: 1.8rem; }
    @media screen and (min-width: 701px) {
      .provisions ul li {
        width: 48%;
        margin-bottom: 2.8rem; } }
    @media screen and (min-width: 961px) {
      .provisions ul li {
        width: 31.25%;
        margin-bottom: 3.2rem; } }
    .provisions ul li a {
      align-items: center;
      background: #fff;
      border-radius: .8rem;
      font-weight: 700;
      height: 8rem; }
      @media screen and (min-width: 701px) {
        .provisions ul li a {
          border-radius: 1.6rem;
          height: 12rem; } }
      .provisions ul li a::before {
        content: "";
        display: block;
        width: 1.5rem;
        aspect-ratio: 3 / 4;
        background: url("../images/common/pdf.svg") center center no-repeat;
        background-size: 100% auto;
        margin-right: .8rem; }
        @media screen and (min-width: 701px) {
          .provisions ul li a::before {
            margin-right: 1.2rem; } }

/* お知らせ */
.date-cat {
  align-items: center;
  margin-bottom: 1.6rem; }
  .date-cat p {
    font-size: clamp(1.2rem, calc(1.128rem + 0.23vw), 1.4rem);
    font-weight: 600;
    opacity: .6;
    letter-spacing: 0.08em; }
  .date-cat ul {
    flex-wrap: wrap; }
    .date-cat ul li {
      font-size: 1.2rem;
      letter-spacing: 0.05em; }
      .date-cat ul li a, .date-cat ul li span {
        display: inline-block;
        font-weight: 500;
        padding: .1rem 1.6rem;
        background: #FFE62A;
        border-radius: 10rem;
        text-decoration: none;
        color: #674A2D; }

.newslist .box {
  position: relative;
  margin-bottom: 3.2rem; }
  @media screen and (min-width: 701px) {
    .newslist .box {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 4rem; } }
  .newslist .box figure {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: .8rem;
    margin-bottom: 1.6rem;
    overflow: hidden; }
    @media screen and (min-width: 701px) {
      .newslist .box figure {
        margin-bottom: 0;
        width: 35%; } }
    .newslist .box figure img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .5s; }
  @media screen and (min-width: 701px) {
    .newslist .box .txt {
      width: calc(65% - 2rem); } }
  @media screen and (min-width: 961px) {
    .newslist .box .txt {
      width: calc(65% - 4rem); } }
  .newslist .box .txt p {
    font-weight: 700; }
    .newslist .box .txt p.link {
      text-align: right;
      margin-top: 1.6rem; }
      @media screen and (min-width: 701px) {
        .newslist .box .txt p.link {
          margin-top: 2.4rem; } }
      .newslist .box .txt p.link span {
        display: inline-block;
        font-weight: 700;
        position: relative;
        padding-bottom: .6rem; }
        .newslist .box .txt p.link span::before {
          content: "";
          display: inline-block;
          width: 1.4rem;
          aspect-ratio: 1 / 1;
          background: url("../images/common/arrow.svg") center center no-repeat;
          background-size: 100% auto;
          margin-right: .8rem; }
        .newslist .box .txt p.link span::after {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background: #674A2D;
          position: absolute;
          left: 0;
          bottom: 0;
          transition: .3s; }
  .newslist .box a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .newslist .box:hover figure img {
    transform: scale(1.1); }
  .newslist .box:hover p.link span::after {
    transform: translateY(-4px);
    opacity: 0; }

.catlist {
  flex-wrap: wrap;
  padding-bottom: 3.2rem; }
  @media screen and (min-width: 701px) {
    .catlist {
      padding-bottom: 4.8rem; } }
  @media screen and (min-width: 961px) {
    .catlist {
      padding-bottom: 6.4rem; } }
  .catlist li {
    display: block;
    margin: 0 .4rem .8rem; }
    @media screen and (min-width: 701px) {
      .catlist li {
        margin: 0 .8rem 1.6rem; } }
    .catlist li a {
      display: inline-block;
      background: #fff;
      font-weight: 700;
      padding: .8rem 2rem;
      border-radius: 10rem; }
      @media screen and (min-width: 701px) {
        .catlist li a {
          padding: 1.2rem 3rem; } }
      @media screen and (min-width: 1081px) {
        .catlist li a {
          padding: 1.6rem 4rem; } }
      .catlist li a:hover {
        color: #fff;
        background: #FF7612; }
    .catlist li.current a {
      pointer-events: none;
      color: #fff;
      background: #FF7612; }

.info {
  background: #F2E5CB;
  padding-top: 10rem;
  padding-bottom: 7rem; }
  @media screen and (min-width: 701px) {
    .info {
      padding-top: 8rem;
      padding-bottom: 14rem; } }
  .info .newslist {
    padding-bottom: 3.2rem; }
    @media screen and (min-width: 701px) {
      .info .newslist {
        padding-bottom: 4rem; } }

.cms {
  background: #fff;
  padding: 4rem 0;
  border-radius: .8rem;
  margin-bottom: 4rem; }
  @media screen and (min-width: 701px) {
    .cms {
      padding: 8rem 0;
      border-radius: 1.6rem;
      margin-bottom: 6rem; } }
  @media screen and (min-width: 961px) {
    .cms {
      padding: 12rem 0;
      margin-bottom: 8rem; } }
  .cms .date-cat {
    margin-bottom: 2.4rem; }
  .cms h1 {
    font-size: clamp(1.8rem, calc(1.508rem + 0.91vw), 2.6rem);
    font-weight: 700;
    line-height: 1.8em;
    padding-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .cms h1 {
        padding-bottom: 3.2rem; } }
    @media screen and (min-width: 961px) {
      .cms h1 {
        padding-bottom: 5.6rem; } }
  .cms .kv {
    display: block;
    width: 100%;
    aspect-ratio: 1024 / 683;
    border-radius: .8rem;
    overflow: hidden;
    margin-bottom: 2.4rem; }
    @media screen and (min-width: 701px) {
      .cms .kv {
        margin-bottom: 3.2rem; } }
    @media screen and (min-width: 961px) {
      .cms .kv {
        margin-bottom: 5.6rem; } }
    .cms .kv img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .cms a {
    color: #FF7612;
    text-decoration: underline; }

.pagenav {
  align-items: center; }
  .pagenav li {
    display: block; }
    .pagenav li a:hover {
      opacity: .7; }
    .pagenav li.prev a, .pagenav li.next a {
      display: block;
      width: 3.2rem;
      aspect-ratio: 1 / 1;
      background: url("../images/common/c-arrow.svg") center center no-repeat;
      background-size: 100% auto; }
      @media screen and (min-width: 701px) {
        .pagenav li.prev a, .pagenav li.next a {
          width: 4.8rem; } }
      @media screen and (min-width: 961px) {
        .pagenav li.prev a, .pagenav li.next a {
          width: 5.6rem; } }
    .pagenav li.prev a {
      transform: scale(-1, 1); }
    .pagenav li.list a {
      display: inline-block;
      background: #fff;
      font-weight: 700;
      padding: 1rem 2rem;
      border-radius: 10rem; }
      @media screen and (min-width: 701px) {
        .pagenav li.list a {
          padding: 1.5rem 2.5rem; } }

/* お問い合わせ */
.contact {
  background: #F2E5CB;
  padding-top: 10rem;
  padding-bottom: 7rem; }
  @media screen and (min-width: 701px) {
    .contact {
      padding-top: 8rem;
      padding-bottom: 14rem; } }
  .contact .wide {
    background: #fff;
    padding: 4rem 0;
    margin-top: 4rem;
    border-radius: .8rem; }
    @media screen and (min-width: 701px) {
      .contact .wide {
        margin-top: 8rem;
        padding: 8rem 0;
        border-radius: 1.6rem; } }
  .contact dl {
    position: relative;
    padding-bottom: 2rem;
    margin-bottom: 1.6rem; }
    @media screen and (min-width: 701px) {
      .contact dl {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding-bottom: 3.2rem;
        margin-bottom: 4.8rem; } }
    .contact dl::after {
      content: "";
      display: block;
      width: 100%;
      height: .4rem;
      background: url("../images/common/dotline.webp") repeat-x;
      background-size: auto .4rem;
      position: absolute;
      left: 0;
      bottom: 0; }
    .contact dl dt {
      align-items: flex-start;
      font-weight: 700;
      letter-spacing: 0.12em; }
      @media screen and (min-width: 701px) {
        .contact dl dt {
          width: 21rem;
          padding-left: 2rem; } }
      @media screen and (min-width: 961px) {
        .contact dl dt {
          width: 25rem;
          padding-left: 4rem; } }
      .contact dl dt span {
        display: inline-block;
        background: #FF7612;
        color: #fff;
        font-size: 1.2rem;
        font-weight: 700;
        padding: .2rem 1.4rem;
        border-radius: 10rem;
        transform: translateY(-0.2rem); }
    @media screen and (min-width: 701px) {
      .contact dl dd {
        width: calc(100% - 21rem);
        padding-left: 4rem; } }
    @media screen and (min-width: 961px) {
      .contact dl dd {
        width: calc(100% - 25rem);
        padding-left: 7rem; } }
    .contact dl .wpcf7-list-item {
      margin-left: 0; }
    @media screen and (min-width: 701px) {
      .contact dl .radio.flb .wpcf7-radio {
        padding-top: 1.2rem; } }
    @media screen and (min-width: 961px) {
      .contact dl .radio.flb .wpcf7-radio {
        padding-top: 1.6rem; } }
    .contact dl .radio.flb .wpcf7-radio .wpcf7-list-item {
      margin-right: 1.6rem;
      margin-bottom: 0; }
      @media screen and (min-width: 701px) {
        .contact dl .radio.flb .wpcf7-radio .wpcf7-list-item {
          margin-right: 3.2rem; } }
    .contact dl .radio .wpcf7-list-item {
      display: block;
      position: relative;
      margin-bottom: 1.2rem; }
      @media screen and (min-width: 701px) {
        .contact dl .radio .wpcf7-list-item {
          margin-bottom: 2.4rem; } }
      .contact dl .radio .wpcf7-list-item:last-child {
        margin-bottom: 0; }
      .contact dl .radio .wpcf7-list-item label {
        display: block;
        position: relative;
        padding-left: 2rem; }
        @media screen and (min-width: 701px) {
          .contact dl .radio .wpcf7-list-item label {
            padding-left: 3.4rem; } }
        .contact dl .radio .wpcf7-list-item label input {
          position: absolute;
          left: 0;
          opacity: 0; }
        .contact dl .radio .wpcf7-list-item label::before, .contact dl .radio .wpcf7-list-item label::after {
          content: "";
          display: block;
          border-radius: 50%;
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto; }
        .contact dl .radio .wpcf7-list-item label::before {
          border: #CBCBCB 2px solid;
          width: 1.6rem;
          height: 1.6rem;
          left: 0; }
          @media screen and (min-width: 701px) {
            .contact dl .radio .wpcf7-list-item label::before {
              width: 2rem;
              height: 2rem; } }
        .contact dl .radio .wpcf7-list-item label::after {
          background: #FAC259;
          width: 1rem;
          height: 1rem;
          left: .3rem;
          opacity: 0; }
          @media screen and (min-width: 701px) {
            .contact dl .radio .wpcf7-list-item label::after {
              left: .5rem; } }
        .contact dl .radio .wpcf7-list-item label:has(input:checked)::after {
          opacity: 1; }
  .contact input, .contact textarea {
    font-size: clamp(1.4rem, calc(1.328rem + 0.23vw), 1.6rem);
    font-weight: 700;
    letter-spacing: 0.08em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box; }
  .contact input[type=text], .contact input[type=tel], .contact input[type=email], .contact textarea {
    padding: .8rem;
    background: #F3F3F3;
    border-radius: .4rem;
    width: 100%; }
    @media screen and (min-width: 701px) {
      .contact input[type=text], .contact input[type=tel], .contact input[type=email], .contact textarea {
        padding: 1.6rem;
        border-radius: .8rem;
        margin-top: -1.6rem; } }
  .contact textarea {
    height: 12rem; }
    @media screen and (min-width: 701px) {
      .contact textarea {
        height: 18rem; } }
    @media screen and (min-width: 961px) {
      .contact textarea {
        height: 24rem; } }
  .contact input[type=submit], .contact input[type=button] {
    color: #fff;
    font-size: clamp(1.5rem, calc(1.39rem + 0.34vw), 1.8rem);
    font-weight: 700;
    background: #DD0628;
    width: 100%;
    height: 5.2rem;
    cursor: pointer;
    transition: .3s; }
    @media screen and (min-width: 701px) {
      .contact input[type=submit], .contact input[type=button] {
        height: 6.4rem; } }
    @media screen and (min-width: 961px) {
      .contact input[type=submit], .contact input[type=button] {
        height: 7.4rem; } }
    .contact input[type=submit]:hover, .contact input[type=button]:hover {
      opacity: .7; }
  .contact .formbtn {
    padding-top: 1.2rem; }
    @media screen and (min-width: 701px) {
      .contact .formbtn {
        justify-content: center;
        padding-top: 2.4rem; } }
    .contact .formbtn li {
      display: block;
      width: 48%; }
      @media screen and (min-width: 701px) {
        .contact .formbtn li {
          width: 20.6rem;
          margin: 0 .8rem; } }

/* 個人情報取扱いについて */
.policy {
  background: #F2E5CB;
  padding-top: 10rem;
  padding-bottom: 7rem; }
  @media screen and (min-width: 701px) {
    .policy {
      padding-top: 8rem;
      padding-bottom: 14rem; } }
  .policy p {
    font-weight: 500; }
  .policy dl dt {
    margin-top: 4rem; }
    @media screen and (min-width: 701px) {
      .policy dl dt {
        margin-top: 8rem; } }
  .policy dl dd {
    font-weight: 500; }
    .policy dl dd ul {
      padding-top: 1em; }
      .policy dl dd ul li {
        text-indent: -1em;
        margin-left: 1em; }
        .policy dl dd ul li::before {
          content: "・"; }
