@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;
  --c-sm26-bg-color: #fefbf5;
  /*font style*/
  --ff-NtSnsJP: YakuHanJP, "Noto Sans JP", sans-serif;
  --ff-NtSrfJP: YakuHanMP, "Noto Serif JP", serif;
  --ff-YuMc: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  --ff-YuGtc: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif --ff-SwMc: 'Sawarabi Mincho', sans-serif;
  --ff-zenmaruG: "Zen Maru Gothic", "Noto Sans JP", "sans-serif";
  /*font size*/
  --fs: min(2.114vw, 1rem);
  --rs: clamp(0.5rem, 1.042vw, 1rem);
}
/*-------------------------------
 base
---------------------------------*/
#sm26Wrap a,
#DrsMiku20Wrap a,
#sm26Wrap p a,
#DrsMiku20Wrap p a {
  color: var(--c-sm26-link-def);
}
#sm26Wrap a:hover,
#DrsMiku20Wrap 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 {
  max-width: 960px;
  margin: 0.5em auto;
  background: #fff;
  /*box-shadow: var(--c-sm26-bs-cmn);*/
}
figure.link-bnr figcaption {
  padding: 0.5em  ;
  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 0;
  color: var(--c-sm26-link-def);
  display: inline-block;
}
.link-bnr-arrw--right::after,
.link-bnr-arrw--down::after {
  margin-left: 0.25em;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.link-bnr-arrw--right::after {
  content: "\f054";
}
.link-bnr-arrw--down::after {
  content: "\f078";
}
.link-pre {
  padding: 0.5em;
  color: var(--c-sm26-key-border);
  display: inline-block;
}
/*note list*/
ul.note-list {
  width: 98%;
  padding: 5px;
  margin: calc(var(--fs) * 2) auto 0;
  font-size: calc(var(--fs) * 1.4);
  line-height: 1.5;
  text-align: left;
}
dd > ul.note-list {
  padding: 5px 0 0;
  margin-top: 0.5em;
  font-family: var(--ff-NtSnsJP);
  font-weight: normal;
  text-align: justify;
}
/*-------------------------------
 SNOW MIKU 2026 _ base
---------------------------------*/
#sm26Wrap {
  width: 100%;
  padding: calc(var(--rs) * 6) 0 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,
    var(--c-sm26-bg-color)
  ;
  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;
}
#sm26SCepinfo { /*section _ イベントプログラムインフォメーション*/
  background: 
    linear-gradient(180deg, transparent 0%, transparent 85%, rgb(254 251 245 / 100%) 100%)
  ;
}
@media screen and (max-width: 1300px) {
  #sm26SCepinfo hr:last-child {
    display: none;
  }
}
#sm26SCdetails { /*section _ イベント詳細  */
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
}
@media screen and (min-width: 1300px) {
  #sm26SCdetails {
    background: 
      linear-gradient(180deg, rgb(254 251 245 / 100%) 0%, rgb(254 251 245 / 5%) 15%, transparent 50%, rgb(254 251 245 / 5%) 85%, rgb(254 251 245 / 100%) 100%),
      repeating-linear-gradient(90deg, #d9e5ef 0 calc(var(--rs) * 10),#ebfaef calc(var(--rs) * 11) calc(var(--rs) * 21),#d9e5ef calc(var(--rs) * 22))
    ;
    /*max-width: 2500px;*/
    /*background: 
      linear-gradient(180deg, rgb(254 251 245 / 100%) 0%, transparent 15%, transparent 85%, rgb(254 251 245 / 100%) 100%),
      url("https://snowmiku.com/2026//images/common/bg_patisserie_left.webp") 0 0 / auto 100% no-repeat fixed,
      url("https://snowmiku.com/2026//images/common/bg_patisserie_right.webp") right 0 / auto 100% no-repeat fixed
    ;*/
  }
}
/*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.8);
  font-weight: bold;
  text-align: left;
}
.cont-text + .cont-text {
  margin-top: 0;
}
.point {
  color: var(--c-sm26-red);
  text-indent: 0;
}
.text-note {
  padding: 0 1em;
  margin-top: 1em;
  color: var(--c-sm26-bwn);
  font-size: 87.5%;
  line-height: 1.3;
  text-indent: -1em;
  display: inline-block;
}
.cont-linkText {
  padding: 0 1em;
  margin-top: 0.5em;
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
  text-align: left;
}
.cont-text-center {
  text-align: center;
}
/*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;
}
/*-------------------------------
 SNOW MIKU 2026 _ イベント詳細
---------------------------------*/
.sm26-contBox {
  width: min(100%, 130rem);
  min-height: 100vh;
  padding: 4vh 4%;
  margin: 0 auto;
  margin-top: 4vh;
  background: var(--c-sm26-bg-color);
  border: calc(var(--rs) * 1) solid #bcaaaa;
  container-type: inline-size;
  font-weight: bold;
  position: relative;
}
@media screen and (min-width: 1300px) {
  .sm26-contBox {
    padding: 4%;
    margin-top: 0;
    border-top: none;
    border-bottom: none;
    border-image: linear-gradient(180deg, rgb(254 251 245 / 100%) 0%, #bcaaaa 15%, #bcaaaa 85%, rgb(254 251 245 / 100%) 100%) 1;
  }
}
.sm26-contBox .sm26-contentInner {
  padding: 4% 2%;
  border-radius: calc(var(--rs) * 10) calc(var(--rs) * 10) calc(var(--rs) * 2) calc(var(--rs) * 2);
}
.sm26-contBox .sm26-contentInner ~ .sm26-contentInner {
  margin-top: calc(var(--rs) * 8);
}

/*shop event content*/
.shopEvCont {
  margin-bottom: calc(var(--fs) * 4);
  position: relative;
}
.sm26-contBox .shopEvCont ~ .shopEvCont {
  margin-top: calc(var(--rs) * 6);
}
/*contents element*/
.sm26-contBox .cont-title {
  text-align: center;
}
/*contents local navi*/
.contNavi {
  padding: 0.5em;
  margin: calc(var(--rs) * 2) auto calc(var(--rs) * 4);
  /*background: #fefbf2;*/
  background: var(--c-sm26-link-def);
  border: 1px solid var(--c-sm26-link-def);
  border-radius: 5px;
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.contNavi li {
  padding: 0.5em;
}
#sm26Wrap .contNavi a {
  color: #fff;
}
#sm26Wrap .contNavi a:hover {
  opacity: 1;
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
/*shop event _ title*/
.shopEvCont-title {
  padding: calc(var(--rs) * 1) 5px;
  padding-left: 1.25em;
  margin: 1em 0 0;
  border-bottom: 2px solid var(--c-sm26-key-border);
  font-size: calc(var(--fs) * 2.4);
  line-height: 1.3;
  text-align: left;
  text-indent: -1em;
}
.shopEvCont-title::before {
  content: "●";
  margin-right: 0.25em;
  color: var(--c-sm26-key-border);
}
/*shop event _ data: table*/
table.shopEvCont-data {
  width: 100%;
  margin: 0 auto calc(var(--rs) * 2) -5px;
  /*background: #fff;*/
  /*border: 2px solid var(--c-sm26-txt-main);*/
  border-collapse: separate;
  border-spacing: 10px;
}
table.shopEvCont-data tr {
  padding-bottom: 0.5em;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}
table.shopEvCont-data th,
table.shopEvCont-data td {
  line-height: 1.3;
  position: relative;
}
table.shopEvCont-data th {
  width: 6em;
  padding: 0.25em 0.5em;
  /*background: var(--c-sm26-txt-main);
  border-radius: 5px;
  color: #fff;*/
  border: 1px solid var(--c-sm26-txt-main);
  color: var(--c-sm26-txt-main);
  font-size: calc(var(--fs) * 1.6);
  font-weight: bold;
  vertical-align: middle;
}
table.shopEvCont-data td {
  padding: 0.1em 0.5em 0.25em;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
  text-align: left;
}
/*table.shopEvCont-data tr ~ tr td::before {
  content: "";
  width: 100%;
  height: 0;
  border-top: 1px dashed var(--c-sm26-txt-main);
  position: absolute;
  left: 0;
  top: -1px;
}*/
/*shop event _ data: dl*/
dl.shopEvCont-data {
  width: 100%;
  padding: 0 5px;
  margin-top: 1.5em;
  text-align: left;
  position: relative;
}
dl.shopEvCont-data > dt {
  width: fit-content;
  padding: 0.25em 0.75em;
  margin-top: 3em;
  border: 1px solid var(--c-sm26-txt-main);
  color: var(--c-sm26-txt-main);
  font-size: calc(var(--fs) * 1.8);
  font-weight: bold;
}
dl.shopEvCont-data > dt:first-of-type {
  margin-top: 0;
}
dl.shopEvCont-data > dd {
  margin-top: 0.5em;
  padding: 0 0.5em;
  font-size: calc(var(--fs) * 2.2);
  font-weight: bold;
}
ul.shopEvCont-data-list {
  margin: 0 5px;
  font-weight: bold;
  list-style: disc;
  position: relative;
}
ul.shopEvCont-data-list li {
  margin: 0 1em;
  line-height: 1.3;
  text-align: left;
}
ul.shopEvCont-data-list li ~ li {
  margin-top: 0.75em;
}
/*-------------------------------
 SNOW MIKU 2026 _ イベント詳細 container
---------------------------------*/
.shopEvCont-container {
  margin-top: calc(var(--fs) * 2);
  display: flex;
  flex-flow: row wrap;
  gap: 2%;
}
.shopEvCont-img {
  width: min(100%, 32rem);
  max-width: 60rem;
  margin-bottom: 1em;
  flex: 1 1 auto;
}
.shopEvCont-text {
  width: min(100%, 32rem);
  flex: 1 1 auto;
}
.shopEvCont-text .cont-text {
  margin-top: 0;
}
/*-------------------------------
 SNOW MIKU 2026 _ 商品サムネイル
---------------------------------*/
.card-prdct-sm2026 {
  width: 100%;
  margin: 0 auto calc(var(--fs) * 2);
  justify-content: flex-start;
  gap: 2%;
}
.card-prdct-sm2026 li {
  border-top: 1px solid #CCBFAC;
  border-right: 1px solid #CCBFAC;
  border-left: 1px solid #CCBFAC;
  box-shadow: none;
}
.card-prdct-sm2026.clm3 li {
  width: 32%;
  margin: calc(var(--fs) * 2) auto;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .card-prdct-sm2026.clm3 li {
    width: 100%;
  }
}
#sm26Wrap .card-prdct-sm2026 a {
  color: var(--c-sm26-txt-main);
}
.card-prdct-sm2026 .card-prdct__title {
  padding: 0.5em;
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.3;
}
.card-prdct-sm2026 .card-prdct__price {
  padding: 0.5em;
  color: var(--c-sm26-red);
  font-size: calc(var(--fs) * 1.6);
  text-align: right;
}
.card-prdct-sm2026 .card-prdct__price small {
  font-size: 75%;
}
/*-------------------------------
  SNOW MIKU 2026 _ Official Goods
---------------------------------*/
.officialgoodsList {
  width: 102%;
  padding: 0;
  margin: calc(var(--rs) * 4) -1%;
  display: flex;
  justify-content: flex-start;
  flex-flow: row wrap;
}
.officialgoodsList dt {
  width: 98%;
  padding: 0.5em;
  margin: 0 auto 0.5%;
  background: #ccbfac;
  border-radius: calc(var(--rs) * 2) calc(var(--rs) * 2) 0 0;
  color: #fff;
  font-size: calc(var(--fs) * 2.4);
  font-weight: bold;
  line-height: 1.3;
  text-shadow: 0 0 1px #ab848c, 0 0 5px #ab848c;
}
.officialgoodsList dt ~ dt {
  margin-top: calc(var(--rs) * 4);
}
.officialgoodsList :is(dt, dd) {
  
}
.officialgoodsList dd {
  width: calc(100% / 4 - 2%);
  margin: 1%;
  background: #fff;
  border: 1px solid #ccbfac;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .officialgoodsList dd {
    width: calc(100% / 2 - 2%);
  }
}
.officialgoods {
  height: 100%;
  padding-bottom: 2em;
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  position: relative;
}
.officialgoods figcaption {
  width: 100%;
  padding: 0.5em 0;
  display: flex;
  flex-flow: column nowrap;
}
.goods-cpny {
  padding: 0 calc(var(--rs) * 1);
  color: #437fd3;
  font-size: calc(var(--fs) * 1.2);
  line-height: 1.3;
}
.goods-name {
  padding: 0 calc(var(--rs) * 1);
  margin-top: 0.25em;
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
  line-height: 1.5;
}
.goods-price {
  width: 100%;
  margin: auto 0 0;
  color: var(--c-sm26-red);
  font-size: calc(var(--fs) * 1.6);
  line-height: 1;
  text-align: right;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0.5em;
}
.goods-price small {
  font-size: 75%;
}
#sm26Wrap .officialgoodsList a {
  color: var(--c-sm26-txt-main);
}
/*-------------------------------
  Drs_Miku 20 _ 予約案内
---------------------------------*/
.preorderPoint {
  width: calc(98% - 6px);
  padding: calc(var(--rs) * 1) 0.5em;
  margin: calc(var(--rs) * 4) auto calc(var(--rs) * 1);
  background: var(--c-sm26-red);
  border: 2px solid #fff;
  color: #fff;
  font-size: calc(var(--fs) * 1.2 + var(--rs) * 1.2);
  font-weight: bold;
  line-height: 1.4;
  outline: 3px solid var(--c-sm26-red);
  text-align: center;
  display: block;
}
.preorderPoint.preorderPoint-textver {
  background: #fff;
  color: var(--c-sm26-red);
}