@charset "utf-8";
/*星響祭 イベントデザイン CSS*/
:root {
  /*color*/
  --c-inport: #d8001c;
  /*color event*/
  --c-ep-text01: #58403a;
  --c-ep-textTS: 2px 2px 2px rgb(0 0 0 / 80%);
  --c-ep-gld01: #f0dfaf;
  --c-ep-gld02: #b39e69;
  --c-ep-gld03: #e6d397;
  --c-ep-dolpa: #9f2a39;
  --c-ep-mado: #7b4638;
  --c-ep-sato: #627536;
  /*color gradient*/
  --gr-gld: #a67a35 0%, #eae8ae 7%, #d09e3e 9%, #a67a35 25%, #eae8ae 40%, #a67a35 45%, #d09e3e 65%, #eae8ae 70%, #a67a35 80%, #eae8ae 95%, #a67a35 99%;
}
/*-------------------------------
 elements
---------------------------------*/
/*ancher link*/
a[id]:not([href]) {
  height: calc(var(--height-hdr) + 5px);
  margin-top: calc(var(--height-hdr) * -1 - 5px);
  display: block;
  position: relative;
  z-index: -1;
}
/*venue color*/
.c-dolpa {
  background: var(--c-ep-dolpa);
  color: #fff;
}
.c-mado {
  background: var(--c-ep-mado);
  color: #fff;
}
.c-sato {
  background: var(--c-ep-sato);
  color: #fff;
}
/*point color*/
.tc-inport {
  /*color: #d8001c;*/
  text-shadow: 1px 1px 0 var(--c-inport), 0 0 1px var(--c-inport), 0 0 2px var(--c-inport), 0 0 3px var(--c-inport);
}
/*-------------------------------
 main
---------------------------------*/
main {
  position: relative;
}
@media screen and (orientation: landscape) {
  main {
    background: 
      linear-gradient(180deg, rgb(0 0 0 / 50%) 0%, rgb(0 0 0 / 50%) 100%),
      url(/event/seikyosai/image/bg_seikyosai.jpg) 50% 0 / 100% no-repeat,
      linear-gradient(180deg, rgb(1 1 1 / 100%) 0vh, rgb(1 1 1 / 100%) 100vh, transparent 30%),
      url(/event/seikyosai/image/bg_seikyosai.jpg) 50% 100% / 100% no-repeat fixed
    ;
  }
}
@media screen and (orientation: portrait) {
  main {
    background: 
      linear-gradient(180deg, rgb(0 0 0 / 50%) 0%, rgb(0 0 0 / 50%) 100%)/*,
      url(/event/seikyosai/image/bg_seikyosai.jpg) 50% 0 / auto 100vh no-repeat,
      linear-gradient(180deg, rgb(1 1 1 / 100%) 0vh, rgb(1 1 1 / 100%) 100vh, transparent 20%)*/
    ;
  }
  main::before {
    content: "";
    width: 100vw;
    height: 100vh;
    background: 
      url(/event/seikyosai/image/bg_seikyosai.jpg) 50% 0  / auto 100vh no-repeat
    ;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
  }
}
/*-------------------------------
 hero header
---------------------------------*/
#heroHeader {
  width: min(100%, 108rem);
  padding-top: calc(var(--height-hdr) + var(--rs) * 2);
  margin: 0 auto;
  text-align: center;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
}
@media screen and (orientation: portrait) {
  #heroHeader {
    min-height: 100vh;
    align-items: flex-start;
  }
  #mainLogo {
    align-self: center;
  }
  #mainText::after {
    content: "Scroll\A \002193";
    white-space: pre;
    width: 100%;
    color: var(--c-ep-gld01);
    font-size: calc(var(--rs) * 3);
    letter-spacing: 0.05em;
    display: block;
    position: relative;
    left: 0;
    bottom: calc(var(--rs) * -4);
    text-align: center;
    animation: ugoki 6s linear infinite alternate;
  }
}
@keyframes ugoki{
  0%{
      opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
/*main logo*/
#mainLogo {
  width: min(50%, calc(var(--rs) * 40));
  margin-bottom: calc(var(--fs) * -2);
  flex: 0 1 auto;
}
/*main text*/
#mainText {
  width: min(100%, calc(var(--rs) * 48));
  padding: 0 2%;
  text-shadow: 0 0 10px rgb(0 0 0 / 60%) , 0 4px rgb(0 0 0 / 60%) ,0 0 10px rgb(0 0 0 / 60%) , 0 0 4px rgb(0 0 0 / 60%) , 0 1px 4px rgb(0 0 0 / 60%);
  flex: 1 1 auto;
  container-type: inline-size;
}
.epMain-title {
  color: #e6d6b3;
  font-size: calc(var(--fs) * 4);
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  text-shadow: 0 0 10px rgb(0 0 0 / 90%);
  filter: drop-shadow(0 0 10px rgb(0 0 0 / 100%)) drop-shadow(0 0 10px rgb(237 222 192 / 100%)) drop-shadow(0 0 20px rgb(102 94 67 / 80%));
}
.epMain-title small {
  font-size: 50%;
  display: block;
}
.epMain-text {
  margin-top: 1em;
  font-size: 2.6cqw;
  letter-spacing: 0.05em;
  line-height: 2.4;
}
/*main schedule*/
#epMainSchedule {
  width: min(96%, 88rem);
  padding: 0;
  margin: 1em auto;
  border: 1px solid rgb(255 255 255 / 50%);
  border-left: none;
  border-right: none; 
}
#scheduleTable {
  border-collapse: separate;
  border-spacing: 0.5em;
  text-align: left;
}
.schdl-venue {
  font-size: calc(var(--rs) * 1.8);
  line-height: 1;
  text-shadow: none;
  white-space: nowrap;
}
.schdl-venue a {
  padding: 0.5em 1em;
  color: #fff;
  display: block;
}
.schdl-venue a.pre {
  pointer-events: none;
}
.venue-dolpa {
  background: var(--c-ep-dolpa);
}
.venue-mado {
  background: var(--c-ep-mado);
}
.venue-sato {
  background: var(--c-ep-sato);
}
.schdl-period {
  font-size: 3cqw;
}
.schdl-period b {
  font-size: 4cqw;
  margin-left: 0.25em;
}
.schdl-period small {
  font-size: 75%;
}
/*-------------------------------
 event program
---------------------------------*/
#eventProgram {
  position: relative;
}
#epList {
  width: min(98%, 108rem);
  margin: 2em auto;
  color: var(--c-ep-text01);
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 0.8);
  font-weight: bold;
  line-height: 1.3;
  text-align: left;
  display: flex;
  flex-flow: row wrap;
}
#epList div {
  min-width: 48%;
  margin: 0 auto 0 1%;
}
#epTitle {
  width: calc(var(--rs) * 45);
  position: absolute;
  left: calc(var(--fs) * -2.0 + var(--rs) * -4.2);
  top: calc(var(--rs) * -2.4);
}
#epList dd {
  margin: 1em 0;
  display: flex;
  flex-flow: row nowrap;
  gap: 0.5em;
}
#epList div ~ div dd:first-of-type {
  margin-top: 0;
}
.deco-frame {
  --rhombus-c1: #f5edd7;   /* 菱形（色A） */
  --rhombus-c2: #f9f4e1;   /* 背景（色B） */
  --rhombus-s: calc(var(--rs) * 10);       /* タイルサイズ（大きいほど菱形も大きく見える） */
  padding: calc(var(--rs) * 7) calc(var(--rs) * 5);
  padding-bottom: calc(var(--rs) * 5);
  background: 
    url("/event/seikyosai/image/deco_frame-top.png") 50% 0% / 100% no-repeat,
    url("/event/seikyosai/image/deco_frame-bottom.png") 50% 101% / 100% no-repeat,
    url("/event/seikyosai/image/deco_frame-body.png") 50% 50% / 100% repeat-y,
    linear-gradient(180deg, var(--rhombus-c2) -100%, transparent 100%),
    linear-gradient(45deg,  var(--rhombus-c1) 25%, transparent 25%) 0 0 / var(--rhombus-s) var(--rhombus-s),
    linear-gradient(135deg, var(--rhombus-c1) 25%, transparent 25%) 0 0 / var(--rhombus-s) var(--rhombus-s),
    linear-gradient(225deg, var(--rhombus-c1) 25%, transparent 25%) 0 0 / var(--rhombus-s) var(--rhombus-s),
    linear-gradient(315deg, var(--rhombus-c1) 25%, transparent 25%) 0 0 / var(--rhombus-s) var(--rhombus-s),
    var(--rhombus-c2)
  ;
  container-type: inline-size;
  position: relative;
}
#epList dd a {
  color: var(--c-ep-text01);
}
#epList dd a:hover {
  color: var(--c-ep-gld02);
  text-decoration: underline;
}
/*-------------------------------
 divide Into
---------------------------------*/
#divideInto {
  padding: calc(var(--rs) * 6) 2%;
  background: #061526 url(/sd/special/seikangakuryo/image/anv10th-bg.jpg) 50% 100%/ cover no-repeat;
  position: relative;
  z-index: 1;
}
.card-divide-into {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: min(100%,96rem);
  margin: 0 auto;
}
.card-divide-into > li {
  flex: 1;
  margin: calc(var(--rs) * 1.0);
}
.card-divide-into a {
  color: #FDD462;
  background: hsla(236, 74%, 4%, 0.5);
  display: block;
  position: relative;
  height: 100%;
  border: #FDD462 solid 1px;
  filter: drop-shadow(0 0 calc(var(--rs) * 1.0) rgb(255 255 255 / 25%));
}
.card-divide-into a.pre {
  pointer-events: none;
  cursor: default;
  color: #888;
  border-color: rgb(255 255 255 / 0);
  filter:none;
}
.card-divide-into a.pre::after {
  content: "Coming soon";
  white-space: pre;
  font-size: calc(var(--fs) * 1.4);
  text-indent: 0;
  text-align: center;
  height: 1.5em;
  line-height: 1.5em;
  display: inline-block;
  margin: 0 auto;
  padding: 0 1rem;
  position: absolute;
  right: 5px;
  top: -5px;
  background: #aaa;
  /*left: 50%;
  transform: translate(-50%,0);*/
  opacity: .7;
  color: #fff;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-shadow: 0 0 1px rgb(0 0 0 / 50%), 0 0 5px rgb(0 0 0 / 50%);
  bottom: calc(0% - 0.75em);
}
/*.card-divide-into a:not(.pre)::before,
.card-divide-into a:not(:hover)::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  border-right: 1px solid;
  border-bottom: 1px solid;
  position: absolute;
  bottom: -.6rem;
  right: -.6rem;
}*/
.card-divide-into a:hover {
  /*transform: translateY(.2rem) translateX(.2rem);*/
  opacity: 1;
  text-decoration: none;
  transition: all 0.2s ease 0s;
}
.card-bnr-box {
  max-width: 96rem;
  text-align: center;
  line-height: 1.4;
  /*filter: drop-shadow(0 0 calc(var(--rs) * 1.0) rgb(255 255 255 / 25%));*/
}
.card-bnr-box figcaption {
  padding: calc(var(--rs) * 1.0) 1rem;
  font-size: calc(var(--fs) * 1.5);
  /*background: linear-gradient(-45deg, #9a6c00 0%, #C59329 80%, #9a6c00 100%);
  color: #fff;*/
}
a.pre .card-bnr-box img {
  filter: grayscale(60%) opacity(40%);
}
a.pre .card-bnr-box figcaption {

}
/*-------------------------------
 event program contents
---------------------------------*/
#epContents {
  width: 100%;
  position: relative;
}
.epConts-detailWrap {
  width: min(100% , calc(96rem + 10px));
  padding-bottom: 5vh;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
@media screen and (orientation: landscape) {
  #EPno01 { order: 1;}
  #EPno02 { order: 2;}
  #EPno03 { order: 3;}
  #EPno04 { order: 4;}
  #EPno05 { order: 7;}
  #EPno06 { order: 6;}
  #EPno07 { order: 8;}
  #EPno08 { order: 5;}
  #EPno09 { order: 9;}
  #EPno10 { order: 10;}
}
/*event intro - title*/
#epContsTitle {
  width: 100%;
  padding: calc(var(--fs) * 3) 2%;
  margin: 0 auto;
  background: linear-gradient(90deg,rgb(0, 0, 0, 0.4),rgb(0, 0, 0, 0.4)),url(/sd/special/seikangakuryo/image/bg_header.jpg) 50% 0% / auto 135% repeat-x;
  box-shadow: 0 0px 5px -1px #7f4720;
  color: var(--c-ep-gld01);
  font-family: var(--ff-mincho);
  font-size: calc(var(--rs) * 3.8);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-shadow: 0 0px 5px #000, 0 1px 1px #000;  
  position: relative;
  z-index: 1;
  /*ロゴあり
  display: flex;
  align-items: center;
  justify-content: center;*/
}
/*#epContsTitle .logo {
  width: min(16%, calc(var(--fs) * 10));
  padding: 0;
  margin-right: calc(var(--rs) * 2);
  filter: drop-shadow(0 0 3px #000);
  display: inline-block;
  position: relative;
}*/
.epContsTit-sub,
.epContsTit-intro {
  display: inline-block;
  position: relative;
}
.epContsTit-sub {
  font-size: 75%;
  top: -0.125em;
}
.epContsTit-intro {
  margin-top: 0.25em;
  font-size: 87.5%;
}
#epContsTitle::after {
  content: "";
  width: 100%;
  height: calc(100% - 16px);
  border: calc(var(--rs) * 0.3) double var(--c-ep-gld02);
  border-left: none;
  border-right: none;
  outline: 1px solid var(--c-ep-gld02);
  position: absolute;
  left: 0;
  top: 8px;
}
/*-------------------------------
 event program detail
---------------------------------*/
.ep-contDetail {
  width: min(98% , calc(96rem + 10px));
  padding-top: calc(var(--rs) * 2);
  padding-bottom: 1px;
  margin: 0 1%;
  margin-top: calc(var(--rs) * 4);
  background: rgb(5 60 140 / 50%);
  border-width: 5px;
  border-style: solid;
  border-image: linear-gradient(135deg, var(--gr-gld)) 30;
  container-type: inline-size;
}
.ep-contDetail.contDetail-half {
  width: min(100% , calc(34rem + 10px));
  flex: 1 1 auto;
}
.ep-contDetail > *:not(.ep-detail):last-child {
  margin-bottom: 4% !important;
}
.ep-header {
  padding: 0% calc(var(--rs) * 2) 2%;
  display: flex;
  flex-flow: row nowrap;
  column-gap: calc(var(--rs) * 2);
}
.ep-header > span {
  display: block;
}
.ep-no {
  width: min(20%, calc(var(--fs) * 2 + var(--rs) * 4));
  margin-top: calc(var(--rs) * 0.8);
  flex: 0 0 auto;
}
.ep-headerin {
  flex: 1 1 auto;
}
.ep-title {
  font-size: calc(var(--rs) * 3.6);
  line-height: 1.3;
  text-shadow: var(--c-ep-textTS);
}
.contDetail-half .ep-title {/*half size column*/
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 2.0);
}
.ep-title > small {
  font-size: calc(var(--fs) * 1.8);
}
.ep-venue {
  margin-top: calc(var(--fs) * 1);
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  column-gap: calc(var(--fs) * 1);
}
.ep-venue li {
  width: min(25%, 10rem);
}
/*ep pic*/
.ep-pic {
  width: fit-content;
  margin: 0 auto 1em;
}
.pic-mask img {
    mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
}
.pic-mask-top img {
    mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 100%);
}
.pic-mask-btm img {
    mask-image: linear-gradient(to bottom, black 0%, black 90%, transparent 100%);
}
/*ep detail*/
.ep-detail {
  padding: 0 calc(var(--rs) * 2) 2%;
  font-family: var(--ff-Mpuls);
  font-size: calc(var(--fs) * 1.8);
  font-weight: normal;
  letter-spacing: 0.05em;
  flex: 1 1 auto;
  container-type: inline-size;
}
.ep-text {
  padding: 0 1%;
  margin: 0 auto 1em;
  line-height: 1.5;
  text-shadow: var(--c-ep-textTS);
}
.ep-text-point {
  padding: 0 0.25em;
  margin-bottom: 1.5em;
  font-family:var(--ff-zenKurenaido);
  font-size: calc(var(--fs) * 1.7);
  letter-spacing: normal;
  text-align: center;
  transform: rotate(-1deg);
}
/*note list*/
.note {
  width: 100%;
  padding: 0 1%;
  margin: 1em auto 0;
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.4);
  text-align: left;
  position: relative;
}
.ep-contDetail > .note {
  width: 96%;
  margin: 1em auto 2%;
  
}
.note > * {
  padding-left: 1em;
  line-height: 1.4;
  text-indent: -1em;
}
.note > * + * {
  margin-top: 0.5em;
}
/*detail venue*/
table.ep-detail-info {
  width: 96%;
  margin: 0 auto;
  border: 1px solid #090b18;
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.6);
  text-shadow: var(--c-ep-textTS);
}
table.ep-detail-info tr:nth-child(2n - 1) {
  background: rgb(0 0 0 / 30%);
}
table.ep-detail-info tr:nth-child(2n) {
  background: rgb(0 0 0 / 40%);
  border: 1px solid #090b18;
  border-right: none;
  border-left: none;
}
table.ep-detail-info th {
  width: calc(var(--fs) * 6.5 + var(--rs) * 6);
  padding: calc(var(--rs) * 0.5) 0;
  vertical-align: top;
}
table.ep-detail-info td {
  padding: 0.5em 0.5em 0.75em 0.5em;
}
table.ep-detail-info th + td {
  width: calc(100% - var(--fs) * 6.5 - var(--rs) * 6);
}
.detail-info-data {
  line-height: 1.4;
  position: relative;
}
.detail-info-data li {
  margin: 0.75em 0 0.25em;
  display: flex;
  flex-flow: row nowrap;
  text-align: left;
  align-items: flex-start;
}
.detail-info-data li span:first-of-type {
  flex: 0 0 auto;
}
.detail-info-data li span:first-of-type::after {
  content: "：";
  margin: 0 0.25em;
}
  .detail-info-data li span:first-of-type {
    color: var(--c-ep-gld03);
  }

.detail-info-data li span + span {
  flex: 1 1 auto;
}
p.info-data-link {
  text-align: right;
}
a.link-venue-detail {
  padding: 0.5em 1em;
  background: var(--color-link-nml);
  border-radius: 2em;
  box-shadow: 2px 2px 4px rgb(0 0 0 / 50%);
  color: #fff;
  font-size: calc(var(--fs) * 1.4);
  line-height: 1;
  text-align: center;
  text-shadow: -1px -1px 2px rgb(0 0 0 / 20%);
  display: inline-block;
}
a.link-venue-detail:hover {
  background: var(--color-link-nml-hover);
}
/*ep content column*/
.ep-contClm {
  display: flex;
}
.clm-row {
  flex-flow: row wrap;
}
.clm-column{
  flex-flow: column wrap;
}
.clm-row .ep-detail {
  width: min(100%, 36rem);
}
.clm-row .ep-detail-info {
  width: 100%;
}
@media screen and (max-width: 767px) {
  /*.detail-info-data li {
    flex-direction: column;
  }
  .detail-info-data li span:first-of-type::after {
    all: initial;
  }*/
  table.ep-detail-info th,
  table.ep-detail-info td {
    padding-top: 0;
    display: block;
  }
  table.ep-detail-info td {
    padding-left: 1em;
  }
  table.ep-detail-info th + td {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  @container (max-width: 500px) {
    table.ep-detail-info th,
    table.ep-detail-info td {
      padding-top: 0;
      display: block;
    }
    table.ep-detail-info td {
      padding-left: 1em;
    }
    table.ep-detail-info th + td {
      width: 100%;
    }
  }
}
/*item spec*/
table.specTable {
  width: min(96%, 90rem);
  margin: 1em auto;
  background: #fff;
  border-collapse: separate;
  border-spacing: 5px;
  color: #333;
}
table.specTable caption {
  width: 100%;
  padding: 0 5px calc(var(--fs) * 1.4);
  color: #fff;
  font-family: var(--ff-NtSrfJP);
  font-size: calc(var(--fs) * 0.8 + var(--rs) * 1.4);
  line-height: 1.2;
  text-align: left;
  text-shadow: var(--c-ep-textTS);
  position: relative;
}
table.specTable caption span {
  margin-bottom: 0.25em;
  display: block;
}
table.specTable caption b {
  margin: 0;
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 1.6);
  font-weight: bold;
}
table.specTable caption small {
  font-weight: normal;
  display: inline-block;
}
#img-bag {
    width: 20cqw;
    position: absolute;
    right: 0;
    top: -8cqw;
}
table.specTable tr {
  padding-bottom: calc(var(--fs) * 0.5);
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-start;
}
table.specTable tr:has(td[colspan]) {
  padding-bottom: 0;
}
table.specTable th,
table.specTable td {
  padding: calc(var(--fs) * 0.5) 0;
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.6);
  font-weight: normal;
  line-height: 1.6;
}
table.specTable th {
  max-width: 7em;
  background: #595757;
  border-radius: 3px;
  color: #fff;
  font-size: calc(var(--fs) * 1.2);
  text-align: center;
  position: relative;
  flex: 0 1 25%;
}
table.specTable th:empty {
  background: none;
}
table.specTable td {
  padding-top: 0;
  font-weight: bold;
  flex: 1 1 80%;
}
table.specTable td:not([colspan]) {
  padding-left: 1em;
  text-align: left;
}
table.specTable td[colspan] {
  padding: 0;
  flex-basis: auto;
}
table.specTable td.spec-price {
  padding-top: 0;
  line-height: 1.2;
}
.price-tax {
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
  vertical-align: text-top;
}
.price-tax small {
  font-size: calc(var(--fs) * 1.4);
}
/*content description*/
.cont-description {
  width: 96%;
  padding: 0.5em 0.75em;
  margin: 1em auto 1em;
  background: #fff;
  box-shadow: 2px 2px 2px rgb(0 0 0 / 50%);
  color: #333;
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.4);
  line-height: 1.5;
}
.cont-description > dt {
  font-size: calc(var(--fs) * 1.6);
  font-weight: bold;
}
/*info detail _ not table*/
div.ep-detail-info {
  width: 96%;
  padding: 0.5em 1em;
  margin: 0 auto;
  background: rgb(0 0 0 / 30%);
}
/*nana no kai*/
.ep-hana-month {
  margin: 1em 0;
  font-family: var(--ff-NtSrfJP);  
  font-size: calc(var(--fs) * 2.4);
  font-weight: bold;
  text-shadow: var(--c-ep-textTS);
}
.hana-entrancefee {
  width: 100%;
  margin: 0 auto;

  border: 2px solid var(--c-ep-text01);
  color:  var(--c-ep-text01);
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.6);
}
.hana-entrancefee caption {
  padding: 0.5em 0;
  color: var(--c-ep-gld03);
  line-height: 1;
  text-align: left;
}
.hana-entrancefee th,
.hana-entrancefee td {
  padding: 0.5em;
  background: #fff;
  border-bottom: 1px solid  var(--c-ep-text01);
  line-height: 1.3;
  vertical-align: middle;
}
.hana-entrancefee th {
  text-align: left;
}
.hana-entrancefee td {
  text-align: right;
  white-space: nowrap;
}
.hana-entrancefee td b {
  font-size: 112.5%;
  margin: 0 0.2em;
}
/*ep hashtag*/
.ep-hashtag {
  color: var(--c-ep-gld03);
}
/*ep theme*/
.ep-inframe {
  width: min(100%, 68rem);
  background: #fff;
  margin: 1em 0;
  border-width: 3px;
  border-style: solid;
  border-image: linear-gradient(135deg, var(--gr-gld)) 10;
  color: #333;
}
.ep-theme {
  font-family: var(--ff-yugothic);
  font-size: calc(var(--fs) * 1.6);
  font-weight: bold;
}
.ep-theme th,
.ep-theme td {
  padding: 0.5em 1em;
  vertical-align: middle;
}
.ep-theme th {
  width: 38%;
  background: var(--c-ep-dolpa);
  color: #fff;
  font-weight: normal;
}
/*-------------------------------
 SNS campaign _ overwrite
---------------------------------*/
#snsCamp-wrap {
  width: 96% !important;
  padding: 1% !important;
  margin: 0 auto 2% !important;
  background: rgb(0 0 0 / 30%);
}
#snsCampOutline {
  margin-top: 0 !important;
  background: #fff !important;
  color: var(--c-ep-text01) !important;
}
.outline-sns {
  margin-bottom: 0 !important;
}
.outline-sns:first-of-type::before {
  all: initial !important;
}
#campTerms {
  margin-bottom: 0 !important;
  color: #000 !important;
}
.termsConts-sctn > ul {
  margin: 1em 0.5em 0;
}
.snsLinkContainer {
  margin-top: calc(var(--rs) * 3) !important;
}
/*-------------------------------
 Footer Link _ page top
---------------------------------*/
.pagetop__btn {
  background: #000;
  border-top: 1px solid;
  border-image: linear-gradient(to right, #2B1C0D 0%, #C0974D 40%, #DDDA9D 50%, #C0974D 60%, #2B1C0D 100%);
  border-image-slice: 1;
  color: var(--c-ep-gld01);
  font-family: var(--ff-meiryo);
}
a.pagetop__btn:hover {
  color: var(--c-ep-gld02);
}
/*-------------------------------
 Footer Navi _ SNS Links
---------------------------------*/
.footer-navi {
  --color-link-cmn: #78162C;
  background: linear-gradient(90deg, rgba(0, 50, 100, .3) 25%, rgba(0, 50, 100, .5), rgba(0, 50, 100, 0.3) 75%), url(/sd/special/seikangakuryo/image/bg_ptn02.jpg) top center repeat;
  font-family: var(--ff-meiryo);
}
.footer-navi a {
  color: #000;
}
.footer-navi .navi-offl__btn {
  background: rgb(255 255 255 / 40%);
  color: #eee;
}
.banner-sns__main > li > a {
  color: var(--c-ep-gld01);
}
.banner-sns__main > li > a:hover {
  color: var(--c-ep-gld02);
}
.footer-navi a:hover,
.footer-navi .navi-offl__btn:hover {
  color: var(--c-ep-gld02);
  text-decoration: none;
}
/*-------------------------------
 Footer
---------------------------------*/
footer {
  background: #000;
  color: #fff;
  font-family: var(--ff-meiryo);
}