@charset "UTF-8";

@import url("https://use.typekit.net/ier4qen.css");
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");


/*===================================================
  RESET
====================================================*/
* {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-sizing: border-box;
}
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}
html {
  -webkit-text-size-adjust: 100%;
}
body {
  width: 100%;
  font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  padding-top: env(safe-area-inset-top);
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  text-decoration: none;
  color: inherit;
  transition: 0.5s ease;
}
input,
select {
  vertical-align: middle;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  line-height: 1;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

img {
  width: 100%;
  vertical-align: bottom;
  line-height: 1;
}
.fa,
.fas {
  display: inline;
}
.mov {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.mov iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*===================================================
  FRAME
====================================================*/

html {
  font-size: clamp(12px, 1.28vw, 2.5vh);
}
html,
body {
  height: 100%;
  font-family: "Manrope", "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #3d494e;
  line-height: 1.7em;
  height: auto;
  min-height: 100%;
  background: #fff;
}



.contentsWrap {
  position: relative;
}

section {
  padding: 0 5%;
  position: relative;
}

section .inBox {
    margin: 0 auto;
    padding: 12rem 0;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    opacity: 0;
    transform: translateY(3rem);
    transition: 1s ease;
    flex-wrap: wrap;
}
section.view .inBox {
  opacity: 1;
  transform: translateY(0);
}

section .inBox > * {
}
section .inBox > *:last-child {
  margin-bottom: 0;
}

body:not(.topPage) section .inBox {
    padding: 7rem 0 5rem;
}

.header_logo {
    position: fixed;
    width: 15rem;
    z-index: 1000;
    left: 4rem;
    top: 2.1rem;
    line-height: 0;
}

.header_logo a {
    display: block;
}

.inBox .titBox {
    width: 27%;
    position: relative;
}
body:not(.topPage) .inBox .titBox {
    position: sticky;
    top: 7rem;
    height: 100%;
}

.inBox .sectionInner {
    width: 68%;
    position: relative;
}

.inBox .titBox h3 {
    font-style: normal;
    font-size: 3rem;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.inBox .titBox .tit_sub {
    font-weight: bold;
    letter-spacing: 0;
}

body:not(.topPage) .inBox .titBox {
    position: sticky;
    top: 7rem;
    padding: 1.4rem;
    height: calc(100vh - 9rem);
    border-radius: 1.5rem;
    overflow: clip;
    background: #001556;
    z-index: 1;
    color: #fff;
}

body:not(.topPage) .inBox .titBox::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(/static/kobukuro/official/feature/tour2026/images/ph_kv_sub_nM9h3tsc.jpg);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-size: cover;
    background-position: 50% 50%;
    filter: blur(1vw);
    opacity: 0.8;
    transform: scale(1.2);
}



/* FRAME:PC-min-770 */
@media screen and (min-width: 770px) {
  .sp {
    display: none !important;
  }
}

/* FRAME:SP-max-769 */
@media screen and (max-width: 769px) {
  .pc {
    display: none !important;
  }

  html {
    font-size: clamp(11px, 4.25vw, 2.5vh);
  }
  section {
    padding: 0 6%;
  }
  section .inBox {
      padding: 4.5rem 0;
  }
  section .inBox > * {
  }

body:not(.topPage)::before {
    content: '';
    display: block;
    width: 100%;
    height: 5rem;
    position: fixed;
    background: linear-gradient(180deg, #fff 40%, transparent);
    z-index: 10;
}

body:not(.topPage) .contentsWrap {
  position: fixed;
  inset: 0;
  overflow-y: auto;
  height: 100vh;
  -webkit-overflow-scrolling: touch;
    padding-bottom: 5rem;
}

  .inBox .titBox {
    width: 100%;
    margin-bottom: 1.5rem;
  }
body:not(.topPage) .inBox .titBox {
    position: relative;
    top: 0;
    height: auto;
    border-radius: 1.2rem;
}
body:not(.topPage) .inBox .titBox::before {
    transform: scale(2);
    background-position: 50% 0;
}

  body:not(.topPage) section .inBox {
    padding-top: 5rem;
  }

.header_logo {
    left: 6%;
    top: 1.45rem;
    width: 12rem;
}

.inBox .titBox h3 {
    font-size: 2.5rem;
    line-height: 0.9;
    margin-bottom: 0.5rem;
}
.inBox .titBox .tit_sub {
    font-size: 0.8em;
    line-height: 1;
}

  .inBox .sectionInner {
    width: 100%;
  }
}

/*===================================================
  TEXT
====================================================*/
h3 {
  font-size: 300%;
  line-height: 1em;
  font-weight: 800;
}
h4 {
  font-size: 200%;
  line-height: 1em;
}
.bold {
  font-weight: 600;
}
.lead {
}

.red {
  color: #de0000;
}
.center {
    text-align: center;
}

.cautionList {
}
.cautionList li {
  font-size: 85%;
  line-height: 1.5em;
  padding: 0 0 0 1em;
  margin: 0 0 0.2em;
  position: relative;
}
.cautionList li:before {
  content: "・";
  position: absolute;
  left: 0;
}
.cautionList li:last-child {
  margin: 0;
}
.fillBox {
  padding: 40px;
  background: #efefef;
  box-sizing: border-box;
}
.strokeBox {
  padding: 40px;
  border: 1px solid;
  box-sizing: border-box;
}
.fillBox > *,
.strokeBox > * {
  margin-bottom: 40px;
}
.fillBox > *:last-child,
.strokeBox > *:last-child {
  margin-bottom: 0;
}

/* TEXT:PC-min-770 */
@media screen and (min-width: 770px) {
  .accordionList .accordionTit:hover {
    background: #ccc;
  }
}

/* TEXT:SP-max-769 */
@media screen and (max-width: 769px) {
  h3 {
    font-size: min(calc(80 / 769 * 100vw), 300%);
  }
  h4 {
    font-size: min(calc(56 / 769 * 100vw), 200%);
  }
  .lead {
    font-size: 80%;
    line-height: 1.6em;
  }

  .fillBox {
    padding: 20px;
  }
  .strokeBox {
    padding: 20px;
  }

  .accordionList .accordionDetail {
    padding: 20px;
  }
}

/*===================================================
	BUTTON
====================================================*/
a {
}
.innerLink {
  text-decoration: underline;
}
.btnBase a {
  display: block;
  background: #ddd;
  text-align: center;
  padding: 1.3em;
  font-size: 0.9em;
  font-weight: 500;
  width: 20rem;
  max-width: 100%;
  margin: 0 auto 0.8rem;
  border-radius: 0.5rem;
}
.btnBase:last-child a {
  margin-bottom: 0;
}

.posBtn a {
  background: #f66;
  color: #fff;
}
.negBtn a {
  background: transparent;
  border: 1px solid;
  box-sizing: border-box;
}
/* BUTTON:PC-min-770 */
@media screen and (min-width: 770px) {
  a:hover {
    opacity: 0.7;
  }
  .posBtn a:hover {
    filter: contrast(5);
    opacity: 1;
    color: #fff;
  }
  .negBtn a:hover {
    background: #000;
    opacity: 1;
    color: #fff;
  }
}

/* BUTTON:SP-max-769 */
@media screen and (max-width: 769px) {
  .btn a {
    width: 100%;
    margin: 0 auto;
  }
}

/*===================================================
  OP:LOADER
====================================================*/
.loader {
}

.loading_inner {
    position: fixed;
    display: flex;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    transition: 1.8s 2.5s;
    opacity: 1;
    pointer-events: none;
}

.loaded .loading_inner {
  opacity: 0;
}

.load_tit {
    color: #3c36b1;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1;
    text-align: center;
    transition: 0.7s 1.6s;
}
.loaded .load_tit {
  opacity: 0;
  transform: scale(1.2);
}


.load_tit span {
    display: inline-block;
    line-height: 1;
    position: relative;
    transform: translateY(100%);
    transition: 0.2s;
}

.loaded .load_tit span {
    opacity: 1;
    transform: translateY(0);
}

.load_txt {
    position: relative;
    overflow: hidden;
}



/*===================================================
	OP:ANCHOR
====================================================*/
.ancPoint {
  position: relative;
}
.ancPoint span {
  display: block;
  position: absolute;
  top: -120px;
}
/* OP:ANCHOR:SP-max-769 */
@media screen and (max-width: 769px) {
  .ancPoint span {
    top: -80px;
  }
}

/*===================================================
  OP:SLIDER
====================================================*/
.op_slider {
  overflow: hidden;
  position: relative;
  padding: 0 0 20px;
}
.op_slider .slideNone .swiper-pagination,
.op_slider .slideNone .swiper-button-prev,
.op_slider .slideNone .swiper-button-next {
  display: none;
}
.op_slider .swiper-pagination.swiper-pagination-bullets {
  bottom: 0;
  display: inline-block;
  width: auto;
  height: auto;
  min-height: 0;
  line-height: 0;
}
.op_slider .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  width: 30px;
  height: 3px;
  border-radius: 0;
  padding: 0;
  margin: 0 10px 0 0;
}
.op_slider .swiper-pagination-bullet-active {
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev {
  right: 50px;
  bottom: 0;
  left: auto;
  top: auto;
  height: auto;
  width: auto;
}
.swiper-button-next {
  right: 5px;
  top: auto;
  bottom: 0;
  left: auto;
  height: auto;
  width: auto;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: 18px;
  font-weight: 800;
}

/* OP:SLIDER:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_slider {
    padding: 0 0 20px;
  }
  .op_slider .swiper-pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    width: 20px;
  }
}

/*===================================================
  NAVIGATION
====================================================*/
.hamBtn {
  display: block;
  position: fixed;
  right: 0;
  top: 6%;
  width: 5%;
  transition: all 0.3s ease;
  cursor: pointer;
  z-index: 9999;
  padding: 0 1.4%;
  color: #e8e8e8;
}

.hamBtn.open {
  mix-blend-mode: normal;
}
.hamMenu {
  position: relative;
  width: 100%;
  height: 0.85rem;
  transition: 0.3s ease;
}
.hamMenu span {
  display: block;
  position: absolute;
  right: 0;
  width: 100%;
  height: 3px;
  background: #e8e8e8;
  transition: all 0.3s ease;
}
.hamBtn.open .hamMenu span {
}

.hamMenu span:nth-of-type(1) {
  top: 0;
}
.hamMenu span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.hamMenu span:nth-of-type(3) {
  bottom: 0;
}
.hamBtn.open span {
}
.hamBtn.open span:nth-of-type(1) {
  transform: translateY(-50%) rotate(-45deg);
  top: 50%;
}
.hamBtn.open span:nth-of-type(2) {
  opacity: 0;
}
.hamBtn.open span:nth-of-type(3) {
  transform: translateY(50%) rotate(45deg);
  bottom: 50%;
}
.hamTxt {
    writing-mode: vertical-rl;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    text-align: center;
    padding-top: 0.6em;
    letter-spacing: 0.01em;
    transition: 0.3s;
    width: 100%;
    line-height: 1;
    display: flex;
    align-items: center;
    font-size: 1.5rem;
}


.navigation {
    position: fixed;
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #f4f7f8;
    z-index: 100;
    padding: 0 5%;
}


.navigation_inner::-webkit-scrollbar {
  display: none;
}

.navigation.active {
  transition: opacity 0.5s ease;
  pointer-events: auto;
  opacity: 1;
}
.navigation .headerNav {
    display: block;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
}
.navigation .headerNav li {
    padding: 0;
    position: relative;
}

.navigation .headerNav li:last-child:after {
  content: none;
}
.navigation .headerNav li a {
    position: relative;
    color: #3d494e;
    font-size: 1.45rem;
    letter-spacing: 0.02em;
    display: block;
    line-height: 0.9;
    padding: 0.2em 0.7em;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    font-style: normal;
}



.navigation .headerNav li::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #3c36b1;
    transform-origin: left;
    transition: 0.3s ease;
    z-index: 0;
    border-radius: 5rem;
    opacity: 0;
}


/* NAVIGATION:PC-min-770 */
@media screen and (min-width: 770px) {

.navigation {
    pointer-events: auto !important;
    opacity: 1 !important;
    height: auto;
    background: none;
    padding: 0.5rem 1rem;
}

.navigation_inner {
    padding: 1.5rem 3rem;
    border-radius: 10rem;
    transition: 0.4s;
}

.topPage.topFix .navigation_inner {
    background: #f4f7f8;
    box-shadow: 0 0.8rem 1rem -0.85rem #0000004a;
}
body:not(.topPage).headerFix .navigation_inner {
    background: #f4f7f8;
    box-shadow: 0 0.8rem 1rem -0.85rem #0000004a;
}

.hamBtn {
    display: none;
}

.navigation .headerNav li:hover::before {
    opacity: 1;
}
.navigation .headerNav li a:hover {
    opacity: 1;
    color: #fff;
}


}


/* NAVIGATION:SP-max-769 */
@media screen and (max-width: 770px) {

.hamBtn {
    width: 5rem;
    top: 1.3rem;
    right: 6%;
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between;
    color: #3d494e;
    align-items: center;
    padding: 0;
}

  .hamMenu span {
      background: #3d494e;
      height: 2px;
  }

  .hamTxt {
    writing-mode: lr;
    padding: 0;
    line-height: 1;
  }

  .hamMenu {
      width: 3.2rem;
      height: 0.9rem;
  }

  .navigation {
      padding: 4rem 6%;
      z-index: 999;
      display: flex;
      align-items: flex-end;
  }

  .navigation .headerNav li {
      width: 100%;
      text-align: right;
      margin-top: 1.2rem;
  }

  .navigation .headerNav li a {
      font-size: 2.2rem;
      padding: 0;
  }

}

/*===================================================
  OP:SCHEDULE
====================================================*/
.op_schedule {
  margin-bottom: 2.5rem;
}
.op_schedule:last-child {
  margin: 0;
}

.op_schedule .scheduleCellList {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #0000003b;
    padding: 0 0 0.8rem;
    margin: 0 0 0.8rem;
    position: relative;
}

.op_schedule .scheduleCellList:last-child {
  margin: 0;
}
.op_schedule .scheduleCellList li {
  padding: 0 1rem;
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 85%;
  line-height: 1.5em;
  font-weight: 500;
}
.op_schedule .scheduleCellList li:after {
  content: "";
  position: absolute;
  top: 5%;
  right: 0;
  width: 1px;
  height: 90%;
  border-right: 1px solid #5353534f;
}
.op_schedule .scheduleCellList li:first-child::after {
  display: none;
}

.op_schedule .scheduleCellList li:last-child:after {
  content: none;
}
.op_schedule .scheduleCellList .scheduleDate {
    width: 20%;
    font-size: 1.5rem;
    letter-spacing: 0;
    padding-left: 0;
    justify-content: flex-start;
}
.op_schedule .scheduleCellList .scheduleDate .scheduleInner {
  display: flex;
  align-items: center;
}
.op_schedule .scheduleCellList .scheduleDate .txt {
    line-height: 1em;
    position: relative;
    padding: 0 0 0 1.5rem;
    font-family: komu-a, "Zen Kaku Gothic New", sans-serif;
}
.op_schedule .scheduleCellList .scheduleDate .txt.areaTxt {
    font-size: 0.6em;
    text-align: left;
    font-weight: bold;
    padding-left: 1rem;
}
.op_schedule .scheduleCellList .scheduleDate .year {
    display: inline-block;
    padding: 0;
    font-size: 1em;
    line-height: 1em;
    margin: 0;
    text-align: center;
    position: absolute;
    transform: rotate(90deg);
    left: -0.5rem;
    bottom: 0.3rem;
    letter-spacing: 0;
    background: transparent;
    width: auto;
}
.op_schedule .scheduleCellList.cellHead .scheduleDate .txt:first-child {
  width: auto;
  padding: 0;
}

.op_schedule .scheduleCellList .scheduleDate .txt:first-child {
    width: 4rem;
    text-align: center;
}

.op_schedule .scheduleCellList .scheduleDate .week {
  font-size: 50%;
  display: block;
  background: #37261d;
  line-height: 1em;
  color: #ffffff;
  text-align: center;
  padding: 2px 0 0;
}
.op_schedule .scheduleCellList .scheduleDate .week.sat {
  background: #3a6aac;
}
.op_schedule .scheduleCellList .scheduleDate .week.sun {
  background: #c73838;
}
.op_schedule .scheduleCellList .scheduleVenue {
    width: 32%;
    justify-content: left;
    padding-left: 0;
    font-size: 0.8rem;
}
.op_schedule .scheduleCellList .scheduleTime {
    width: 14%;
    font-family: komu-a, sans-serif;
    font-size: 0.75em;
    letter-spacing: 0;
    padding: 0 0.8rem;
    justify-content: center;
    font-weight: 400;
    font-size: 1rem;
}
.op_schedule .scheduleCellList .scheduleTime .cap {
  display: none;
}
.op_schedule .scheduleCellList .scheduleSale {
  width: 15%;
  font-weight: 600;
  font-size: 120%;
}
.op_schedule .scheduleCellList .scheduleSale .txt {
  line-height: 1em;
}
.op_schedule .scheduleCellList .scheduleSale .year {
  display: block;
  padding: 0;
  font-size: 60%;
  line-height: 1em;
  margin: 0 0 5px;
  letter-spacing: 0.05em;
}
.op_schedule .scheduleCellList .scheduleSale .week {
  padding: 0 0 0 5px;
  font-size: 50%;
}
.op_schedule .scheduleCellList .scheduleSale .cap {
  display: none;
}
.op_schedule .scheduleCellList .scheduleInfo {
    width: 34%;
    justify-content: left;
    font-size: 0.7em;
}
.op_schedule .scheduleCellList .scheduleInfo a {
  font-size: 90%;
  font-weight: 600;
  display: block;
}
.op_schedule .scheduleCellList .scheduleInfo .tel {
  font-size: 83%;
  font-weight: 600;
  display: block;
  line-height: 1.5em;
}
.op_schedule .scheduleCellList .scheduleInfo .tel .fa {
  padding: 0 5px 0 0;
}
.op_schedule .scheduleCellList .scheduleInfo .fa-info-circle {
  display: none;
}

.ticketStatusPage .op_schedule .scheduleCellList .scheduleVenue {
  width: 33%;
}
.pages.ticketStatusPage .pageTit h2 {
  font-size: 320%;
  line-height: 1.3em;
}
.pages.ticketStatusPage .mainLead {
  text-align: center;
  padding: 40px 40px 0;
  font-weight: 500;
}
.op_schedule .scheduleCellList .ticketStatus {
  width: 25%;
}
.op_schedule .scheduleCellList .ticketStatus {
}
.op_schedule .scheduleCellList .ticketStatus .txt {
}
.op_schedule .scheduleCellList .ticketStatus .txt.soldout {
  background: #d40000;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
}
.op_schedule .scheduleCellList .ticketStatus .txt.onsale {
  background: #ffbb55;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
}
.op_schedule .scheduleCellList .ticketStatus .txt.few {
  background: #7aa8ff;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
}
.op_schedule .scheduleCellList .ticketStatus .txt.little {
  background: #2dc820;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
}
.op_schedule .scheduleCellList.cellHead {
  font-size: 80%;
}
.op_schedule .scheduleCellList.cellHead li {
    font-size: 0.7rem;
    font-weight: 500;
}
.op_schedule .scheduleCellList.cellHead li:after {
  content: none;
}

/* OP:SCHEDULE:PC-770-960 */
@media screen and (min-width: 770px) and (max-width: 960px) {
  .op_schedule .scheduleCellList.cellHead li {
    font-size: 80%;
    letter-spacing: 0;
  }
  .op_schedule .scheduleCellList .scheduleDate {
    font-size: 110%;
  }
  .op_schedule .scheduleCellList li {
    font-size: 70%;
    font-weight: 600;
  }
  .op_schedule .scheduleCellList .scheduleDate span {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 60%;
    background: #000;
    line-height: 1em;
    color: #fff;
    padding: 5px 3px 3px;
  }
  .op_schedule .scheduleCellList .scheduleDate .txt {
    line-height: 1em;
    position: relative;
    padding: 0 0 0 1rem;
    font-family: "Poppins", "Zen Kaku Gothic New", sans-serif;
  }

  .op_schedule .scheduleCellList .scheduleDate .txt.areaTxt {
    width: 70px;
  }
  .op_schedule .scheduleCellList .scheduleTime {
    text-align: center;
  }
  .op_schedule .scheduleCellList .scheduleTime .slash {
    display: block;
    text-indent: -9999px;
    width: 1px;
    height: 7px;
    background: #000;
    margin: 0 auto;
  }
}

/* OP:SCHEDULE:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_schedule {
    border-top: 1px solid;
    padding: 10px 0 0;
  }
  .op_schedule .scheduleCellList.cellHead {
    display: none;
  }
  .op_schedule .scheduleCellList {
    flex-wrap: wrap;
  }
  .op_schedule .scheduleCellList li {
    padding: 0;
    display: block;
    margin: 0 0 10px;
  }
  .op_schedule .scheduleCellList li:after {
    content: none;
  }
.op_schedule .scheduleCellList .scheduleDate {
    width: 100%;
    display: inline-block;
    font-size: 200%;
    margin: 0 0 0.1rem;
}
.op_schedule .scheduleCellList .scheduleDate .scheduleInner {
    align-items: center;
}
.op_schedule .scheduleCellList .scheduleDate .txt:first-child {
    width: 6.5rem;
    text-align: center;
    padding-left: 1.2rem;
    display: flex;
    align-items: center;
}
.op_schedule .scheduleCellList .scheduleDate .week {
    padding: 0.1em 0.4em;
    margin-left: 0.5em;
}

.op_schedule .scheduleCellList .scheduleDate .txt.areaTxt {
    width: auto;
    font-size: 0.55em;
    line-height: 0.8em;
}

.op_schedule .scheduleCellList .scheduleDate .year {
    font-size: 0.5em;
    left: -0.2em;
    bottom: 0.5em;
}
.op_schedule .scheduleCellList .scheduleVenue {
    width: 100%;
    font-size: 1.1rem;
    font-weight: bold;
    border-bottom: 1px dotted #55555545;
    padding: 0 0 10px;
}
  .op_schedule .scheduleCellList .scheduleArea {
    width: auto;
    display: inline-block;
    font-size: 120%;
    font-weight: 600;
    padding: 0 0 0 5px;
    margin: 0;
  }
.op_schedule .scheduleCellList .scheduleTime {
    width: 100%;
    font-size: 1.2rem;
    border-bottom: 1px dotted #55555545;
    padding: 0 0 0.5rem;
}
.op_schedule .scheduleCellList .scheduleTime .txt {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.op_schedule .scheduleCellList .scheduleTime .cap {
    color: #888;
    display: block;
    font-size: 0.8rem;
    line-height: 1em;
}

  .op_schedule .scheduleCellList .scheduleTime .slash {
    display: inline;
  }
  .op_schedule .scheduleCellList .scheduleSale {
    width: 100%;
    font-size: 100%;
    font-weight: 500;
    border-bottom: 1px dashed #ddd;
    padding: 0 0 10px;
  }
  .op_schedule .scheduleCellList .scheduleSale .txt {
    line-height: 1.5em;
  }
  .op_schedule .scheduleCellList .scheduleSale .year {
    display: inline;
    padding: 0;
    font-size: 100%;
  }
  .op_schedule .scheduleCellList .scheduleSale .year:after {
    content: ".";
  }
  .op_schedule .scheduleCellList .scheduleSale .cap {
    color: #888;
    display: block;
    font-size: 70%;
    line-height: 1em;
    margin: 0 0 3px;
  }
  .op_schedule .scheduleCellList .scheduleInfo {
    width: 100%;
    font-size: 85%;
    margin: 0;
  }
  .op_schedule .scheduleCellList .scheduleInfo .fa-info-circle {
    display: inline-block;
  }

  .pages.ticketStatusPage .pageTit h2 {
    font-size: 200%;
    line-height: 1.3em;
  }
  .pages.ticketStatusPage .mainLead {
    text-align: left;
    padding: 20px 20px 0;
    font-weight: 500;
  }
}

/*===================================================
  OP:DETAIL
====================================================*/
.op_detail {
}
.op_detail .detailList {
    display: flex;
    border-bottom: 1px solid #0000003b;
    padding: 1.5rem 0;
    font-size: 0.8rem;
    line-height: 1.6em;
}
.op_detail .detailList:first-child {
    border-top: 1px solid #0000003b;
}

section.aboutBox .op_detail .detailList {
    border-bottom: 1px solid #ffffff3b;
}
section.aboutBox .op_detail .detailList:first-child {
    border-top: 1px solid #ffffff3b;
}


.op_detail .detailList:last-child {
  margin: 0;
}
.op_detail .detailList dt {
  width: 22%;
  padding: 0 1rem 0 0;
  font-weight: bold;
}
.op_detail .detailList dt:before {
}
.op_detail .detailList dd {
  width: 78%;
  position: relative;
  padding: 0 0 0 40px;
  display: flex;
  align-items: center;
}

.op_detail .detailList dd > * {
  margin-bottom: 20px;
}
.op_detail .detailList dd > *:last-child {
  margin-bottom: 0;
}
.op_detail .detailList dd .detailInner {
  width: 100%;
}
.op_detail .detailList dd .detailInner > * {
  margin-bottom: 10px;
}
.op_detail .detailList dd .detailInner > *:last-child {
  margin-bottom: 0;
}

/* OP:DETAIL:PC-770-960 */
@media screen and (min-width: 770px) and (max-width: 960px) {
  .op_detail .detailList dt {
    width: 30%;
  }

  .op_detail .detailList dd {
    width: 70%;
  }
}

/* OP:DETAIL:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_detail .detailList {
      padding: 1.2rem 0;
      font-size: 0.8em;
  }
  .op_detail .detailList dt {
      width: 30%;
      padding: 0 0.75em 0 0;
      font-size: 0.95em;
  }
  .op_detail .detailList dt .txt {
    font-size: 95%;
  }
  .op_detail .detailList dd {
    width: 70%;
    position: relative;
    padding: 0;
  }
  .op_detail .detailList dd:before {
    content: none;
  }

  .generalBox .op_detail .detailList {
    font-size: 0.95em;
  }
}

/*===================================================
  OP:ACCORD
====================================================*/
.op_accord .accordionList {
}
.op_accord .accordionList .accordionTit {
  position: relative;
  cursor: pointer;
  transition: 0.5s ease;
  background: #ffffff;
  font-weight: bold;
  letter-spacing: 0.01em;
  display: block;
  text-align: center;
  padding: 0.5em;
  border: 2px solid #37261d;
  border-radius: 10em;
  box-shadow: 0 2px 0 #37261d;
  width: 50%;
  padding: 0.8em;
}
.op_accord .accordionList .accordionTit span {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5rem;
  height: 0.5rem;
  transform: rotate(180deg) translateY(50%);
  transition: 0.3s ease;
}
.op_accord .accordionList .accordionTit.open span {
  transform: translateY(-50%);
  right: 1.5rem;
}
.op_accord .accordionList .accordionTit span:before {
  content: "";
  position: absolute;
  top: 25%;
  width: 100%;
  height: 100%;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(-45deg);
}
.op_accord .accordionList .accordionDetail {
  display: none;
  background: #ffffff;
  padding: 2rem;
  margin: 1.5rem auto 0;
  border: 1px solid;
  border-radius: 0.8rem;
}

/* OP:ACCORD:PC-min-770 */
@media screen and (min-width: 770px) {
  .accordionList .accordionTit:hover {
    background: #ccc;
    opacity: 1;
  }
}

/* OP:ACCORD:SP-max-769 */
@media screen and (max-width: 769px) {
  .accordionList .accordionDetail {
    padding: 20px;
  }
}
/*===================================================
  OP:GOODS
====================================================*/
.op_goods {
}

.op_goods .VenueLtd {
  text-align: center;
  font-size: 260%;
  font-weight: 600;
  margin: 100px 0 60px;
  border-bottom: 1px solid;
  padding: 0 0 60px;
}

.op_goods .goodsList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.op_goods .goodsList:after {
  content: "";
  width: calc(33% - 20px);
}
.op_goods .goodsList li {
  width: calc(33% - 20px);
  margin: 0 0 1.2rem;
}

.op_goods .goodsList .goodsImage {
  line-height: 0;
  margin: 0 0 10px;
  overflow: hidden;
  border: 1px solid;
  border-radius: 0.75rem;
}
.op_goods .goodsList .goodsImage img {
  transition: 0.5s ease;
}
.op_goods .goodsList .goodsName {
  font-size: 0.75rem;
  line-height: 1.6;
}
.op_goods .goodsList .goodsPrice {
  font-size: 0.75rem;
}
.op_goods .goodsPop {
  display: none;
  width: 100%;
  height: 100%;
  color: #fff;
  box-sizing: border-box;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.op_goods .goodsPop.popActive {
  display: block;
}
.op_goods .goodsPop .popupShade {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 0;
}
.op_goods .goodsPop .popTit {
  text-align: center;
  font-size: 30px;
  line-height: 1em;
  margin: 0 0 60px;
  color: #000;
  letter-spacing: 0.1em;
}
.op_goods .goodsPop .close {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 50px;
  top: 30px;
  cursor: pointer;
  transition: 0.3s ease;
  transform: rotate(45deg);
  background: #000;
  border-radius: 100px;
}
.op_goods .goodsPop .close::before,
.op_goods .goodsPop .close::after {
  content: "";
  display: inline-block;
  width: 60%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
}
.op_goods .goodsPop .close::before {
  transform: translate(-50%, -50%);
}
.op_goods .goodsPop .close::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.op_goods .goodsPop .popInBox {
  width: 90%;
  max-width: 1200px;
  margin: 100px auto;
  background: #f7f7f7;
  padding: 40px;
  color: #000;
  border-radius: 20px;
}
.op_goods .goodsPop .name {
  font-size: 160%;
  margin: 0 0 10px;
  text-align: center;
  font-weight: bold;
}
.op_goods .goodsPop .price {
  font-size: 100%;
  font-weight: 500;
  margin: 0 0 40px;
  text-align: center;
}
.op_goods .goodsPop .popInBox .columnBox {
  margin: 0;
  box-sizing: border-box;
  display: flex;
}
.op_goods .goodsPop .thumb {
  width: 45%;
}
.op_goods .goodsPop .column {
  width: 55%;
  padding: 0 0 0 40px;
}
.op_goods .goodsPop .detailList {
  font-size: 0.8rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
.op_goods .goodsPop .detailList dd {
  width: 75%;
}
.op_goods .goodsPop .detailList dt {
  width: 30%;
}

.op_goods .goodsDetailArea {
  margin-bottom: 1.5rem;
}
.op_goods .goodsDetailArea:last-child {
  margin: 0;
}

.op_goods .goodsPop .goodsImage {
  line-height: 0;
  margin: 0 0 20px;
}
.op_goods .goodsPop .sizeChart {
  display: flex;
  position: relative;
}
.op_goods .goodsPop .sizeChart li {
  width: 20%;
  text-align: center;
  font-size: 14px;
  position: relative;
}

.op_goods .detailList {
  display: flex;
  border-bottom: 1px solid;
  padding: 0 0 15px;
  margin: 0 0 15px;
  align-items: stretch;
}
.op_goods .detailList:first-child {
  border-top: 1px solid;
  padding: 15px 0 15px;
}
.op_goods .detailList:last-child {
  margin: 0;
}
.op_goods .detailList dt {
  width: 20%;
  padding: 0 40px 0 0;
  display: flex;
  align-items: center;
  font-weight: 500;
  line-height: 1.6em;
}
.op_goods .detailList dt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1px;
  background: #000;
}
.op_goods .detailList dd {
  width: 80%;
  position: relative;
  padding: 0 0 0 40px;
  display: flex;
  align-items: center;
}
.op_goods .detailList dd:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1px;
  border-left: 1px solid;
}
.op_goods .detailList dd > * {
  margin-bottom: 20px;
}
.op_goods .detailList dd > *:last-child {
  margin-bottom: 0;
}
.op_goods .detailList dd .detailInner {
  width: 100%;
}
.op_goods .detailList dd .detailInner > * {
  margin-bottom: 10px;
}
.op_goods .detailList dd .detailInner > *:last-child {
  margin-bottom: 0;
}
.op_goods .anounce {
  padding: 20px;
  border: 2px solid #dd0000;
}
.op_goods .anounce > * {
  margin-bottom: 10px;
}
.op_goods .anounce > *:last-child {
  margin-bottom: 0;
}
.op_goods .anounce .txt {
  font-size: 100%;
  font-weight: 600;
  color: #dd0000;
}
.op_goods .anounce .thumb {
  width: 100%;
}

/* OP:GOODS:PC-min-770 */
@media screen and (min-width: 770px) {
  .op_goods .goodsList li a:hover {
    color: #3c36b1;
    opacity: 1;
  }
}

/* OP:GOODS:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_goods .VenueLtd {
    text-align: center;
    font-size: 200%;
    font-weight: 600;
    margin: 60px 0 40px;
    border-bottom: 1px solid;
    padding: 0 0 40px;
  }

  .op_goods .goodsList li {
    width: calc(50% - 10px);
    margin: 0 0 20px;
  }
  .op_goods .goodsList .goodsName {
    line-height: 1.3em;
    font-size: 90%;
  }
  .op_goods .goodsList .goodsPrice {
    font-size: 80%;
  }
  .op_goods .goodsPop .close {
    width: 30px;
    height: 30px;
    right: 10px;
    top: 10px;
  }
  .op_goods .goodsPop .popInBox {
    padding: 20px;
    margin: 60px auto;
  }
  .op_goods .goodsPop .name {
    font-size: 120%;
  }
  .op_goods .goodsPop .price {
    margin: 0 0 20px;
  }
  .op_goods .goodsPop .comment {
    margin: 0 0 20px;
  }
  .op_goods .goodsPop .popInBox .columnBox {
    display: block;
  }
  .op_goods .goodsPop .thumb {
    width: 100%;
  }
  .op_goods .goodsPop .column {
    width: 100%;
    padding: 0;
  }
  .op_goods .goodsPop .detailList dt {
    width: 100%;
    font-size: 0.95em;
  }
  .op_goods .goodsPop .detailList dd {
    width: 100%;
  }
  .op_goods .detailList {
    display: block;
  }
  .op_goods .detailList dt {
    width: 100%;
    padding: 0 0 0 10px;
    margin: 0 0 10px;
    font-size: 80%;
    border-left: 5px solid;
  }
  .op_goods .detailList dd {
    width: 100%;
    position: relative;
    padding: 0;
  }
  .op_goods .detailList dd:before {
    content: none;
  }
}

/*===================================================
  OP:contPop
====================================================*/
.op_contPop {
}

.op_contPop .contPop {
  display: none;
  width: 100%;
  height: 100%;
  color: #fff;
  box-sizing: border-box;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.op_contPop .contPop.popActive {
  display: block;
}
.op_contPop .contPop .popupShade {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 0;
}
.op_contPop .contPop .popTit {
  text-align: center;
  font-size: 30px;
  line-height: 1em;
  margin: 0 0 60px;
  color: #000;
  letter-spacing: 0.1em;
}
.op_contPop .contPop .close {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 50px;
  top: 30px;
  cursor: pointer;
  transition: 0.3s ease;
  transform: rotate(45deg);
  background: #000;
  border-radius: 100px;
}
.op_contPop .contPop .close::before,
.op_contPop .contPop .close::after {
  content: "";
  display: inline-block;
  width: 60%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
}
.op_contPop .contPop .close::before {
  transform: translate(-50%, -50%);
}
.op_contPop .contPop .close::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.op_contPop .contPop .popInBox {
  width: 90%;
  max-width: 1200px;
  margin: 100px auto;
  background: #f7f7f7;
  padding: 40px;
  color: #000;
  border-radius: 20px;
}

/* OP:contPop:PC-min-770 */
@media screen and (min-width: 770px) {
}

/* OP:contPop:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_contPop .contPop .close {
    width: 30px;
    height: 30px;
    right: 10px;
    top: 10px;
  }
  .op_contPop .contPop .popInBox {
    padding: 20px;
    margin: 60px auto;
  }
}

/*===================================================
  OP:TICKET
====================================================*/
.op_ticket {
}
.op_ticket .ticketList {
  margin-bottom: 1.2rem;
  background: #fff;
  border: 1px solid;
  border-radius: 0.8rem;
  overflow: hidden;
}
.op_ticket .ticketList:last-child {
  margin-bottom: 0;
}
.op_ticket .tikcetTit {
    position: relative;
    cursor: pointer;
    transition: 0.5s ease;
    background: #3d494e;
    padding: 1rem 1.4rem;
    color: #fff;
}
.op_ticket .tikcetTit .txt {
  display: flex;
  position: relative;
  font-size: 1.1em;
  margin: 0 0 0.1em;
  font-weight: bold;
  align-items: center;
}
.op_ticket .tikcetTit .txt .ticketName {
}
.op_ticket .tikcetTit .txt .end {
  font-size: 65%;
  background: #ff8888;
  color: #fff;
  line-height: 1em;
  padding: 5px 10px 3px;
  border-radius: 100px;
  margin: 0 0 0 10px;
}
.op_ticket .tikcetTit .txt .blueTicket {
  font-size: 65%;
  background: #3aa9f0;
  color: #fff;
  line-height: 1em;
  padding: 5px 10px 3px;
  border-radius: 100px;
  margin: 0 0 0 10px;
}
.op_ticket .tikcetTit .txt .yellowTicket {
  font-size: 65%;
  background: #ffbe31;
  color: #fff;
  line-height: 1em;
  padding: 5px 10px 3px;
  border-radius: 100px;
  margin: 0 0 0 10px;
}
.op_ticket .tikcetTit .date {
  font-size: 0.85em;
  letter-spacing: 0.02em;
}
.op_ticket .tikcetTit .date:before {
  content: "";
}
.op_ticket .tikcetTit .date span {
  padding: 0 20px 0 0;
  border-right: 1px dashed;
  margin: 0 20px 0 0;
}
.op_ticket .tikcetTit .arrow {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0.6rem;
  height: 0.6rem;
  transform: rotate(180deg) translateY(50%);
  transition: 0.3s ease;
}
.op_ticket .tikcetTit.open .arrow {
  transform: translateY(-50%);
}
.op_ticket .tikcetTit .arrow:before {
  content: "";
  position: absolute;
  top: 25%;
  width: 100%;
  height: 100%;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(-45deg);
}
.op_ticket .tikcetDetail {
  display: none;
  padding: 1.5rem;
}
.op_ticket .detailList {
  display: flex;
  border-bottom: 1px solid;
  padding: 1rem 0;
  align-items: stretch;
  font-size: 0.8rem;
  line-height: 1.6;
}
.op_ticket .detailList:first-child {
  border-top: 1px solid;
}
.op_ticket .detailList:last-child {
  margin: 0;
}
.op_ticket .detailList dt {
  width: 20%;
  padding: 0 1rem 0 0;
  display: flex;
  align-items: center;
  font-weight: 500;
  line-height: 1.6em;
}
.op_ticket .detailList dt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1px;
  background: #000;
  display: none;
}
.op_ticket .detailList dd {
  width: 80%;
  position: relative;
  padding: 0 0 0 1.5rem;
  display: flex;
  align-items: center;
}
.op_ticket .detailList dd:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 1px;
  /* background: #000; */
  border-right: 1px solid;
}
.op_ticket .detailList dd > * {
  margin-bottom: 20px;
}
.op_ticket .detailList dd > *:last-child {
  margin-bottom: 0;
}
.op_ticket .detailList dd .detailInner {
  width: 100%;
}
.op_ticket .detailList dd .detailInner > * {
  margin-bottom: 10px;
}
.op_ticket .detailList dd .detailInner > *:last-child {
  margin-bottom: 0;
}
.op_ticket .detailList dd .detailInner .txt .tcMem {
  color: #fb7119;
}
.op_ticket .detailList dd .detailInner .txt .tMem {
  color: #0088b1;
}
.op_ticket .detailList dd .detailInner .txt .cMem {
  color: #3aa9f0;
}

/* OP:TICKET:PC-min-770 */
@media screen and (min-width: 770px) {
  .op_ticket .tikcetTit:hover {
    background: #3c36b1;
  }
}

/* OP:TICKET:SP-max-769 */
@media screen and (max-width: 769px) {
  .op_ticket .tikcetTit {
    padding: 0.9rem;
  }

  .op_ticket .tikcetDetail {
    padding: 0.9rem;
  }
  .op_ticket .detailList {
    display: block;
    padding: 0.8rem 0;
    font-size: 0.82em;
  }
  .op_ticket .detailList dt {
    width: 100%;
    padding: 0 0 0 0.5em;
    margin: 0 0 0.5em;
    border-left: 4px solid;
  }
  .op_ticket .detailList dd {
    width: 100%;
    position: relative;
    padding: 0;
  }
  .op_ticket .detailList dd:before {
    content: none;
  }
}
/*===================================================
  topPage
====================================================*/
.topPage {
}
.topPage .headerLogo {
  display: none;
}
/*===================================================
  VISUAL
====================================================*/
.heroView {
    min-height: 40vw;
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 100svh;
    background: #f4f7f8;
}

.heroInner {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.heroView .action {
    transition: 0.3s ease;
    width: 100%;
    position: absolute;
    z-index: 2;
    z-index: 11;
    top: 8.5rem;
    left: 0;
}


.heroView .tourTit {
    width: 100%;
    height: 50%;
    margin: 0 auto;
    filter: drop-shadow(0px 0px 1rem #00000060);
    background: url(/static/kobukuro/official/feature/tour2026/images/ph_logo_nM9h3tsc.png);
    position: absolute;
    top: 3rem;
    left: 0;
    background-size: 74rem;
    background-repeat: repeat-x;
    background-position: 0 0;
    animation: bgscroll 20s linear infinite;
    z-index: 2;
}


@keyframes bgscroll {
 0%   {background-position: 0 0;}
 100% {background-position: -74rem 0;}
}

.visual_wrap {
    position: absolute;
    top: 6rem;
    left: 50%;
    width: 70%;
    height: calc(100% - 8rem);
    overflow: hidden;
    z-index: 10;
    background: #37261d;
    transform: translateX(-50%);
    border-radius: 2.5rem;
}

.visual_wrap .kv {
    height: 100%;
    transform: scale(1.5);
    transition: 1.8s ease;
    z-index: 1;
    position: relative;
}

.loadend .visual_wrap .kv {
    transform: scale(1);
}

.visual_wrap .kv img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}


.titlabel {
  position: absolute;
  left: 5%;
  width: 15%;
  line-height: 0;
}

.mv_slider.slick-slider img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  object-position: 50% 100%;
}

.mv_slider.slick-slider {
  height: 100%;
  margin: 0;
}
.mv_slider.slick-slider div {
  height: 100%;
}
.mv_slider.slick-slider div li {
  height: 100%;
}

.mv_slider .slick-dots {
  z-index: 10;
  bottom: auto;
  top: 1%;
  text-align: right;
  padding-right: 1%;
}
.mv_slider .slick-dots li button:before {
  opacity: 0.8;
  font-size: 10px;
  color: #fff;
}
.mv_slider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #3c36b1;
}
.mv_slider .slick-dots li {
  margin: 0;
}

.instaIcon {
  position: relative;
}
.instaIcon img {
  display: block;
  width: 25px;
  cursor: pointer;
}
.instaIcon .account {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: -5px;
  width: max-content;
  height: max-content;
}
.instaIcon .account a {
  display: block;
  width: 100px;
  font-size: 12px;
  background: #fff;
  margin: 0 0 5px;
  text-align: center;
  padding: 3px 10px 2px;
  border-radius: 100px;
  font-weight: 600;
}
.loaded .heroView .action {
  opacity: 1;
}

.topBody {
    background: #fff;
    position: relative;
    z-index: 1;
    border-radius: 5rem 5rem 0 0;
    box-shadow: 0 -1.2rem 2rem -0.85rem #00000087;
    margin-top: -100vh;
}


/* VISUAL:PC-1200-769 */
@media (min-width: 770px) and (max-width: 1200px) {
}

/* SP-max-769 */
@media screen and (max-width: 769px) {
  .frame {
    width: 88%;
    left: 6%;
  }

  .load_tit {
    font-size: 2rem;
  }



.heroView .tourTit {
    background-size: 52rem;
}

@keyframes bgscroll {
 0%   {background-position: 0 0;}
 100% {background-position: -52rem 0;}
}


.visual_wrap {
    width: calc(100% - 3rem);
    height: calc(100% - 6rem);
    top: 4rem;
    border-radius: 1.8rem;
}

.visual_wrap .kv img {
    object-position: 46% 50%;
}

  .mv_slider .slick-dots {
    text-align: left;
    padding-left: 1%;
  }

  .instaIcon img {
    width: 20px;
  }
  .instaIcon .account {
    top: auto;
    bottom: calc(100% + 10px);
  }


.topBody {
    border-radius: 2rem 2rem 0 0;
}

}

/*===================================================
  SCROLLDOWN
====================================================*/

.scrollTxt {
    position: absolute;
    left: 4.2rem;
    bottom: 3rem;
    writing-mode: vertical-rl;
    font-size: 1rem;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.01em;
    z-index: 10;
    color: #fff;
    mix-blend-mode: difference;
}

.scrollarrow {
    width: 2px;
    height: 20%;
    position: absolute;
    left: 4.2rem;
    bottom: 3rem;
    z-index: 10;
    background: #ffffff;
    animation: scrollarrow 3s cubic-bezier(0.19, 1, 0.22, 1) 0.5s infinite;
    mix-blend-mode: difference;
}

@keyframes scrollarrow {
  0% {
    clip-path: inset(0 0 100% 0);
  }
  25% {
    clip-path: inset(0 0 0 0);
  }
  75% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(100% 0 0 0);
  }
}

/* SP-max-769 */
@media screen and (max-width: 769px) {
.scrollarrow {
    bottom: 3rem;
    left: 10%;
    width: 2px;
    height: 12%;
}
.scrollTxt {
    bottom: 3rem;
    left: 10%;
}

}


.bnrBox .inBox {
    padding-bottom: 0;
}

.bnrList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5%;
    width: 90%;
    margin: 0 auto;
}

.bnrList > li {
  width: 45%;
}

.bnrList > li a {
  display: block;
}

.infomationBox .inBox {
    padding-bottom: 0;
}


@media screen and (max-width: 769px) {

  .bnrList {
      width: 85%;
  }

  .bnrList > li {
    width: 100%;
  }
}

/*===================================================
    newsBox
====================================================*/

.topPage .newsBox .inBox {
    flex-flow: row-reverse;
}

.topPage .newsBox .inBox .titBox {
    text-align: right;
    min-height: 10rem;
}

.newsBox .inBox .viewAll {
    position: absolute;
    bottom: 0;
    right: 0;
}


.viewAll {
}
.viewAll a {
    font-size: 1.2rem;
    position: relative;
    background: #3c36b1;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
    display: block;
    width: 10.4rem;
    text-align: center;
    color: #fff;
    padding: 0.5em;
    border-radius: 10em;
    box-shadow: 0 0.5rem 0.5rem -0.4rem #37261d6b;
    margin-top: 1rem;
}
.viewAll a:hover {
  opacity: 1;
  background: #fff;
  color: #3c36b1;
}

.newsBox .newsInner {
}
.newsList {
}
.newsList li {
}
.newsList li:last-child {
    margin: 0;
    border-bottom: 1px solid #0000003b;
}
.newsList li a {
    display: block;
    border-top: 1px solid #0000003b;
    padding: 1.5rem 3.5em 1.5rem 1em;
    font-weight: 600;
    position: relative;
}
.newsList li a::before {
    content: '>';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3c36b1;
    background: #3c36b1;
    color: #fff;
}

.newsList li a:hover {
  color: #3c36b1;
  opacity: 1;
}

.newsList li a .date {
    letter-spacing: 0;
    position: relative;
    color: #3c36b1;
    font-family: komu-a, sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.newsList li a .tit {
    font-size: 0.9em;
    line-height: 1.5;
}
.topNews li {
  position: relative;
}

.news_detail {
    background: #fff;
    border-top: 1px solid #0000003b;
    border-bottom: 1px solid #0000003b;
    padding: 2.5rem 1.5rem;
    margin-bottom: 1.5rem;
}
.news_detail .date {
  color: #3c36b1;
  font-family: komu-a, sans-serif;
  letter-spacing: 0.01em;
  margin-bottom: 0.1rem;
}
.news_detail .tit {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px dotted #00000061;
    padding-bottom: 1rem;
}
.news_detail .txt {
    font-size: 0.8rem;
    line-height: 1.7;
}
.news_detail .txt a {
  word-break: break-all;
}

/* newsBox:PC-1200-769 */
@media (min-width: 770px) and (max-width: 1200px) {
  .newsBox .titBox {
    margin: 0;
    padding: 0;
    border-right: none;
  }
  .newsList li a {
    display: block;
    margin: 0 0 10px;
  }

  .newsList li a .date {
    display: inline-block;
  }
}

/* newsBoxSP-max-769 */
@media screen and (max-width: 769px) {

.topPage .newsBox .inBox .titBox {
    min-height: auto;
}

.newsBox .inBox {
    flex-flow: column;
}

.newsList {
    margin: 0 0 2rem;
}

  .newsList li a {
      display: block;
      padding: 1rem 2rem 1rem 0rem;
  }

  .newsList li a::before {
      right: 0;
  }

  .newsList li a .date {
    font-size: 0.9em;
    line-height: 1.6;
  }
  .newsList li a .tit {
    font-size: 0.85em;
  }

.topPage .newsBox .inBox {
    flex-flow: column;
}
.newsBox .inBox .viewAll {
    position: relative;
}
.viewAll a {
    font-size: 0.9rem;
    width: 8rem;
    padding: 0.35em;
    margin: 0 0 0 auto;
}


  .newsBox_detail .date {
    font-size: 13px;
    margin-bottom: 0;
  }

  .newsBox_detail .tit {
    font-size: 100%;
  }

  .newsBox_detail .txt {
    font-size: 80%;
  }

  .newsBox_detail .detail__btn a {
    font-size: 90%;
  }

.news_detail {
    padding: 1.5rem 0.5rem;
}

.news_detail .tit {
    font-size: 1.1rem;
    padding-bottom: 0.6rem;
    margin-bottom: 1rem;
}

.news_detail .date {
    line-height: 1.2;
}

}

/*===================================================
   about
====================================================*/

section.aboutBox {
    background: #29324d;
    color: #fff;
}

section.aboutBox .titBox h3 {
  color: #fff;
}

.bg_clip {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    clip-path: inset(0 0 0 0);
    z-index: 0;
    left: 0;
    top: 0;
    opacity: 0.5;
}

.aboutImg {
    filter: blur(1vw);
    position: absolute;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    pointer-events: none;
    line-height: 0;
}

.aboutImg img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    object-position: 43% 50%;
}


.bg_clip .mv_slider.slick-slider {
  margin: 0;
  position: fixed;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  pointer-events: none;
  line-height: 0;
  margin-bottom: 0;
}


/* newsBoxSP-max-769 */
@media screen and (max-width: 769px) {

.aboutImg {
    filter: blur(3vw);
}

}


/*===================================================
   footer
====================================================*/

footer {
  position: relative;
}
footer .inBox {
  max-width: 100%;
  margin: 0 auto;
  padding: 4rem 0 2rem;
  box-sizing: border-box;
  position: relative;
  text-align: center;
}

.notice_btn a {
    font-size: 1rem;
    position: relative;
    background: #3c36b1;
    font-weight: bold;
    letter-spacing: 0.01em;
    display: block;
    width: 16.5rem;
    text-align: center;
    padding: 0.85em;
    border-radius: 10em;
    margin: 0 auto 3.5rem;
    box-shadow: 0 0.5rem 0.5rem -0.4rem #37261d6b;
    color: #fff;
}
.notice_btn a:hover {
  opacity: 1;
  background: #3c36b1;
  color: #fff;
}

.notice_btn.notice_ticket a {
  width: 50%;
  padding: 0.8em;
  margin: 0 0 2rem;
}

footer h4 {
  width: 20%;
  line-height: 0;
  margin: 0 auto 1rem;
}
footer .footerNav {
  margin: 0 0 3.5rem;
  display: flex;
  justify-content: center;
  gap: 1em;
  font-size: 0.75em;
}
footer .footerNav li:last-child {
  margin: 0;
}

footer .credit span {
  font-size: 0.7rem;
  margin: 0 0.5em;
}

/* footer:SP-max-769 */
@media screen and (max-width: 769px) {
  footer .inBox {
    padding: 2.5rem 6% 1rem;
  }

  .notice_btn a {
      margin-bottom: 2.5rem;
      border-width: 1px;
      width: 15rem;
      max-width: 100%;
      font-size: 0.9rem;
  }

  .notice_btn.notice_ticket a {
    width: 100%;
    font-size: 0.9em;
    margin-bottom: 1.5rem;
  }

  footer h4 {
    width: 50%;
  }
  footer .footerNav {
    display: block;
    margin: 0 auto 2rem;
    max-width: 100%;
    font-size: 0.7em;
  }
  footer .footerNav li {
    margin: 0 0 0.8rem;
    line-height: 1em;
  }

  footer .credit span {
    font-size: 60%;
  }
}

/*===================================================
  pages:共通
====================================================*/

.pages {
}
.pages h1 {
  position: fixed;
  display: flex;
  align-items: center;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  box-sizing: border-box;
  z-index: 10;
  -webkit-backdrop-filter: blur(0.5em);
  backdrop-filter: blur(0.5em);
}
.pages h1:after {
  content: "";
  position: absolute;
  left: 20px;
  bottom: 0;
  display: block;
  width: calc(100% - 100px);
  height: 2px;
  background: #fff;
}
.pages h1 a {
  display: block;
  width: 300px;
  padding: 12px 20px 12px;
  line-height: 0;
}
.pages h1 a img {
}

.pages .pageTit {
  text-align: center;
  padding: 0 40px;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 80px;
}
.pages .pageTit h2 {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 400%;
  line-height: 1em;
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  color: #fff;
}
.pages .pageTit .pageSubTit {
  max-width: 1200px;
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: #fff;
}
.pages section {
}

/*  pages:SP-max-769 */
@media screen and (max-width: 769px) {
  .pages h1 {
    height: 45px;
  }
  .pages h1 a {
    display: block;
    width: 240px;
    padding: 8px 20px 10px;
  }
  .pages .pageTit {
    padding: 0 20px;
    margin-bottom: 40px;
  }
  .pages .pageTit h2 {
    font-size: 300%;
  }
}

/*===================================================
  pages:schedulePage
====================================================*/

.schedulePage {
}

.schedulePage .liveDetailBox {
}
.schedulePage .liveDetailBox h3 {
  font-size: 200%;
  margin: 0 0 40px;
  border-left: 10px solid;
  padding: 0 0 0 10px;
}
.schedulePage .op_detail {
}
.schedulePage .movBox {
  margin: 0 auto;
}
.schedulePage .movBox .mov {
  margin: 0 0 3.5rem;
}
.schedulePage .movBox .btnBase a {
  margin: 0 auto 80px;
  background: #ba670f;
  color: #fff;
  width: 320px;
  font-weight: 600;
  padding: 20px 20px 18px;
  border-radius: 10px;
}
.ticketStatusPage .pageTit {
  margin-bottom: 40px;
}
.ticketStatusPage .ticketStatusDetail {
  color: #fff;
}
.ticketStatusPage .ticketStatusDetail h3 {
  font-size: 240%;
}

.ticketStatusPage .ticketStatusDetail .statusInfoList {
  display: flex;
  align-items: center;
  margin: 0 0 20px;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList:last-child {
  margin: 0;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dt {
  background: #ddd;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  text-align: center;
  width: 20%;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dt.soldout {
  background: #d40000;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dt.onsale {
  background: #ffbb55;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dt.few {
  background: #7aa8ff;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dt.little {
  background: #2dc820;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dd {
  width: 70%;
  padding: 0 0 0 20px;
  font-size: 90%;
}
.ticketStatusPage .ticketStatusDetail .statusInfoList dd {
  width: 70%;
  padding: 0 0 0 20px;
  font-size: 90%;
}
.ticketStatusPage .btnTicket a {
  display: block;
  width: 400px;
  background: #645dff;
  color: #fff;
  text-align: center;
  padding: 20px;
  border-radius: 10px;
  font-weight: 500;
  margin: 0 auto;
}

/* schedulePage:SP-max-769 */
@media screen and (max-width: 769px) {
  .schedulePage .capLead {
    font-size: 15px;
  }
  .pages .scheduleBox .inBox {
    padding: 20px;
    margin-bottom: 3rem;
  }
.schedulePage .op_schedule {
    margin: 0 0 3rem;
}
.schedulePage .op_schedule:last-child {
    margin-bottom: 0;
}

  .schedulePage .liveDetailBox {
    padding: 20px;
  }
  .schedulePage .liveDetailBox h3 {
    font-size: 140%;
    padding: 0 0 0 10px;
    margin: 0 0 20px;
    border-left: 5px solid;
  }
  .schedulePage .movBox {
  }
  .schedulePage .movBox .mov {
    margin: 0 0 2.5rem;
  }
  .schedulePage .movBox .btnBase a {
    margin: 0 auto 40px;
    color: #fff;
    width: 100%;
    font-size: 16px;
  }
  .ticketStatusPage .pageTit {
    margin-bottom: 20px;
  }
  .ticketStatusPage .op_schedule .scheduleCellList .scheduleVenue {
    width: 100%;
  }
  .op_schedule .scheduleCellList .ticketStatus {
    width: 100%;
  }
  .op_schedule .scheduleCellList .ticketStatus .txt.soldout,
  .op_schedule .scheduleCellList .ticketStatus .txt.onsale,
  .op_schedule .scheduleCellList .ticketStatus .txt.few,
  .op_schedule .scheduleCellList .ticketStatus .txt.little {
    display: inline-block;
  }
  .ticketStatusPage .ticketStatusDetail h3 {
    font-size: 140%;
    margin: 0 0 20px;
  }
  .ticketStatusPage .ticketStatusDetail .statusInfoList {
    display: block;
    align-items: center;
    margin: 0 0 20px;
    border-bottom: 1px dashed #ddd;
    padding: 0 0 20px;
  }
  .ticketStatusPage .ticketStatusDetail .statusInfoList:last-child {
    margin: 0;
    border-bottom: none;
    padding: 0;
  }
  .ticketStatusPage .ticketStatusDetail .statusInfoList dt {
    width: auto;
    display: inline-block;
    margin: 0 0 10px;
    font-size: 80%;
    line-height: 1.2em;
  }
  .ticketStatusPage .ticketStatusDetail .statusInfoList dd {
    width: 100%;
    padding: 0;
    font-size: 90%;
  }
  .ticketStatusPage .btnTicket a {
    display: block;
    width: 100%;
  }
}

/*===================================================
  pages:goodsPage
====================================================*/
.goodsPage {
}
.goodsPage .inBox {
  max-width: 100%;
}

.goodsPage .op_goods {
  margin-bottom: 100px;
}
.goodsPage .tourGoods {
  padding: 0 40px;
}
.goodsPage .tourGoods .inner {
  max-width: 1200px;
  margin: 0 auto 100px;
}
.goodsPage .tourGoods h3 {
  font-size: 220%;
  margin: 0 0 40px;
  text-align: center;
}
.goodsPage .pamphlet {
  margin: 0 0 40px;
  background: #ddd;
  padding: 60px;
}
.goodsPage .pamphletImage {
  margin: 0 auto 0;
  width: 85%;
}
.goodsPage .pamphletTxt {
  width: 85%;
  margin: 0 auto;
  font-size: 90%;
  line-height: 1.3em;
  font-weight: 500;
}
.goodsPage .pamphlet .mov {
  margin: 40px auto 0;
  position: relative;
  padding-top: 56.25%;
  width: 85%;
}
.goodsPage .pamphlet .mov iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.goodsPage .bnrGoods {
  padding: 40px 0;
  display: block;
  width: 700px;
  margin: 0 auto 40px;
}
.goodsPage .bnrGoods a {
}
.goodsPage .bnrGoodsList {
  margin: 0 0 100px;
}
.goodsPage .bnrGoodsList li {
  max-width: 700px;
  margin: 0 auto 40px;
}

.goodsPage .memberGoods {
}
.goodsPage .memberGoods .inner {
  margin: 0 auto;
}
.goodsPage .memberGoods .bnrGoodsList li {
  max-width: 100%;
  margin: 0 auto 40px;
}
.goodsPage .memberGoods h3 {
  font-size: 220%;
  margin: 0 0 40px;
  text-align: center;
}
.goodsPage .memberGoods .coming {
  text-align: center;
  font-size: 140%;
  font-weight: 600;
}
.goodsPage .saleBox {
  margin-bottom: 4rem;
}
.goodsPage .saleBox:last-child {
  margin-bottom: 0;
}

.goodsPage .saleBox h3 {
  font-size: 1.5rem;
  margin: 0 0 1.5rem;
  border-left: 0.2em solid;
  padding: 0 0 0 0.5em;
}

.goodsPage .saleBox .detailList dd {
  padding-left: 1.5rem;
  line-height: 1.6;
}

.goodsPage .saleBox .op_detail .detailList dd:before {
  background: #fff;
}

.goodsPage .outSale {
}
.goodsPage .outSale .lead {
  font-size: 140%;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 1.5em;
}
.goodsPage .outSale .lead:has(+ h3) {
  margin: 0 0 20px;
}
.goodsPage .outSale .lead.yellow {
  color: #ffce3c;
}
.goodsPage .outSale .cautionList {
  margin: 0 0 10px;
}
.goodsPage .outSale .cautionList li {
  font-size: 90%;
}
.goodsPage .outSale .txtSub {
  font-size: 0.8rem;
  margin: 0 0 1.5rem;
  line-height: 1.7;
}
.goodsPage .outSale .op_detail:not(:last-child) {
  margin-bottom: 2rem;
}

.goodsPage .outSale .op_detail.end {
  position: relative;
}
.goodsPage .outSale .op_detail.end:before {
  content: "終了しました";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-15deg);
  font-size: 2rem;
  background: rgb(206 87 0 / 77%);
  color: #fff;
  padding: 25px 40px 23px;
  z-index: 1;
  letter-spacing: 0;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  font-weight: 800;
}
.goodsPage .btnBuy a {
  margin: 0 auto 0;
  background: #3c36b1;
  color: #fff;
}
.goodsPage .btnBuy.btnBlank a {
  background: #ddd;
  color: #aaa;
  pointer-events: none;
}

/* goodsPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .goodsPage .tourGoods {
    padding: 0 20px;
  }
  .goodsPage .tourGoods .inner {
    margin: 0 auto 20px;
  }
  .goodsPage .op_goods {
    margin-bottom: 40px;
  }
  .goodsPage .tourGoods h3 {
    font-size: 140%;
    margin: 0 0 40px;
    padding: 0;
  }
  .goodsPage .memberGoods {
  }
  .goodsPage .memberGoods h3 {
    font-size: 140%;
    margin: 0 0 10px;
    padding: 0;
  }
  .goodsPage .memberGoods .coming {
    margin: 0 0 20px;
  }

  .goodsPage .saleBox h3 {
    font-size: 120%;
    border-left: 5px solid;
  }

  .goodsPage .pamphlet {
    margin: 0 0 20px;
    padding: 20px;
  }
  .goodsPage .pamphletImage {
    width: 100%;
  }
  .goodsPage .pamphletTxt {
    width: 100%;
    font-size: 90%;
    line-height: 1.5em;
  }
  .goodsPage .pamphlet .mov {
    margin: 20px auto 0;
    width: 100%;
  }
  .goodsPage .bnrGoods {
    padding: 0;
    display: block;
    width: 100%;
    margin: 0 auto 20px;
  }
  .goodsPage .bnrGoods a {
  }

  .goodsPage .saleBox .detailList {
    flex-wrap: wrap;
  }

  .goodsPage .saleBox .detailList dt {
    width: 100%;
  }
  .goodsPage .saleBox .detailList dd {
    width: 100%;
    padding: 0.2rem 0 0;
    font-size: 1em;
  }
  .goodsPage .outSale {
    margin-bottom: 3rem;
  }
  .goodsPage .outSale .lead {
    font-size: 100%;
  }

  .goodsPage .outSale .txtSub {
    margin: 0 0 1.2rem;
  }

  .goodsPage .btnBuy a {
    width: 100%;
  }
  .goodsPage .bnrGoodsList {
    margin: 0 0 40px;
  }
  .goodsPage .bnrGoodsList li:first-child {
    max-width: 700px;
    margin: 0 auto 20px;
  }
  .goodsPage .outSale .op_detail:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .goodsPage .outSale .op_detail.end:before {
    width: 95%;
    padding: 35px 00 33px;
    font-size: 140%;
    text-align: center;
  }
}

/*===================================================
  pages:ticketPage
====================================================*/
.ticketPage {
}

.ticketPage .intro {
  margin-bottom: 100px;
}
.ticketPage .intro .tit {
  font-size: 140%;
  font-weight: 500;
  margin: 0 0 10px;
  text-align: center;
  color: #fff;
}
.ticketPage .intro .txt {
  font-size: 110%;
  margin: 0 0 60px;
  text-align: center;
  color: #fff;
}
.ticketPage .intro .btnList {
  display: flex;
  justify-content: center;
  margin: 0 0 40px;
}
.ticketPage .intro .btnList li {
  padding: 0 20px;
}
.ticketPage .intro .btnList li a {
  display: block;
  max-width: 400px;
  background: #ba670f;
  color: #fff;
  text-align: center;
  padding: 20px;
  border-radius: 10px;
  font-weight: 500;
}
.ticketPage .intro .tradeBtnCap {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 10px;
  color: #ea6015;
}
.ticketPage .intro .tradeBtn a {
  margin: 0 auto 60px;
  display: block;
  width: 400px;
  background: #ea6015;
  color: #fff;
  text-align: center;
  padding: 20px;
  border-radius: 10px;
  font-weight: 500;
}

.ticketPage .ticketSchedule h3 {
  font-size: 160%;
  margin: 0 0 40px;
  border-left: 10px solid;
  padding: 0 0 0 10px;
  line-height: 1.3;
}
.ticketPage .passedTicket {
  margin: 0 0 2rem;
}
.ticketPage .passedTicket .accordionTit {
  transition: 0.3s ease;
}
.ticketPage .passedTicket .accordionTit.open {
  background: #3c36b1;
  color: #fff;
}

.ticketPage .passedTicket .accordionDetail .ticketPeriod {
}
.ticketPage .passedTicket .accordionDetail .ticketPeriod:before {
  background: #000;
}

.ticketPage .ticket_schedule {
  margin: 0 0 1.5rem;
}
.ticketPage .ticket_schedule:last-child {
  margin-bottom: 0;
}

.ticketPage .ticketSchedule .ticketPeriod {
  margin: 0 0 0.8rem;
  font-size: 1.1em;
  font-weight: bold;
  position: relative;
  padding: 0 0 0 1.2em;
}
.ticketPage .ticketSchedule .ticketPeriod:before {
  content: "";
  position: absolute;
  width: 0.8em;
  height: 0.8em;
  border-radius: 2rem;
  background: #fff;
  left: 0;
  top: 0.35em;
}
.ticketPage .ticketSchedule .detail + .ticketPeriod {
  margin: 40px 0 20px;
}
.ticketPage .ticketSchedule .detail {
  display: flex;
  margin: 0 0 2px;
  background: #eeeeee;
  padding: 20px;
  align-items: center;
  justify-content: space-between;
}
.ticketPage .ticketSchedule .detail li {
}
.ticketPage .ticketSchedule .detail li.name {
  width: 75%;
  border-right: 1px solid;
  padding: 0 20px 0 0;
  text-align: left;
}
.ticketPage .ticketSchedule .detail li.name .txt {
  font-size: 0.9em;
  font-weight: 600;
  line-height: 1.3em;
  margin: 0 0 0.5em;
  letter-spacing: 0.01em;
}
.ticketPage .ticketSchedule .detail li.name .badge {
  font-size: 70%;
  background: #000;
  color: #fff;
  padding: 0.3em 1.2em;
  border-radius: 100px;
  margin: 0;
  line-height: 1.5em;
  text-align: center;
  display: inline-block;
}
.ticketPage .ticketSchedule .detail li.name .badge .tit {
  font-weight: 500;
  line-height: 1em;
  border-right: 1px solid;
  padding: 0 5px 0 0;
  margin: 0 5px 0 0;
}
.ticketPage .ticketSchedule .detail li.name .badge .cap {
  font-weight: 500;
  line-height: 1em;
}
.ticketPage .ticketSchedule .detail li.period {
  width: 50%;
  padding: 0 40px 0;
}
.ticketPage .ticketSchedule .detail li.period .txt {
  font-weight: 500;
}
.ticketPage .ticketSchedule .detail li.period .txt span {
  font-size: 80%;
  margin: 0 -3px;
}
.ticketPage .ticketSchedule .detail li.period .tit {
  display: block;
  border-bottom: 1px dashed;
  padding: 0 0 5px;
  margin: 0 0 5px;
  font-size: 80%;
  font-weight: 600;
}
.ticketPage .ticketSchedule .detail li.link {
  width: 25%;
  text-align: center;
  padding: 0 0 0 20px;
}

.ticketPage .ticketSchedule li.link .btn {
}
.ticketPage .ticketSchedule li.link .btn a {
  display: block;
  text-align: center;
  max-width: 10rem;
  margin: 0 auto;
  border-radius: 10px;
  font-weight: 500;
  padding: 0.3em;
  background: #3c36b1;
  color: #fff;
  text-decoration: none;
  font-size: 0.85em;
  border: 1px solid #37261d;
}

.ticketPage .ticketSchedule li.link .btn.hide a {
  pointer-events: none;
  background: #aaaaaa;
}

.ticketPage .ticketSchedule li.link .wrn {
  display: block;
  text-align: center;
  padding: 10px 0 0;
  font-size: 65%;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: 0;
}

.ticketPage .playguideBox {
    padding: 2.5rem;
    margin-bottom: 4rem;
    background: #fff;
    border: 1px solid #0000003b;
    border-radius: 1.5rem;
}
.ticketPage .playguideBox h3 {
    font-size: 1.8rem;
    margin: 0 0 2rem;
    border-left: 9px solid;
    padding: 0 0 0 0.5em;
}
.ticketPage .playguideBox .playgudeSchedule {
  margin: 0 0 40px;
}
.ticketPage .playguideBox .playgudeSchedule li {
  position: relative;
  padding: 0 0 0 20px;
  margin: 0 0 10px;
  font-weight: 500;
}
.ticketPage .playguideBox .playgudeSchedule li:before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: #000;
  position: absolute;
  left: 0;
  top: 6px;
  border-radius: 2px;
}
.ticketPage .playguideBox .playgudeSchedule li:last-child {
  margin: 0;
}
.ticketPage .playguideBox .playguideBtn {
  display: flex;
  justify-content: space-between;
}
.ticketPage .playguideBox .playguideBtn li {
  width: 32%;
}
.ticketPage .playguideBox .playguideBtn li a {
    display: block;
    background: #3c36b1;
    color: #fff;
    text-align: center;
    padding: 1rem;
    border-radius: 1rem;
    font-weight: bold;
    font-size: 0.85rem;
}
.ticketPage .playguideBox .playguideBtn li a.blankBtn {
  background: #898989;
}

.ticketPage .tikcetDetail .inner {
  margin: 0 0 1.5rem;
}

.ticketPage .tikcetDetail .detailList {
}
.ticketPage .tikcetDetail .detailList:last-child {
  margin: 0;
}
.ticketPage .detailList .type {
}
.ticketPage .detailList .type .inner {
  display: flex;
  margin: 0 0 1rem;
}
.ticketPage .detailList .type .inner:last-child {
  margin: 0;
}
.ticketPage .detailList .type .typeTit {
  border: 1px solid;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 85px;
  text-align: center;
}
.ticketPage .detailList .type .typeDetail {
  padding: 0 0 0 20px;
}
.ticketPage .detailList .type .typeDetail .txt {
}
.ticketPage .detailList .type .typeDetail .cautionList {
}
.ticketPage .detailList .type .typeDetail .memberStatus {
  display: flex;
  flex-wrap: wrap;
}
.ticketPage .detailList .type .typeDetail .memberStatus li {
  background: #ddd;
  margin: 0 10px 0 0;
  padding: 5px 10px 5px;
  border-radius: 5px;
  line-height: 1em;
  font-size: 90%;
  font-weight: 500;
  color: #fff;
}
.ticketPage .detailList .type .typeDetail .memberStatus li.stTce {
  background: #fb7119;
}
.ticketPage .detailList .type .typeDetail .memberStatus li.stTe {
  background: #0088b1;
}
.ticketPage .detailList .type .typeDetail .memberStatus li.stCe {
  background: #3aa9f0;
}
.ticketPage .detailList .type .typeDetail .memberStatus li.stLive {
  background: #3d494e;
}
.ticketPage .btngroupe {
  display: flex;
  justify-content: center;
}
.ticketPage .btngroupe li {
  width: 300px;
  max-width: 35%;
  padding: 0 10px;
}
.ticketPage .btnEntry a {
  margin: 0 auto 0;
  background: #3c36b1;
  color: #fff;
  border-radius: 10px;
  max-width: 100%;
  width: 20rem;
  font-weight: bold;
  border: 1px solid #37261d;
}
.ticketPage .btnBlank a {
  background: #aaa;
  color: #fff;
  pointer-events: none;
}

.ticketPage .btngroupe .btnEntry a {
  width: 100%;
  padding: 20px 10px;
}
.ticketPage .btnList .btnEntry a {
  margin: 0 auto 20px;
  width: 560px;
  font-size: 100%;
  font-weight: 500;
}
.ticketPage .btnList .btnEntry:last-child a {
  margin: 0 auto 0;
}
.ticketPage .announceBox {
  margin: 0 0 2.5rem;
}
.ticketPage .announceList {
  border-left: 5px solid;
  margin: 0 0 1.5rem;
  padding: 0 0 0 1rem;
  font-size: 0.9em;
}
.ticketPage .announceList:last-child {
  margin: 0;
}
.ticketPage .announceList dt {
  font-size: 1em;
  font-weight: 600;
  margin: 0 0 0.5em;
}
.ticketPage .announceList dd {
}
.ticketPage .announceList dd .txt {
  font-size: 90%;
  line-height: 1.7;
}

.ticketPage .ticketGuard {
  border: 2px solid;
  padding: 40px;
  margin-bottom: 100px;
}
.ticketPage .ticketGuard h3 {
  font-size: min(calc(20 / 769 * 100vw), 220%);
  line-height: 1.4em;
  margin: 0 0 40px;
}
.ticketPage .ticketGuard .pattern {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 40px;
}
.ticketPage .ticketGuard .pattern:last-child {
  margin: 0;
}
.ticketPage .ticketGuard .patternTit {
  width: 100%;
  margin: 0 0 20px;
  position: relative;
}
.ticketPage .ticketGuard .patternTit:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #000;
}
.ticketPage .ticketGuard .patternTit.blue:before {
  background: #3aa9f0;
}
.ticketPage .ticketGuard .patternTit.yellow:before {
  background: #ffbe31;
}
.ticketPage .ticketGuard .patternTit span {
  background: #3aa9f0;
  color: #fff;
  padding: 10px 20px;
  display: inline-block;
  position: relative;
}

.ticketPage .ticketGuard .patternTit.yellow span {
  background: #ffbe31;
}
.ticketPage .ticketGuard .ticketType {
  width: calc(50% - 20px);
  padding: 20px;
  background: #efefef;
}
.ticketPage .ticketGuard .ticketType.etikcet {
}
.ticketPage .ticketGuard .ticketType.ptikcet {
}
.ticketPage .ticketGuard .ticketType .ticketTit {
  font-size: 120%;
  border-bottom: 1px dashed;
  padding: 0 0 20px;
  margin: 0 0 20px;
  display: flex;
  justify-content: space-between;
}
.ticketPage .ticketGuard .ticketType .ticketTit a {
  position: relative;
  font-size: 60%;
  font-weight: 600;
  padding: 0 20px 0 0;
  letter-spacing: 0;
}
.ticketPage .ticketGuard .ticketType .ticketTit a span {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid;
  border-right: 2px solid;
  width: 8px;
  height: 8px;
}
.ticketPage .ticketGuard .ticketType .ticketTxt {
  line-height: 1.5em;
  margin: 0 0 20px;
  font-weight: 500;
}

.ticketPage .ticketGuard .ticketType .thumb {
}

.ticketPage .idCard {
  border-top: 2px solid;
  padding: 40px 0 0;
}
.ticketPage .idCard dt {
  font-weight: 600;
  margin: 0 0 20px;
  border-left: 5px solid;
  padding: 0 0 0 10px;
}
.ticketPage .idCard dd {
  margin: 0 0 10px;
  font-size: 90%;
  font-weight: 600;
}
.ticketPage .idCard dd:last-child {
  margin: 0;
}
.ticketPage .idCard dd span {
  display: block;
  font-size: 90%;
  font-weight: initial;
}

/* ticketPage:PC-min-770 */
@media screen and (min-width: 770px) {
  .ticketPage .passedTicket .accordionTit:hover {
    background: #3c36b1;
    color: #fff;
  }
}

/* ticketPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .ticketPage .ticketBox .inBox {
  }
  .ticketPage .intro .tit {
    font-size: 120%;
    text-align: left;
  }
  .ticketPage .intro .txt {
    font-size: 90%;
    margin: 0 0 20px;
    text-align: left;
  }
  .ticketPage .intro .btnList {
    display: block;
    margin: 0 0 20px;
  }
  .ticketPage .intro .btnList li {
    padding: 0;
    margin: 0 0 20px;
  }
  .ticketPage .intro .btnList li:last-child {
    margin: 0;
  }
  .ticketPage .intro .btnList li a {
    width: 100%;
    margin: 0 auto;
  }
  .ticketPage .intro .tradeBtnCap {
    text-align: left;
    font-size: 16px;
  }
  .ticketPage .intro .tradeBtn a {
    width: 100%;
    margin: 0 auto 20px;
  }

  .ticketPage .passedTicket .accordionTit {
    width: 100%;
    font-size: 0.9em;
  }
  .ticketPage .passedTicket .accordionDetail {
    padding: 1.2rem;
  }
  .ticketPage .ticketSchedule .ticketPeriod {
    font-size: 100%;
    line-height: 1.3em;
    font-weight: 600;
  }
  .ticketPage .ticketSchedule .ticketPeriod:before {
    top: 0.25em;
  }
  .ticketPage .ticketSchedule .detail + .ticketPeriod {
    margin: 30px 0 10px;
  }
  .ticketPage .ticketSchedule .detail {
    margin: 0 0 5px;
    padding: 1rem;
  }
  .ticketPage .ticketSchedule .detail:last-child {
    margin: 0;
  }
  .ticketPage .ticketSchedule .detail li.name {
    width: 100%;
    border-right: none;
    padding: 0 0 1rem;
    text-align: center;
  }
  .ticketPage .ticketSchedule .detail li.name .badge {
    margin: 0 auto;
  }
  .ticketPage .ticketSchedule .detail li.period {
    width: 100%;
    padding: 0 0 20px;
    border-bottom: 1px dashed;
    margin: 0 0 20px;
    text-align: center;
  }
  .ticketPage .ticketSchedule .detail li.period .tit {
    border-bottom: none;
    padding: 0;
  }
  .ticketPage .ticketSchedule .detail li.link {
    width: 100%;
    padding: 0;
    border-left: none;
  }
  .ticketPage .ticketSchedule li.link .btn a {
    max-width: 100%;
  }
  .ticketPage .btngroupe {
    display: block;
    justify-content: center;
  }
  .ticketPage .btngroupe li {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 10px;
  }
  .ticketPage .btngroupe li:last-child {
    margin-bottom: 0;
  }
  .ticketPage .btnEntry a {
    width: 100%;
    font-size: 1.05em;
  }
  .ticketPage .btngroupe .btnEntry a {
    padding: 10px;
  }
  .ticketPage .btnList .btnEntry a {
    width: 100%;
    line-height: 1.3em;
  }

  .ticketPage .ticketSchedule .detail {
    display: block;
  }
  .ticketPage .ticketSchedule h3 {
      font-size: 120%;
      margin: 0 0 20px;
      border-width: 6px;
  }

  .ticketPage .playguideBox {
    padding: 20px;
    margin-bottom: 60px;
  }
  .ticketPage .playguideBox h3 {
    font-size: 120%;
    margin: 0 0 20px;
    line-height: 1.4em;
  }
  .ticketPage .playguideBox .playgudeSchedule {
    margin: 0 0 20px;
  }
  .ticketPage .playguideBox .playgudeSchedule li {
    line-height: 1.4em;
  }
  .ticketPage .playguideBox .playgudeSchedule li:before {
    top: 4px;
  }
  .ticketPage .playguideBox .playguideBtn li {
    width: 100%;
    margin: 0 0 10px;
  }
  .ticketPage .playguideBox .playguideBtn li:last-child {
    margin: 0;
  }
  .ticketPage .playguideBox .playguideBtn {
    display: block;
  }

  .ticketPage .op_ticket .ticketList {
    margin-bottom: 0.85rem;
    border-radius: 0.6rem;
  }
  .ticketPage .op_ticket .ticketList:last-child {
    margin-bottom: 0;
  }
  .ticketPage .op_ticket .tikcetTit .txt {
    display: flex;
    flex-wrap: wrap;
    font-size: 1em;
    margin: 0 0 0.5em;
  }
  .ticketPage .op_ticket .tikcetTit .txt .ticketName {
    width: 100%;
    margin: 0 0 5px;
    padding: 0 40px 0 0;
  }
  .ticketPage .op_ticket .tikcetTit .txt .blueTicket,
  .ticketPage .op_ticket .tikcetTit .txt .yellowTicket,
  .ticketPage .op_ticket .tikcetTit .txt .end {
    margin: 0 10px 0 0;
    font-size: 60%;
    padding: 4px 8px 2px;
  }
  .ticketPage .op_ticket .tikcetTit .date {
    line-height: 1.5;
    border-top: 1px dashed;
    padding-top: 0.8em;
  }
  .ticketPage .op_ticket .tikcetTit .date span {
    padding: 0;
    margin: 0 0 0.2em;
    border-right: none;
    display: block;
    opacity: 0.8;
  }
  .ticketPage .op_ticket .tikcetTit .arrow {
    top: 1.5rem;
    right: 1.2rem;
    transform: rotate(180deg) translateY(0);
  }
  .ticketPage .tikcetDetail .inner {
    margin: 0 0 20px;
  }

  .ticketPage .detailList dt .txt {
    font-size: 90%;
  }
  .ticketPage .detailList .type .inner {
    display: block;
    border-bottom: 1px dashed;
    padding: 0 0 20px;
    margin: 0 0 20px;
  }

  .ticketPage .detailList .type .inner:last-child {
    margin: 0;
    padding: 0;
    border: none;
  }

  .ticketPage .detailList .type .typeTit {
    margin: 0 0 0.5em;
    padding: 0 0.5em;
    display: inline-block;
  }

  .ticketPage .detailList .type .typeDetail .txt {
    margin-bottom: 0.5em;
  }

  .ticketPage .detailList .type .typeDetail {
    padding: 0;
  }
  .ticketPage .detailList .type .typeDetail .cautionList {
    margin: 10px 0 0;
  }
  .ticketPage .detailList .type .typeDetail .memberStatus {
    flex-wrap: wrap;
    margin: 0;
  }
  .ticketPage .detailList .type .typeDetail .memberStatus li {
    background: #ddd;
    margin: 0 10px 0 0;
  }
  .ticketPage .announceBox {
    margin: 0 0 2rem;
  }
  .ticketPage .announceList dt {
    font-size: 95%;
    font-weight: 600;
    line-height: 1.7;
  }
  .ticketPage .announceList dd .txt {
  }
  .ticketPage .ticketGuard {
    padding: 20px;
  }
  .ticketPage .ticketGuard h3 {
    font-size: 100%;
    margin: 0 0 20px;
  }
  .ticketPage .ticketGuard .pattern {
    display: block;
  }
  .ticketPage .ticketGuard .patternTit span {
    padding: 5px 15px;
    font-size: 90%;
  }
  .ticketPage .ticketGuard .ticketType {
    width: 100%;
  }
  .ticketPage .ticketGuard .ticketType.etikcet {
    margin: 0 0 20px;
  }
  .ticketPage .ticketGuard .ticketType .ticketTit {
    font-size: 110%;
    font-weight: 500;
  }
  .ticketPage .ticketGuard .ticketType .ticketTxt {
    font-size: 90%;
  }
  .ticketPage .noticeList {
    display: block;
  }
  .ticketPage .noticeList li {
    width: 100%;
    margin: 0 0 15px;
    padding: 0 0 0;
  }
  .ticketPage .noticeList li .noticeTit {
    font-size: 100%;
    margin: 0;
  }
}

.ticketPage .ticketSchedule h3.ticket_info_tit {
  font-size: 120%;
}

.scheduleCellList .ticketinfo {
  width: 100%;
}

.scheduleCellList .ticketinfo span {
  width: 100%;
  display: block;
  padding: 5px 0;
  font-weight: bold;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  border-radius: 3px;
  background: #000;
}

.ticketinfo span.sold {
  background-color: #c73838;
}
.ticketinfo span.precedSta {
  background-color: #ee6908;
}
.ticketinfo span.t_few {
  background-color: #5e913c;
}
.ticketinfo span.v_few {
  background-color: #3a6aac;
}

.boxLead {
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1.5rem;
}

.ticketinfoList > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  align-items: center;
}
.ticketinfoList > li:last-child {
  margin-bottom: 0;
}

.ticketinfoList > li .info_icon {
  width: 20%;
}

.ticketinfoList > li .info_txt {
  width: 78%;
  line-height: 1.5;
}
.ticketinfoList > li .info_icon span {
  width: 100%;
  display: block;
  padding: 5px 0;
  font-weight: bold;
  text-align: center;
  font-size: 14px;
  color: #ffffff;
  border-radius: 3px;
}

.detailbtn a {
  font-size: 1rem;
  position: relative;
  background: #3c36b1;
  font-weight: bold;
  letter-spacing: 0.01em;
  display: block;
  width: 20rem;
  text-align: center;
  padding: 1.2em;
  border: 2px solid #37261d;
  border-radius: 10em;
  box-shadow: 0 2px 0 #37261d;
  margin: 0 auto;
  color: #fff;
  max-width: 100%;
}
.detailbtn a:hover {
  color: #37261d;
  background: #fff;
  opacity: 1;
}

/* newsPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .ticketPage .ticketSchedule h3.ticket_info_tit {
    font-size: 100%;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }

  .ticketinfoWrap .op_schedule .scheduleCellList {
    padding-bottom: 0;
  }

  .ticketinfoWrap .op_schedule .scheduleCellList .scheduleTime {
    margin-bottom: 0;
    width: 50%;
  }
  .ticketinfoWrap .op_schedule .scheduleCellList .scheduleInfo {
    width: 50%;
    padding: 0 10px 10px;
  }
  .scheduleCellList .ticketinfo span {
    padding: 10px 15px;
    font-size: 0.95em;
  }

  .boxLead {
    margin-bottom: 1rem;
  }

  .ticketinfoList > li .info_icon {
    width: 100%;
    margin-bottom: 0.5rem;
  }

  .ticketinfoList > li .info_txt {
    width: 100%;
  }
  .ticketinfoList > li {
    margin-bottom: 1rem;
  }
}

/*===================================================
  pages:newsPage
====================================================*/
.newsPage {
}
.newsPage .op_news .newsList {
  border-top: none;
  padding: 0;
  margin: 0;
  color: #fff;
}
.newsPage .op_news .newsList:after {
  content: none;
}
.newsPage .op_news .newsList a:before {
  content: "";
  position: absolute;
  width: 200px;
  height: 1px;
  bottom: 0;
  background: #000000;
  transition: 0.5s ease;
}
.newsPage .op_news .newsList > li a {
  color: #fff;
  padding: 0 0 40px;
}
.newsPage .op_news .newsList > li a .date {
  width: 200px;
  padding: 0;
  margin: 0;
}
.newsPage .op_news .newsList > li a .date p {
  font-weight: 800;
  font-size: 200%;
  letter-spacing: 0;
  padding: 0 50px 0 0;
  position: relative;
}
.newsPage .op_news .newsList > li a .tit {
  width: calc(100% - 200px);
  padding: 0 0 0 45px;
}
.newsPage .op_news .newsList > li a .tit p {
  font-weight: 500;
  font-size: 110%;
  line-height: 1.6em;
}
.newsPage.newsDetail {
}
.newsPage.newsDetail .pageNewsBox {
}
.newsPage.newsDetail .pageNewsBox .inBox {
  color: #000;
  background: #fff;
  padding: 60px;
}
.newsPage.newsDetail .pageNewsBox .inBox .date {
  font-weight: 800;
  font-size: 140%;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.newsPage.newsDetail .pageNewsBox .inBox .tit {
  font-size: 180%;
}
.newsPage.newsDetail .pageNewsBox .inBox .txt {
  font-size: 100%;
}
.detail__btn {
  text-align: right;
}
.newsPage.newsDetail .detail__btn a {
  text-align: right;
  display: inline-block;
  font-size: 90%;
  position: relative;
  padding: 0 0 0 40px;
  font-family: komu-a, sans-serif;
  letter-spacing: 0;
}
.newsPage.newsDetail .detail__btn a .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  border: 1px solid;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  transform: translate(0, -50%) rotate(-135deg);
}
.newsPage.newsDetail .detail__btn a .arrow:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid;
  border-right: 1px solid;
  position: absolute;
}

/* newsPage:PC-min-770 */
@media screen and (min-width: 770px) {
  .newsPage .op_news .newsList a:hover:before {
    width: 100%;
  }
}

/* newsPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .newsPage .pageNewsBox .inBox {
    padding: 0;
  }

  .newsPage .op_news .newsList > li a {
    padding: 0 0 20px;
    border-bottom: 1px solid #fff;
  }
  .newsPage .op_news .newsList > li a .date {
    width: 100%;
    margin-bottom: 3px;
  }
  .newsPage .op_news .newsList > li a .date p {
    font-size: 120%;
  }
  .newsPage .op_news .newsList > li a .tit {
    width: 100%;
    padding: 0;
  }
  .newsPage .op_news .newsList > li a .tit p {
    line-height: 1.4em;
    font-weight: 400;
    font-size: 90%;
  }
  .newsPage.newsDetail .pageNewsBox .inBox {
    padding: 20px;
  }
  .newsPage.newsDetail .pageNewsBox .inBox .date {
    font-size: 110%;
    margin-bottom: 10px;
  }
  .newsPage.newsDetail .pageNewsBox .inBox .txt {
    margin-bottom: 40px;
    word-wrap: break-word;
  }
  .newsPage.newsDetail .pageNewsBox .inBox .tit {
    font-size: 120%;
  }
}

/*===================================================
  pages:tradePage
====================================================*/
.tradePage {
}

.trade_wrap {
    padding: 3rem;
    background: #fff;
    border: 1px solid #0000003b;
    border-radius: 1.5rem;
    font-size: 0.8em;
    line-height: 1.6;
    margin-bottom: 2.5rem;
}

.trade_wrap:last-child {
  margin-bottom: 0rem;
}

.tradePage .intro {
}
.tradePage .intro .txt {
  font-size: 140%;
  text-align: center;
  font-weight: 500;
  margin: 0 0 20px;
  color: #000;
}
.tradePage .intro .thumb {
  line-height: 0;
  width: 500px;
  margin: 0 auto 20px;
}
.tradePage .intro .thumb img {
}
.tradePage .intro .cap {
  text-align: center;
  font-weight: 600;
  font-size: 90%;
}

.tradePage .tradeBox {
}
.tradePage .tradeBox .inBox {
  background: #fff;
  padding: 100px 60px;
}

.tradePage .captionList {
    border: 1px solid;
    text-align: center;
    padding: 40px;
    margin-bottom: 40px;
}
.tradePage .captionList dt {
  font-size: 160%;
  font-weight: 600;
  margin: 0 0 15px;
}
.tradePage .captionList dd {
}
.tradePage .merit {
  margin: 0px 0 3rem;
}
.tradePage .meritList {
    background: #f4f7f8;
    padding: 2.5rem;
    margin: 0 0 1.5rem;
    position: relative;
    border-radius: 0.6rem;
    overflow: hidden;
}
.tradePage .meritList dt {
    font-size: 1.0rem;
    font-weight: 600;
    margin: 0 0 0.8em;
    color: #3c36b1;
}
.tradePage .meritList dt span {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    z-index: 1;
}
.tradePage .meritList dt span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5rem 3.5rem 0 0;
    border-color: #3c36b1 transparent transparent transparent;
    z-index: -1;
}
.tradePage .meritList dt .txt {
}
.tradePage .meritList dt .txt span {
  font-weight: 600;
  color: #ff9222;
  padding: 0 3px 0 0;
}
.tradePage .meritList dd {
}
.tradePage .meritList dd > * {
  margin: 0 0 20px;
}
.tradePage .meritList dd > *:last-child {
  margin: 0;
}
.tradePage .meritList dd .txt {
}
.tradePage .meritList .innerLink {
}
.tradePage .meritList .innerLink a {
}
.tradePage .meritList .innerLink a span {
}

.tradePage .tradeDetail {
}
.tradePage .tradeDetail h3 {
  font-size: 180%;
  margin: 0 0 1.2em;
  border-left: 8px solid;
  padding: 0 0 0 10px;
}
.tradePage .tradeDetail .ticketType {
  border: 2px solid;
  margin: 0 0 2.5rem;
}
.tradePage .tradeDetail .ticketType.negType {
  margin: 0 0 2.5rem;
}
.tradePage .tradeDetail .ticketCellList {
  display: flex;
}
.tradePage .tradeDetail .ticketCellList:not(:last-child) {
  border-bottom: 2px solid;
}
.tradePage .tradeDetail .ticketCellList li {
  width: 34%;
  padding: 1rem;
  display: flex;
  align-items: center;
}
.tradePage .tradeDetail .ticketCellList li:not(:last-child) {
  border-right: 2px solid;
}
.tradePage .tradeDetail .ticketCellList.cellHead li {
  justify-content: center;
  font-size: 90%;
  font-weight: 600;
  background: #efefef;
}
.tradePage .tradeDetail .ticketCellList.cellBlue li {
  background: #dff2ff;
}
.tradePage .tradeDetail .ticketCellList.cellYellow li {
  background: #fff4dc;
}
.tradePage .tradeDetail .ticketCellList .ticketName {
  justify-content: center;
  font-weight: 600;
  width: 36%;
}
.tradePage .tradeDetail .ticketCellList .ticketCaption {
  width: 64%;
}
.tradePage .tradeDetail .ticketCellList .ticketCaption .txtInfo {
  font-size: 80%;
  line-height: 1.4em;
  margin: 10px 0 0;
  font-weight: 500;
}
.tradePage .tradeDetail .ticketCellList .ticketSall {
  width: 32%;
  font-size: 90%;
}
.tradePage .tradeDetail .ticketCellList .ticketBuy {
  width: 32%;
  font-size: 90%;
}
.tradePage .tradeDetail .ticketCellList .cellInner {
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt {
}
.tradePage .tradeDetail .ticketCellList .cellInner .ticketName .txt {
  justify-content: center;
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt .blueTicket {
  display: block;
  width: 100px;
  font-size: 75%;
  background: #3aa9f0;
  color: #fff;
  line-height: 1em;
  padding: 10px 10px 8px;
  border-radius: 100px;
  margin: 0 auto 10px;
  text-align: center;
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt .yellowTicket {
  display: block;
  width: 100px;
  font-size: 75%;
  background: #ffbe31;
  color: #fff;
  line-height: 1em;
  padding: 10px 10px 8px;
  border-radius: 100px;
  margin: 0 auto 10px;
  text-align: center;
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt .senko {
  display: block;
  margin: 0 0 5px;
  padding: 0 0 0 20px;
  position: relative;
  line-height: 1.3em;
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt .senko:before {
  content: "・";
  position: absolute;
  left: 0;
}
.tradePage .tradeDetail .ticketCellList .cellInner .txt .senko:last-child {
  margin: 0;
}
.tradePage .ticketChange {
    background: #f4f7f8;
    padding: 2rem;
    margin: 0 0 2rem;
    border-radius: 0.6rem;
}
.tradePage .trade_wrap h3 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.tradePage .changeType {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  margin: 0 0 2rem;
}
.tradePage .changeType:last-child {
  margin: 0;
}
.tradePage .changeTypeTit {
  font-size: 120%;
  font-weight: 500;
  display: block;
  text-align: left;
  padding: 15px 20px;
}
.tradePage .changeTypeTit.dTicket {
  color: #e9537d;
}
.tradePage .changeTypeTit.pTicket {
  color: #009688;
}
.tradePage .changeDetail {
  border-top: 4px solid #efefef;
  display: flex;
}
.tradePage .changeDetail dt {
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 4px solid #efefef;
  font-size: 120%;
  font-weight: 500;
  background: #fcfcfc;
}
.tradePage .changeDetail dd {
  width: 70%;
}
.tradePage .changeDetail .changeFlow {
}
.tradePage .changeDetail .changeFlow li {
  border-bottom: 4px solid #efefef;
  display: flex;
  padding: 20px;
  justify-content: space-between;
  font-size: 120%;
  font-weight: 500;
}
.tradePage .changeDetail .changeFlow li:last-child {
  border-bottom: none;
}
.tradePage .changeDetail .changeFlow li .changeBefore {
  width: 40%;
  text-align: center;
}
.tradePage .changeDetail .changeFlow li .changeBefore span {
    background: #efefef;
    padding: 1rem;
    display: block;
    border-radius: 10px;
}
.tradePage .changeDetail .changeFlow li .changeArrow {
  width: 20%;
  text-align: center;
  position: relative;
}
.tradePage .changeDetail .changeFlow li .changeArrow:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  background: #000;
  transform: translate(-50%, -50%);
}
.tradePage .changeDetail .changeFlow li .changeArrow:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 25%;
  width: 10px;
  height: 10px;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: translate(0, -50%) rotate(45deg);
}
.tradePage .changeDetail .changeFlow li .changeAfter {
  width: 40%;
  text-align: center;
}

.tradePage .changeDetail .changeFlow li .changeAfter span {
    background: #fff;
    padding: 1rem;
    display: block;
    border-radius: 10px;
}
.tradePage .changeDetail .changeFlow li .changeAfter span.afterD {
  background: #e9537d;
  color: #fff;
}
.tradePage .changeDetail .changeFlow li .changeAfter span.afterP {
  background: #009688;
  color: #fff;
}

.tradePage .serviceDetail {
  border: 2px solid;
  padding: 1.5rem;
  margin: 0 0 2rem;
}
.tradePage .serviceDetail:last-child {
    margin-bottom: 0;
}

.tradePage .serviceDetail h3 {
}
.tradePage .serviceDetail .lead {
  font-size: 110%;
  font-weight: 500;
  margin: 0;
}
.tradePage .serviceDetail .cautionList {
  margin: 0 0 40px;
}
.tradePage .serviceDetail .op_detail {
  margin: 0 0 40px;
}
.tradePage .serviceDetail .op_detail .inList {
}
.tradePage .serviceDetail .op_detail .inList li {
  padding: 0 0 0 15px;
  margin: 0 0 10px;
}
.tradePage .serviceDetail .op_detail .inList li:first-child {
  border-left: 5px solid;
  padding: 0 0 0 10px;
  line-height: 1em;
  font-weight: 500;
}
.tradePage .serviceDetail .op_detail .inList li:last-child {
  margin: 0;
}
.tradePage .serviceDetail .op_detail .inList li span {
  font-size: 80%;
  background: #848484;
  border-radius: 2px;
  padding: 2px 10px;
  color: #fff;
  margin: 0 10px 0 0;
  vertical-align: 1px;
}
.tradePage .serviceDetail h4 {
  font-size: 160%;
  margin: 0 0 20px;
}

.tradePage .serviceDetail .serviceCaution {
}
.tradePage .serviceDetail .serviceCaution li {
  font-size: 100%;
  margin: 0 0 20px;
  font-weight: 500;
  border-bottom: 1px dashed;
  padding: 0 0 20px;
}
.tradePage .serviceDetail .serviceCaution li:first-child {
  border-top: 1px dashed;
  padding: 20px 0 20px;
}
.tradePage .serviceDetail .btnQuest {
}
.tradePage .serviceDetail .btnQuest a {
  position: relative;
}

.tradePage .soon {
  text-align: center;
  font-size: 140%;
  font-weight: 500;
}
.tradePage .floatBtn {
  position: fixed;
  bottom: 60px;
  right: 60px;
  color: #fff;
  transition: 0.5s ease;
}
.tradePage .floatBtn .btnInner {
}
.headerFix.tradePage .floatBtn {
  transform: translateY(0);
}
.bottomFix.tradePage .floatBtn {
  transform: translateY(200%);
}
.tradePage .floatBtn a {
  font-size: 140%;
  text-align: center;
  font-weight: 600;
  line-height: 1.3em;
  background: #000;
  border-radius: 100px;
  width: 150px;
  height: 150px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tradePage .floatBtn a span {
  display: block;
  font-size: 80%;
  line-height: 1.4em;
}
.tradePage .btnTrade a {
  margin: 0 auto 0;
  background: #3c36b1;
  color: #fff;
  border-radius: 10px;
  max-width: 100%;
  width: 20rem;
  font-weight: bold;
  border: 1px solid #37261d;
}

/* tradePage:PC-min-770 */
@media screen and (min-width: 770px) {
  .tradePage .serviceDetail .btnQuest a:hover span {
    left: calc(100% + 30px);
  }
  .tradePage .serviceDetail .btnQuest a:hover span svg .st0 {
    stroke: #645dff;
  }
  .tradePage .btnTrade a:hover {
    background: #645dff;
  }
  .tradePage .tradeDetail .ticketCellList .cellInner .capSale,
  .tradePage .tradeDetail .ticketCellList .cellInner .capBuy {
    display: none;
  }
}
/*  tradePage:SP-max-769 */
@media screen and (max-width: 769px) {
  .trade_wrap {
    padding: 1.5rem 1.2rem;
    font-size: 0.85em;
    margin-bottom: 2rem;
  }

  .tradePage .trade_wrap h3 {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.8rem;
  }

  .tradePage .intro .thumb {
    width: 100%;
  }
  .tradePage .intro .txt {
    font-size: 100%;
    text-align: left;
    margin: 0 0 20px;
    line-height: 1.4em;
  }
  .tradePage .intro .cap {
    text-align: left;
    font-size: 80%;
    line-height: 1.3em;
  }
  .tradePage .captionList {
    padding: 1rem;
    text-align: left;
    margin-bottom: 2rem;
    border-width: 1px;
  }
  .tradePage .captionList dt {
    font-size: 100%;
    margin: 0 0 5px;
    line-height: 1.5em;
  }
  .tradePage .captionList dd {
    font-size: 90%;
    line-height: 1.3em;
  }
  .tradePage .merit {
    margin: 0 0 2rem;
  }
  .tradePage .meritList {
      padding: 2.5rem 1.2rem 1.2rem;
      margin-bottom: 1.2rem;
  }
  .tradePage .meritList dt {
      font-size: 0.9rem;
      margin: 0 0 0.5rem;
  }
  .tradePage .meritList dd {
      font-size: 0.8rem;
  }

  .tradePage .meritList dt span {
    width: 35px;
    height: 35px;
  }
  .tradePage .meritList dt span:before {
    border-width: 55px 55px 0 0;
  }
  .tradePage .meritList dd > * {
    margin: 0 0 10px;
  }
  .tradePage .meritList .innerLink {
    text-align: right;
  }
  .tradePage .meritList .innerLink a {
    font-size: 60%;
    font-weight: 600;
  }
  .tradePage .tradeDetail h3 {
    font-size: 140%;
    padding: 0 0 0 10px;
    margin: 0 0 20px;
    border-left: 5px solid;
    line-height: 1.3em;
  }
  .tradePage .tradeDetail .ticketType {
    border: none;
    margin: 0 0 2rem;
  }
  .tradePage .tradeDetail .ticketCellList {
    display: block;
    border: 2px solid;
  }
  .tradePage .tradeDetail .ticketCellList:not(:last-child) {
    margin-bottom: 20px;
  }
  .tradePage .tradeDetail .ticketCellList.cellHead {
    display: none;
  }
  .tradePage .tradeDetail .ticketCellList li {
    width: 100%;
  }
  .tradePage .tradeDetail .ticketCellList li:not(:last-child) {
    border-right: none;
    border-bottom: 2px solid;
  }
  .tradePage .tradeDetail .ticketCellList .ticketName {
    width: 100%;
    display: block;
  }
  .tradePage .tradeDetail .ticketCellList .ticketSall {
    width: 100%;
  }
  .tradePage .tradeDetail .ticketCellList .ticketBuy {
    width: 100%;
  }
  .tradePage .tradeDetail .ticketCellList .ticketName .cellInner .txt {
    display: block;
  }

  .tradePage .tradeDetail .ticketCellList .ticketCaption .txtInfo a {
    text-decoration: underline;
  }
  .tradePage .tradeDetail .ticketCellList .ticketCaption {
    width: 100%;
  }
  .tradePage .tradeDetail .ticketCellList .cellInner .txt .blueTicket,
  .tradePage .tradeDetail .ticketCellList .cellInner .txt .yellowTicket {
    margin: 0 auto 10px;
  }
  .tradePage .tradeDetail .ticketCellList .cellInner .capSale,
  .tradePage .tradeDetail .ticketCellList .cellInner .capBuy {
    display: block;
    margin: 0 0 10px;
    font-weight: 600;
    font-size: 120%;
    border-left: 5px solid;
    padding: 0 0 0 10px;
  }
  .tradePage .tradeDetail .ticketType.negType {
    margin: 0 0 2rem;
  }
  .tradePage .ticketChange {
    padding: 1rem;
    margin: 0 0 2rem;
  }
  .tradePage .tradeDetail h3 {
    font-size: 120%;
  }
  .tradePage .changeType {
    margin: 0 0 20px;
  }

  .tradePage .changeTypeTit {
    text-align: center;
    font-size: 100%;
  }
  .tradePage .changeDetail {
    border-top: 4px solid #efefef;
    display: block;
  }
  .tradePage .changeDetail dt {
    width: 100%;
    border-right: none;
    border-bottom: 4px solid #efefef;
    padding: 10px;
    font-size: 100%;
  }
  .tradePage .changeDetail dd {
    width: 100%;
  }
  .tradePage .changeDetail .changeFlow li {
    align-items: center;
    padding: 15px;
  }
  .tradePage .changeDetail .changeFlow li .changeBefore {
    width: 45%;
  }
  .tradePage .changeDetail .changeFlow li .changeBefore span {
    padding: 10px;
    font-size: 60%;
    font-weight: 600;
  }
  .tradePage .changeDetail .changeFlow li .changeArrow {
    width: 10%;
  }
  .tradePage .changeDetail .changeFlow li .changeArrow:after {
    width: 5px;
    height: 5px;
  }
  .tradePage .changeDetail .changeFlow li .changeAfter {
    width: 45%;
  }
  .tradePage .changeDetail .changeFlow li .changeAfter span.afterD {
    padding: 10px;
    font-size: 60%;
  }
  .tradePage .changeDetail .changeFlow li .changeAfter span.afterP {
    padding: 10px;
    font-size: 60%;
  }
  .tradePage .serviceDetail {
    border: 2px solid;
    padding: 1rem;
    margin: 0 0 1.5rem;
  }
  .tradePage .serviceDetail .lead {
    font-size: 90%;
    line-height: 1.5em;
  }
  .tradePage .serviceDetail .cautionList {
    margin: 0 0 20px;
  }
  .tradePage .serviceDetail .op_detail {
    margin: 0 0 1.5rem;
  }
  .tradePage .serviceDetail .op_detail .inList li:first-child {
    font-weight: 600;
    font-size: 80%;
  }
  .tradePage .serviceDetail h4 {
    font-size: 120%;
    margin: 0 0 20px;
  }
  .tradePage .serviceDetail .serviceCaution li {
    font-size: 80%;
  }
  .tradePage soon {
    font-size: 90%;
  }
  .tradePage .btnTrade a {
    font-size: 100%;
    width: 100%;
    padding: 20px;
  }
  .tradePage .floatBtn {
    bottom: 40px;
    right: 10px;
  }
  .tradePage .floatBtn a {
    font-size: 100%;
    width: 90px;
    height: 90px;
  }
  .tradePage .floatBtn a span {
    font-size: 60%;
  }
  .tradePage .floatBtn .btnInner {
    line-height: 1.3em;
  }
  .tradePage .soon {
    font-size: 100%;
  }
}

/*===================================================
  pages:cancel
====================================================*/
.cancelPage {
}
.cancelPage .pageTit h2 {
  font-size: 300%;
}
.cancelPage .cancelBox {
}
.cancelPage .cancelBox .inBox {
}

.cancelPage .cancelBox .inBox .inner {
  margin: 0 0 2.5rem;
  padding: 0 0 2.5rem;
  border-bottom: 1px dashed;
}
.cancelPage .cancelBox .inBox .inner .txt {
  font-size: 1.3em;
  text-align: center;
  margin: 0 0 1.5rem;
  font-weight: bold;
}
.cancelPage .cancelBox .inBox .inner .lead {
  margin: 0 0 20px;
}
.cancelPage .cancelBox .inBox .inner .thumb {
}

.cancelPage .cancelBox .inBox .intro {
}
.cancelPage .cancelBox .inBox .downGrade {
}
.cancelPage .cancelBox .inBox .notdownGrade {
  padding: 0;
  border: none;
}
.cancelPage .QaBlock {
  margin: 0 auto 2.5rem;
  background: #efefef;
  padding: 1.5rem;
}
.cancelPage .QaBlock .txt {
  text-align: center;
  font-size: 1.2em;
  font-weight: 500;
  margin: 0 0 1.3rem;
}
.cancelPage .QaBlock .btnList {
  display: flex;
  justify-content: center;
  gap: 4%;
}
.cancelPage .QaBlock .btnList li {
  width: 48%;
}
.cancelPage .QaBlock .btnList li a {
  width: 100%;
  margin: 0;
}
.cancelPage .QaBlock .btnList li.btnT a {
  background: #0088b1;
  color: #fff;
}
.cancelPage .QaBlock .btnList li.btnC a {
  background: #3aa9f0;
  color: #fff;
}

.cancelPage .cancelAttention {
  max-width: 1000px;
  margin: 0 auto;
}
.cancelPage .cancelAttention dt {
  text-align: center;
  font-size: 1.3em;
  font-weight: 500;
  margin: 0 0 1.2rem;
  border-bottom: 1px dashed;
  padding: 0 0 2rem;
}
.cancelPage .cancelAttention dd {
  margin: 0 0 1.2rem;
  border-bottom: 1px dashed;
  padding: 0 0 1.2rem;
}
.cancelPage .cancelAttention dd:last-child {
  margin: 0;
}
.cancelPage .cancelAttention dd .txt {
}
.cancelPage .cancelAttention dd .txt span {
  color: #ff4343;
}

/* cancelPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .cancelPage .pageTit h2 {
    font-size: 180%;
    line-height: 1.4em;
  }

  .cancelPage .cancelBox .inBox .inner {
    margin: 0 0 1.5rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px dashed;
  }
  .cancelPage .cancelBox .inBox .inner:last-child {
    padding: 0;
    border-bottom: none;
  }
  .cancelPage .cancelBox .inBox .inner .txt {
    font-size: 1.1em;
    font-weight: 600;
    text-align: left;
    margin: 0 0 1em;
    line-height: 1.5;
  }
  .cancelPage .cancelBox .inBox .inner .lead {
    margin: 0 0 20px;
    font-size: 90%;
    line-height: 1.5em;
  }
  .cancelPage .QaBlock .txt {
    text-align: left;
    font-size: 1.1em;
    line-height: 1.5em;
    margin: 0 0 1em;
  }
  .cancelPage .QaBlock {
    padding: 1.2rem;
    margin: 0 auto 1.5rem;
  }
  .cancelPage .QaBlock .btnList {
    display: block;
  }
  .cancelPage .QaBlock .btnList li {
    margin: 0 auto 10px;
    width: 100%;
  }
  .cancelPage .QaBlock .btnList li a {
    width: 100%;
    font-size: 1em;
    padding: 1em;
  }
  .cancelPage .QaBlock .btnList li.btnC a {
    margin: 0;
  }
  .cancelPage .cancelAttention dt {
    padding: 0 0 0.8rem;
    text-align: left;
    font-size: 1.1em;
    line-height: 1.4em;
    font-weight: 500;
    margin: 0 0 0.8rem;
  }
  .cancelPage .cancelAttention dd {
    margin: 0 0 0.8rem;
    padding: 0 0 0.8rem;
    font-size: 0.9em;
  }
}

/*===================================================
  pages:dticket
====================================================*/
.dticketPage {
}

.dticketPage .dticketBox {
}
.dticketPage .dticketBox .inBox {
}

.dticketPage .dticketBox .inBox .innerBlock {
  padding: 2rem;
  margin: 0 auto 3rem;
  background: #fff;
  border: 1px solid;
  border-radius: 0.8rem;
}

.dticketPage .dticketBox .inBox .inner {
  margin: 0 0 2rem;
  padding: 0 0 2rem;
  border-bottom: 1px dashed;
  font-size: 0.85em;
}
.dticketPage .dticketBox .inBox .inner:last-child {
  margin: 0;
  padding: 0;
  border-bottom: none;
}
.dticketPage .dticketBox .inBox .inner > * {
  margin: 0 0 20px;
}
.dticketPage .dticketBox .inBox .inner > *:last-child {
  margin: 0;
}
.dticketPage .dticketBox .inBox .inner .txt {
  font-size: 1.2em;
  text-align: center;
  margin: 0 0 1.5rem;
  font-weight: bold;
}
.dticketPage .dticketBox .inBox .inner .txt span {
  color: #ff4343;
}
.dticketPage .dticketBox .inBox .inner .lead {
  margin: 0 0 1em;
}
.dticketPage .dticketBox .inBox .inner .thumb {
}
.dticketPage .dticketBox .inBox .inner .txtlink {
  text-align: right;
}
.dticketPage .dticketBox .inBox .inner .txtlink .innerLink {
}
.dticketPage .dticketBox .inBox .inner .column {
  display: flex;
  align-items: center;
}
.dticketPage .dticketBox .inBox .inner .column dt {
  width: 60%;
}
.dticketPage .dticketBox .inBox .inner .column dt .tit {
  margin: 0 0 1rem;
  font-weight: bold;
}
.dticketPage .dticketBox .inBox .inner .column dt .txt {
  font-size: 90%;
  text-align: left;
  font-weight: 500;
  margin: 0;
  line-height: 1.8;
}
.dticketPage .dticketBox .inBox .inner .column dd {
  width: 40%;
  padding: 0 0 0 2rem;
}

.dticketPage .dticketBox .inBox .inner .goodDealBlock {
  border-top: 1px solid;
  margin: 0 0 40px;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal {
  display: flex;
  width: 100%;
  border-bottom: 1px solid;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt {
  width: 30%;
  display: flex;
  align-items: center;
  padding: 1rem;
  border-right: 1px solid;
  border-left: 1px solid;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd {
  width: 70%;
  display: flex;
  align-items: center;
  padding: 1rem;
  border-right: 1px solid;
  font-size: 0.95em;
  justify-content: center;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal:first-child dt {
  text-align: center;
  justify-content: center;
  background: #000;
  color: #fff;
  border: none;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal:first-child dd {
  text-align: center;
  justify-content: center;
  background: #000;
  color: #fff;
  border: none;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt .icatch {
  width: 100px;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt .txt {
  width: calc(100% - 100px);
  font-size: 100%;
  margin: 0;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .price {
  font-size: 90%;
  margin: 0 20px 0 0;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .price span {
  font-size: 70%;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .bear {
  font-size: 90%;
}
.dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .bear span {
  font-size: 160%;
  padding: 0 5px;
  font-weight: 600;
}

.dticketPage .dticketBox .inBox .inner .pticket {
  display: flex;
  width: 100%;
  border-bottom: 1px solid;
  border-top: 1px solid;
}
.dticketPage .dticketBox .inBox .inner .pticket dt {
  width: 30%;
  display: flex;
  align-items: center;
  padding: 1rem;
  border-right: 1px solid;
  border-left: 1px solid;
  line-height: 1.6;
}
.dticketPage .dticketBox .inBox .inner .pticket dd {
  width: 70%;
  display: flex;
  align-items: center;
  padding: 20px;
  border-right: 1px solid;
}
.dticketPage .dticketBox .inBox .inner .pticket dt .icatch {
  width: 75px;
  padding: 0 5px 0 0;
}
.dticketPage .dticketBox .inBox .inner .pticket dt .txt {
  width: calc(100% - 80px);
  font-size: 100%;
  margin: 0;
}
.dticketPage .dticketBox .inBox .inner .pticket dd .price {
  font-size: 90%;
  margin: 0 20px 0 0;
}
.dticketPage .dticketBox .inBox .inner .pticket dd .price span {
  font-size: 70%;
}

.dticketPage .ticketAttention {
  margin: 0 auto 2.5rem;
}
.dticketPage .ticketAttention dd {
  margin: 0 0 1em;
  font-size: 0.8em;
  line-height: 1.6;
}
.dticketPage .ticketAttention dd:last-child {
  margin: 0;
}
.dticketPage .ticketAttention dd .txt {
}
.dticketPage .ticketAttention dd .txt span {
  color: #ff4343;
}

.dticketPage .deviceAttention {
  background: #ffffff;
  padding: 2rem;
  margin: 0 auto 3rem;
  border: 1px solid;
  border-radius: 0.8rem;
}
.dticketPage .deviceAttention dt {
  margin: 0 0 30px;
  border-bottom: 1px dashed;
  padding: 0 0 1em;
  font-size: 1.2em;
  text-align: center;
  margin: 0 0 1.5rem;
  font-weight: bold;
}
.dticketPage .deviceAttention dd {
  margin: 0 0 1em;
  padding: 0 0 0 1.2em;
  position: relative;
  font-size: 0.8em;
  line-height: 1.6;
}
.dticketPage .deviceAttention dd:last-child {
  margin: 0;
}
.dticketPage .deviceAttention dd:before {
  content: "●";
  position: absolute;
  left: 0;
}
.dticketPage .deviceAttention dd > * {
  margin-bottom: 0.8em;
}
.dticketPage .deviceAttention dd > *:last-child {
  margin-bottom: 0;
}
.dticketPage .deviceAttention dd .txt {
}

.dticketPage .flowBlock {
  margin: 0 auto;
}
.dticketPage .flowBlock .tit {
  font-size: 1.2em;
  text-align: center;
  margin: 0 0 1.5rem;
  font-weight: bold;
}
.dticketPage .flowBlock .flowList {
    background: #f4f7f8;
    padding: 2.5rem;
    margin: 0 0 1.5rem;
    position: relative;
    border-radius: 0.8rem;
    overflow: hidden;
}
.dticketPage .flowBlock .flowList:last-child {
  margin-bottom: 0;
}

.dticketPage .flowBlock .flowList dt {
  font-size: 1em;
  font-weight: 600;
  margin: 0 0 0.6em;
}
.dticketPage .flowBlock .flowList dt .txt a {
    color: #3c36b1;
    text-decoration: underline;
}
.dticketPage .flowBlock .flowList dt span {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    z-index: 1;
    font-size: 1rem;
}
.dticketPage .flowBlock .flowList dt span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5rem 3.5rem 0 0;
    border-color: #3c36b1 transparent transparent transparent;
    z-index: -1;
}
.dticketPage .flowBlock .flowList dd {
  font-size: 0.8em;
  line-height: 1.6;
}
.dticketPage .flowBlock .flowList dd > * {
  margin: 0 0 20px;
}
.dticketPage .flowBlock .flowList dd > *:last-child {
  margin: 0;
}

.dticketPage .flowBlock .flowList dd .appList {
  display: flex;
}
.dticketPage .flowBlock .flowList dd .appList li {
  width: 170px;
  margin: 0 20px 0 0;
}
.dticketPage .flowBlock .flowList dd .appList li a {
}
.dticketPage .flowBlock .flowList dd .appList li a .badge {
  line-height: 0;
  margin: 0 0 10px;
}
.dticketPage .flowBlock .flowList dd .appList li a span {
  display: block;
  text-align: center;
  font-weight: 500;
  font-size: 80%;
  line-height: 1em;
}
/* dticketPage:PC-min-770 */
@media screen and (min-width: 770px) {
  .dticketPage .flowBlock .flowList dd .appList li.iphone,
  .dticketPage .flowBlock .flowList dd .appList li.android {
    display: none;
  }
}
/* dticketPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .dticketPage .dticketBox .inBox .inner > * {
    margin-bottom: 1rem;
  }

  .dticketPage .pageTit h2 {
    font-size: 180%;
    line-height: 1.4em;
  }
  .dticketPage .dticketBox .inBox .innerBlock {
    padding: 1rem;
    margin: 0 auto 2rem;
  }
  .dticketPage .dticketBox .inBox .inner .txt {
    font-size: 1.1em;
    font-weight: 600;
    text-align: left;
    margin: 0 0 1rem;
    line-height: 1.5;
  }
  .dticketPage .dticketBox .inBox .inner {
    margin: 0 0 1.5rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px dashed;
  }
  .dticketPage .dticketBox .inBox .inner .txtlink .innerLink {
    font-size: 0.9em;
    font-weight: 600;
  }
  .dticketPage .dticketBox .inBox .inner .lead {
    font-size: 0.95em;
  }

  .dticketPage .dticketBox .inBox .inner .column {
    display: block;
  }
  .dticketPage .dticketBox .inBox .inner .column dt {
    width: 100%;
  }
  .dticketPage .dticketBox .inBox .inner .column dt .tit {
    line-height: 1.7;
  }
  .dticketPage .dticketBox .inBox .inner .column dt .txt {
    font-size: 90%;
    margin: 0 0 20px;
  }
  .dticketPage .dticketBox .inBox .inner .column dd {
    width: 100%;
    padding: 0;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal {
    align-items: center;
    border-left: 1px solid;
    border-right: 1px solid;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal:nth-child(1) {
    background: #000;
    font-size: 0.8em;
    font-weight: 600;
    line-height: 1.3em;
    text-align: center;
    letter-spacing: 0;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt {
    display: block;
    padding: 10px;
    border-left: none;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt .icatch {
    width: 100%;
    margin: 0 0 5px;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dt .txt {
    width: 100%;
    font-size: 70%;
    text-align: center;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd {
    display: block;
    padding: 10px;
    border: none;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .price {
    font-size: 0.85em;
    margin: 0 0 5px;
    line-height: 1.3em;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock .goodDeal dd .bear {
    font-size: 75%;
    font-weight: 600;
    border: none;
    line-height: 1em;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dt {
    display: block;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dt .icatch {
    width: 100%;
    margin: 0 0 5px;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dt .txt {
    width: 100%;
    font-size: 60%;
    text-align: center;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dd .price {
    font-size: 60%;
    font-weight: 600;
  }
  .dticketPage .dticketBox .inBox .inner .goodDealBlock {
    margin: 0 0 1rem;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dt {
    padding: 0.75rem;
  }
  .dticketPage .dticketBox .inBox .inner .pticket dd {
    padding: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .dticketPage .ticketAttention {
    margin: 0 auto 1.5rem;
  }
  .dticketPage .ticketAttention dt {
    border-bottom: 1px dashed;
    padding: 0 0 20px;
    font-size: 120%;
    font-weight: 600;
    text-align: left;
    margin: 0 0 20px;
    line-height: 1.3em;
  }

  .dticketPage .deviceAttention {
    padding: 1rem;
    margin: 0 auto 2rem;
  }
  .dticketPage .deviceAttention dt {
    border-bottom: 1px dashed;
    padding: 0 0 0.7em;
    font-size: 1.1em;
    font-weight: 600;
    text-align: center;
    margin: 0 0 0.8em;
    line-height: 1.3em;
  }
  .dticketPage .deviceAttention dd {
  }
  .dticketPage .deviceAttention dd > * {
    margin-bottom: 0.5em;
  }
  .dticketPage .flowBlock .tit {
    font-size: 120%;
    margin: 0 0 20px;
  }
  .dticketPage .flowBlock .flowList {
      padding: 2rem 1.5rem 1.5rem 2.2rem;
      margin-bottom: 1.2rem;
  }
  .dticketPage .flowBlock .flowList:last-child {
    margin: 0;
  }

  .dticketPage .flowBlock .flowList dt p span {
    color: #ff4343;
  }
  .dticketPage .flowBlock .flowList dt span {
    width: 35px;
    height: 35px;
  }
  .dticketPage .flowBlock .flowList dt span:before {
    border-width: 55px 55px 0 0;
  }
  .dticketPage .flowBlock .flowList dt .txt {
    line-height: 1.3em;
  }
  .dticketPage .flowBlock .flowList dd .appList li {
    width: 100%;
    margin: 0;
  }
  .dticketPage .flowBlock .flowList dd .appList li a span {
    font-size: 60%;
  }
  .dticketPage .flowBlock .flowList dd .appList li a {
    width: 90%;
    display: block;
    margin: 0 auto;
  }
  .dticketPage .flowBlock .flowList dd .appList li a .badge {
    margin: 0;
  }
}

/*===================================================
  pages:specialPage
====================================================*/

.generalBox {
  padding: 2rem;
  background: #fff;
  border: 1px solid;
  border-radius: 0.8rem;
  font-size: 0.8em;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.generalBox:last-child {
  margin-bottom: 0rem;
}

.generalBox .generalTit {
  font-size: 180%;
  margin: 0 0 1.2em;
  border-left: 8px solid;
  padding: 0 0 0 0.5em;
  font-weight: bold;
  line-height: 1.5;
}

.generalBox .generalTit .sml {
  font-size: 0.7em;
}

.generalBox .txt {
  margin-bottom: 1rem;
}
.generalBox .txt:last-child {
  margin-bottom: 0rem;
}

.special_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -1.4rem;
}

.special_list > li {
  width: 48.5%;
  border: 1px solid;
  padding: 1rem;
  margin-top: 1.4rem;
  border-radius: 0.5rem;
}

.special_list_tit {
  text-align: center;
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 0.75rem;
}

.special_list_img {
  line-height: 0;
  margin-bottom: 0.5rem;
}

.special_list_txt {
  font-size: 0.9em;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}

.prize_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  justify-content: space-between;
}

.prize_list > li {
  width: 48%;
}

.prize_list > li:first-child {
  padding-right: 5%;
  border-right: 1px solid;
}

.prize_img {
  margin-bottom: 0.6rem;
}
.prize_desc {
  letter-spacing: 0.02em;
  font-size: 0.9em;
}

.prize_list_row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4%;
}

.prize_list_row > li {
  width: 48%;
  margin-bottom: 1rem;
}

.prize_list_row > li:first-child {
  width: 60%;
}

.sml {
  font-size: 0.88em;
}

.btn a {
    background: #3d494e;
    display: block;
    color: #fff;
    text-align: center;
    padding: 1.5em;
    border-radius: 3rem;
    font-size: 0.95em;
    position: relative;
    width: 20rem;
    margin: 0 auto 0.5rem;
    max-width: 100%;
}

.btn:last-child a {
  margin-bottom: 0;
}

@media screen and (max-width: 769px) {
  .generalBox {
    padding: 1.5rem 1.2rem;
    font-size: 0.85em;
    margin-bottom: 2rem;
  }

  .generalBox .generalTit {
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 0.8rem;
    border-width: 5px;
  }
}

.specialPage .brtnList {
  display: flex;
  justify-content: center;
  padding: 0 40px;
}
.specialPage .brtnList li {
  padding: 0 10px;
}
.specialPage .brtnList li a {
  display: block;
  width: 400px;
  background: #645dff;
  color: #fff;
  text-align: center;
  padding: 20px;
  border-radius: 10px;
  font-weight: 500;
}
.specialPage .brtnList li a.btnTeam {
  background: #174cb1;
}
.specialPage .brtnList li a.btnClass {
  background: #3cb7e4;
}
.specialPage .brtnList li a.btnTeam img,
.specialPage .brtnList li a.btnClass img {
  width: 60%;
  margin: 0 auto 10px;
}

/* specialPage:PC-min-770 */
@media screen and (min-width: 770px) {
}
/* specialPage:SP-max-769 */
@media screen and (max-width: 769px) {
  .specialPage .brtnList {
    display: block;
  }
  .specialPage .brtnList li {
    padding: 0;
    margin: 0 0 20px;
  }
  .specialPage .brtnList li:last-child {
    margin: 0;
  }
  .specialPage .brtnList {
    display: block;
  }
  .specialPage .brtnList li a {
    width: 100%;
    font-size: 0.9em;
    padding: 1.1rem;
    line-height: 1;
  }
  .specialPage .brtnList li a.btnTeam img,
  .specialPage .brtnList li a.btnClass img {
    margin: 0 auto 12px;
  }

  .prize_list > li {
    width: 100%;
    margin-bottom: 1.2rem;
  }

  .prize_list > li:first-child {
    padding-right: 0;
    border-right: none;
  }

  .prize_list_row > li:first-child {
    width: 80%;
  }

  .prize_list > li:last-child {
    margin-bottom: 0;
  }

  .prize_list {
    margin-bottom: 0;
  }

  .special_list > li {
    width: 100%;
    margin-top: 1.2rem;
  }
}

/*===================================================
  pages:meetgreetPage
====================================================*/
.meetgreetPage {
  font-size: 17px;
}
.meetgreetPage .specialBox {
  position: relative;
  margin: 100px 0;
}
.meetgreetPage .specialBox .inBox {
  position: relative;
  background: #fff;
  padding: 60px;
}

.meetgreetPage .targetBox .specialBoxBg,
.meetgreetPage .targetBox:before,
.meetgreetPage .targetBox:after {
  transform: scaleX(-1);
}

.meetgreetPage .pageTit {
  margin-bottom: 40px;
}

.meetgreetPage .titBox h3 .titInner {
  position: relative;
}
.meetgreetPage .titBox h3 .jpn {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 82%;
  vertical-align: 3px;
  font-weight: 900;
}

.meetgreetPage .eventName {
  margin-bottom: 40px;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.5em;
}
.meetgreetPage .eventName span {
  font-size: 26px;
  line-height: 1.6em;
  display: inline-block;
}

.meetgreetPage .leadList {
  display: flex;
  max-width: 100%;
  margin: 0 auto 40px;
  gap: 24px;
  align-items: center;
}
.meetgreetPage .leadList dt {
  width: 240px;
}
.meetgreetPage .leadList dd {
  width: calc(100% - 240px);
  font-size: 110%;
}

.meetgreetPage .contentTit {
  text-align: center;
  font-weight: 600;
  font-size: 200%;
  padding: 0 0 40px;
  border-bottom: 1px solid;
  margin-bottom: 40px;
}
.meetgreetPage .prizeBox:not(:last-child) {
  border-bottom: 1px solid;
  padding: 0 0 40px;
  margin-bottom: 40px;
}
.meetgreetPage .prizeBox .prizeLead {
  margin-bottom: 20px;
}
.meetgreetPage .prizeBox .prizeLead dt {
  margin-bottom: 10px;
}
.meetgreetPage .prizeBox .prizeLead dt span {
  color: #fff;
  font-size: 18px;
  margin: 0 0 10px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  display: inline;
  padding: 5px 10px;
  line-height: 2.2;
  background-color: #37261d;
}
.meetgreetPage .prizeBox .prizeLead dd {
  font-size: 16px;
}
.meetgreetPage .prizeImage {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 40px;
}
.meetgreetPage .prizeImage + .cautionList {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 0;
}
.meetgreetPage .targetDetail {
  display: flex;
  gap: 40px;
  align-items: center;
}
.meetgreetPage .targetDetail dt {
  width: 240px;
}
.meetgreetPage .targetDetail dd {
  width: calc(100% - 240px);
}
.meetgreetPage .targetDetail dd .txt {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3em;
  margin: 0 0 10px;
}
.meetgreetPage .targetDetail dd .products {
  border-bottom: 1px dashed;
  padding: 0 0 20px;
  margin: 0 0 20px;
}
.meetgreetPage .targetDetail dd .products:last-child {
  border-bottom: none;
  padding: 0;
  margin: 0;
}
.meetgreetPage .targetDetail dd .products .tit {
  display: inline-block;
  background: #37261d;
  color: #fff;
  padding: 5px 20px;
  font-size: 14px;
  margin: 0 0 10px;
}
.meetgreetPage .targetDetail dd .oldProducts .txt {
}
.meetgreetPage .detailInner .capList li {
  font-size: 85%;
  font-weight: 600;
}
.meetgreetPage .btnBase a {
  margin: 0 auto 100px;
  background: #ba670f;
  color: #fff;
  border-radius: 10px;
  width: 420px;
}

.meetgreetPage .attentionBox {
}
.meetgreetPage .attentionBox .inBox {
  border: 1px solid;
  padding: 60px;
  color: #fff;
}
.meetgreetPage .attentionBox .attentionTit {
  text-align: center;
  font-size: 25px;
  font-weight: 600;
  margin: 0 auto 60px;
}
.meetgreetPage .attentionBox .cautionList {
  border-bottom: 1px solid;
  padding: 0 0 40px;
}
.meetgreetPage .attentionBox .costormarList {
}
.meetgreetPage .attentionBox .costormarList li {
  font-size: 15px;
  font-weight: 500;
}
.meetgreetPage .attentionBox .costormarList li {
  font-size: 15px;
  font-weight: 500;
}

/* meetgreetPage:SP-max-769 */
@media screen and (max-width: 1200px) {
  .meetgreetPage .cautionList li {
    font-size: 90%;
  }
  .meetgreetPage .pageTit {
    margin-bottom: 40px;
    padding: 0;
  }
  .meetgreetPage .eventName {
    margin-bottom: 60px;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.3em;
  }

  .meetgreetPage .leadList {
    padding: 0;
    display: block;
  }
  .meetgreetPage .leadList dt {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0;
  }
  .meetgreetPage .leadList dd {
    width: 100%;
    font-size: 14px;
  }
  .meetgreetPage .prizeImage {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0;
  }
  .meetgreetPage .prizeImage + .cautionList {
    width: 100%;
  }
  .meetgreetPage .prizeBox:not(:last-child) {
    border-bottom: 1px solid;
    padding: 0 0 20px;
    margin-bottom: 20px;
  }
  .meetgreetPage .prizeBox .prizeLead dt span {
    font-size: 16px;
  }
  .meetgreetPage .btnBase a {
    width: 80%;
  }
  .meetgreetPage .specialBox {
    margin: 40px 0;
  }
  .meetgreetPage .specialBox .inBox {
    padding: 20px;
    margin-bottom: 40px;
  }
  .meetgreetPage .specialBox.targetBox .inBox {
    padding: 20px;
  }
  .meetgreetPage .contentTit {
    font-size: 18px;
    padding: 0 0 20px;
    margin-bottom: 20px;
  }

  .meetgreetPage .targetDetail {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .meetgreetPage .targetDetail dt {
    width: 100%;
  }
  .meetgreetPage .targetDetail dd {
    width: 100%;
    padding: 0;
  }
  .meetgreetPage .targetDetail dd .txt {
    font-size: 18px;
  }
  .meetgreetPage .attentionBox .inBox {
    border: 1px solid;
    padding: 20px;
  }
  .meetgreetPage .attentionBox {
    margin: 0 0 40px;
  }
  .meetgreetPage .attentionBox .attentionTit {
    font-size: 16px;
    margin: 0 auto 20px;
  }
  .meetgreetPage .attentionBox .costormarList li {
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 10px;
    line-height: 1.3em;
  }
}

/*===================================================
  pages:集合写真
====================================================*/
.meetgreetPage .lead {
  text-align: center;
  font-size: 20px;
  color: #fff;
}
.meetgreetPage .pswp__counter {
  display: none;
}
.meetgreetPage .pictureBox {
}
.meetgreetPage .pictureList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.meetgreetPage .pictureList li {
  width: calc(50% - 20px);
  background: #efefe7;
  padding: 40px;
  margin: 0 0 40px;
}
.meetgreetPage .pictureList li .swiper-slide {
  background: #efefe7;
}
.meetgreetPage .pictureList li .thumb {
  margin: 0 0 10px;
}
.meetgreetPage .pictureList li .thumb img {
}
.meetgreetPage .op_contPop .contPop .popInBox {
  background: #fff;
}
.meetgreetPage .popInBox .date {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 40px;
}
.meetgreetPage .popInBox .thumb {
  border-radius: 20px;
  overflow: hidden;
}
.meetgreetPage .popInBox .thumb img {
  pointer-events: none;
}

.meetgreetPage.mgp .pictureBox .inBox {
  max-width: 1000px;
}
.meetgreetPage.mgp .pictureList {
  display: block;
}
.meetgreetPage.mgp .pictureList li {
  width: 100%;
}

/* 集合写真:SP-max-769 */
@media screen and (max-width: 769px) {
  .meetgreetPage .pictureBox .inBox {
    padding: 20px 0 40px;
  }
  .meetgreetPage .lead {
    text-align: left;
    font-size: 16px;
    padding: 0 20px;
  }
  .meetgreetPage .pictureList li {
    width: calc(50% - 5px);
    padding: 10px;
    margin: 0 0 10px;
  }
  .meetgreetPage .pictureList li .date {
    font-size: 12px;
    line-height: 1.3em;
  }
  .meetgreetPage .popInBox .date {
    font-size: 16px;
    margin: 0 0 20px;
  }
}
