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

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

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

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

input,
button,
select,
textarea {
  font: inherit;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
button,
select {
  cursor: pointer;
}

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

:root {
  --font-gothic:"Noto Sans JP", sans-serif;
  --color-black:#231815;
  --color-gray-64:#646464;
  --color-gray-93:#939393;
  --color-gray-c8:#c8c8c8;
  --color-red:#df0515;
  --color-cream:#fff9e2;
  --color-blue:#5096b4;
  --width: 1280;
  --px-vw: calc( 100vw / var( --width ) );
  --duration1:0.5s;
  --delay1:0.5s;
  --delay2:calc(var(--delay1) + var(--duration1));
  --delay3:calc(var(--delay2) + var(--duration1));
  --delay4:calc(var(--delay3) + var(--duration1));
}

@media screen and (max-width: 767px) {
  :root {
    --width:375;
    --scale:0.75;
  }
}
@media screen and (max-width: 400px) {
  :root {
    --width:375;
    --scale:0.375;
  }
}
:root {
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.fadein {
  opacity: 0;
  transition-duration: 1s;
  transition-property: opacity, transform, filter;
  transform: translate(0, 0);
}
.fadein.fadein-down {
  transform: translate(0, -30px);
}
.fadein.fadein-up {
  transform: translate(0, 30px);
}
.fadein.on {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

.anim-load {
  opacity: 0;
  transition: opacity 0.6s ease;
}
.loaded .anim-load {
  opacity: 1;
}

.anim-boing {
  animation: myAnim 1.5s linear 1s 1 alternate both;
}

@keyframes myAnim {
  0% {
    animation-timing-function: ease-in;
    opacity: 1;
    transform: scale(0, 0) translateY(-9%);
  }
  25% {
    opacity: 1;
    animation-timing-function: ease-out;
    transform: scale(1, 1) translateY(0%);
  }
  40% {
    animation-timing-function: ease-in;
    transform: scale(0.47, 0.47) translateY(-4.8%);
  }
  55% {
    animation-timing-function: ease-out;
    transform: scale(1, 1) translateY(0%);
  }
  65% {
    animation-timing-function: ease-in;
    transform: scale(0.74, 0.74) translateY(-2.4%);
  }
  75% {
    animation-timing-function: ease-out;
    transform: scale(1, 1) translateY(0%);
  }
  82% {
    animation-timing-function: ease-in;
    transform: scale(0.87, 0.87) translateY(-1.2%);
  }
  87% {
    animation-timing-function: ease-out;
    transform: scale(1, 1) translateY(0%);
  }
  93% {
    animation-timing-function: ease-in;
    transform: scale(0.94, 0.94) translateY(-0.8%);
  }
  100% {
    animation-timing-function: ease-out;
    opacity: 1;
    transform: scale(1, 1) translateY(0%);
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes sakura1yoko {
  0% {
    animation-timing-function: ease-in-out;
    transform: translateX(0);
  }
  100% {
    transform: translateX(10%);
  }
}
@keyframes sakura1tate {
  0% {
    animation-timing-function: ease-in-out;
    margin-top: 0;
  }
  100% {
    margin-top: 2%;
  }
}
@keyframes sakura2yoko {
  0% {
    animation-timing-function: ease-in-out;
    transform: translateX(0);
  }
  100% {
    transform: translateX(5%);
  }
}
@keyframes sakura2tate {
  0% {
    animation-timing-function: ease-in-out;
    margin-top: 0;
  }
  100% {
    margin-top: 1%;
  }
}
@keyframes coin1tate {
  0% {
    animation-timing-function: ease-in-out;
    margin-top: 0;
    transform: rotate(0);
  }
  100% {
    margin-top: -2%;
    transform: rotate(5deg);
  }
}
@keyframes coin1yoko {
  0% {
    animation-timing-function: ease-in-out;
    transform: translateX(0);
    transform: rotate(0);
  }
  100% {
    transform: translateX(-5%);
    transform: rotate(-5deg);
  }
}
html {
  font-size: 62.5%;
}

body {
  position: relative;
  overflow-x: hidden;
  font-family: var(--font-gothic);
  font-style: normal;
  font-weight: 400;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  line-height: 1.6;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-gothic);
  font-weight: 500;
}

h3 {
  font-size: 40px;
  letter-spacing: 0.04em;
}

p {
  font-family: var(--font-gothic);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  color: unset;
  text-align: justify;
  letter-spacing: 0.02em;
}
p b {
  font-weight: 700;
}

i {
  font-style: italic;
}

a {
  font-family: var(--font-gothic);
  color: inherit;
  text-decoration: underline;
  letter-spacing: 0.1em;
}

span {
  font-family: inherit;
}

dl {
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}

table {
  font-family: var(--font-gothic);
}
.sp {
  display: none;
}

.dash {
  --dash-w:4px;
  --dash-span:calc(var(--dash-w)*2);
  --color-dash:#8f8f8f;
  background-image: repeating-linear-gradient(0deg, var(--color-dash), var(--color-dash) var(--dash-w), transparent var(--dash-w), transparent var(--dash-span), var(--color-dash) var(--dash-span)), repeating-linear-gradient(90deg, var(--color-dash), var(--color-dash) var(--dash-w), transparent var(--dash-w), transparent var(--dash-span), var(--color-dash) var(--dash-span)), repeating-linear-gradient(180deg, var(--color-dash), var(--color-dash) var(--dash-w), transparent var(--dash-w), transparent var(--dash-span), var(--color-dash) var(--dash-span)), repeating-linear-gradient(270deg, var(--color-dash), var(--color-dash) var(--dash-w), transparent var(--dash-w), transparent var(--dash-span), var(--color-dash) var(--dash-span));
  background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
  background-position: 0 0, 0 0, 100% 0, 0 100%;
  background-repeat: no-repeat;
}

.marker {
  line-height: 1.2;
  display: inline-block;
  background: linear-gradient(transparent 70%, #fff200 0%);
}

.sup {
  font-size: 70%;
  vertical-align: top;
  letter-spacing: -0.1em;
  position: relative;
  top: 0em;
}

.flex {
  display: flex;
}

.brown {
  color: var(--color-brown);
}

.red {
  color: var(--color-red);
}

.blue {
  color: var(--color-blue);
}

.orange {
  color: var(--color-orange);
}

.pos-rel {
  position: relative;
}

.w1000 {
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.center {
  text-align: center;
}

.anchor {
  margin-top: -120px;
  padding-top: 120px;
}

@media screen and (max-width: 767px) {
  .dash {
    --dash-w:2px;
  }
  .sp {
    display: block;
  }
  .flex {
    display: block;
  }
  .anchor {
    margin-top: calc(-50 * var(--px-vw));
    padding-top: calc(50 * var(--px-vw));
  }
  .pc {
    display: none;
  }
}
.header {
  padding: min(23 * var(--px-vw), 23px) min(31 * var(--px-vw), 31px) min(20 * var(--px-vw), 20px);
  min-height: min(90 * var(--px-vw), 90px);
  box-sizing: border-box;
}
.header h1 img {
  width: min(420 * var(--px-vw), 420px);
}
.header__inner {
  display: none;
}

.footer__link {
  background: #e6e6e6;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(32 * var(--px-vw), 32px);
  height: min(80 * var(--px-vw), 80px);
  padding-bottom: min(3 * var(--px-vw), 3px);
  box-sizing: border-box;
}
.footer__link a {
  font-size: min(18 * var(--px-vw), 18px);
  letter-spacing: 0.05em;
  transition: 0.5s ease;
}
.footer__link a:hover {
  color: #969696;
}
.footer__logo__wrap {
  position: relative;
  background: var(--color-red);
  min-height: min(110 * var(--px-vw), 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: min(3 * var(--px-vw), 3px);
}
.footer__logo__wrap a {
  width: fit-content;
  display: block;
  margin: 0 auto min(6 * var(--px-vw), 6px);
}
.footer__logo img {
  width: min(220 * var(--px-vw), 220px);
}
.footer__copyright {
  text-align: center;
  color: white;
  font-size: min(13 * var(--px-vw), 13px);
}

@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    padding: calc(14 * var(--px-vw)) calc(18 * var(--px-vw)) calc(12 * var(--px-vw));
    min-height: calc(66 * var(--px-vw));
    height: calc(66 * var(--px-vw));
    background: white;
  }
  .header .logo img {
    width: calc(110 * var(--px-vw));
  }
  .header__inner {
    display: block;
  }
  .header__nav-area {
    position: fixed;
    top: -20%;
    left: 0;
    z-index: 200;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100svh;
    padding: calc(33 * var(--px-vw));
    padding-right: calc(27 * var(--px-vw));
    box-sizing: border-box;
    visibility: hidden;
    background-color: var(--color-blue);
    opacity: 0;
    transition-property: opacity, top;
    transition-duration: 0.3s;
    transition-timing-function: ease;
  }
  .header__nav-area.-active {
    opacity: 1;
    top: 0;
    visibility: visible;
    transition-duration: 0.9s;
    transition-timing-function: ease;
  }
  .hamburger {
    position: fixed;
    top: calc(16 * var(--px-vw));
    right: calc(16 * var(--px-vw));
    z-index: 777;
    display: block;
    width: calc(30 * var(--px-vw));
    height: calc(30 * var(--px-vw));
    margin-left: auto;
    border: none;
  }
  .hamburger.-active .hamburger__line {
    top: calc(9 * var(--px-vw));
    width: calc(24 * var(--px-vw));
    background-color: transparent;
  }
  .hamburger.-active .hamburger__line::before {
    top: 0;
    background-color: white;
    transform: rotate(45deg);
  }
  .hamburger.-active .hamburger__line::after {
    top: 0;
    background-color: white;
    transform: rotate(-45deg);
  }
  .hamburger.-active .hamburger__text::before {
    content: none;
  }
  .hamburger__line {
    position: absolute;
    top: calc(10 * var(--px-vw));
    left: 50%;
    display: block;
    width: calc(30 * var(--px-vw));
    height: 3px;
    background-color: var(--color-gray-93);
    transition: 0.4s;
    transform: translate(-50%, -50%);
  }
  .hamburger__line::before {
    position: absolute;
    top: calc(-8 * var(--px-vw));
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--color-gray-93);
    transition: inherit;
  }
  .hamburger__line::after {
    position: absolute;
    top: calc(8 * var(--px-vw));
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background-color: var(--color-gray-93);
    transition: inherit;
  }
  .hamburger__text {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    line-height: 1;
    transform: translateX(-50%);
  }
  .hamburger__text::before {
    font-size: calc(8 * var(--px-vw));
    font-weight: 500;
    color: var(--color-gray-93);
    text-align: center;
    content: "MENU";
  }
  .global-navigation {
    width: 100%;
    flex-direction: column;
  }
  .header .nav .global-navigation__list {
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
  }
  .header .nav .global-navigation__list li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-left: calc(12 * var(--px-vw));
    border-bottom: 1px solid white;
    box-sizing: border-box;
  }
  .header .nav .global-navigation__list li:last-child {
    margin-bottom: 0;
  }
  .header .nav .global-navigation__list li a {
    width: 100%;
    height: calc(109 * var(--px-vw));
    position: relative;
    text-decoration: none;
    font-size: calc(17 * var(--px-vw));
    font-weight: 700;
    color: white;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: calc(14 * var(--px-vw));
  }
  .header .nav .global-navigation__list li a span {
    letter-spacing: 0.04em;
  }
  .header .nav .global-navigation__list li a::after {
    content: "";
    position: absolute;
    top: 51%;
    right: calc(19 * var(--px-vw));
    transform: translateY(-50%);
    display: block;
    width: calc(22 * var(--px-vw));
    height: calc(12 * var(--px-vw));
    background: url("../img/common/icon-arrow-sp.svg") 0 0 no-repeat;
    background-size: 100% auto;
  }
  .header .nav .global-navigation__list li a.link-point:after {
    top: 64%;
  }
  .header .nav .global-navigation__list li a.link-card i {
    position: relative;
    bottom: calc(-6 * var(--px-vw));
    left: calc(-5 * var(--px-vw));
  }
  .header .nav .global-navigation__list li a.link-caution i {
    margin-right: calc(6 * var(--px-vw));
  }
  .footer__link {
    height: calc(44 * var(--px-vw));
    gap: calc(22 * var(--px-vw));
    padding-bottom: 0;
  }
  .footer__link a {
    font-size: calc(11 * var(--px-vw));
  }
  .footer__logo__wrap {
    min-height: calc(70 * var(--px-vw));
    padding: 0 0 calc(5 * var(--px-vw));
    box-sizing: border-box;
  }
  .footer__logo__wrap a {
    margin: 0 auto;
  }
  .footer__logo img {
    width: calc(123 * var(--px-vw));
  }
  .footer__copyright {
    font-size: calc(9 * var(--px-vw));
  }
}
* {
  box-sizing: border-box;
}

.fv {
  position: relative;
}
.fv .bg {
  width: 100%;
  overflow: hidden;
}
.fv .bg img {
  width: 100%;
  height: min(750 * var(--px-vw), 750px);
  height: calc(750 * var(--px-vw));
  object-fit: cover;
  object-position: center bottom;
}
.fv .cnt {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: min(42 * var(--px-vw), 42px) 0;
  padding: calc(42 * var(--px-vw)) 0;
}
.fv .cnt .ttl {
  width: min(912 * var(--px-vw), 912px);
  width: calc(912 * var(--px-vw));
  margin: 0 auto;
}
.fv .cnt .ttl img {
  width: min(351 * var(--px-vw), 351px);
  width: calc(351 * var(--px-vw));
}
.fv .cnt .point-wrap {
  position: relative;
  left: min(8 * var(--px-vw), 8px);
  left: calc(8 * var(--px-vw));
  width: min(663 * var(--px-vw), 663px);
  width: calc(663 * var(--px-vw));
  max-width: 100%;
  margin: min(103 * var(--px-vw), 103px) auto min(37 * var(--px-vw), 37px);
  margin: calc(103 * var(--px-vw)) auto calc(37 * var(--px-vw));
}
.fv .cnt .point-wrap img {
  width: 100%;
}
.fv .cnt .point-wrap .flag {
  position: absolute;
  top: max(-48 * var(--px-vw), -48px);
  top: calc(-48 * var(--px-vw));
  left: max(-70 * var(--px-vw), -70px);
  left: calc(-70 * var(--px-vw));
  width: min(233 * var(--px-vw), 233px);
  width: calc(233 * var(--px-vw));
  transition: var(--duration1) var(--easeOutBack);
  transition-delay: var(--delay1);
  opacity: 0;
  transform: translateY(-10%);
}
.loaded .fv .cnt .point-wrap .flag {
  opacity: 1;
  transform: translateX(0);
}
.resize .fv .cnt .point-wrap .flag {
  transition-delay: unset;
}
.fv .cnt .point-wrap .fv-point {
  transition: var(--duration1) var(--easeOutBack);
  transition-delay: var(--delay2);
  opacity: 0;
  transform: scale(0);
  padding: 0;
}
.loaded .fv .cnt .point-wrap .fv-point {
  opacity: 1;
  transform: scale(1);
}
.resize .fv .cnt .point-wrap .fv-point {
  transition-delay: unset;
}
.fv .cnt .point-wrap .plus {
  width: min(171 * var(--px-vw), 171px);
  width: calc(171 * var(--px-vw));
  position: absolute;
  top: min(43 * var(--px-vw), 43px);
  top: calc(43 * var(--px-vw));
  right: max(-149 * var(--px-vw), -149px);
  right: calc(-149 * var(--px-vw));
  transition: var(--duration1) var(--easeOutBack);
  transition-delay: var(--delay3);
  opacity: 0;
  transform: translateY(-10%);
}
.loaded .fv .cnt .point-wrap .plus {
  opacity: 1;
  transform: translateY(0);
}
.resize .fv .cnt .point-wrap .plus {
  transition-delay: unset;
}
.fv .cnt .sv-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: min(18 * var(--px-vw), 18px);
  gap: calc(18 * var(--px-vw));
  transition: var(--duration1) var(--easeOutBack);
  transition-delay: var(--delay4);
  opacity: 0;
  transform: translateY(-10%);
}
.loaded .fv .cnt .sv-wrap {
  opacity: 1;
  transform: translateY(0);
}
.resize .fv .cnt .sv-wrap {
  transition-delay: unset;
}
.fv .cnt .sv-wrap .sv-ttl {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(112 * var(--px-vw), 112px);
  width: calc(112 * var(--px-vw));
  height: min(112 * var(--px-vw), 112px);
  height: calc(112 * var(--px-vw));
  background: var(--color-red);
  color: white;
  font-size: min(18 * var(--px-vw), 18px);
  font-size: calc(18 * var(--px-vw));
  font-weight: 700;
  line-height: 1.3;
  border-radius: 200px;
}
.fv .cnt .sv-wrap .inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: min(18 * var(--px-vw), 18px);
  gap: calc(18 * var(--px-vw));
}
.fv .cnt .sv-wrap .inner .sv img {
  width: min(110 * var(--px-vw), 110px);
  width: calc(110 * var(--px-vw));
  display: block;
}
.fv .cnt .sv-wrap .inner .sv p {
  text-align: center;
  font-size: min(14 * var(--px-vw), 14px);
  font-size: calc(14 * var(--px-vw));
  margin-top: min(4 * var(--px-vw), 4px);
  margin-top: calc(4 * var(--px-vw));
}

.intro {
  background-color: var(--color-cream);
  padding: min(33 * var(--px-vw), 33px) 0;
}
.intro .inner .txt {
  font-size: min(18 * var(--px-vw), 18px);
  font-weight: 700;
  text-align: center;
}
.intro .inner .txt .red {
  color: var(--color-red);
}
.intro .inner .txt .track {
  border: 1px solid var(--color-red);
  border-radius: 100px;
  background-color: white;
  padding: 0 0.9em;
  font-size: min(15 * var(--px-vw), 15px);
  margin-right: 0.4em;
}
.intro .inner .txt2 {
  margin-top: min(28 * var(--px-vw), 28px);
}
.intro .inner .ann {
  text-align: center;
  font-size: min(14 * var(--px-vw), 14px);
  margin-top: min(29 * var(--px-vw), 29px);
  line-height: 1.7;
}

.point {
  position: relative;
  z-index: 1;
  background-color: var(--color-blue);
  overflow: hidden;
  padding: min(65 * var(--px-vw), 65px);
}
.point .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: calc(1061 * var(--px-vw));
  background: url("../img/common/bg-naname.svg") 0 0 no-repeat;
  background-size: 100% auto;
}
.point .inner {
  background-color: white;
  border-radius: min(26 * var(--px-vw), 26px);
  width: min(1000 * var(--px-vw), 1000px);
  max-width: 100%;
  margin: 0 auto;
  padding: min(56 * var(--px-vw), 56px) 0 min(75 * var(--px-vw), 75px);
}
.point .inner .ttl {
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto min(39 * var(--px-vw), 39px);
  font-size: min(36 * var(--px-vw), 36px);
  font-weight: 700;
  color: var(--color-red);
}
.point .inner .ttl:before, .point .inner .ttl:after {
  position: absolute;
  top: 50%;
  left: -0.3em;
  content: "";
  display: block;
  width: min(3 * var(--px-vw), 3px);
  height: 1.6em;
  background-color: var(--color-red);
  border-radius: min(10 * var(--px-vw), 10px);
  transform: rotate(-34deg) translateY(-55%);
}
.point .inner .ttl:after {
  left: auto;
  right: -0.3em;
  transform: rotate(34deg) translateY(-55%);
}
.point .inner .ttl-check {
  font-size: min(27 * var(--px-vw), 27px);
  letter-spacing: 0;
  margin-top: min(46 * var(--px-vw), 46px);
  margin-bottom: min(22 * var(--px-vw), 22px);
}
.point .inner .ttl-check:before, .point .inner .ttl-check:after {
  height: 2.1em;
  left: -0.75em;
}
.point .inner .ttl-check:after {
  left: auto;
  right: -0.75em;
}
.point .inner .step-wrap {
  width: 88.2%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: min(41 * var(--px-vw), 41px);
}
.point .inner .step-wrap .step {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: min(4 * var(--px-vw), 4px);
}
.point .inner .step-wrap .step.on .coin img {
  opacity: 1;
  transform: translateY(0);
}
.point .inner .step-wrap .step:before {
  content: "";
  position: absolute;
  top: max(-115 * var(--px-vw), -115px);
  left: min(92 * var(--px-vw), 92px);
  width: min(341 * var(--px-vw), 341px);
  height: min(200 * var(--px-vw), 200px);
  background: url("../img/point/arrow.svg") 0 0 no-repeat;
  background-size: contain;
}
.point .inner .step-wrap .step .st-ttl {
  position: relative;
  color: white;
  line-height: 1.4;
  font-size: min(18 * var(--px-vw), 18px);
  font-weight: 700;
  height: min(63 * var(--px-vw), 63px);
  display: flex;
  align-items: stretch;
  margin-right: min(8 * var(--px-vw), 8px);
}
.point .inner .step-wrap .step .st-ttl span {
  text-align: center;
  display: inline-flex;
  align-items: center;
  background-color: var(--color-blue);
  padding-left: min(10 * var(--px-vw), 10px);
}
.point .inner .step-wrap .step .st-ttl:after {
  position: relative;
  top: 0;
  right: 0;
  content: "";
  display: block;
  width: min(20 * var(--px-vw), 20px);
  height: min(63 * var(--px-vw), 63px);
  background: url("../img/point/point-ttl-arrow.svg") 0 0 no-repeat;
  background-size: 100% 100%;
}
.point .inner .step-wrap .step .st {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.point .inner .step-wrap .step .st .coin {
  margin-bottom: min(21 * var(--px-vw), 21px);
}
.point .inner .step-wrap .step .st .price {
  font-size: min(16 * var(--px-vw), 16px);
  width: 100%;
  line-height: 1.2;
  text-align: center;
  height: min(63 * var(--px-vw), 63px);
  display: flex;
  justify-content: center;
  align-items: center;
  border-left: 1px solid var(--color-gray-c8);
  padding-left: min(6 * var(--px-vw), 6px);
  box-sizing: content-box;
}
.point .inner .step-wrap .step .st:first-of-type .price {
  border: none;
}
.point .inner .step-wrap .step .fukidashi {
  width: min(92 * var(--px-vw), 92px);
  height: min(103 * var(--px-vw), 103px);
  background: url("../img/point/fukidashi.svg") 0 0 no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  font-size: min(22 * var(--px-vw), 22px);
  font-weight: 700;
  color: var(--color-red);
  padding-bottom: min(8 * var(--px-vw), 8px);
  margin-bottom: min(16 * var(--px-vw), 16px);
}
.point .inner .step-wrap .special {
  width: 26.3%;
  border: 2px solid var(--color-red);
  border-radius: min(22 * var(--px-vw), 22px);
  margin-right: -1px;
}
.point .inner .step-wrap .special.on .coin img {
  opacity: 1;
  transform: translateY(0);
}
.point .inner .step-wrap .special .coin-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: min(24 * var(--px-vw), 24px);
  padding-bottom: min(30 * var(--px-vw), 30px);
}
.point .inner .step-wrap .special .coin-wrap .coin {
  position: relative;
  z-index: 1;
  width: min(80 * var(--px-vw), 80px);
  margin: 0 max(-19.5 * var(--px-vw), -19.5px);
}
.point .inner .step-wrap .special .coin-wrap .coin1, .point .inner .step-wrap .special .coin-wrap .coin3 {
  padding-top: min(34 * var(--px-vw), 34px);
  z-index: 2;
}
.point .inner .step-wrap .special .txt {
  position: relative;
  text-align: center;
  background: #A00000;
  background: linear-gradient(0deg, rgb(160, 0, 0) 0%, rgb(255, 0, 0) 100%);
  padding-bottom: min(16 * var(--px-vw), 16px);
  border-radius: 0 0 min(20 * var(--px-vw), 20px) min(20 * var(--px-vw), 20px);
}
.point .inner .step-wrap .special .txt img {
  width: min(180 * var(--px-vw), 180px);
  margin-top: max(-17 * var(--px-vw), -17px);
}
.point .inner .step-wrap .special .txt .special-fukidashi {
  position: absolute;
  top: min(11 * var(--px-vw), 11px);
  right: max(-21 * var(--px-vw), -21px);
  width: min(82 * var(--px-vw), 82px);
}
.point .inner .step-wrap .coin {
  display: flex;
  flex-direction: column-reverse;
}
.point .inner .step-wrap .coin.sp {
  display: none;
}
.point .inner .step-wrap .coin img {
  width: min(80 * var(--px-vw), 80px);
  height: min(43 * var(--px-vw), 43px);
  position: relative;
  z-index: 1;
  margin-top: max(-29.3 * var(--px-vw), -29.3px);
  opacity: 0;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.point .inner .step-wrap .coin img:nth-child(1) {
  transition-delay: 0.005s;
}
.point .inner .step-wrap .coin img:nth-child(2) {
  transition-delay: 0.02s;
}
.point .inner .step-wrap .coin img:nth-child(3) {
  transition-delay: 0.045s;
}
.point .inner .step-wrap .coin img:nth-child(4) {
  transition-delay: 0.08s;
}
.point .inner .step-wrap .coin img:nth-child(5) {
  transition-delay: 0.125s;
}
.point .inner .step-wrap .coin img:nth-child(6) {
  transition-delay: 0.18s;
}
.point .inner .step-wrap .coin img:nth-child(7) {
  transition-delay: 0.245s;
}
.point .inner .step-wrap .coin img:nth-child(8) {
  transition-delay: 0.32s;
}
.point .inner .step-wrap .coin img:nth-child(9) {
  transition-delay: 0.405s;
}
.point .inner .step-wrap .coin img:nth-child(10) {
  transition-delay: 0.5s;
}
.point .inner .step-wrap .coin img:nth-child(11) {
  transition-delay: 0.605s;
}
.point .inner .step-wrap .coin img:nth-child(12) {
  transition-delay: 0.72s;
}
.point .inner .step-wrap .coin img:nth-child(13) {
  transition-delay: 0.845s;
}
.point .inner .step-wrap .coin img:nth-child(14) {
  transition-delay: 0.98s;
}
.point .inner .step-wrap .coin img:nth-child(15) {
  transition-delay: 1.125s;
}
.point .inner .step-wrap .coin img:nth-child(16) {
  transition-delay: 1.28s;
}
.point .inner .step-wrap .coin img:last-child {
  margin-top: 0;
}
.point .inner .desc {
  font-size: min(14 * var(--px-vw), 14px);
  text-align: center;
  margin-top: min(46 * var(--px-vw), 46px);
  letter-spacing: 0;
  line-height: 1.85;
}
.point .inner .btn {
  position: relative;
  z-index: 1;
  display: block;
  width: min(660 * var(--px-vw), 660px);
  max-width: 100%;
  height: min(80 * var(--px-vw), 80px);
  margin: 0 auto;
  background: #1A657E;
  background: linear-gradient(0deg, rgb(26, 101, 126) 0%, rgb(80, 150, 180) 100%);
  border-radius: 100px;
  color: white;
  font-size: min(32 * var(--px-vw), 32px);
  font-weight: 700;
  padding: 0 min(51 * var(--px-vw), 51px) 0 0;
  border: 2px solid var(--color-blue);
  border-width: 0 0 2px 0;
  box-shadow: min(5 * var(--px-vw), 5px) min(5 * var(--px-vw), 5px) 0 black;
  transition: 0.3s ease;
}
.point .inner .btn:hover {
  box-shadow: 0px 0px 0 black;
}
.point .inner .btn:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background-color: var(--color-blue);
}
.point .inner .btn .icon {
  position: absolute;
  top: 50%;
  right: min(11 * var(--px-vw), 11px);
  transform: translateY(-50%);
  display: block;
  width: min(60 * var(--px-vw), 60px);
  height: min(60 * var(--px-vw), 60px);
  border-radius: 100px;
}
.point .inner .btn .icon:before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 100px;
  padding: 2px;
  background: linear-gradient(0deg, #ffffff, #5096b4);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.point .inner .btn .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: min(31 * var(--px-vw), 31px);
  height: min(31 * var(--px-vw), 31px);
  background: url("../img/point/icon-plus.svg") 0 0 no-repeat;
  background-size: contain;
}

.modal {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
  box-sizing: border-box;
  padding: min(50 * var(--px-vw), 50px);
}
.modal.is-active {
  display: flex;
  align-items: center;
}
.modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
}
.modal__bg:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/bg-naname.svg") 0 0 no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: calc(1061 * var(--px-vw));
}
.modal__head {
  padding-left: min(22 * var(--px-vw), 22px);
  padding-right: min(44 * var(--px-vw), 44px);
  display: flex;
  justify-content: space-between;
  margin-bottom: min(42 * var(--px-vw), 42px);
}
.modal__head .img {
  margin-top: 4px;
}
.modal__head .img img {
  width: min(125 * var(--px-vw), 125px);
}
.modal__head .close {
  padding: 0;
  position: absolute;
  top: min(10 * var(--px-vw), 10px);
  right: min(10 * var(--px-vw), 10px);
  display: block;
}
.modal__head .close img {
  width: min(42 * var(--px-vw), 42px);
  height: min(42 * var(--px-vw), 42px);
}
.modal__ttl {
  line-height: 1;
  letter-spacing: 0;
  width: 100.7%;
  font-size: min(36 * var(--px-vw), 36px);
  font-weight: 400;
  border-bottom: 1px solid #595757;
  margin-bottom: min(10 * var(--px-vw), 10px);
  padding-bottom: min(13 * var(--px-vw), 13px);
  padding-left: 0.28em;
  box-sizing: border-box;
}
.modal__txt {
  display: inline-flex;
  align-items: center;
  padding-left: min(11 * var(--px-vw), 11px);
  font-size: min(21 * var(--px-vw), 21px);
  font-weight: 700;
  color: #e50012;
  letter-spacing: 0;
}
.modal__txt span {
  display: inline-block;
  width: min(80 * var(--px-vw), 80px);
  height: min(25 * var(--px-vw), 25px);
  border: 1px solid #646464;
  background: #f9d0ba;
  margin-right: 0.6em;
}
.modal__body {
  overflow-y: scroll;
  scroll-snap-type: both mandatory;
  padding-right: min(27 * var(--px-vw), 27px);
}
.modal__body::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background: transparent;
  border-radius: 10px;
}
.modal__body::-webkit-scrollbar-track {
  background: #d2d2d2;
  border-radius: 10px;
}
.modal__body::-webkit-scrollbar-thumb {
  background: #646464;
  border-radius: 10px;
}
.modal__inner {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  width: min(1000 * var(--px-vw), 1000px);
  max-width: 100%;
  height: auto;
  max-height: 100%;
  margin: 0 auto;
  background: #fff;
  padding: min(87 * var(--px-vw), 87px) min(40 * var(--px-vw), 40px) min(18 * var(--px-vw), 18px);
  padding-right: min(28 * var(--px-vw), 28px);
  box-sizing: border-box;
  border-radius: min(26 * var(--px-vw), 26px);
}
.modal__inner__scroll {
  height: 100%;
}
.modal__ann {
  font-size: min(14 * var(--px-vw), 14px);
  margin-top: min(10 * var(--px-vw), 10px);
}
.modal .plan-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 13px;
  color: #222;
}
.modal .plan-table th, .modal .plan-table td {
  border-top: 1px solid #646464;
  border-left: 1px solid #646464;
  padding: min(4 * var(--px-vw), 4px) min(8 * var(--px-vw), 8px);
  text-align: center;
  vertical-align: middle;
  background: #fff;
  word-break: keep-all;
}
.modal .plan-table th.border-bottom, .modal .plan-table td.border-bottom {
  border-bottom: 1px solid #646464;
}
.modal .plan-table th.border-right, .modal .plan-table td.border-right {
  border-right: 1px solid #646464;
}
.modal .plan-table thead {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #a9a8a8;
}
.modal .plan-table thead th {
  background: #a9a8a8;
  font-size: min(14 * var(--px-vw), 14px);
  font-weight: 700;
  color: white;
}
.modal .plan-table thead th.border-bottom {
  border-bottom: 1px solid #646464;
}
.modal .plan-table thead th.col-amount {
  width: 10.8%;
}
.modal .plan-table thead th.col-label {
  width: 10.7%;
}
.modal .plan-table thead th.col-point {
  width: 12.5%;
  background-color: #ffe100;
  color: black;
}
.modal .plan-table thead .head-counts th {
  font-weight: 700;
  border-bottom: 1px solid #646464;
}
.modal .plan-table tbody {
  position: sticky;
  top: 0;
}
.modal .plan-table tbody td {
  text-align: end;
  scroll-snap-align: start;
  padding: min(2.85 * var(--px-vw), 2.85px) min(4 * var(--px-vw), 4px);
}
.modal .plan-table tbody td.letter {
  letter-spacing: -0.01em;
  padding-left: 0;
}
.modal .plan-table td {
  font-size: min(13 * var(--px-vw), 13px);
}
.modal .plan-table td.amount {
  text-align: center;
  font-size: min(14 * var(--px-vw), 14px);
}
.modal .plan-table td.label {
  text-align: center;
  font-size: min(14 * var(--px-vw), 14px);
}
.modal .plan-table td.points {
  text-align: center;
  background: #fff3c3;
  font-size: min(18 * var(--px-vw), 18px);
  font-weight: 700;
}
.modal .plan-table tr.no-border-top td {
  border-top: none;
}
.modal .plan-table tr.border-bottom td {
  border-bottom: 1px solid #646464;
}
.modal .plan-table tr.fee .pink {
  background: #f9d0ba;
}
.modal .plan-table tr.gray td {
  background: #f1f0ee;
}
.modal .plan-table tr.gray td.points {
  background-color: #fff3c3;
}

.bunkatsu {
  margin-top: min(78 * var(--px-vw), 78px);
}
.bunkatsu .inner {
  padding-top: 0;
  padding-bottom: min(60 * var(--px-vw), 60px);
}
.bunkatsu .inner .head {
  margin-bottom: min(32 * var(--px-vw), 32px);
}
.bunkatsu .inner .head .ttl {
  margin-bottom: min(7 * var(--px-vw), 7px);
}
.bunkatsu .inner .head .ttl img {
  width: min(290 * var(--px-vw), 290px);
  margin-top: max(-48 * var(--px-vw), -48px);
}
.bunkatsu .inner .head .ttl:before, .bunkatsu .inner .head .ttl:after {
  content: none;
}
.bunkatsu .inner .head .txt {
  text-align: center;
  font-size: min(17 * var(--px-vw), 17px);
  letter-spacing: 0;
  line-height: 1.85;
  margin-bottom: min(18 * var(--px-vw), 18px);
}
.bunkatsu .inner .head .txt .red {
  font-size: min(19 * var(--px-vw), 19px);
  font-weight: 700;
  color: var(--color-red);
}
.bunkatsu .inner .head .ann {
  width: fit-content;
  margin: 0 auto;
}
.bunkatsu .inner .head .ann li {
  font-size: min(14 * var(--px-vw), 14px);
  margin-left: -0.5em;
  letter-spacing: 0.02em;
}
.bunkatsu .inner .commission {
  margin-bottom: min(45 * var(--px-vw), 45px);
}
.bunkatsu .inner .sub-ttl {
  width: min(253 * var(--px-vw), 253px);
  max-width: 100%;
  min-height: min(36 * var(--px-vw), 36px);
  line-height: min(36 * var(--px-vw), 36px);
  margin: 0 auto min(5 * var(--px-vw), 5px);
  color: var(--color-red);
  border: 2px solid var(--color-red);
  border-radius: 100px;
  font-size: min(19 * var(--px-vw), 19px);
  font-weight: 700;
  text-align: center;
}
.bunkatsu .inner .sub-txt {
  text-align: center;
  font-size: min(24 * var(--px-vw), 24px);
  font-weight: 700;
  margin-bottom: min(18 * var(--px-vw), 18px);
}
.bunkatsu .inner .sub-txt span {
  font-size: min(18 * var(--px-vw), 18px);
}
.bunkatsu .inner .end {
  width: min(870 * var(--px-vw), 870px);
  max-width: 100%;
  margin: 0 auto;
}
.bunkatsu .inner .end .ttl {
  font-size: min(24 * var(--px-vw), 24px);
  letter-spacing: 0;
  margin-bottom: min(4 * var(--px-vw), 4px);
}
.bunkatsu .inner .end .ttl:before, .bunkatsu .inner .end .ttl:after {
  width: 2px;
  height: 1.9em;
}
.bunkatsu .inner .end .ann {
  text-align: center;
  font-size: min(14 * var(--px-vw), 14px);
  margin-left: -2em;
}
.bunkatsu .inner .end .ann a {
  color: var(--color-red);
}
.bunkatsu .inner .end .ex {
  display: flex;
  justify-content: space-between;
  margin-top: min(25 * var(--px-vw), 25px);
}
.bunkatsu .inner .end .ex .left .flex {
  margin-bottom: min(12 * var(--px-vw), 12px);
  gap: min(10 * var(--px-vw), 10px);
}
.bunkatsu .inner .end .ex .left p {
  font-size: min(15 * var(--px-vw), 15px);
  line-height: 1.6;
}
.bunkatsu .inner .end .ex .right {
  padding-top: min(45 * var(--px-vw), 45px);
}
.bunkatsu .inner .end .ex .right img {
  width: min(464 * var(--px-vw), 464px);
}
.bunkatsu .inner .end .ex table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}
.bunkatsu .inner .end .ex table tbody th {
  width: 46%;
  text-align: center;
  font-size: min(18 * var(--px-vw), 18px);
  background-color: #f1f0ee;
  border: 1px solid var(--color-gray-64);
}
.bunkatsu .inner .end .ex table tbody td {
  text-align: end;
  font-size: min(28 * var(--px-vw), 28px);
  padding: min(2 * var(--px-vw), 2px) min(44 * var(--px-vw), 44px);
  border: 1px solid var(--color-gray-64);
}
.bunkatsu .inner .end .ex table tbody td span {
  font-size: min(20 * var(--px-vw), 20px);
}
.bunkatsu .inner .end .ex table tbody .bold {
  margin-right: -1px;
}
.bunkatsu .inner .end .ex table tbody .bold th, .bunkatsu .inner .end .ex table tbody .bold td {
  font-weight: 700;
}
.bunkatsu .inner .end .ann2 {
  width: min(480 * var(--px-vw), 480px);
  max-width: 100%;
  margin: min(30 * var(--px-vw), 30px) auto 0;
  text-align: left;
}
.bunkatsu .inner .end .link {
  display: flex;
  align-items: center;
  width: fit-content;
  margin: min(41 * var(--px-vw), 41px) auto 0;
  font-size: min(21 * var(--px-vw), 21px);
  font-weight: 700;
  color: var(--color-red);
  text-decoration: none;
  letter-spacing: 0;
  padding: 0.1em 0;
  border-bottom: 1px solid var(--color-red);
}
.bunkatsu .inner .end .link:after {
  content: "";
  display: inline-block;
  width: min(24 * var(--px-vw), 24px);
  height: min(24 * var(--px-vw), 24px);
  background: url("../img/bunkatsu/icon-link-red.svg") 0 0 no-repeat;
  background-size: contain;
  margin-left: 0.5em;
}

.accordion {
  width: min(740 * var(--px-vw), 740px);
  max-width: 100%;
  margin: 0 auto min(66 * var(--px-vw), 66px);
}
.accordion .acc-item.is-open .acc-header {
  box-shadow: 0 0 0 #a6080e;
}
.accordion .acc-item.is-open .acc-header .icon:after {
  transform: translate(-50%, -50%) rotate(0);
}
.accordion .acc-item .acc-header {
  width: 100%;
  height: min(50 * var(--px-vw), 50px);
  font-size: min(25 * var(--px-vw), 25px);
  font-weight: 700;
  text-align: center;
  color: white;
  background: var(--color-red);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: min(52 * var(--px-vw), 52px);
  letter-spacing: 0.02em;
  box-shadow: 1px 1px 0 #a6080e, 2px 2px 0 #a6080e, 3px 3px 0 #a6080e, 4px 4px 0 #a6080e, 5px 5px 0 #a6080e;
  transition: box-shadow 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .accordion .acc-item .acc-header:hover {
    box-shadow: 0 0 0 #a6080e;
  }
}
.accordion .acc-item .acc-header .icon {
  position: relative;
  display: flex;
  width: min(25 * var(--px-vw), 25px);
  height: min(25 * var(--px-vw), 25px);
  border: 2px solid white;
  border-radius: 100px;
  margin-left: min(20 * var(--px-vw), 20px);
}
.accordion .acc-item .acc-header .icon:before, .accordion .acc-item .acc-header .icon:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(14 * var(--px-vw), 14px);
  height: 2px;
  border-radius: min(10 * var(--px-vw), 10px);
  background-color: white;
  transition: 0.3s ease;
}
.accordion .acc-item .acc-header .icon:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.accordion .acc-item .acc-panel {
  overflow: hidden;
  border: 2px solid var(--color-red);
  border-top: none;
  height: 0;
  margin-top: -2px;
}
.accordion .acc-item .acc-panel .acc-panel__inner {
  padding: min(21 * var(--px-vw), 21px) min(55 * var(--px-vw), 55px) min(39 * var(--px-vw), 39px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .txt {
  font-size: min(15 * var(--px-vw), 15px);
  line-height: 2;
  margin-bottom: min(18 * var(--px-vw), 18px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .table-ttl {
  text-align: center;
  font-size: min(15 * var(--px-vw), 15px);
  font-weight: 500;
  margin-bottom: min(15 * var(--px-vw), 15px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .block-ttl {
  color: var(--color-red);
  font-size: min(21 * var(--px-vw), 21px);
  font-weight: 700;
  margin-bottom: min(3 * var(--px-vw), 3px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .link {
  display: block;
  width: fit-content;
  font-size: min(18 * var(--px-vw), 18px);
  color: #5096b4;
  letter-spacing: 0;
  margin-bottom: min(9 * var(--px-vw), 9px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .link:after {
  content: "";
  display: inline-block;
  width: min(15 * var(--px-vw), 15px);
  height: min(15 * var(--px-vw), 15px);
  background: url("../img/bunkatsu/icon-link.svg") 0 0 no-repeat;
  margin-left: min(14 * var(--px-vw), 14px);
}
.accordion .acc-item .acc-panel .acc-panel__inner .ann {
  font-size: min(14 * var(--px-vw), 14px);
  line-height: 1.7;
}
.accordion .acc-item .acc-panel .schedule-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin-bottom: min(28 * var(--px-vw), 28px);
}
.accordion .acc-item .acc-panel .schedule-table thead {
  background: #f2f2f2;
  position: sticky;
  top: 0;
  z-index: 1;
}
.accordion .acc-item .acc-panel .schedule-table thead th {
  text-align: center;
  padding: min(3 * var(--px-vw), 3px) 1em;
  border: 1px solid #ccc;
  font-size: min(15 * var(--px-vw), 15px);
  font-weight: bold;
}
.accordion .acc-item .acc-panel .schedule-table thead th.period {
  width: 59.8%;
}
.accordion .acc-item .acc-panel .schedule-table tbody td {
  text-align: center;
  font-size: min(15 * var(--px-vw), 15px);
  padding: min(3.5 * var(--px-vw), 3.5px) 1em;
  border: 1px solid #ccc;
}

.detail {
  background: white;
  padding: min(50 * var(--px-vw), 50px) min(20 * var(--px-vw), 20px);
}
.detail__inner {
  width: min(1000 * var(--px-vw), 1000px);
  max-width: 100%;
  margin: 0 auto;
}
.detail__block__ttl {
  background: var(--color-red);
  color: white;
  text-align: center;
  font-size: min(24 * var(--px-vw), 24px);
  font-weight: 500;
  margin-bottom: min(30 * var(--px-vw), 30px);
  min-height: min(50 * var(--px-vw), 50px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.detail__block__ttl--2 {
  margin-bottom: min(21 * var(--px-vw), 21px);
}
.detail__block .ann {
  text-align: right;
  font-size: min(14 * var(--px-vw), 14px);
  letter-spacing: 0.03em;
  margin-top: min(26 * var(--px-vw), 26px);
  margin-bottom: min(31 * var(--px-vw), 31px);
}
.detail__block .caution {
  font-size: min(14 * var(--px-vw), 14px);
  line-height: 1.72;
  letter-spacing: 0.03em;
  text-indent: -1em;
  padding-left: 1em;
}
.detail__img {
  width: calc((100% - min(19 * var(--px-vw), 19px) * 6) / 7);
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: center;
}
.detail__img__wrap {
  display: flex;
  justify-content: space-between;
}
.detail__img img {
  margin-bottom: min(11 * var(--px-vw), 11px);
}
.detail__img p {
  flex-grow: 1;
  display: flex;
  align-items: center;
  text-align: center;
  font-size: min(10 * var(--px-vw), 10px);
  letter-spacing: 0;
  line-height: 1.4;
  margin: 0 -1em;
}

@media screen and (max-width: 767px) {
  .main {
    padding-top: calc(66 * var(--px-vw));
  }
  .fv .bg img {
    height: auto;
  }
  .fv .cnt {
    padding: calc(25 * var(--px-vw)) calc(19 * var(--px-vw));
  }
  .fv .cnt .ttl {
    margin: 0;
    width: calc(191 * var(--px-vw));
  }
  .fv .cnt .point-wrap {
    position: relative;
    width: fit-content;
    margin: calc(99 * var(--px-vw)) auto calc(18 * var(--px-vw));
    left: calc(5 * var(--px-vw));
  }
  .fv .cnt .point-wrap .fv-point {
    position: relative;
    width: calc(298 * var(--px-vw));
    z-index: 3;
  }
  .fv .cnt .point-wrap .flag {
    width: calc(116 * var(--px-vw));
    top: calc(-47 * var(--px-vw));
    left: calc(38 * var(--px-vw));
  }
  .fv .cnt .point-wrap .plus {
    width: calc(100 * var(--px-vw));
    top: calc(-67 * var(--px-vw));
    right: calc(-19 * var(--px-vw));
  }
  .fv .cnt .sv-wrap {
    flex-direction: column;
    align-items: center;
    gap: calc(13 * var(--px-vw));
  }
  .fv .cnt .sv-wrap .sv-ttl {
    width: calc(120 * var(--px-vw));
    height: calc(28 * var(--px-vw));
    font-size: calc(15 * var(--px-vw));
  }
  .fv .cnt .sv-wrap .inner {
    gap: calc(8 * var(--px-vw));
  }
  .fv .cnt .sv-wrap .inner .sv img {
    width: calc(60 * var(--px-vw));
  }
  .fv .cnt .sv-wrap .inner .sv p {
    font-size: calc(11 * var(--px-vw));
    line-height: 1.3;
    margin-top: calc(4 * var(--px-vw));
  }
  .fv .cnt .sv-wrap .inner .sv4 p {
    position: relative;
    top: 0.5em;
  }
  .fv .cnt .sv-wrap .inner .sv5 p {
    margin: calc(4 * var(--px-vw)) -1em;
  }
  .intro {
    padding: calc(20 * var(--px-vw)) calc(25 * var(--px-vw));
  }
  .intro .inner .txt {
    text-align: justify;
    font-size: calc(15 * var(--px-vw));
  }
  .intro .inner .txt2 {
    margin-top: calc(15 * var(--px-vw));
  }
  .intro .inner .txt .track {
    font-size: calc(13 * var(--px-vw));
    padding: 0.1em 0.5em;
    margin-left: -0.2em;
  }
  .intro .inner .ann {
    text-align: left;
    font-size: calc(11 * var(--px-vw));
    margin-top: calc(15 * var(--px-vw));
  }
  .intro .inner .ann li {
    padding-left: 1em;
    text-indent: -1em;
  }
  .point {
    padding: calc(20 * var(--px-vw));
  }
  .point .bg {
    background: url("../img/common/bg-naname-sp.svg") 0 0 no-repeat;
    background-size: 100% auto;
    height: calc(531 * var(--px-vw));
  }
  .point .inner {
    border-radius: calc(10 * var(--px-vw));
    padding: calc(22 * var(--px-vw)) calc(20 * var(--px-vw));
  }
  .point .inner .ttl {
    font-size: calc(22 * var(--px-vw));
    text-align: center;
    line-height: 1.5;
    margin: 0 auto calc(64 * var(--px-vw));
  }
  .point .inner .ttl:before, .point .inner .ttl:after {
    height: 4.2em;
  }
  .point .inner .ttl:before {
    transform: translateY(-40%) rotate(-26deg);
    left: -1.1em;
  }
  .point .inner .ttl:after {
    transform: translateY(-40%) rotate(26deg);
    right: -1.1em;
  }
  .point .inner .ttl-check {
    font-size: calc(16 * var(--px-vw));
    line-height: 1.4;
    margin-bottom: calc(13 * var(--px-vw));
  }
  .point .inner .ttl-check:before, .point .inner .ttl-check:after {
    width: calc(2 * var(--px-vw));
    height: 2.5em;
  }
  .point .inner .ttl-check:before {
    transform: translateY(-40%) rotate(-38deg);
    left: -1.3em;
  }
  .point .inner .ttl-check:after {
    transform: translateY(-40%) rotate(38deg);
    right: -1.3em;
  }
  .point .inner .step-wrap {
    width: 100%;
    display: block;
  }
  .point .inner .step-wrap .coin.pc {
    display: none;
  }
  .point .inner .step-wrap .coin.sp {
    display: flex;
  }
  .point .inner .step-wrap .coin img {
    width: calc(50 * var(--px-vw));
    height: auto;
    margin-top: calc(-18.5 * var(--px-vw));
  }
  .point .inner .step-wrap .step {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: unset;
    margin-bottom: calc(27 * var(--px-vw));
  }
  .point .inner .step-wrap .step:before {
    width: calc(163 * var(--px-vw));
    height: calc(96 * var(--px-vw));
    background-size: contain;
    top: calc(-49 * var(--px-vw));
    left: calc(17 * var(--px-vw));
  }
  .point .inner .step-wrap .step .st-ttl {
    position: absolute;
    bottom: calc(49 * var(--px-vw));
    left: 0;
    width: 100%;
    height: calc(20 * var(--px-vw));
    min-height: auto;
    font-size: calc(12 * var(--px-vw));
    margin: 0;
    order: 6;
  }
  .point .inner .step-wrap .step .st-ttl span {
    padding: 0;
    width: 100%;
    justify-content: center;
  }
  .point .inner .step-wrap .step .st-ttl:after {
    content: none;
  }
  .point .inner .step-wrap .step .st-ttl.pc {
    display: none;
  }
  .point .inner .step-wrap .step .st {
    width: 20%;
  }
  .point .inner .step-wrap .step .st .coin {
    margin-bottom: calc(45 * var(--px-vw));
  }
  .point .inner .step-wrap .step .st .price {
    height: calc(39 * var(--px-vw));
    min-height: auto;
    font-size: calc(9.7 * var(--px-vw));
    padding: 0;
  }
  .point .inner .step-wrap .step .fukidashi {
    width: 100%;
    height: calc(63 * var(--px-vw));
    background-size: contain;
    font-size: calc(14 * var(--px-vw));
    margin-bottom: calc(10 * var(--px-vw));
  }
  .point .inner .step-wrap .step .fukidashi img {
    width: 100%;
  }
  .point .inner .step-wrap .special {
    width: 100%;
    border-radius: calc(10 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap {
    justify-content: flex-start;
    align-items: flex-end;
    padding: calc(30 * var(--px-vw)) calc(54 * var(--px-vw));
    width: 100%;
    height: calc(131 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin {
    width: calc(45 * var(--px-vw));
    margin: 0;
    position: relative;
    padding: 0;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img {
    position: relative;
    margin-top: calc(-17 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(1) {
    transition-delay: 0.0025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(2) {
    transition-delay: 0.01s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(3) {
    transition-delay: 0.0225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(4) {
    transition-delay: 0.04s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(5) {
    transition-delay: 0.0625s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(6) {
    transition-delay: 0.09s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(7) {
    transition-delay: 0.1225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(8) {
    transition-delay: 0.16s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(9) {
    transition-delay: 0.2025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(10) {
    transition-delay: 0.25s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(11) {
    transition-delay: 0.3025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(12) {
    transition-delay: 0.36s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(13) {
    transition-delay: 0.4225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(14) {
    transition-delay: 0.49s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(15) {
    transition-delay: 0.5625s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(16) {
    transition-delay: 0.64s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(17) {
    transition-delay: 0.7225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(18) {
    transition-delay: 0.81s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(19) {
    transition-delay: 0.9025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(20) {
    transition-delay: 1s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(21) {
    transition-delay: 1.1025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(22) {
    transition-delay: 1.21s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(23) {
    transition-delay: 1.3225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(24) {
    transition-delay: 1.44s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(25) {
    transition-delay: 1.5625s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(26) {
    transition-delay: 1.69s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(27) {
    transition-delay: 1.8225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(28) {
    transition-delay: 1.96s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(29) {
    transition-delay: 2.1025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(30) {
    transition-delay: 2.25s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(31) {
    transition-delay: 2.4025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(32) {
    transition-delay: 2.56s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(33) {
    transition-delay: 2.7225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(34) {
    transition-delay: 2.89s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(35) {
    transition-delay: 3.0625s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(36) {
    transition-delay: 3.24s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(37) {
    transition-delay: 3.4225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(38) {
    transition-delay: 3.61s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(39) {
    transition-delay: 3.8025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(40) {
    transition-delay: 4s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(41) {
    transition-delay: 4.2025s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(42) {
    transition-delay: 4.41s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(43) {
    transition-delay: 4.6225s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(44) {
    transition-delay: 4.84s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(45) {
    transition-delay: 5.0625s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(46) {
    transition-delay: 5.29s;
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(-n+5) {
    top: calc(-17 * var(--px-vw));
    left: calc(20 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+6):nth-child(-n+11) {
    top: calc(20 * var(--px-vw));
    left: calc(70 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+12):nth-child(-n+16) {
    top: calc(65 * var(--px-vw));
    left: calc(118 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+17):nth-child(-n+19) {
    top: calc(119 * var(--px-vw));
    left: calc(0 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+20):nth-child(-n+23) {
    top: calc(141 * var(--px-vw));
    left: calc(49 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+24):nth-child(-n+27) {
    top: calc(171 * var(--px-vw));
    left: calc(97 * var(--px-vw));
  }
  .point .inner .step-wrap .special .coin-wrap .coin img:nth-child(n+28):nth-child(-n+30) {
    top: calc(200 * var(--px-vw));
    left: calc(146 * var(--px-vw));
  }
  .point .inner .step-wrap .special .txt {
    padding-bottom: calc(13 * var(--px-vw));
    border-radius: 0 0 calc(8 * var(--px-vw)) calc(8 * var(--px-vw));
  }
  .point .inner .step-wrap .special .txt img {
    width: calc(259 * var(--px-vw));
  }
  .point .inner .step-wrap .special .txt .special-fukidashi {
    width: calc(72 * var(--px-vw));
    top: calc(-21 * var(--px-vw));
    right: calc(-8 * var(--px-vw));
  }
  .point .inner .desc {
    margin-top: calc(15 * var(--px-vw));
    margin-bottom: calc(21 * var(--px-vw));
    font-size: calc(12 * var(--px-vw));
    text-align: justify;
  }
  .point .inner .btn {
    width: 107%;
    max-width: none;
    height: calc(40 * var(--px-vw));
    font-size: calc(15 * var(--px-vw));
    margin: 0 -3.9%;
    padding-right: 8%;
    box-shadow: calc(3 * var(--px-vw)) calc(3 * var(--px-vw)) 0 black;
  }
  .point .inner .btn .icon {
    width: calc(30 * var(--px-vw));
    height: calc(30 * var(--px-vw));
    right: calc(6 * var(--px-vw));
  }
  .point .inner .btn .icon:before {
    padding: calc(1 * var(--px-vw));
  }
  .point .inner .btn .icon:after {
    width: calc(14 * var(--px-vw));
    height: calc(14 * var(--px-vw));
    background-size: contain;
  }
  .modal {
    padding: calc(20 * var(--px-vw));
    z-index: 999;
  }
  .modal__bg:before {
    background: url("../img/common/bg-naname-sp.svg") 0 0 no-repeat;
    background-size: 100% auto;
    height: calc(531 * var(--px-vw));
  }
  .modal__head {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: calc(14 * var(--px-vw));
  }
  .modal__head .img {
    display: none;
  }
  .modal__head .close {
    top: calc(14 * var(--px-vw));
    right: calc(14 * var(--px-vw));
  }
  .modal__head .close img {
    width: calc(20 * var(--px-vw));
    height: auto;
  }
  .modal__ttl {
    width: auto;
    font-size: calc(16 * var(--px-vw));
    padding: 0 0 calc(10 * var(--px-vw)) 0.8em;
    margin-bottom: calc(5 * var(--px-vw));
    letter-spacing: -0.025em;
  }
  .modal__txt {
    font-size: calc(12 * var(--px-vw));
    padding: 0 0 0 calc(8 * var(--px-vw));
    line-height: 1.4;
  }
  .modal__txt span {
    width: calc(75 * var(--px-vw));
    height: calc(23 * var(--px-vw));
    margin-right: calc(8 * var(--px-vw));
  }
  .modal__inner {
    position: relative;
    padding: calc(44 * var(--px-vw)) calc(20 * var(--px-vw)) calc(20 * var(--px-vw));
    max-height: 100%;
    border-radius: calc(10 * var(--px-vw));
  }
  .modal__inner__scroll {
    overflow: hidden;
    padding: 0;
    position: relative;
  }
  .modal .scale-wrap {
    --s: .3;
    transform: scale(var(--s));
    width: calc(100% / var(--s));
    transform-origin: top left;
  }
  .modal .modal__body {
    position: relative;
    overflow: hidden;
    padding-right: 0;
  }
  .modal .modal__inner__scroll {
    --scale:.3;
  }
  .modal .modal__table {
    table-layout: inherit;
  }
  .modal .modal__table thead {
    position: relative;
  }
  .modal .modal__table thead th, .modal .modal__table thead td {
    scroll-snap-align: unset;
    padding: calc(13 * var(--px-vw)) calc(8 * var(--px-vw));
  }
  .modal .modal__table tbody td {
    scroll-snap-align: unset;
    padding: calc(10.9 * var(--px-vw)) calc(8 * var(--px-vw));
  }
  .modal__ann {
    width: calc(768 * var(--px-vw));
    max-width: 100%;
    font-size: calc(11 * var(--px-vw));
    line-height: 1.6;
    margin-top: 1.2em;
  }
  .modal .scroll-hint-icon {
    width: calc(115 * var(--px-vw));
    height: calc(105 * var(--px-vw));
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.6);
  }
  .modal .scroll-hint-icon:before {
    width: 100%;
    height: 100%;
    background: url("../img/modal/icon-touch_3-sp@2x.png") 0 0 no-repeat;
    background-size: contain;
  }
  .modal .scroll-hint-icon.on {
    opacity: 1;
  }
  .modal .scroll-hint-icon.on:after {
    content: none;
  }
  .bunkatsu {
    padding: 0;
    margin-top: calc(60 * var(--px-vw));
  }
  .bunkatsu .inner {
    padding-top: calc(11 * var(--px-vw));
  }
  .bunkatsu .inner .head {
    margin-bottom: calc(24 * var(--px-vw));
  }
  .bunkatsu .inner .head .ttl {
    width: calc(174 * var(--px-vw));
  }
  .bunkatsu .inner .head .ttl img {
    margin-top: calc(-54 * var(--px-vw));
  }
  .bunkatsu .inner .head .txt {
    font-size: calc(14 * var(--px-vw));
    text-align: justify;
    margin-bottom: calc(12 * var(--px-vw));
  }
  .bunkatsu .inner .head .txt .red {
    font-size: calc(14 * var(--px-vw));
  }
  .bunkatsu .inner .head .ann li {
    font-size: calc(12 * var(--px-vw));
    text-indent: -1em;
    padding-left: 1em;
    margin-left: 0;
  }
  .bunkatsu .inner .sub-ttl {
    font-size: calc(14 * var(--px-vw));
    width: calc(184 * var(--px-vw));
    line-height: calc(28 * var(--px-vw));
    min-height: auto;
    border-width: 1px;
    margin-bottom: calc(8 * var(--px-vw));
  }
  .bunkatsu .inner .sub-txt {
    font-size: calc(18 * var(--px-vw));
    line-height: 1;
    margin-bottom: calc(26 * var(--px-vw));
  }
  .bunkatsu .inner .sub-txt span {
    font-size: calc(12 * var(--px-vw));
  }
  .bunkatsu .inner .commission {
    margin-bottom: calc(37 * var(--px-vw));
  }
  .bunkatsu .inner .end .ttl {
    font-size: calc(18 * var(--px-vw));
    line-height: 1.4;
    margin-bottom: calc(10 * var(--px-vw));
  }
  .bunkatsu .inner .end .ttl .marker {
    display: inline;
  }
  .bunkatsu .inner .end .ttl:before, .bunkatsu .inner .end .ttl:after {
    height: 3.6em;
    transform: translateY(-35%) rotate(-31deg);
  }
  .bunkatsu .inner .end .ttl:before {
    left: -0.9em;
  }
  .bunkatsu .inner .end .ttl:after {
    right: -0.9em;
    transform: translateY(-35%) rotate(31deg);
  }
  .bunkatsu .inner .end .ann {
    font-size: calc(11 * var(--px-vw));
    margin: 0;
  }
  .bunkatsu .inner .end .ex {
    display: block;
    margin-top: calc(12 * var(--px-vw));
  }
  .bunkatsu .inner .end .ex .left .flex {
    margin-bottom: calc(18 * var(--px-vw));
    display: block;
  }
  .bunkatsu .inner .end .ex .left .flex p {
    text-align: center;
  }
  .bunkatsu .inner .end .ex .left .flex .txt {
    font-size: calc(14 * var(--px-vw));
    line-height: 1.4;
  }
  .bunkatsu .inner .end .ex .right {
    padding: calc(9 * var(--px-vw)) calc(5 * var(--px-vw)) 0;
    margin-bottom: calc(15 * var(--px-vw));
  }
  .bunkatsu .inner .end .ex .right img {
    width: calc(282 * var(--px-vw));
  }
  .bunkatsu .inner .end .ex table {
    display: block;
  }
  .bunkatsu .inner .end .ex table tbody {
    display: flex;
  }
  .bunkatsu .inner .end .ex table tbody tr {
    width: 50%;
    display: block;
  }
  .bunkatsu .inner .end .ex table tbody th, .bunkatsu .inner .end .ex table tbody td {
    margin-bottom: -1px;
    margin-right: -1px;
  }
  .bunkatsu .inner .end .ex table tbody th {
    width: 100%;
    display: block;
    font-size: calc(14 * var(--px-vw));
    padding: 0.35em 1em;
  }
  .bunkatsu .inner .end .ex table tbody td {
    width: 100%;
    display: block;
    font-size: calc(21 * var(--px-vw));
    padding: 0;
    text-align: center;
  }
  .bunkatsu .inner .end .ex table tbody td span {
    font-size: calc(16 * var(--px-vw));
  }
  .bunkatsu .inner .end .link {
    font-size: calc(17 * var(--px-vw));
    margin-top: calc(26 * var(--px-vw));
    padding: 0 0 calc(2 * var(--px-vw));
  }
  .bunkatsu .inner .end .link:after {
    width: calc(20 * var(--px-vw));
    height: calc(20 * var(--px-vw));
    background-size: contain;
  }
  .accordion {
    margin-bottom: calc(33 * var(--px-vw));
  }
  .accordion .acc-item.is-open .acc-header {
    box-shadow: 0 0 0 #a6080e;
  }
  .accordion .acc-item .acc-header {
    font-size: calc(15 * var(--px-vw));
    padding-left: calc(40 * var(--px-vw));
    height: calc(40 * var(--px-vw));
    letter-spacing: 0.1em;
    box-shadow: 1px 1px 0 #a6080e, 2px 2px 0 #a6080e, 3px 3px 0 #a6080e, 4px 4px 0 #a6080e;
  }
  .accordion .acc-item .acc-header .icon {
    width: calc(20 * var(--px-vw));
    height: calc(20 * var(--px-vw));
    border-width: 1px;
    margin-left: calc(13 * var(--px-vw));
  }
  .accordion .acc-item .acc-header .icon:before, .accordion .acc-item .acc-header .icon:after {
    width: calc(12 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel {
    border-width: 1px;
  }
  .accordion .acc-item .acc-panel .acc-panel__inner {
    padding: calc(15 * var(--px-vw)) calc(13 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .txt {
    font-size: calc(13 * var(--px-vw));
    line-height: 1.92;
    letter-spacing: 0;
    margin-bottom: calc(15 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .table-ttl {
    font-size: calc(12 * var(--px-vw));
    line-height: 1.4;
    margin-bottom: calc(11 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .block-ttl {
    font-size: calc(16 * var(--px-vw));
    margin-bottom: calc(6 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .link {
    font-size: calc(13 * var(--px-vw));
    margin-bottom: calc(3 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .link:after {
    width: calc(9 * var(--px-vw));
    height: calc(9 * var(--px-vw));
    background-size: contain;
    margin-left: calc(11 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .ann {
    font-size: calc(11 * var(--px-vw));
    line-height: 1.65;
  }
  .accordion .acc-item .acc-panel .acc-panel__inner .ann li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .accordion .acc-item .acc-panel .schedule-table {
    margin-bottom: calc(20 * var(--px-vw));
  }
  .accordion .acc-item .acc-panel .schedule-table thead th {
    font-size: calc(11 * var(--px-vw));
    padding: 0.4em 1em;
  }
  .accordion .acc-item .acc-panel .schedule-table thead th span.sp {
    display: inline;
  }
  .accordion .acc-item .acc-panel .schedule-table thead th.period {
    width: 49.9%;
  }
  .accordion .acc-item .acc-panel .schedule-table tbody td {
    font-size: calc(11 * var(--px-vw));
    line-height: 1.25;
    text-align: start;
    padding: 0.43em 2em;
    padding-right: 1em;
  }
  .accordion .acc-item .acc-panel .schedule-table tbody td:last-child {
    padding: 0.43em 1.3em;
  }
  .detail {
    padding: calc(27 * var(--px-vw)) calc(20 * var(--px-vw));
  }
  .detail__block__ttl {
    font-size: calc(16 * var(--px-vw));
    min-height: calc(40 * var(--px-vw));
    margin-bottom: calc(25 * var(--px-vw));
  }
  .detail__block__ttl--2 {
    margin-bottom: calc(12 * var(--px-vw));
  }
  .detail__block .ann {
    text-align: center;
    font-size: calc(11 * var(--px-vw));
    letter-spacing: 0.02em;
    margin-top: calc(12 * var(--px-vw));
  }
  .detail__block .caution {
    font-size: calc(11 * var(--px-vw));
    line-height: 1.64;
    letter-spacing: 0.01em;
  }
  .detail__img {
    width: 50%;
  }
  .detail__img__wrap {
    flex-wrap: wrap;
    width: 94%;
    margin: 0 auto;
    gap: calc(17.7 * var(--px-vw)) calc(0 * var(--px-vw));
  }
  .detail__img picture {
    display: block;
    width: 100%;
  }
  .detail__img img {
    display: block;
    margin: 0 auto calc(10 * var(--px-vw));
    width: 70%;
  }
  .detail__img p {
    align-items: flex-start;
  }
  .detail__img.usappy {
    margin-top: calc(-13.7 * var(--px-vw));
  }
}
.fv .bg img {
  animation: fv-bg 1.5s infinite;
  animation-timing-function: steps(2, jump-none);
  transform-origin: 52% 56%;
  aspect-ratio: 375/488;
}
.fv .cnt {
  left: 50%;
  transform: translateX(-50%);
  padding: min(78 * var(--px-vw), 78px) 0 min(42 * var(--px-vw), 42px);
  padding: calc(78 * var(--px-vw)) 0 calc(42 * var(--px-vw));
}
.fv .cnt .ttl {
  width: min(351 * var(--px-vw), 351px);
  width: calc(351 * var(--px-vw));
}
.fv .cnt .ttl img {
  width: 100%;
  margin-left: 2px;
  margin-left: calc(2 * var(--px-vw));
}
.fv .cnt .point-wrap {
  margin: min(68 * var(--px-vw), 68px) auto min(37 * var(--px-vw), 37px);
  margin: calc(68 * var(--px-vw)) auto calc(37 * var(--px-vw));
}
.fv .cnt .point-wrap .plus {
  top: min(19 * var(--px-vw), 19px);
  top: calc(19 * var(--px-vw));
}
.fv .cnt .usa {
  position: absolute;
  z-index: 5;
  animation-name: jump;
  animation-delay: 3s;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: 6;
  animation-direction: alternate;
}
.fv .cnt .usa1 {
  width: min(208 * var(--px-vw), 208px);
  bottom: min(138 * var(--px-vw), 138px);
  left: min(73 * var(--px-vw), 73px);
  width: calc(208 * var(--px-vw));
  bottom: calc(138 * var(--px-vw));
  left: calc(73 * var(--px-vw));
}
.fv .cnt .usa2 {
  width: min(209 * var(--px-vw), 209px);
  top: min(60 * var(--px-vw), 60px);
  right: min(269 * var(--px-vw), 269px);
  width: calc(209 * var(--px-vw));
  top: calc(60 * var(--px-vw));
  right: calc(269 * var(--px-vw));
}
.fv .cnt .usa3 {
  width: min(173 * var(--px-vw), 173px);
  bottom: min(89 * var(--px-vw), 89px);
  right: min(90 * var(--px-vw), 90px);
  width: calc(173 * var(--px-vw));
  bottom: calc(89 * var(--px-vw));
  right: calc(90 * var(--px-vw));
}

@media screen and (max-width: 767px) {
  .fv .bg img {
    height: calc(488 * var(--px-vw));
  }
  .fv .cnt {
    padding: calc(25 * var(--px-vw)) 0;
  }
  .fv .cnt .ttl {
    width: calc(191 * var(--px-vw));
    margin: 0 0 0 calc(17 * var(--px-vw));
  }
  .fv .cnt .point-wrap {
    margin: calc(99 * var(--px-vw)) auto calc(23 * var(--px-vw));
  }
  .fv .cnt .point-wrap .flag {
    width: calc(120 * var(--px-vw));
    top: calc(-46 * var(--px-vw));
    left: calc(64 * var(--px-vw));
  }
  .fv .cnt .point-wrap .plus {
    top: calc(-67 * var(--px-vw));
  }
  .fv .cnt .usa1 {
    bottom: auto;
    left: auto;
    top: calc(16 * var(--px-vw));
    right: calc(50 * var(--px-vw));
    width: calc(75 * var(--px-vw));
  }
  .fv .cnt .usa2 {
    top: calc(84 * var(--px-vw));
    left: calc(21 * var(--px-vw));
    width: calc(103 * var(--px-vw));
  }
  .fv .cnt .usa3 {
    bottom: calc(119 * var(--px-vw));
    right: calc(8 * var(--px-vw));
    width: calc(88 * var(--px-vw));
  }
  .detail__img.usappy {
    margin-top: 0;
  }
}
@keyframes fv-bg {
  0% {
    transform: scale(1) rotate(0);
  }
  100% {
    transform: scale(1.2) rotate(3deg);
  }
}
@keyframes jump {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(10deg);
  }
}

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