@charset "utf-8";
/*  piapro _ Event detail _ SNOW MIKU 2026 */

/* SNOW MIKU 2026
-----------------------------*/
:root {
  --c-blu-drk: #20365a;
  --c-red-drk: #c34098;
  --c-sm26-red: #d2718a;
  --c-sm26-pink: #EF8FB4;
  --c-sm26-bwn: #855E66;
  --c-sm26-blu: #47c2cc;
  --c-sm26-yel: #ffee69;
  --c-sm26-link-def: #FFAE5E;
  --c-sm26-key-border: #ae838c;
  --c-sm26-news-bg-pnk: #f4b0c9;
  --c-sm26-news-bg-blu: #6eccd6;
  --c-sm26-article-fil: #EFE6D8;
  --c-sm26-txt-main: #6c727c;
  --c-sm26-txt-back: #C34098;
  --c-sm26-intro-bwn01: #9E7A7A;
  --c-sm26-intro-bwn02: #8e6a72;
  --c-sm26-bs-cmn: 0 0 7px 1px #efe6d8;
  /*font size*/
  --fs: min(2.114vw, 1rem);
  --rs: clamp(0.5rem, 1.042vw, 1rem);
}
/*-------------------------------
 base
---------------------------------*/
a {
  color: var(--c-sm26-link-def);
}
a:hover {
  color: var(--c-sm26-link-def);
  text-decoration: underline;
}
a.linkButton {
  width: min(94%,64rem);
  padding: calc(var(--fs) * 1.8) 1em;
  margin: 0 auto;
  background: var(--color-link-cmn);
  border-radius: calc(var(--fs) * 6);
  color: #fff;
  font-size: calc(var(--fs) * 1.6);
  text-align: center;
  display: block;
}
a.linkButton.linkButton-anchorLink {
  background: var(--color-link-cmn-pnk);
}
a.linkButton:hover {
  color: #fff;
  filter: brightness(1.1);
}
p:has(a.linkButton) {
  margin-top: 1.5em;
}
/*link banner*/
.link-bnr {
  margin: 0.5em auto;
  background: #fff;
  box-shadow: var(--c-sm26-bs-cmn) 
}
figure.link-bnr figcaption {
  padding: 0.5em 1em;
  color: var(--c-sm26-txt-main);
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 1.0);
  line-height: 1.4;
  text-align: left;
}
.link-bnr-arrw {
  padding: 0.5em;
  color: var(--c-sm26-link-def);
  font-weight: bold;
  display: inline-block;
}
.link-bnr-arrw::after {
  content: "\f054";
  margin-left: 0.25em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.link-pre {
  padding: 0.5em;
  color: var(--c-sm26-key-border);
  display: inline-block;
}
/*-------------------------------
 SNOW MIKU 2026 _ base
---------------------------------*/
#sm26Wrap {
  width: 100%;
  padding: calc(var(--rs) * 6) 0;
  background:
    url("/dd/special/piapro/image/event/ev_sm2026/bg_main03.png") 100% 60% / 100% auto repeat,
    url("/dd/special/piapro/image/event/ev_sm2026/bg_main02.png") 50% 50% / 100% auto repeat-y,
    url("/dd/special/piapro/image/event/ev_sm2026/bg_main01.png") 50% 50% / 100% auto repeat-y,
    #fefbf5
  ;
  color: var(--c-sm26-txt-main);
  font-family: "Zen Maru Gothic", "Noto Sans JP","sans-serif";
  line-height: 1.6;
  position: relative;
}
#sm26Wrap hr {
  width: 87.5%;
  height: calc(var(--fs) * 1);
  margin: calc(var(--fs) * 2) auto;
  background: url("/dd/special/piapro/image/event/ev_sm2026/line_pop.png") 0% 50% / contain repeat-x;
  border: none;
}
/*content*/
.sm26-content {
  width: min(100%, 96rem);
  margin: 0 auto;
  container-type: inline-size;
  position: relative;
}
.sm26-content + .sm26-content {
  margin-top: calc(var(--rs) * 2);
}
/*content wide*/
.sm26-content.content-wide {
  width: min(100%, 192rem);
  padding: 4% 6%;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  gap: 1%;
}
.cont-wide-left {
  width: clamp(12rem,100%, 34rem);
  margin-bottom: 2em;
  flex: 1 2 auto;
}
.cont-wide-right {
  width: min(100%, 128rem);
  flex: 2 1 auto;
}
/*content inner*/
.sm26-contentInner {
  width: min(100%, 120rem);
  padding: 0;
  margin: 0 auto;
}
.cont-container {
  padding: 0.5em 1em;
  background: #fff;
  border-radius: calc(var(--rs) * 2);
  box-shadow: var(--c-sm26-bs-cmn), var(--c-sm26-bs-cmn);
}
/*-------------------------------
 SNOW MIKU 2026 _ content
---------------------------------*/
/*event title*/
.sm2026-eventTitle {
  padding: calc(var(--rs) * 0.5) calc(var(--fs) * 1);
  margin: calc(var(--fs) * 1) auto;
  border-left: calc(var(--fs) * 1) solid var(--c-sm26-red);
  color: var(--c-sm26-red);
  font-size: calc(var(--fs) * 2.8);
  line-height: 1.2;
  text-align: left;
  position: relative;
}  
/*event intro*/
.sm2026-eventIntro {
  width: min(87.5%, 84rem);
  padding: 0;
  margin: calc(var(--fs) * 1) auto calc(var(--rs) * 2);
  font-size: calc(var(--fs) * 1.8);
  font-weight: normal;
  text-align: center;
  line-height: 1.6;
}
.sm2026-eventIntro em {
  margin-bottom: 0.5em;
  font-size: calc(var(--fs) * 2.3);
  font-weight: bold;
  display: inline-block;
}
.sm2026-eventIntro em span {
  font-size: 105%;
}
.sm2026-eventIntro i {
  font-size: 75%;
  position: relative;
  right: -0.25em;
  top: -0.125em;
}
.sm2026-eventIntro a {
  color: var(--c-sm26-link-def);
}
.sm2026-eventIntro a:hover {
  color: var(--c-sm26-link-def);
  text-decoration: underline;
}
/*-------------------------------
 SNOW MIKU 2026 _ event program
---------------------------------*/
/*content heading*/
.cont-heading {
  color: var(--c-sm26-intro-bwn02);
  font-family: "Arial", Gadget, "sans-serif";
  font-size: calc(var(--fs) * 0 + var(--rs) * 4);
  line-height: 1.1;
  text-align: left;
}
/*ep heading*/
.sm2026-epHeading {
  margin-bottom: 0.5em;
  color: var(--c-sm26-red);
  font-size: calc(var(--rs) * 4);
}
.sm2026-epHeading span {
  display: inline-block;
}
/*cont title*/
.cont-title {
  padding: 0.5em 0;
  margin-bottom: 0.25em;
  color: var(--c-sm26-red);
  font-size: calc(var(--fs) * 2);
  text-align: left;
}
.cont-title-tab {
  padding: 0.5em 0.75em;
  background: var(--c-sm26-red);
  border-radius: 5px;
  color: #fff;
  font-size: 93.75%;
  line-height: 1;
  display: inline-block;
}
.cont-title-text {
  margin: 0 0.5em;
  display: inline-block;
}
/*cont text*/
.cont-text {
  padding: 0.5em;
  margin: 0.5em 0 0;
  font-size: calc(var(--fs) * 1.6);
  font-weight: bold;
  text-align: left;
}
.text-note {
  padding-left: 1em;
  margin-top: 1em;
  color: var(--c-sm26-bwn);
  font-size: 87.5%;
  line-height: 1.3;
  text-indent: -1em;
  display: inline-block;
}
/*ep list*/
.sm2026-epList {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 2%;
}
.sm2026-epList > * {
  width: min(100%, 34rem);
  margin: 2% 0;
  flex: 1 1 auto;
}
/*ep link bnr*/
.sm2026-epList figure.link-bnr {
  margin-bottom: 0;
  box-shadow: none;
}
.sm2026-epList figure.link-bnr figcaption {
  padding: 0.5em;
  font-size: calc(var(--fs) * 1.6);
}
/*pre text*/
.sm2026-preText {
  margin: 1.5em auto 0.5em;
  color: var(--c-sm26-pink);
  font-size: min(5cqw, calc(var(--fs) * 3));
  font-weight: bold;
  text-align: center;
}
/*-------------------------------
 SNOW MIKU 2026 _ 雪ミク乗車券
---------------------------------*/
#yukimiku-ken-data {
  width: fit-content;
  margin: 1em 0;
  border-collapse: separate;
  border-spacing: 0.5em;
}
#yukimiku-ken-data th,
#yukimiku-ken-data td {
  line-height: 1.3;
}
#yukimiku-ken-data tr {
  padding-bottom: 0.5em;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}
#yukimiku-ken-data th {
  min-width: 5em;
  padding: 0.25em 0.5em;
  background: var(--c-sm26-txt-main);
  border-radius: 5px;
  color: #fff;
  font-size: calc(var(--fs) * 1.6);
  font-weight: normal;
  vertical-align: middle;
}
#yukimiku-ken-data td {
  padding: 0em 0.5em 0.25em;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
  text-align: left;
}