@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
  * ========================================================================== */
/**
  * Remove the margin in all browsers (opinionated).
  */
body {
  margin: 0;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
  * ========================================================================== */
/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
  * 1. Correct the inheritance of border color in Firefox.
  * 2. Add the correct box sizing in Firefox.
  * 3. Show the overflow in Edge 18- and IE.
  */
hr {
  color: inherit; /* 1 */
  height: 0; /* 2 */
  overflow: visible; /* 3 */
}

/**
  * Add the correct display in IE.
  */
main {
  display: block;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
  * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
  */
nav li::before {
  content: "​";
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  * 3. Prevent overflow of the container in all browsers (opinionated).
  */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
  -ms-overflow-style: scrollbar; /* 3 */
}

/* Text-level semantics
  * ========================================================================== */
/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */
/*
  * Change the alignment on media elements in all browsers (opinionated).
  */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */
audio,
video {
  display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */
iframe {
  border-style: none;
}

/**
  * Remove the border on images within links in IE 10-.
  */
img {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */
svg:not([fill]) {
  fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
  * ========================================================================== */
/**
  * 1. Collapse border spacing in all browsers (opinionated).
  * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
  * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
  */
table {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
  * ========================================================================== */
/**
  * Remove the margin on controls in Safari.
  */
button,
input,
select {
  margin: 0;
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */
input {
  overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */
select {
  text-transform: none;
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
  resize: block; /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
  * ========================================================================== */
/*
  * Add the correct display in Edge 18- and IE.
  */
details {
  display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */
dialog {
  background-color: #fff;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Scripting
  * ========================================================================== */
/**
  * Add the correct display in IE 9-.
  */
canvas {
  display: inline-block;
}

/**
  * Add the correct display in IE.
  */
template {
  display: none;
}

/* User interaction
  * ========================================================================== */
/*
  * Remove the tapping delay in IE 10.
  */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

/**
  * Add the correct display in IE 10-.
  */
[hidden] {
  display: none;
}

/* Accessibility
  * ========================================================================== */
/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */
[aria-busy=true] {
  cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */
[aria-controls] {
  cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/* sanitize overwrite */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dd,
dt {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: bold;
}

ol,
ul,
li {
  list-style: none;
}

a {
  color: inherit;
  outline: none;
  text-decoration: none;
}
a:focus {
  outline: none;
}

main {
  display: block;
}

button {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
  outline: none;
  padding: 0;
}

nav li:before {
  content: "";
  display: none;
}

svg:not(:root) {
  overflow: visible;
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #f0f0f0;
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
body.-lock {
  overflow: hidden;
}

@media (any-hover: hover) {
  a,
button {
    transition: opacity 0.2s;
  }
  a:hover,
button:hover {
    opacity: 0.6;
  }
}

img {
  display: block;
  max-width: 100%;
  pointer-events: none;
}

iframe[name=google_conversion_frame] {
  height: 0;
  position: absolute;
}

.l-bg {
  position: fixed;
  inset: 0 50%;
  min-height: 800px;
  translate: -50%;
  width: max(100%, 1440px);
}
.l-bg .c-links {
  position: absolute;
  left: calc(max(4.42vw, 85px) + 25% - 125px);
  bottom: max(3.64vw, 70px);
  border-top: none;
  flex-direction: row-reverse;
  translate: -50%;
}
@media (max-width: 768px) {
  .l-bg .c-links {
    display: none;
  }
}
.l-bg .c-links__item {
  -moz-column-gap: max(1.04vw, 20px);
       column-gap: max(1.04vw, 20px);
  height: auto;
  width: auto;
}
.l-bg .c-links__item img {
  height: max(1.04vw, 20px);
}
.l-bg .c-links__item img[src$="ico_link.svg"] {
  height: max(1.25vw, 24px);
}
.l-bg .c-links__item:last-child {
  border-left: none;
  border-right: max(0.05vw, 1px) solid rgba(0, 0, 0, 0.5);
  margin-right: max(1.04vw, 20px);
  padding-right: max(1.04vw, 20px);
}
.l-bg:before, .l-bg:after {
  position: absolute;
  inset: -1px 0;
  animation: bg__txt 5s linear infinite;
  background: url(/kessokuband/assets/img/common/bg/txt_kessoku.svg) repeat-x 0 50%/max(9.11vw, 175px) auto;
  border-block: 1px solid rgba(0, 0, 0, 0.5);
  content: "";
  height: max(2.08vw, 40px);
}
@keyframes bg__txt {
  100% {
    background-position-x: max(9.11vw, 175px);
  }
}
.l-bg:after {
  animation-direction: reverse;
  top: auto;
}

.l-bg__gnav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  translate: 0 -50%;
}

.l-bg__gnav__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
}
.l-bg__gnav__item a {
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: max(1.56vw, 30px);
  font-weight: bold;
  line-height: max(2.39vw, 46px);
  margin-left: calc(50% + 250px + max(1.56vw, 30px));
}
@media (max-width: 768px) {
  .l-bg__gnav__item a {
    opacity: 0;
    pointer-events: none;
  }
}
.l-bg__gnav__item span {
  color: #b4b4b4;
}
.l-bg__gnav__item a[href*=info] span {
  color: #ff6496;
}
.l-bg__gnav__item a[href*=mov] span {
  color: #fabe03;
}
.l-bg__gnav__item a[href*=schedule] span {
  color: #006ebe;
}
.l-bg__gnav__item a[href*=disco] span {
  color: #e60046;
}

.l-bg__ico__item {
  position: absolute;
  translate: -50% -50%;
}
.l-bg__ico__item img {
  height: max(3.12vw, 60px);
  opacity: 0;
  transform-origin: bottom;
}

.l-bg__txt {
  pointer-events: none;
}
.l-bg__txt img {
  width: max(8.85vw, 170px);
  z-index: 1;
}
.l-bg__txt img[src$="logo_ketsu.svg"] {
  position: absolute;
  top: 0;
  right: 0;
  width: max(9.37vw, 180px);
}
.l-bg__txt img[src$="logo_soku.svg"] {
  position: absolute;
  bottom: 0;
  right: 0;
  width: max(9.37vw, 180px);
}
.l-bg__txt img[src$="logo_ba.svg"] {
  position: absolute;
  top: 0;
  left: 0;
}
.l-bg__txt img[src$="logo_n.svg"] {
  position: absolute;
  inset: 0;
  margin-block: auto;
}
.l-bg__txt img[src$="logo_do.svg"] {
  position: absolute;
  left: 0;
  bottom: 0;
}
.l-bg__txt span {
  position: absolute;
  top: 50%;
  right: max(4.68vw, 90px);
  background-color: #000;
  color: #fff;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: max(0.72vw, 14px);
  font-weight: 600;
  letter-spacing: 0.5em;
  padding: 0 0.75em 0 1em;
  rotate: 90deg;
  translate: 50% -50%;
}

.l-footer__inner {
  border-top: 1px solid #000;
  padding-block: min(5.12vw, 26px) min(7.69vw, 38px);
}

.l-footer__links {
  display: flex;
  justify-content: center;
}

.l-footer__links__item {
  border-right: min(0.38vw, 2px) solid #000;
}
.l-footer__links__item a {
  display: block;
  font-size: min(3.07vw, 15px);
  font-weight: 900;
  line-height: 1.2;
  padding-inline: 0.75em;
}
.l-footer__links__item:first-child {
  border-left: min(0.38vw, 2px) solid #000;
}

.l-footer__txt {
  font-size: min(2.3vw, 12px);
  line-height: 1.8;
  margin: calc(min(3.84vw, 19px) - 0.4em) min(7.69vw, 38px) -0.4em;
}

@keyframes navOpen {
  1% {
    opacity: 1;
  }
  100% {
    clip-path: inset(0);
    opacity: 1;
  }
}
@keyframes navClose {
  99% {
    clip-path: inset(0 0 100%);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.l-gnav {
  position: absolute;
  left: 0;
  right: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
  background-color: #fff;
  clip-path: inset(0 0 100%);
  display: flex;
  flex-direction: column;
  height: calc(100dvh - min(14.35vw, 72px) - 1px);
  opacity: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  z-index: 1;
}
.l-gnav::-webkit-scrollbar {
  display: none;
}
.l-gnav.-open {
  animation: 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s 1 normal both running navOpen;
}
.l-gnav.-close {
  animation: 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s 1 normal both running navClose;
  clip-path: inset(0);
  opacity: 1;
}

.l-gnav__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  padding: min(5.12vw, 26px) 0 min(9.61vw, 48px);
}

.l-gnav__item a {
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(9.87vw, 49px);
  font-weight: bold;
  line-height: min(16.28vw, 81px);
}
.l-gnav__item span {
  color: #b4b4b4;
}
.l-gnav__item a[href*=info] span {
  color: #ff6496;
}
.l-gnav__item a[href*=mov] span {
  color: #fabe03;
}
.l-gnav__item a[href*=schedule] span {
  color: #006ebe;
}
.l-gnav__item a[href*=disco] span {
  color: #e60046;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  margin-inline: auto;
  max-width: 500px;
  z-index: 1;
}

.l-header__inner {
  border-bottom: 1px solid #000;
  display: flex;
}

.l-header__logo {
  flex-grow: 1;
}
.l-header__logo a {
  display: grid;
  height: 100%;
  place-content: center;
}
.l-header__logo img {
  width: min(49.99vw, 250px);
}

.l-header__ico {
  border-left: 1px solid #000;
  display: grid;
  flex-grow: 1;
  place-content: center;
}
.l-header__ico svg {
  width: min(19.74vw, 99px);
}
.info .l-header__ico circle {
  stroke: #ff6496;
}
.mov .l-header__ico circle {
  stroke: #fabe03;
}
.schedule .l-header__ico circle {
  stroke: #006ebe;
}
.disco .l-header__ico circle {
  stroke: #e60046;
}

.l-header__toggle {
  align-items: center;
  aspect-ratio: 1;
  background-color: #000;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(14.35vw, 72px);
}
.l-header__toggle span {
  background-color: #fff;
  height: min(0.25vw, 1px);
  transition: margin 0.3s 0.3s, opacity 0s 0.3s, rotate 0.3s;
  width: 50%;
}
.l-header__toggle span:nth-child(2) {
  margin-block: min(1.92vw, 10px);
}
.-active_gnav .l-header__toggle span {
  transition-delay: 0s, 0.3s, 0.3s;
}
.-active_gnav .l-header__toggle span:nth-child(1) {
  rotate: 45deg;
}
.-active_gnav .l-header__toggle span:nth-child(2) {
  margin-block: max(-0.26vw, -1px);
  opacity: 0;
}
.-active_gnav .l-header__toggle span:nth-child(3) {
  rotate: -45deg;
}

.l-header__info {
  background-color: #ffffeb;
  border-bottom: 1px solid #000;
  display: flex;
  overflow-x: hidden;
}

.l-header__info__inner {
  display: flex;
  opacity: 0;
}
.l-header__info__inner a {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
  line-height: min(7.69vw, 38px);
  margin-left: 2em;
  white-space: nowrap;
}
.l-header__info__inner time {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold;
  line-height: 1;
  margin-right: 0.5em;
}

.l-main {
  overflow-x: hidden;
}

.l-main__inner {
  background-color: #fff;
  margin-inline: auto;
  max-width: 500px;
  min-height: 100vh;
  padding-top: calc(min(22.05vw, 110px) + 2px);
  position: relative;
}
.l-main__inner:before, .l-main__inner:after {
  position: absolute;
  top: 0;
  left: 100%;
  bottom: 0;
  border-left: 1px solid #000;
  content: "";
}
.l-main__inner:before {
  left: 0;
  translate: -100%;
}
.top .l-main__inner > section:not(.mv) {
  padding-bottom: min(15.38vw, 77px);
}

.c-bnr {
  align-items: center;
  -moz-column-gap: min(3.84vw, 19px);
       column-gap: min(3.84vw, 19px);
  display: flex;
  justify-content: center;
  margin-bottom: min(4.87vw, 24px);
}

.c-bnr__item {
  display: block;
  width: min(37.82vw, 189px);
}

.c-btn.-link {
  margin: min(6.41vw, 32px) auto 0;
  max-width: min(66.66vw, 333px);
}
.c-btn.-link a {
  border: 1px solid #000;
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(4.1vw, 21px);
  font-weight: bold;
  line-height: min(12.82vw, 64px);
  text-align: center;
}
.c-btn.-link a.-ja {
  font-size: min(3.33vw, 17px);
}
.c-btn.-link a[target=_blank]:after {
  content: url(/kessokuband/assets/img/common/ico/ico_blank_bk.svg);
  display: inline-block;
  margin: -0.2em 0 0 0.2em;
  vertical-align: top;
  width: min(2.3vw, 12px);
}
.c-btn.-link .c-ico.-arrow:before {
  border-color: #000;
  right: min(4.1vw, 21px);
}

.c-btn.-mov {
  border-bottom: 1px solid #000;
}
.c-btn.-mov button {
  padding: min(3.84vw, 19px) min(5.12vw, 26px);
}
.c-btn.-mov:last-child {
  border-bottom: none;
}
.c-btn.-mov .c-btn__thumb {
  display: block;
  position: relative;
}
.c-btn.-mov .c-btn__thumb:before {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  translate: -50% -50%;
  width: min(12.82vw, 64px);
}
.c-btn.-mov .c-btn__thumb:after {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1/1.6;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
  translate: -30% -50%;
  width: min(2.56vw, 13px);
}
.c-btn.-mov .c-btn__cap {
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.58vw, 18px);
  line-height: 1.4;
  margin: calc(min(3.84vw, 19px) - 0.2em) 0 -0.2em;
}
.info .c-btn.-mov .c-btn__thumb:before {
  background-color: rgba(255, 100, 150, 0.75);
}
.mov .c-btn.-mov .c-btn__thumb:before {
  background-color: rgba(250, 190, 3, 0.75);
}
.schedule .c-btn.-mov .c-btn__thumb:before {
  background-color: rgba(0, 110, 190, 0.75);
}
.disco .c-btn.-mov .c-btn__thumb:before {
  background-color: rgba(230, 0, 70, 0.75);
}

.c-btn.-schedule {
  border-bottom: 1px solid #000;
  position: relative;
}
.c-btn.-schedule a {
  display: block;
  padding: min(5.12vw, 26px) min(10.25vw, 51px) min(5.12vw, 26px) min(5.12vw, 26px);
}
.c-btn.-schedule .c-btn__back .c-ico.-arrow {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: grid;
  padding: 0;
  place-content: center;
  width: min(10.25vw, 51px);
}
.c-btn.-schedule .c-btn__back .c-ico.-arrow:before {
  border-color: #fff;
  position: static;
  scale: -1;
  translate: 20% 0;
}
.c-btn.-schedule .c-btn__row {
  align-items: center;
  -moz-column-gap: min(1.28vw, 6px);
       column-gap: min(1.28vw, 6px);
  display: flex;
  padding-left: min(10.25vw, 51px);
  position: relative;
}
.c-btn.-schedule .c-btn__row + * {
  margin-top: min(1.92vw, 10px);
}
.c-btn.-schedule .c-btn__row span {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold;
  line-height: 1.4;
  margin-block: -0.2em;
}
.c-btn.-schedule .c-btn__row .c-tag {
  position: absolute;
  top: min(0.38vw, 2px);
  left: 0;
  text-align: center;
  width: min(8.97vw, 45px);
}
.c-btn.-schedule .c-btn__row .date {
  font-size: min(4.61vw, 23px);
}
.c-btn.-schedule .c-btn__row .year {
  font-size: min(3.58vw, 18px);
}
.c-btn.-schedule .c-btn__row .ttl {
  font-family: "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.84vw, 19px);
}

.c-ico.-arrow {
  position: relative;
}
.c-ico.-arrow:before {
  position: absolute;
  top: 50%;
  right: min(5.76vw, 29px);
  aspect-ratio: 1;
  border-right: min(0.51vw, 3px) solid #000;
  border-top: min(0.51vw, 3px) solid #000;
  content: "";
  rotate: 45deg;
  translate: 0 -50%;
  width: min(2.05vw, 10px);
}
.c-ico.-arrow.-down::before {
  rotate: 135deg;
}
.info .c-ico.-arrow:before {
  border-color: #ff6496;
}
.mov .c-ico.-arrow:before {
  border-color: #fabe03;
}
.schedule .c-ico.-arrow:before {
  border-color: #006ebe;
}
.disco .c-ico.-arrow:before {
  border-color: #e60046;
}

.-schedule .c-ico[target=_blank]:before {
  position: absolute;
  top: 50%;
  right: min(4.87vw, 24px);
  content: "";
  border: unset;
  rotate: unset;
  width: min(2.82vw, 14px);
  background: url(/kessokuband/assets/img/common/ico/ico_blank_schedule.svg) no-repeat;
}

.c-ico.-plus {
  position: relative;
}
.c-ico.-plus:before, .c-ico.-plus:after {
  position: absolute;
  top: min(5.12vw, 26px);
  right: min(5.12vw, 26px);
  aspect-ratio: 1;
  background-color: #000;
  border-radius: 50%;
  content: "";
  translate: 50% -50%;
  width: min(6.41vw, 32px);
}
.c-ico.-plus:after {
  background-color: #e60046;
  border-radius: 0;
  clip-path: polygon(0 46%, 46% 46%, 46% 0, 54% 0, 54% 46%, 100% 46%, 100% 54%, 54% 54%, 54% 100%, 46% 100%, 46% 54%, 0 54%);
  width: min(3.58vw, 18px);
}
.schedule .c-ico.-plus:after {
  background-color: #006ebe;
}

.c-ico.-dl {
  position: relative;
}
.c-ico.-dl::before {
  position: absolute;
  top: 50%;
  right: min(2.56vw, 13px);
  content: "";
  transform: translateY(-50%);
  width: min(3.07vw, 15px);
  height: min(3.33vw, 17px);
  background-image: url(/kessokuband/assets/img/common/ico/ico_dl_schedule.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.c-links {
  border-top: 1px solid #000;
  display: flex;
}

.c-links__item {
  align-items: center;
  -moz-column-gap: min(5.76vw, 29px);
       column-gap: min(5.76vw, 29px);
  display: flex;
  height: min(15.38vw, 77px);
  justify-content: center;
  width: 50%;
}
.c-links__item img {
  height: min(5.76vw, 29px);
}
.c-links__item img[src$="ico_link.svg"] {
  height: min(5.12vw, 26px);
}
.c-links__item:last-child {
  border-left: 1px solid #000;
}

.c-links__text {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(2.82vw, 14px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

.c-modal {
  background-color: rgba(255, 255, 255, 0.9);
  display: grid;
  inset: 0;
  place-content: center;
  position: fixed;
  transition: opacity 0.6s;
  z-index: 9999;
}
.c-modal img {
  max-height: 90vh;
  max-width: 90vw;
}
.c-modal.-bk {
  background-color: rgba(0, 0, 0, 0.9);
}
.c-modal:not(.-active) {
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}
.c-modal:has(.c-modal__inner) {
  -ms-overflow-style: none;
  scrollbar-width: none;
  background-color: #e60046;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  padding-block: min(12.82vw, 64px);
  place-content: normal;
}
.c-modal:has(.c-modal__inner)::-webkit-scrollbar {
  display: none;
}

.c-modal__player {
  aspect-ratio: 16/9;
  height: auto;
  max-height: 100%;
  width: min(89.74vw, 449px);
}
@media (min-width: 560px) {
  .c-modal__player {
    width: 80vw;
  }
}

.c-modal__inner {
  align-items: center;
  background: url(/kessokuband/assets/img/page/disco/bg_cmt.svg) no-repeat center/auto 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-block: auto;
  min-height: min(134.61vw, 673px);
  padding: min(15.38vw, 77px) calc(50% - min(37.17vw, 186px));
}

.c-modal__name {
  color: #fff;
  font-size: min(6.41vw, 32px);
  margin-block: -0.25em;
  text-align: center;
}
.c-modal__name span {
  font-size: min(3.84vw, 19px);
  font-weight: 500;
  margin-right: 0.4em;
}

.c-modal__alt__name {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
}

.c-modal__en {
  background-color: #fff;
  color: #e60046;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.33vw, 17px);
  font-weight: 600;
  line-height: 1;
  margin-top: min(2.56vw, 13px);
  padding-inline: 0.5em;
}

.c-modal__cmt {
  color: #fff;
  font-size: min(3.58vw, 18px);
  font-weight: 500;
  line-height: 1.8;
  margin: calc(min(5.12vw, 26px) - 0.4em) 0 -0.4em;
}

.c-modal__close {
  position: absolute;
  top: min(5.12vw, 26px);
  right: min(5.12vw, 26px);
  aspect-ratio: 1;
  width: min(10.25vw, 51px);
}
.c-modal__close:before, .c-modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: min(0.25vw, 1px) solid #000;
  content: "";
  rotate: 45deg;
  translate: -50% -50%;
  width: 140%;
}
.c-modal__close:after {
  rotate: -45deg;
}
.c-modal__close.-wh:before, .c-modal__close.-wh:after {
  border-color: #fff;
}
.goods__modal .c-modal__close:before, .goods__modal .c-modal__close:after {
  border-top: min(0.51vw, 3px) solid #000;
}

.c-paging {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: min(3.84vw, 19px) min(5.12vw, 26px);
}

.c-paging__prev .c-ico.-arrow,
.c-paging__next .c-ico.-arrow {
  display: grid;
  height: min(7.69vw, 38px);
  padding-inline: min(2.56vw, 13px);
  place-content: center;
}
.c-paging__prev .c-ico.-arrow:before,
.c-paging__next .c-ico.-arrow:before {
  position: static;
  translate: -20% 0;
}
.c-paging__prev .c-ico.-arrow:is(span),
.c-paging__next .c-ico.-arrow:is(span) {
  opacity: 0;
}

.c-paging__prev {
  scale: -1;
}

.c-paging__link a {
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(4.1vw, 21px);
  font-weight: 600;
  line-height: min(7.69vw, 38px);
  padding-inline: min(2.56vw, 13px);
}
.c-paging__link.-active a {
  position: relative;
}
.c-paging__link.-active a:after {
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  border: min(0.76vw, 4px) solid #000;
  border-radius: 50%;
  content: "";
  translate: -50% -50%;
  width: min(7.69vw, 38px);
}
.info .c-paging__link.-active a:after {
  border-color: #ff6496;
}
.mov .c-paging__link.-active a:after {
  border-color: #fabe03;
}
.schedule .c-paging__link.-active a:after {
  border-color: #006ebe;
}
.disco .c-paging__link.-active a:after {
  border-color: #e60046;
}

.c-share {
  margin-top: min(3.84vw, 19px);
}

.c-share__ttl {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.07vw, 15px);
  font-weight: 500;
  text-align: center;
}

.c-share__ico {
  align-items: center;
  -moz-column-gap: min(6.66vw, 33px);
       column-gap: min(6.66vw, 33px);
  display: flex;
  justify-content: center;
  margin-top: min(2.56vw, 13px);
}
.c-share__ico img {
  height: min(6.66vw, 33px);
}
.c-share__ico img[src$="ico_x.svg"] {
  height: min(5.64vw, 28px);
}

.js-show:not(.-continuous), .js-show.-continuous > * {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.js-show:not(.-continuous).-active, .js-show.-continuous.-active > * {
  clip-path: inset(0);
}
.js-show.-continuous > :nth-child(1) {
  transition-delay: 0s;
}
.js-show.-continuous > :nth-child(2) {
  transition-delay: 0.15s;
}
.js-show.-continuous > :nth-child(3) {
  transition-delay: 0.3s;
}
.js-show.-continuous > :nth-child(4) {
  transition-delay: 0.45s;
}
.js-show.-continuous > :nth-child(5) {
  transition-delay: 0.6s;
}
.js-show.-continuous > :nth-child(6) {
  transition-delay: 0.75s;
}
.js-show.-continuous > :nth-child(7) {
  transition-delay: 0.9s;
}
.js-show.-continuous > :nth-child(8) {
  transition-delay: 1.05s;
}
.js-show.-continuous > :nth-child(9) {
  transition-delay: 1.2s;
}
.js-show.-continuous > :nth-child(10) {
  transition-delay: 1.35s;
}

.c-tab {
  display: flex;
  flex-wrap: wrap;
  gap: min(0.25vw, 1px);
}
.c-tab.js-show {
  clip-path: inset(0 100% max(-2.06vw, -10px) 0);
}
.c-tab.js-show.-active {
  clip-path: inset(0 0 max(-2.06vw, -10px));
}
.info .c-tab {
  background-color: #ff6496;
}
.mov .c-tab {
  background-color: #fabe03;
}
.schedule .c-tab {
  background-color: #006ebe;
}
.disco .c-tab {
  background-color: #e60046;
}

.c-tab__item {
  width: calc((100% - min(0.51vw, 3px)) / 3);
}
.c-tab__item a {
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.84vw, 19px);
  font-weight: 600;
  line-height: min(10.25vw, 51px);
  text-align: center;
}
.c-tab__item.-ja a {
  font-size: min(3.33vw, 17px);
}
.c-tab__item.-active a {
  background-color: #000;
  color: #fff;
}

.c-tag {
  color: #fff;
  flex-shrink: 0;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.07vw, 15px);
  font-weight: 600;
  line-height: min(3.58vw, 18px);
  padding-inline: 0.25em;
}
.info .c-tag {
  background-color: #ff6496;
}
.mov .c-tag {
  background-color: #fabe03;
}
.schedule .c-tag {
  background-color: #006ebe;
}
.disco .c-tag {
  background-color: #e60046;
}

.c-ttl.-page {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(8.97vw, 45px);
  line-height: min(14.1vw, 71px);
  text-align: center;
}
.c-ttl.-page span {
  color: #fff;
}
.c-ttl.-page.js-page-ttl span {
  display: inline-block;
  opacity: 0;
  scale: 0.5;
}
.info .c-ttl.-page {
  background-color: #ff6496;
}
.mov .c-ttl.-page {
  background-color: #fabe03;
}
.schedule .c-ttl.-page {
  background-color: #006ebe;
}
.disco .c-ttl.-page {
  background-color: #e60046;
}

.c-ttl.-main,
.c-ttl.-sub {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: min(12.82vw, 64px);
  padding-inline: min(5.12vw, 26px);
}

.c-ttl.-main {
  background-color: #000;
  color: #fff;
  font-size: min(7.43vw, 37px);
}
.c-ttl.-main.-ja {
  font-size: min(6.15vw, 31px);
}

.c-ttl.-sub {
  border-bottom: 1px solid #000;
  font-size: min(5.12vw, 26px);
}
.schedule .c-ttl.-sub {
  background-color: #d9e9f5;
}
.disco .c-ttl.-sub {
  background-color: #fbd9e3;
}

.c-ttl.-hasArrow {
  position: relative;
  font-size: min(4.61vw, 23px);
  line-height: 1;
  padding-inline: min(7.94vw, 40px);
  padding-block: min(4.1vw, 21px);
  min-height: min(12.82vw, 64px);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-color: #ffffeb;
  margin-inline: max(-5.13vw, -26px);
}
.c-ttl.-hasArrow.-alt {
  margin-inline: unset;
}
.c-ttl.-hasArrow::before {
  position: absolute;
  top: min(5.38vw, 27px);
  left: min(3.33vw, 17px);
  aspect-ratio: 1;
  content: "";
  border-right: min(0.51vw, 3px) solid #000;
  border-top: min(0.51vw, 3px) solid #000;
  rotate: 45deg;
  width: min(2.56vw, 13px);
}

.c-ttl.-simple {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(6.15vw, 31px);
  line-height: 1;
}

@media (min-width: 769px) {
  .c-visible_nrw {
    display: none;
  }
}

@media (max-width: 768px) {
  .c-visible_wide {
    display: none;
  }
}