@charset "utf-8";
/*星響祭 イベントスタイル CSS*/

:root {
  --c-brw01: #694A44;/*overwrite*/
  --bs-cmn:0 0.2rem 0.3rem 0.1rem rgba(50,50,50,0.1);
  --c-red-1: #a20005;
  --c-red-2: #a01f28;
  --c-brw-1: #957d71;
  --c-brw-2: #43201a;
  --c-brw-3: #8a7569;
  --c-gld-1: #e1be69;
  --c-gld-2: #ac8828;
  --c-ylw-1: #fff800;
  --c-pnk-1: #F091A0;
  --c-pnk-2: #dd6164;
  --color-link-nml: #27abdc;
  --color-link-cmn-hover: #0749d1;
  --ff-meiryo: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif;
  --ff-mincho: "游明朝体", YuMincho, "游明朝 Medium", "Yu Mincho Medium", "游明朝", "Yu Mincho", serif;
  --ff-gothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --ff-yugothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --ff-notoserif: 'Noto Serif JP', cursive, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  --ff-NtSnsJP: YakuHanJP, "Noto Sans JP", sans-serif;
  --ff-NtSrfJP: YakuHanMP, "Noto Serif JP", serif;
  --ff-metal: 'Metal', cursive, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  --ff-zenmaruG: "Zen Maru Gothic", "Noto Sans JP", "sans-serif";
  --ff-zenKurenaido: "Zen Kurenaido", sans-serif;
  --ff-Mpuls: "M PLUS Rounded 1c", sans-serif;
  --ff-sawarabiMin: 'Sawarabi Mincho', sans-serif;
  /*header */
  --height-hdr: calc(var(--rs) * 6);
}
/*font face*/
@font-face {
  font-family: "wf-tegaki";
  src: url("/assets/fonts/HuiFontP29.eot");/*For IE*/
  src: url("/assets/fonts/HuiFontP29.woff") format("woff"),/*For Modern browser*/
    url("/assets/fonts/HuiFontP29.ttf") format("truetype");/*For iOS Android*/
}
.wf-tegaki {
  font-family:"wf-tegaki";
}
/* 全ての要素 _ box sizing = border-box 指定 */
*, *::before, *::after { /* box-sizing all */
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html { font-size: 62.5%; }
body {
  background: rgb(1 1 1 / 100%);
  color: #fff;
  font-family: var(--ff-NtSrfJP);
  font-size: calc(var(--fs) * 1.6);  
  font-weight: 500;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%; /* SmartPhone表示用 */
}
/*@media screen and (orientation: landscape) {
  body {
    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,
      #010101
    ;
  }
}
@media screen and (orientation: portrait) {
  body {
    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,
      #010101
    ;
  }
}*/
/*-------------------------------
 base: ;
---------------------------------*/
img {
  max-width:100%;
  height:auto;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: var(--color-link-nml);
}
a:focus, *:focus {
  outline: none;
}
a:hover > img[src$=".png"] {
  opacity: 1;
  filter: brightness(1.1);
}
/*anchor link margin
a[id]:not([href]) {
    height: calc(var(--rs) * 4);
    margin-top: calc(var(--rs) * -4);
    display: block;
}*/
/* Link - Button */
.link-btn {
  width: min(64rem, 90%);
  padding: 2rem 3.4rem;
  margin: 1.5rem auto;
  background: var(--color-link-cmn);
  border-radius: 0.5rem;
  color: var(--color-white);
  text-align: center;
  display: inline-block;
  position: relative;
}
.link-btn:hover {
  color:  var(--color-white);
  text-decoration: none;
  filter: brightness(1.2);
}
.link-btn::after {
  content:"";
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-left-color: var(--color-white);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -0.5rem;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
/* Link Button */
a.lnkBtn,
a.lnkBtnFB,
a.lnkBtnIG {
  line-height: 1.2;
  padding:1rem 1.5rem;
  margin:2rem 4rem;
  position:relative;
  background:#68B7BB;
  color:#fff;
  text-align:center;
  border-radius:.5rem;
  box-shadow:0 .1rem .1rem -.1rem rgba(50,50,50,0.4);
  clear:both;
  display:inline-block;
}
a.Pre {
  background-color: #666;
  pointer-events: none;
  cursor: default;
}

a.lnkBtn {  }
a.lnkBtn:hover,
a.lnkBtnFB:hover,
a.lnkBtnIG:hover {
  filter: brightness(1.1); transition: all .2s; text-decoration:none;
}
a.lnkBtn.mrknxt:after { color: #fff;
  content: ">";
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  position:absolute; right:1rem; top:50%;
  margin-top:-0.5em;
}
a.lnkBtn.mrkdwn:after { color: #fff;
  content: "▼";
  position:absolute; right:1rem; top:50%;
  margin-top:-0.5em;
}
a.lnkBtn.mrkext:after { color: #fff;
  content: url(/assets/image/icons/ic_ext_wht.png);
  position:absolute; right:1rem; top:50%;
  margin-top:-0.5em;
}
a.lnkBtnFB,
a.lnkBtnIG { width: 80%; padding: 1.5rem 4rem; margin:4rem auto; display:block; font-size: var(--fs-xl); letter-spacing:0.05em;}
a.lnkBtnFB { background:url(/assets/image/icons/ic_snslogo_fb_wht_w20.png) 1rem 45% no-repeat , url(/assets/image/icons/ic_ext_wht.png) calc(100% - 1rem) 47% no-repeat , #5679aa; }
a.lnkBtnIG { background:url(/assets/image/icons/ic_snslogo_ig_clr_w20.png) 1rem 45% no-repeat , url(/assets/image/icons/ic_ext_wht.png) calc(100% - 1rem) 47% no-repeat , #5679aa; }

/* Link - Text  */
.link-text {
  padding: 0 0.25em;
  background: rgb(255 255 255 / 80%);
  border-radius: 3px;
}
/* Link - Text _ Deco -- More */
.link-text__deco--more {
  padding-right: 1em;
}
.link-text__deco--more::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin: 0 0 0 1rem;
  border:  0;
  border-top: 0.2em solid;
  border-right: 0.2em solid;
  display: inline-block;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: -0.1em;
}
.link-text__deco--more:hover::after {
}

/* Link - Text _ Deco -- SP Website */
.link-text__deco--spsite {
  padding: 0.5rem 2.6rem 0.5rem 2rem;
  margin: 1rem;
  background: var(--color-link-cmn);
  border-radius: 5px;
  color: var(--color-white);
  text-align: center;
  display: inline-block;
  position: relative;
} 
.link-text__deco--spsite:hover {
  color:  var(--color-white);
  text-decoration: none;
  filter: brightness(1.2);
}
.link-text__deco--spsite::after {
  content:"";
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-left-color: var(--color-white);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -0.5rem;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

/*Font_Size*/
small,em {
  font-weight: inherit;
}
/*Font_Color*/
.fc-red {
  color: #EC0003;
}
.fc-note {
  color: #ba2636;
}
.tc-green {
  color: #8a902d;
}
.tc-brwn {
  color: #8c6450;
}
.keisen {
  /*text-decoration:line-through;*/
  display: inline-block;
  margin-left: .2em;
  letter-spacing: -.1rem;
  font-weight: normal !important;
  transform: rotate(0);
}
.marker_pnk {
  background: linear-gradient(transparent 60%, #ffdbed 60%);
  }
.marker_blue {
  background: linear-gradient(transparent 60%, #ccf4ff 60%);
  }
.marker_ylw {
  background: linear-gradient(transparent 60%, #FDEDB1 60%);
  }
.marker_yellow	{
  background: linear-gradient(transparent 60%, #FFF55D 60%);
  }
.marker_blw	{
  background: linear-gradient(transparent 90%, #8c6450 90%);
  }
.marker_thin_red {
  color: #e03;
  background: linear-gradient(transparent 90%, #e03 90%);
}
.pagetop__btn {
  background: var(--color-link-cmn);
}
footer {
  background: var(--color-sc-light);
}
/*-------------------------------
 Copy:common:base.css
---------------------------------*/
/*Link - Text _ Deco -- Triangle*/
.link-text__deco--triangle::before {
  content:"";
  width: 0;
  height: 0;
  border: 0.4em solid transparent;
  border-left-color: var(--color-sc-light);
  margin: 0;
  display: inline-block;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
a:hover .link-text__deco--triangle::before {
  border-left-color: var(--color-link-cmn-hover);
}
/*Link - Text _ Deco -- More*/
.link-text__deco--more {
  padding-right: 1em;
}
.link-text__deco--more::after {
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin: 0 0 0 1rem;
  border:  0;
  border-top: 0.2em solid;
  border-right: 0.2em solid;
  display: inline-block;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: relative;
  top: -0.1em;
}
.link-text__deco--more:hover::after {
 
}
/*Link - Text _ Deco -- SP Website*/
.link-text__deco--spsite {
  padding: 0.5rem 2.6rem 0.5rem 2rem;
  margin: 1rem;
  background: #68b7bb;
  border-radius: 5px;
  color: var(--color-white);
  text-align: center;
  display: inline-block;
  position: relative;
} 
.link-text__deco--spsite:hover {
  color:  var(--color-white);
  text-decoration: none;
  filter: brightness(1.2);
}
.link-text__deco--spsite::after {
  content:"";
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-left-color: var(--color-white);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -0.5rem;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
p.lnkPtop {
  padding: 0 2%;
  margin: calc(var(--fs) * 4) auto calc(var(--rs) * 2);
  font-size: calc(var(--fs) * 1.4);
  font-weight: bold;
  font-style: normal;
  filter: drop-shadow(2px 2px 4px rgb(0 0 0 / 60%));
}
/*-------------------------------
  共通：特設サイト関連リンク
---------------------------------*/
.rerated-link {
  width: min(90%, 80rem);
  padding: 0;
  margin: calc(var(--rs) * 6) auto calc(var(--rs) * 2);
  background: var(--color-white);
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.4);
  color: var(--color-link-cmn);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.rerated-link::hover {
  color: var(--color-link-cmn-hover);
  text-decoration: none;
}
  .rerated-link__banner {
  max-width: 50%;
  object-fit: contain;
}
.rerated-link__text {
  margin: 0 auto;
  padding: 0 1em;
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.5;
  text-align: center;
}
.txt--read {
  line-height: 1.6;
  margin: 2rem auto 1rem;
  padding: 0;
}
/*link banner*/
.ar-banner {
  max-width: 80rem;
  padding: 0 0 1rem;
  margin: 2rem auto;
  font-size: var(--fs-xl);
  text-align: center;
  display: block;
}
/*link shop link*/
.ar-shoplink {
  max-width: 90%;
  padding: 0;
  margin: 2rem auto;
  background: var(--color-white);
  box-shadow: 0 0 .5rem 0 rgba(166,154,152,0.9);;
  /*Flex - parent*/
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ar-shoplink__banner {
  max-width: 40%;
}
.ar-shoplink__text {
  margin: 0 auto;
  line-height: 1.2;
  padding: 0.8rem;
}
/*-------------------------------
 SNSでシェア！
---------------------------------*/
.sns_share_wrap {
  width: min(92%, 72rem);
  padding: calc(var(--fs) * 1) calc(var(--rs) * 1);
  margin: calc(var(--rs) * 6) auto calc(var(--fs) * 1) 4%;
  background: #fff;
  background: rgb(256 256 256 / 95%);
  border: 3px solid #fff;
  box-shadow: 0 0 0 3px #8a7569, 0 0 0 1px #8a7569 inset, 0 2px .4px 0 rgba(50 50 50 / 40%);
  position: relative;
}
.sns_share {
  position: relative;
  padding-left: calc(var(--fs) * 7);
}
.sns_share strong {
  display: inline-block;
}
.hashtag-word {
  color: #ee4a6f;
}
.sns_share-komame {
  position: absolute;
  bottom: calc(var(--fs) * -1 + 1px);
  left: calc(var(--fs) * -2);
  width: calc(var(--fs) * 8);
}
.sns_share-icon {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
}
i.sns_share-icon {
  font-size: calc(var(--fs) * 2.4);
}
i.fa-x-twitter {
  color: #000;
}
/*Event Detail _ 枠付き白ボックス
-----------------------------*/
.txtBox {
  width: min(calc(94% - 6px), 92rem);
  padding: calc(var(--rs) * 1);
  margin: calc(var(--rs) * 1) auto;
  background: #fff;
  background: rgb(256 256 256 / 95%);
  border: 3px solid #fff;
  box-shadow: 0 0 0 3px #8a7569, 0 0 0 1px #8a7569 inset, 0 2px .4px 0 rgba(50 50 50 / 40%);
  position: relative;
}
.text + .txtBox {
  margin-top: 1em;
}
div.txtBox > dl {
  padding: calc(var(--rs) * 1);
}
div.txtBox > * + dl {
  padding-bottom: 0;
  margin-top: 0.5em;
  border-top: 1px solid #dfd3cd;
}
div.txtBox > dl em {
  font-size: calc(var(--fs) * 1.8);
}
div.txtBox > dl > dt {
  font-size: calc(var(--fs) * 1.7);
}
div.txtBox > dl > dt > b {
  color: var(--c-brw01);
}
div.txtBox > dl > dt.bgBlwn {
  padding: calc(var(--fs) * 0.8) calc(var(--fs) * 0.5);
  background: #876;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: center;
}
div.txtBox > dl > dd {
  font-size: calc(var(--fs) * 1.5);
}
div.txtBox > dl > dd:not(last-og-type) {
  margin-bottom: calc(var(--fs) * 0.5);
}
div.txtBox > dl > dd.note {
  padding: 0 1em;
  text-indent: -1em;
  font-size: calc(var(--fs) * 1.4);
}
div.txtBox > dl > dd .list-th {
  display: table-cell;
  white-space: nowrap;
}
div.txtBox > dl > dd .list-td {
  display: table-cell;
}
div.txtBox > h4 {
  font-size: calc(var(--fs) * 1.2);
  padding: calc(var(--fs) * 0.5) calc(var(--fs) * 1);
}
div.txtBox > p {
  font-size: calc(var(--fs) * 1.5);
}
div.txtBox > p b {
  font-size: calc(var(--fs) * 1.7);
  display: inline-block;
}
div.txtBox table {
  margin: 0;
}
div.txtBox table caption {
  width: 100%;
  padding: calc(var(--fs) * 0.5) calc(var(--fs) * 1);
  margin-bottom: calc(var(--fs) * 0.5);
  background: #fed1d1;
  font-size: calc(var(--fs) * 1.7);
}
div.txtBox table th, div.txtBox table td {
  padding: calc(var(--fs) * 0.5) calc(var(--fs) * 1);
}
div.txtBox table th {
  font-weight: normal;
  white-space: nowrap;
}
div.txtBox table td::before {
  content: "：";
  margin-left: -1em;
  margin-right: 0.5em;
}
div.txtBox > hr {
  padding: calc(var(--rs) * 0.5) 0;
  width: 95%;
}
/*Event Detail _ flex Column
-----------------------------*/
.flex_clm_change {
  width: min(100%, 92rem);
  margin: calc(var(--rs) * 2) auto calc(var(--fs) * 1);
  display: flex;
  flex-direction: row;
  justify-content: center;
  -webkit-box-pack: justify;
}
.clm_10 {
  width: 10%;
}
.clm_20 {
  width: 20%;
}
.clm_30 {
  width: 30%;
}
.clm_40 {
  width: 40%;
}
.clm_50 {
  width: 50%;
}
.clm_60 {
  width: 60%;
}
.clm_70 {
  width: 70%;
}
.clm_80 {
  width: 80%;
}
.clm_90 {
  width: 90%;
}
.TxtArea, .PicArea {
  position: relative;
}
.flex_clm_change div.TxtArea {
  padding: 0 1%;
  margin: 0 auto calc(var(--rs) * 1);
  text-align: left;
}
.flex_clm_change div.TxtArea > .text:first-of-type {
  margin-top: 0;
}
.flex_clm_change div.PicArea {
  text-align: center;
}
.flex_clm_change div.PicArea img.ThumPic {
  max-width: 100%;
  box-shadow: .1rem .1rem .5rem 0 rgba(50, 50, 50, 0.4);
}
.flex_clm_change div.txtBox {
  width: min(calc(100% - 6px), 92rem);
}
.flex_clm_change.flex_re {
  flex-direction: row-reverse;
}
.flex_clm_change.flex_re div.TxtArea {
  padding-left: 1vw;
}
@media screen and (max-width: 640px) {
  .flex_clm_change:not(.flex_row),
  .flex_clm_change.flex_re {
    flex-direction: column;
  }
  .clm_10,.clm_20,.clm_30,.clm_40,.clm_50,.clm_60,.clm_70,.clm_80,.clm_90 {
    width: 100%;
    margin: calc(var(--rs) * 1) auto;
  }
  .flex_clm_change div.PicArea {
    width: 100%;
  }
  .flex_clm_change div.TxtArea,
  .flex_clm_change.flex_re div.TxtArea {
    margin-top: calc(var(--fs) * 1);
  }
  .flex_clm_change div.PicArea img.ThumPic {
    box-shadow: none;
  }
}
/*-------------------------------
 動画：Youtube 埋め込み
---------------------------------*/
.video-contianer {
max-width: var(--width-cont);
margin: 1vmax auto;
}
.video {
  width: 100%;
  height: 0;
  padding-top: 56.25%; /*アスペクト比16:9 = 9/16 * 100%*/
  position: relative;
  margin-bottom: .5rem;
}
.video iframe {
  width: 100%;
  height: 100%;
  position: absolute; left: 0; top: 0; right: 0; bottom: 0;
}
/*-------------------------------
 Other
---------------------------------*/
.txt-hidden {
  visibility: hidden;
  margin: 0;
  height: 0;
  width: 0;
}
.price-hontai{
  display: none;
}
/*-------------------------------------------------------------------------------------
 renewal -2601
-------------------------------------------------------------------------------------*/

/*-------------------------------
 header
---------------------------------*/
header {
  width: 100%;
  height: var(--height-hdr);
  /*background: ;*/
    /*和紙：赤・金 url(/event/sato/assets/image/cmnPrts/bg/sato_bg_wtrWashi.jpg) 50% 0 / 100% repeat*/
   /* linear-gradient(45deg, transparent 20%, rgb(69 41 33 / 0%) 50%, transparent 80%)*/
  position: absolute;
  left: 0;
  top: calc(var(--rs) * 1);
  z-index: 1;
}
#sdOSlink {
  width: calc(var(--rs) * 20);
  margin: calc(var(--rs) * 1) auto 0;
  text-align: center;
  filter:drop-shadow(0px 1px 3px #452921/*#df696b*/);
}
/*-------------------------------
 main
---------------------------------*/
main {
  padding: 0;
  overflow: hidden;
  position: relative;
}
/*-------------------------------
 bg pattern
---------------------------------*/
.bgPtrn-hishi--ppl {
  background: 
    linear-gradient(
      180deg, rgb(208 196 224 / 30%) 0%, rgba(238, 227, 251, 0) 50%, rgba(219, 243, 255, 0) 100%),
    url(/event/sato/assets/image/cmnPrts/bg/sato_bg_ptrnHana_wh_alf06.png) 50% 0 repeat,
    linear-gradient(
      180deg,rgb(208 196 224 / 30%) 0%,rgba(238, 227, 251, 0) 50%,rgba(219, 243, 255, 0) 100%),
    #f4ecd4
    ;
}
.bgPtrn-tuta {
  background: url(/event/sato/assets/image/cmnPrts/bg/sato_bg_karakusa.jpg) 50% 0 repeat;
}
/*-------------------------------
 common element
---------------------------------*/
.cntsFll {
  width: min(94%, 90rem);
  margin: calc(var(--rs) * 1) auto;
}

.exclamation-triangle::before{
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  margin-right: 0.5em;
  }
div#sc-access, div#access,.pagetop, .footer-navi, footer {
  position: relative;
  z-index: 200;
}

/*-------------------------------
  main title
---------------------------------*/
#mainTitle {
  width: 100%;
  padding: calc(var(--rs) * 2) 0 calc(var(--rs) * 4);
  margin: auto;
  text-align: center;
  position: relative;
  /*bottom: calc(var(--rs) * -2);*/
  z-index: 4;
}
/* members only event*/
.note-membersOnlyEvent {
  width: 100%;
  padding: 1em 1em 2em;
  margin: 0 auto;
  background: rgb(255 255 255 / 100%);
  box-shadow: 0 -3px 6px rgb(158 121 183 / 30%);
  border-bottom: calc(var(--rs) * 0.5) solid #43201a;
  font-size: calc(var(--fs) * 1.0 + var(--rs) * 0.6);
  text-align: center;
  position: relative;
}
.note-membersOnlyEvent::after {
  content: "";
  width: 100%;
  height: 0;
  border-bottom: 1px solid #43201a;
  position: absolute;
  left: 0;
  bottom: calc(var(--rs) * 0.3);
}
.note-membersOnlyEvent > b {
  color: #b5184a;
  font-size: calc(var(--fs) * 2);
}
@media screen and (orientation: portrait) {
  #heroHeader .main-title {
  }
}
@media screen and (orientation: landscape) {
  #heroHeader {
    /*min-height: 100vh;*/
    /*display: flex;
    flex-flow: column nowrap;*/
  }
}
/*-------------------------------
 Section_topMain
---------------------------------*/
section#topMain {
  overflow: visible;
}
#topMain {
  position: relative;
  z-index: 130;
}
#topMainArea {
  margin: 0 auto;
}
/*-------------------------------
 topMain _ Event Catch
---------------------------------*/
div#eveCatch {
  width: min(100%, 96rem);
  margin: 0 auto;
  background: 
    url(/event/sato/assets/image/cmnPrts/bg/sato_bg_ptrnHana_wh_alf06.png) 50% 50% / calc(var(--fs) * 6) repeat
    /*#cbb7a2*/#f4ecd4
    ;
  box-shadow: var(--bs-cmn);
  position: relative;
}
/*intro catch*/
.intro_catch {
  width: min(100%, calc(var(--fs) * 28));
  margin-bottom: calc(var(--fs) * -1);
  flex: 1 1 auto;
}
/*intro text*/
.intro_text {
  width: min(100%, 64rem);
  padding: 1.5em 4%;
  padding: calc(var(--fs) * 3);
  margin: 0;
  color: var(--c-brw-2);
  font-family: var(--ff-mincho);
  font-size: calc(var(--fs) * 0.8 + var(--rs) * 1.0);
  letter-spacing: 0.01em;
  line-height: 1.8;
  text-align: left;
  /* color #ff ver.
  text-shadow: 1px 1px 1px #fcfbf5, 0 1px 1px #fcfbf5, 0 0 3px #fcfbf5, 0 1px 5px #fcfbf5, 1px 1px 0px #fcfbf5;
  filter: drop-shadow(0px -2px 4px #fcfbf5);
  */
  font-weight: 700;
  position: relative;
}
.intro_text p b {
  /*color: var(--c-red-2);*/
  /*color: var(--c-pnk-2);*/
  font-size: 125%;
  line-height: 1.4;
  display: inline-block;
}
.intro_text p .brBlock {
  display: block;
}
.intro_text p + p {
  margin-top: 1em;
}
.intro_text-sign {
  font-size: calc(var(--fs) * 1.5);
  padding: calc(var(--rs) * 1) 0;
  text-align: right;
  position: relative;
  z-index: 10;
}
.intro_text-sign img {
  vertical-align: middle;
  width: min(20%,18rem);
  filter: grayscale(90%);
  margin-left: 1rem;
}
/*inrto sato garden*/
.intro_garden {
  padding: 0;
  background: 
    linear-gradient(180deg, rgb(195 210 160 / 50%) 0%, rgb(195 210 160 / 30%) 100%), 
    url(/event/sato/assets/image/cmnPrts/bg/sato_bg_ptrnEtc01.jpg) 50% 0 / calc(var(--rs)* 60) repeat
  ;
  text-align: center;
  position: relative;
}
.intro_garden p {
  padding: 1.5em 1em;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  width: 100%;
  text-shadow: 0 0 1px rgb(20 37 30 / 70%), 0 calc(var(--rs) * 0.1) calc(var(--rs) * 0.5) rgb(20 37 30 / 70%);
  filter: drop-shadow(0px calc(var(--rs) * 0.1) calc(var(--rs) * 0.3) rgb(20 37 30 / 70%)) drop-shadow(0px calc(var(--rs) * 0.2) calc(var(--rs) * 1) rgb(20 37 30 / 70%)) drop-shadow(0px 0px calc(var(--rs) * 0.6) rgb(20 37 30 / 70%)) drop-shadow(0px calc(var(--rs) * 0.2) calc(var(--rs) * 0.3) rgb(20 37 30 / 70%));
  font-size: calc(var(--rs) * 1.0 + var(--fs) * 0.8);
  position: absolute;
  left: 0;
  top: calc(50% - 1em);
}
.intro_garden_link-btn {
  width: fit-content;
  padding: 0.25em 2em;
  margin: 0.5em auto;
  background: var(--color-link-nml);
  border-radius: 1em;
  color: #fff;
  font-size: 87.5%;
  text-shadow: none;
  position: relative;
  display: block;  
}
/*-------------------------------
article _  intro container
---------------------------------*/
/*intro picture*/
#intro-picCont {
  width: 100%;
  position: relative;
}
.intro-pic {
  width: min(100%, 96rem);
  margin: 0 auto;
  display: flex;
  flex-flow: row nowrap;
  position: relative;
}
.intro-pic > * {
  flex: 1 1 25%;
}
@media screen and (min-width:480px) {
  #intro-picCont {
    padding-bottom: calc(var(--rs) * 2);
  }
  .intro-pic {
    box-shadow: 0 2px 3px 1px rgb(50 50 50 / 50%);
  }
}
@media screen and (max-width:480px) {
  .intro-pic {
    margin-bottom: 0;
    flex-flow: row wrap;
  }
  .intro-pic > * {
    flex-basis: 50%;
  }
  .intro-pic > *:nth-of-type(3) {
    order: 4;
  }
  .intro-pic > *:nth-of-type(4) {
    order: 3;
  }
}
/*-------------------------------
article -  information container
---------------------------------*/
#infoContainer {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  position: relative;
}
/*-------------------------------
article -  information _ event outline
---------------------------------*/
#info-eventOutline {
  width: 100%;
  padding: calc(var(--rs) * 4) 0;
  position: relative;
}
.event-outlineCont {
  width: min(100%, 96rem);
  margin: 0 auto;
  color: #fff;
  text-align: center;
}
.date-period,
.date-hours {
  font-family: var(--ff-mincho);
  letter-spacing: 0.05em;
}
/* date period */
.date-period {
  width: 94%;
  margin:  0 auto;
  color: #fff;
  font-size: calc(var(--rs) * 3.6);
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  justify-content: center;
  text-transform: full-width;
}
.date-period-heading {
  margin: 0 0.5em;
}
/* date open days */
.date-opendays {
  width: min(94%, 84rem);
  margin: calc(var(--fs) * 1) auto;
  background: #fff;  
  border: 3px double var(--c-brw-1);
  color: #64524e;
  font-family: var(--ff-mincho);
  line-height: 1.3;
  text-align: left;
  display: inline-block;
}  
.date-opendays dt {
  padding: 0.5  em;
  margin-bottom: 0.75em;
  background: var(--c-brw01);
  color: #fff;
  font-size: calc(var(--fs) * 0.8 + var(--rs) * 1.0);
  line-height: 1.4;
  text-align: center;
  display: block;
}
.date-opendays dd {
  color: #591919;
  font-size: calc(var(--fs) * 0.8 + var(--rs) * 1.2);
  font-weight: bold;
  display: inline-block;
}
.date-opendays dd + dd::before {
  content: "\0030fb";
}
.date-opendays small {
  font-size: 75%;
}
.openday {
  padding: 0 1em;
  text-align: left;
}
.openday-hana dd {
  width: 100%;
  padding: 0.25em 0.5em 0.25em 0.75em;
  background: #eef2dc;
  text-align: left;
}
.opendays {
  display: flex;
  flex-flow: row wrap;
}
.opendays li:not(:last-of-type)::after {
  content: "、";
  margin-right: 0.25em;  
}
/* date hours */
.date-hours {
  margin-top: calc(var(--rs) * 2);
  color: #fff;
  font-size: calc(var(--rs) * 3.2);
  font-weight: bold;
  line-height: 1.2;
}
.date-hours-note {
  margin-top: 0.5em;
  font-size: calc(var(--fs) * 1.4);
  display: block;
}
/* date hours notes */
.hours-notes {
  width: 94%;
  margin: 0 auto 1em;  
  display: inline-block;
}
.hours-notes li {
  padding-left: 1em;
  margin-top: 0.4em;
  font-size: calc(var(--fs) * 1.4);
  line-height: 1.5;
  /*text-align: left;*/
  text-indent: -1em;
}
.hours-notes li b {
  color: var(--c-ylw-1);
  font-size: calc(var(--fs) * 1.5);
}
/* link _ first day */
.infolink-fstday a.lnkBtn {
  padding: 0.5em 1em;
  border: 1px solid #fff;
  font-size: calc(var(--fs) * 1.8);
  line-height: 1.5;
  filter: drop-shadow(0px 4px 4px rgb(50 50 50 / 20%));
}
/*link _ event program*/
.infolink-ep a.lnkBtn {
  background: var(--color-link-nml);
  border: 1px solid #fff;
  padding: 0.75em 1em;
  margin: 0 auto 1em;
  border-radius: 5px;
  color: #fff;
  font-size: calc(var(--fs) * 1.6);
  font-weight: normal;
  filter: drop-shadow(0px 4px 4px rgb(50 50 50 / 20%));
  line-height: 1.3;
  display: block;
}
.infolink-ep a:hover {
  color: #fff;
  filter: brightness(1.1);
}
/*note in event outline */
.event-outlineCont ul.note {
  width: min(94%, 84rem);
  padding-top: calc(var(--fs) * 2);
  margin: calc(var(--rs) * 2) auto calc(var(--fs) * 2);
  border-top: 1px solid rgb(255 255 255 / 50%);
  color: #fff;
  font-size: calc(var(--fs) * 1.4);
  text-shadow: none;
  text-align: left;
}
.event-outlineCont ul.note li {
  display: inline-block;
}
.event-outlineCont ul.note b {
  color: var(--c-red-1);
  font-weight: normal;
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.event-outlineCont ul.note a {
  padding: 0.2em 0.8em 0;
  margin: 0 0.5em;
  background: #fff;
  border-radius: 5px;
  font-size: 87.5%;
  text-indent: 0;
  text-shadow: none;
  display: inline-block;
}
/*-------------------------------
  Section_Event Prgaram
---------------------------------*/
#sc-EventProgram {
  padding: 0;
  position: relative;
}
#sc-EventProgram .note {
  width: min(100%, 132rem);
  max-width: 100%;
  padding: 0 3%;
  margin: 0 auto;
  font-size: calc(var(--fs) * 1.2);
  text-align: right;
}

#EventProgramArea {
  width: 100%;
  padding: calc(var(--fs) * 4) 0;
  margin: 0 auto;
  position: relative;
  text-align: center;
  overflow: hidden;
}
/*-------------------------------
 Card - EventProgram
---------------------------------*/
.epList {
  width: min(100%, 144rem);
  margin: calc(var(--rs) * 2) auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  container-type: inline-size;
}
.epList > li {
  width: min(31%, 32rem);
  padding: 0;
  margin: 0 1% 2%;
  line-height: 0;
  overflow: hidden;
  background: var(--color-white);
  box-shadow: var(--bs-cmn);
}
.epList > li.card-item-halfcell {
  width: min(calc(94% - 2px), calc(64rem + 2%));
  max-width: 47.6%;
}
.epList > li.card-item-twocell {
  width: min(calc(94% - 2px), calc(56rem + 2%));
}
.epList > li.card-item-full {
  width: min(calc(94% - 2px), calc(86rem + 2%));
}
@container (max-width: 760px) {
  .epList > li {
    width: 46%;
  }
  .epList > li.card-item-full {
    width: 94%;
  }
}
.epList > li > a {
  color: var(--color-text-base);
  text-decoration: none;
}
.epList > li > a:hover {
  --color-link-cmn-hover: #6d3a5c;
  color: var(--color-link-cmn-hover);
  text-decoration: none;
  filter: brightness(1.1);
  display: block;
}
.epList > li  figcaption {
  padding: 1rem 0.5em;
  line-height: 1.4;
}
span.ep-insession {
  padding: 2px 0.5em;
  margin-left: -0.25em;
  margin-right: 0.5em;
  border-radius: 5px;
  background: #ae254a;
  color: #fff;
  font-size: 87.5%;
  font-weight: normal;
  display: inline-block;
  flex: 1 1 auto;
  align-self: flex-start;
  white-space: nowrap;
}
/*詳細準備中*/
.list-ep-junbichu {
  padding: 1rem;
  background: #efefef;
  color: #aaa;
  line-height: 1.4;
}
/*同時開催イベント*/
.epOtheve {
  width: 100%;
  padding: calc(var(--fs) * 4) 2%;
  margin: calc(var(--rs) * 0) auto 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
.epOtheve dt {
  width: 94%;
  margin: 0 auto;
  color: #8e0000;
  font-family: var(--ff-notoserif);
  font-size: calc(var(--fs) * 3);
  font-weight: bold;
}
.epOtheve dd {
  width: min(48%, 36rem);
  max-width: 58rem;
  margin: 2% 1%;
  background: #fff;
  box-shadow: var(--bs-cmn);
  flex: 1 1 auto;
}
.epOtheve a:hover {
  filter: brightness(1.1);
  text-decoration: none;
}
.event-bnrlink {
 position: relative;
}
.event-bnrlink figcaption {
  padding: 0.5em;
  color: #6e3e2a;
  font-size: calc(var(--fs) * 1.8);
  line-height: 1.5;
}
/*リンク先ページ準備中*/
.epOtheve dd.pre {
  background: #aaa;
  padding-bottom: 1.5em;
  position: relative;
}
.epOtheve dd.pre::after {
  content: "coming soon";
  width: 100%;  
  color: #fff;
  font-family: var(--ff-notoserif);
  font-size: calc(var(--fs) * 1.6);
  font-style: italic;
  text-shadow: 0 0 2px rgb(50 50 50 / 100%), 0 1px 4px rgb(50 50 50 / 50%);
  position: absolute;
  left: 0;
  bottom: 0.25em;
  text-align: center;
}
.epOtheve dd.pre a {
  cursor: none;
  pointer-events: none;
}
.epOtheve dd.pre img {
  filter: saturate(0.1) brightness(0.6);
}
/*-------------------------------
 EventProgram text liset 　詳細準備中時　テキストリスト表示
---------------------------------*/
.event-program-inPreparation {
  width: 94%;
  margin: 2em auto;
  color: #d32b06;
  font-size: calc(var(--fs) * 2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.event-program-textlist {
  width: 96%;
  padding: 1.5em 0.5em 0.5em;
  margin: calc(var(--rs) * 1) auto;
  background: rgb(255 255 255 / 70%);
  border-top: 2px solid var(--c-brw-2);
  border-bottom: 7px double var(--c-brw-2);
  box-shadow: var(--bs-cmn);
  text-align: left;
  display: flex;
  flex-flow: row wrap;
  counter-reset: number 0;
  position: relative;
  /*おひなまつり調整*/
  border-top-color: var(--c-red-2);
  border-bottom-color: var(--c-red-2);
}
.event-program-textlist::after {
  content: "";
  width: calc(var(--fs) * 15);
  height: calc(var(--fs) * 15);
  background: url("/event/sato/230211/image/pic_eveImg_eyecatch_kazari.png") 50% 50% / cover no-repeat;
  position: absolute;
  right: calc(var(--rs) * -1.5);
  top: calc(var(--fs) * -1.5);
}
.event-program-textlist div {
  width: min(100%, 36rem);
  padding: 0 1.5em 0 2em;
  flex: 1 1 auto;
}
.event-program-textlist dt {
  display: none;
}
.event-program-textlist dd {
  padding-left: 1em;
  margin: 1em 0;
  font-size: calc(var(--fs) * 1.6);
  font-weight: normal;
  line-height: 1.3;
}
.event-program-textlist div dd:first-child {
  margin-top: 0;
}
.event-program-textlist dd::before {
  counter-increment: number 1;
  content: counter(number,decimal/*-leading-zero*/) ".";
  width: 2em;
  height: 1em;
  margin-left: -2em;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  /*おひなまつり調整*/
  color: var(--c-red-2);
}
/*-------------------------------
article -  contents container
---------------------------------*/
#contsContainer {
  width: 100%;
  position: relative;
}
#contsContainer > hr {
  width: 96%;
  margin: calc(var(--rs) * 4) auto calc(var(--rs) * 2);
  border-color: var(--c-brw-1);
}
div#contsWrapper {
  width: min(100% , calc(var(--rs) * 96));
  margin: 0 auto;
  background: 
    linear-gradient(180deg, rgb(228 219 198 / 50%) 0%, rgb(228 219 198 / 50%) 100%),
  ;
  box-shadow: var(--bs-cmn);
  position: relative;
  z-index: 1;
}

/*-------------------------------
 contents end link top bottun
---------------------------------*/
.contsEnd-link {
  width: 100%;
  position: relative;
}
a.contsEnd-link-btn {
  width: min(100%, 96rem);
  padding: 2em 3%;
  margin: auto;
  color: #f0dfaf;
  font-size: calc(var(--fs) * 1.6);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  display: block;
}
a.contsEnd-link-btn:hover {
  color: #b39e69;
  text-decoration: none;
}
/*-------------------------------
 Summary
---------------------------------*/
#summary {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  background: url(/event/sato/assets/image/cmnPrts/bg/sato_bg_karakusa.jpg) 50% 50% / auto repeat, #f8ece1;
  /*background: rgb(248 233 220 / 80%);*/
  /*background: #f8ebe0 url(/event/sato/assets/image/cmnPrts/sd_Evprgm2019_bg.jpg) top center / 30% repeat; 和紙金箔付き*/
  box-shadow: 0 0 0.5rem 0.1rem rgba(50,50,50,0.1);
  color: #3b1609;
  text-align: left;
  position: relative;
  container-type: inline-size;
}
.event-title {
  width: 100%;
  padding: 0.5em 0;
  margin: 0 auto;
  background: #fff;
  border-top: 3px solid #bda674;
  border-bottom: 3px solid #bda674;
  box-shadow: var(--bs-cmn);
  color: #512215;
  font-size: calc(var(--rs) * 4);
  font-family: var(--ff-mincho);
  font-feature-settings: "palt";
  font-weight: bold;
  line-height: 1;
  text-align: center;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.event-title::before,
.event-title::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #e3c742;
  position: absolute;
  left: 0;
}
.event-title::before {
  top: 2px;
}
.event-title::after {
  bottom: 2px;
}
.event-title .logo {
  width: min(16%, calc(var(--fs) * 12));
  padding: 0 calc(var(--rs) * 1);
  position: relative;
}
.event-title .logo.logo-members {
  width: min(15%, calc(var(--fs) * 10));
}
.event-title .logo img {
  object-fit: cover;
}
/*-------------------------------
 event-admission
---------------------------------*/
#admission{
  --c-admsn-impt: #c80000;
  --c-admsn-red: #943e45;
  --c-admsn-lmt: #2b8a7c;
  --c-admsn-nml: #b2466a;
  width: min(100%,88rem);
  margin: 1em auto;
  /*border: 2px solid #bda674;*/
  background: #fff;
  box-shadow: 0 0 5px rgb(0 0 0 / 50%);
}
#admission .tc--red {
  color: var(--c-admsn-red);
}
#admission .note {
  width: 100%;
}
#admissionFstday {
  display: none;
}
#admissionFstday.active {
  display: block;
}
#admissionFstdayHead {
  padding: 1em;
  position: relative;
  background: #bed2ee;
  color: #000;
  font-size: calc(var(--fs) * 2);
  text-align: left;
}
#admissionFstdayHead::after {
  content: "表示";
  width: 4.4em;
  padding: 0 0.5em;
  margin-left: 1em;
  background: var(--color-link-nml);
  border: 1px solid #fff;
  border-radius: 1em;
  color: #fff;
  font-size: calc(var(--fs) * 1.2);
  font-weight: normal;
  text-align: center;
  display: inline-block;
  position: relative;
  top: -0.2em;
}
#admissionFstdayHead.active::after {
  content: "非表示";
  background: #fff;
  border: 1px solid;
  color: var(--color-link-nml);
}
.admission-tab {
  padding: 0 0.5em;
  background: #fff;
  border-radius: 1em;
  display: inline-block;
}
#admission > .note {
  width: min(calc(92% - 2.6em), calc(84rem - 2em));
  padding: 0;
  margin: 0 auto;
}
.admission-heading {
  padding: calc(var(--fs) * 1);
  margin: 0 auto;
  color: var(--c-admsn-impt);
  font-size: calc(var(--fs) * 2.4);
  font-weight: bold;
  text-align: center;
}
.admission-heading::before {
  content: "\0025c6";
  margin-right: 0.5em;
  font-size: 75%;
  position: relative;
  top: -0.15em;
}
.admsn-rule {
  padding: calc(var(--fs) * 1) calc(var(--rs) * 1);
  margin: 0.5em auto 0;
  /*background: rgb(204 156 180 / 30%);*/
  font-size: calc(var(--fs) * 2.4);
  font-weight: bold;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.admsn-text {
  width: min(92%, 84rem);
  margin: 0.5em auto;
  font-size: calc(var(--fs) * 1.8);
  text-align: left;
}
.admsn-text b {
  color: var(--c-admsn-impt);
}
/* 2024.10 - 削除対象コード
.admsn-details {
  width: 100%;
  padding: 0 1em;
  margin: calc(var(--rs) * 2) auto;
  background: #fffccf;
  border-top: 1px solid var(--c-admsn-impt);
  border-bottom: 1px solid var(--c-admsn-impt);
  text-align: left;
}
.admission-details-title {
  padding: calc(var(--fs) * 2) calc(var(--rs) * 1) 0;
  padding-left: 1.25em;
  color: var(--c-admsn-impt);
  font-size: calc(var(--fs) * 1.9);
  font-weight: bold;
  line-height: 1.3;
  text-indent: -1.25em;
}
.admission-details-title ~ .admission-details-title {
  border-top: 1px solid var(--c-admsn-impt);
}
.admission-details-title::before {
  content: "\0025cf";
  margin-right: 0.25em;
}
.admission-details-title small {
  display: inline-block;
  text-indent: 0;
}
.admission-details-txt{
  display: block;
  padding: 0.5em 1em 2em;
  font-size: calc(var(--fs) * 1.7);
}
.admission-details-txt .note {
  width: 100%;
  padding: 0;
  margin: 1em auto 0;
}
.admission-notice {
  width: 98%;
  padding: 0 1em;
  margin: calc(var(--fs) * 2) auto;
  font-size: calc(var(--fs) * 1.4);
}
.admission-notice dt {
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
}
.admission-notice dd {
  margin-right: 1em;
  display: inline-block;
}
#admission .tc--red {
  color: var(--c-admsn-red);
}
#admissionFstday {
  display: none;
}
#admissionFstday.active {
  display: block;
}
#admissionFstdayHead {
  padding: 1em calc(var(--fs) * 1);
  position: relative;
  font-size: calc(var(--fs) * 2);
}
#admissionFstdayHead::after {
  content: "表示";
  width: 4.4em;
  padding: 0 0.5em;
  margin-left: 1em;
  background: var(--color-link-cmn);
  border-radius: 1em;
  color: #fff;
  font-size: calc(var(--fs) * 1.2);
  font-weight: normal;
  display: inline-block;
  position: relative;
  top: -0.2em;
}
#admissionFstdayHead.active::after {
  content: "非表示";
  background: #fff;
  border: 1px solid;
  color: var(--color-link-cmn);
}*/
/*admission flow*/
.admsn-flow {
  list-style: decimal;
  list-style-position: inside;
}
.admsn-flow > li {
  width: min(96%, 92rem);
  padding: 0.5em;
  padding-left: 1.5em;
  margin: 1em auto;
  background: #fff;
  border: 3px solid var(--c-blue-2);
  font-size: calc(var(--fs) * 1.8);
  text-align: left;
  text-indent: -1em;
  position: relative;
}
.admsn-flow > li ~ li {
  margin-top: calc(var(--fs) * 3 - 3px);
}
.admsn-flow > li ~ li::before {
    content: "";
    width: calc(var(--fs)* 5);
    height: calc(var(--fs)* 2.5);
    background: var(--c-blue-2);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    display: block;
    position: absolute;
    left: calc(50% - var(--fs)* 2.5);
    top: calc(var(--fs)* -3);
}
.admsn-flow > li *:not(.note) * {
  text-indent: 0;
}
.admsn-flow :is(b, em) {
  color: var(--c-admsn-red);
}
.admsn-flow b {
  margin: 0 0.125em;
  font-size: 112.5%;
}
.admsn-flow .idcheck-img {
  margin-bottom: 1em;
  font-size: calc(var(--fs) * 1.4);
}
.idcheck-os img {
  max-width: 50%;
}
.admsn-flow-inlist {
  margin: 0.5em 1.5em;
  list-style: disc;
  font-size: calc(var(--fs) * 1.5);
}
.admsn-flow-inlist > li {
  margin-top: 0.5em;
  line-height: 1.3;
}
/*admission select*/
.admsn-select {
  width: 100%;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-flow: row wrap;
}
.admsn-select-title {
  width: 100%;
  padding: 0.25em 1em;
  margin: 0 auto 0.5em;
  background: var(--c-admsn-red);
  color: #fff;
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.3;
  text-align: left;
  position: relative;
}
.admsn-select > dd {
  width: min(50%, 30rem);
  padding-left: 2em;
  margin-bottom: 0.5em;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
  line-height: 1;
  position: relative;
  flex: 0 1 auto;
}
.admsn-select > dd::before {
  content: "";
  width: 1em;
  height: calc(var(--rs)* 1.5 + 5px);
  position: absolute;
  left: calc(0.5em - 2px);
  top: calc(50% - var(--rs)* 1.5 - 3px);
  border-left: 2px solid #333;
  border-bottom: 2px solid #333;
}
.admsn-select > dd::after {
  content: "";
  width: 0.5em;
  height: 1em;
  background: #333;
  clip-path: polygon(0 0, 100% 50%, 0% 100%);
  display: block;
  position: absolute;
  left: 1em;
  top: calc(50% - 0.45em);
}
i.admsn-select-mark {
  width: min(20%, 5rem);
  display: inline-block
}
.admsn-select-lmt {
  color: var(--c-admsn-lmt);
}
.admsn-select-nml {
  color: var(--c-admsn-nml);
}
/*admission separate after select*/
.admsn-separate {
  width: 96%;
  padding: 0 1% 1em;
  margin: calc(var(--rs) * 4) auto calc(var(--rs) * 2);
  /*border: 1px solid;*/
  /*box-shadow: 0 0 5px rgb(0 0 0 / 50%);*/
  position: relative;
}
.admsn-separate.separate-lmt {
  background: 
    linear-gradient(0deg, #f5f9ed 0%, #fff 100%)
    ;
  border-color: var(--c-admsn-lmt);
}
.admsn-separate.separate-nml {
  background: 
    linear-gradient(0deg, #fcf0f6 0%, #fff 100%)
    ;
  border-color: var(--c-admsn-nml);
}
.admsn-separate-list {
  
}
.admsn-separate-list dt {
  margin-bottom: 0.5em;
  font-size: calc(var(--fs) * 1.8);
  line-height: 1.3;
}
.admsn-separate-list dd + dt  {
  margin-top: 1em;
  padding-right: 0.5em;
}
.admsn-separate-list dt i {
  margin: 0 0.5em 0.5em 0;
  float: left;
}
.admsn-separate-list dt b {
  font-size: 125%;
}
.admsn-separate-list dt.titEP {
  padding-left: calc(var(--fs)* 6.5);
}
.admsn-separate-list dt.titEP.flr-icon::before {
  width: calc(var(--fs)* 6);
  height: calc(var(--fs)* 5);
}
.admsn-separate-list.separate-lmt dt {
  color: var(--c-admsn-lmt);
}
.admsn-separate-list.separate-nml dt {
  color: var(--c-admsn-nml);
}
.admsn-separate-list dd {
  padding-left: 1em;
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
  line-height: 1.3;
  text-indent: -0.7em;
  display: inline-block;
}
.admsn-separate-list dd + dd {
  margin-top: 0.5em;
}
.admsn-separate-list dd::before {
  content: "\0030fb";
  margin-right: 0.25em;
}
/*admission notes*/
.admission-notes {
  margin: 0 auto;
  text-align: right;
}
.admission-notes:not(.admission-notes--meeting) {
  margin-top: calc(var(--fs) * -4);
}
.admission-notes-text {
  padding: 0.5em;
  padding-left: 2em;
  margin: 0 auto;
  background: var(--c-admsn-red);
  color: #fff;
  font-size: calc(var(--fs) * 1.5);
  line-height: 1.3;
  text-align: left;
  text-indent: -1.5em !important;
}
.admission-notes-text > i {
  font-size: 125%;
}
.admission-notes--meeting  .admission-notes-text { /*step1*/
  margin-top: calc(var(--fs) * -2);
  border-top: calc(var(--fs) * 2) solid #ccc;
}
.admission-notes--payment  .admission-notes-text { /*step5*/
  margin-top: calc(var(--fs) * -1.3);
  border-top: calc(var(--fs) * 1.3) solid #494456;
}
/*admission information*/
.admission-info {
  width: 96%;
  padding: 0.5em 1em;
  margin: 1em auto;
  background: #fff;
  border: 2px solid var(--c-brw-1);
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.3;
  text-align: center;
}
.admission-info b {
  margin: 0 0.25em;
  color: var(--c-red-1);
  font-size: 125%;
  display: inline-block;
}
/*admission notice*/
.admission-notice {
  width: 98%;
  padding: 0 1em;
  margin: calc(var(--fs) * 2) auto;
  font-size: calc(var(--fs) * 1.4);
}
.admission-notice dt {
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
}
.admission-notice dd {
  padding-left: 1em;
  margin-right: 1em;
  text-indent: -1em;
  display: inline-block;
}
/*-------------------------------
 admission vs members update
---------------------------------*/
.vsupdate-notice {
  width: 100%;
  padding: 1em;
  margin: 1em auto;
  background: #fef5f8;
}
.vsupdate-notice dt {
  padding: 0 0.5em;
  border-bottom: 2px solid;
  color: var(--c-admsn-red);
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
}
.vsupdate-notice dd {
  padding-left: 1em;
  margin-top: 0.5em;
  font-size: calc(var(--fs) * 1.4);
  line-height: 1.3;
  text-indent: -0.7em;
}
.vsupdate-notice dd::before {
  content: "\0030fb";
  margin-right: 0.25em;
}
.vsupdate-notice-import {
  font-weight: bold;
}
/*-------------------------------
 admission after first day
---------------------------------*/
.admission-afterFstday {
  width: min(100%, 88rem);
  margin: calc(var(--fs) * 4) auto calc(var(--fs) * 2);
  background: #fff;
  box-shadow: 0 0 5px rgb(0 0 0 / 50%);
  text-align: left;
}
.admission-afterFstday .admission-heading {
  padding: 1em;
  position: relative;
  background: #99d0d2;
  color: #000;
  font-size: calc(var(--fs) * 2);
  text-align: left;
}
.admission-afterFstday li{
  padding-left: 1em;
  margin-top: 0.5em;
  margin-right: 1em;
  margin-left: 0.5em;;
  font-size: calc(var(--fs) * 1.5);
  font-weight: bold;
  text-indent: -0.7em;
  display: inline-block;
}
.admission-afterFstday li::before {
  content: "\0030fb";
  margin-right: 0.25em;
}
/*-------------------------------
 summary event outline
---------------------------------*/
.outline {
  width: 100%;
  margin: -1px auto 0;
  /*border: 2px solid #bda674;*/
}
.outline > tbody > tr> th,
.outline > tbody > tr> td {
  border: 1px solid #bda674;
  line-height: 1.4;
  vertical-align: text-top;
}
.outline > tbody > tr> th {
  width: 6em;
  padding: 1em 0;
  background: #EEF1E1;
  color: #2e130c;
  font-size: calc(var(--fs) * 1.8);
  text-align: center;
  word-break: keep-all;
}
.outline > tbody > tr> td {
  padding: calc(var(--fs) * 2) calc(var(--rs) * 2);
  background: rgb(249 248 239 / 100%);
  vertical-align: text-bottom;
  text-align: left;
  font-size: calc(var(--fs) * 1.7);
  line-height: 1.6;
}
@container (max-width: 760px) {
  .outline > tbody > tr> th,
  .outline > tbody > tr> td {
    width: 100%;
    display: block;
  }
}
.outline > tbody > tr> td span {
  padding: 0 0.25em;
}
.outline > tbody > tr> td strong {}
.outline > tbody > tr> td h3.tit_th {
  background: #EEF1E1;
  color: #2e130c;
  font-size: 100%;
  text-align: center;
  word-break: keep-all;
  line-height: 1.4;
  padding: 0.5em 1em;
  margin-bottom: 1em;
}
.outline > tbody > tr> td .date-period {
  width: 100%;
  margin: 0;
  font-size: calc(var(--fs) * 1.4 + var(--rs) * 1.4);
  display: block;
}
.outline > tbody > tr> td .date-opendays {
  width: 100%;
  text-align: center;
}
.outline > tbody > tr> td .date-hours {
  width: 100%;
  margin: calc(var(--rs) * 1) auto;
  font-size: calc(var(--fs) * 1.3 + var(--rs) * 1.3);
  display: block;
}
.outline > tbody > tr> td .date-period,
.outline > tbody > tr> td .date-hours {
  color: inherit;
  text-align: center;
  text-shadow: none;
}
.outline > tbody > tr> td > b {
font-size: calc(var(--fs) * 2);
}
.outline > tbody > tr> td iframe {
  margin-top: calc(var(--rs) * 1);
}
.outline > tbody > tr> td ul {
  padding-bottom: 1rem;
}
.outline > tbody > tr> td li {
  margin-bottom: 0.2rem;
}
.outline .identification_img {
  width: 24rem;
  margin-top: 1rem;
  display: inline-block;
}
.note-color {
  color: #ba2636;
}
/* date hours notes in summary event outline */
.outline .hours-notes {
  width: 100%;
  margin-top: 0;
}
.outline .hours-notes li {
  font-weight: bold;
}
.outline .hours-notes li b {
  color: var(--color-red);
}
/*summary line*/
#summary hr {
  width: 90%;
  height: 2.0rem;
  padding: 3vmax 0;
  margin: 0 auto;
  position: relative;
  border-color:
    transparent;
  background: url(/event/sato/assets/image/cmnPrts/sd_line_hr.gif) 0 50% repeat-x;
  clear: both;
}
/*Link Button _ Access*/
a.lnkAcs { margin: calc(var(--rs) * 1) 0;}
a.lnkAcs:hover {}


/* お知らせ */
.infolnkBox {
  max-width: 88rem;
  border: .6rem double #e60012;
  padding: 1em;
  margin: 0 auto 4rem;
  background: #fff;
  text-align: center;
  color: #555;
  line-height: 1.5;
}
/*-------------------------------
 Event Prgaram Detail
---------------------------------*/

/*-------------------------------
 Event Detail _ Common
---------------------------------*/
.cntsInner {
  width: min(100%, 96rem);
  padding: calc(var(--fs) * 4) 0;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
.cntsInner ~ .cntsInner {
  box-shadow: 0 0 0.5rem 0.1rem rgba(50,50,50,0.1);
}
/*Contents Inner _ 続きエリア*/
.cntsInner.mltCnts {
  padding: 0;
}
.cntsInner .InnerArea {
  width: 100%;
  position: relative;
  padding: 4rem 0 4rem;
  margin: 0 auto 0;
}
/*content elements*/
.cntsInner p,
.cntsInner dl,
.cntsInner ul {
  position: relative;
  z-index: 1;
}
.cntsInner p.text {
  width: min(94%, 90rem);
  margin: 1em auto 0;
  font-size: calc(var(--fs) * 1.8);
  line-height: 1.8;
  position: relative;
  z-index: 1;
}
p.text > b {
  color: var(--c-brw01);
  font-size: 112.5%;
}
.epEyecatch {
  margin: calc(var(--rs) * 1) 0 calc(var(--rs) * 2);
}
.cntsInner > hr {
  width: 94%;
  border-top: .1rem solid var(--c-red-2)/*#dcb*/;
  border-bottom: .1rem solid #fff;
  margin: calc(var(--rs) * 4) auto;
}
.figure-note {
  padding-top: 0.5em;
  font-size: calc(var(--fs) * 1.2);
  text-align: right;
}
ul.note-list > li {
  padding-left: 1em;
  margin-top: 0.2em;
  margin-bottom: 0;
  text-indent: -1em;
  line-height: 1.4;
  font-size: calc(var(--fs) * 1.4);
}
.TxtArea > ul.note-list {
  width: 94%;
  margin: 0 auto;
}
/*hanbai list*/
.hanbai-tbl {
  width: min(calc(98% - 6px), 88rem);
  padding: calc(var(--fs) * 1);
  margin: calc(var(--rs) * 1) auto calc(var(--rs) * 2 + 6px);
  background: #fff;
  background: rgb(256 256 256 / 90%);
  border: 3px solid #fff;
  box-shadow: 0 0 0 3px #8a7569, 0 0 0 1px #8a7569 inset, 0 2px 0.4px 0 rgba(50 50 50 / 40%);
  font-size: calc(var(--fs) * 1.6);
  position: relative;
}
.hanbai-tbl td {
  padding: 1em 0.5em;
  line-height: 1.3;
  vertical-align: middle;
}
.tbl-set b {
  display: inline-block;
}
.tbl-set b::before {
  content: "\0025cf";
  margin-right: 0.5em;
  color: var(--c-green-1);
  font-size: 50%;
  position: relative;
  top: -0.25em;
}
.tbl-set span {
  margin: 0 1em;
  font-size: calc(var(--fs) * 1.2);
  display: inline-block;
}
.tbl-price {
  white-space: nowrap;
}
.tbl-price small {
  font-size: calc(var(--fs) * 1.2);
}
/*hanbai list - 注意文を追加する場合*/
.hanbai-tbl tr:not(:last-child):not(.non-border) td {
  border-bottom: 1px solid #8a7569;
}
.hanbai-tbl tr.non-border td {
  padding-bottom: 0;
}
.hanbai-tbl td:has(.note-list) {
  padding: 0;
}
.hanbai-tbl td ul.note-list > li {
  font-size: calc(var(--fs) * 1.2);
}
/*-------------------------------
 Event Detail - 見出し＆テキスト
---------------------------------*/
.dtl-info__text {
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.6;
  margin: calc(var(--rs) * 1) 0;
}
.dtl-info__tit {
  padding: calc(var(--rs) * 1);
  margin: 0 0 1em;
  background: var(--c-brw01);
  color: #fff;
  font-size: calc(var(--fs) * 2);
  display: block;
  text-align: center;
  font-weight: inherit;
}
.dtl-info__dt {
  background: var(--c-brw01);
  color: #fff;
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-right: .8em;
  vertical-align: middle;
}
.dtl-info__tit ~ .dtl-info__tit {
    margin-top: calc(var(--rs) * 4);
}
.dtl-info__dd {
  background: var(--color-white);
  display: inline-block;
  padding: 0.5rem 2rem;
  margin-left: -.8em;
  vertical-align: middle;
}
/*-------------------------------
 Event Detail - ご購入・お迎え方法
---------------------------------*/
dl.dtl {
  width: min(94%, 94rem);
  margin: calc(var(--fs) * 1) auto;
  position: relative;
  font-size: calc(var(--fs) * 1.7);
  z-index: 10;
}
:is(.txtBox, p.text,dl.dtl) + dl.dtl {
  margin-top: calc(var(--fs) * 2);
}
dl.dtl > dt {
  padding: 0.5rem calc(var(--rs) * 2);
  margin: 0 0 1rem;
  background: var(--c-brw01);
  color: #fff;
  display: inline-block;
}
dl.dtl > dt.bgc-green{
  background: var(--c-green-1);
}
dl.dtl > dt.bgc-red{
  background: var(--c-red-1);
}
dl.dtl > dt.fll {
  padding-left: 1em;
  text-align: left;
  display: block;
}
dl.dtl > dd {
  width: 94%;
  margin: 0 auto;
  font-weight: normal;
  line-height: 1.6;
}
dl.dtl > dd.fw-nml {
  font-weight: normal;
}
dl.dtl > dd :is(span, small) {
  margin-top: 0.5em;
  font-weight: inherit;
  line-height: 1.3;
  text-indent: 0;
  display: inline-block;
}
dl.dtl > dd + dt {
  margin-top: calc(var(--fs) * 2);
}
dl.dtl > dd + dd {
  margin-top: 1rem;
}
dl.dtl > dd em {
  font-weight: bold;
}
dl.dtl > dd .note {
  width: 100%;
}
/*Event Detail _ 注意点
	-----------------------------*/
.cntsInner ul.note {
  font-weight: normal;
}
.cntsInner dl.dtl + ul.note {
  margin-top: calc(var(--rs) * 2);
}
.cntsInner ul.note li {
  padding-left: 1em;
  margin-right: 1em;
  text-indent: -1em;
  display: inline-block;
}
/*Event Detail _ リンクボタン
	-----------------------------*/
/*Link Button - sato/common.cssの上書き*/
a.lnkBtn,
a.lnkBtnFB,
a.lnkBtnIG {
	width: min(94%, 64rem);
	padding: 1em;
	margin: calc(var(--fs) * 2) auto;
	box-shadow: 0 2px 2px 0 rgba(50 50 50 / 20%);
	font-size: calc(var(--fs) * 1.6);
	display: block;
}
a.lnkBtn {
  /*background: var(--color-link-cmn);*/
  /*background: #fbe5db;*/
  /*background: #e4476a;*/
}
a.lnkBtnFB {
  background-color: #365899;
}
a.lnkBtnIG {
  background: linear-gradient(270deg, #BC32A4 0%, #E03768 50%, #F67C33 100%);
}
/*準備中*/
.lnkBtn.pre,
.lnkBtnIG.pre{
  background: #aaa;
  color: #f5f5f5;
  cursor: default;
  pointer-events: none;
  opacity: .9;
}
/*-------------------------------
 Event Detail - SDMコーディネートモデル
---------------------------------*/
.cdm_info {
  width: 94%;
  padding: calc(var(--rs) * 2);
  margin: calc(var(--rs) * 2) auto calc(var(--rs) * 6);
  background: rgb(255 255 255 / 60%);
  box-shadow: 0 2px 3px 0 rgb(50 50 50 / 50%);
  position: relative;
}
.cdm-pic {
  margin-top: calc(var(--rs) * 2);
}
.cdm_info dl.dtl {
  width: 100%;
}
.cdm_info p.price {
  margin: calc(var(--rs) * 1) 0;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
  text-align: right;
}
.cdm_info p.price em {
  font-size: 120%;
  font-weight: bold;
}
.cdm_info p.cdmSrvc {
  padding: 1em calc(var(--fs) * 1);
  margin: 0 auto;
  /*background: #d187ac;*/
  /*background: #b52e21;*/
  background: #cc98a5;
  color: #fff;
  font-size: calc(var(--fs) * 1.4);
  text-align: center;
}
.cdm_info p.cdmSNS {
  padding: 1em calc(var(--rs) * 1);
  padding-left: calc(1em + var(--rs) * 1);
  /*background: #e9f3ff;*/
  /*background: #411932;*/
  /*background: #876262;*/
  background: rgb(190 223 234 / 50%);
  /*color: #fff;*/
  color: var(--c-brw-2);
  text-align: center;
  text-indent: -1em;
  font-size: calc(var(--fs) * 1.4);
}      
/* cdm sub cont _ 説明のみ*/
.cdm-outline-container {
  background: rgb(117 64 90 / 30%);
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.cdm-outline-container img {
  width: min(100%, 36rem);
  flex: 1 1 auto;
}
.cdm-outline-container .txtBox {
  width: min(94%, 36rem);
  margin: 0 2%;
  flex: 1 1 auto;
}
.cdm-outline-container .txtBox dt {
  font-weight: bold;
}
/* cdm sub cont _ sub photo あり*/
.cdm-subcont-container {
  container-type: inline-size;
  position: relative;
}
.cdm-subcont {
  background: rgb(116 97 82 / 30%);
  display: flex;
}
.cdm-subcont-photo {
  flex: 2 1 auto;
}
.cdm-subcont-outline {
  padding-bottom: calc(var(--fs) * 1.5);
  /*flex: 1 1 48rem;*/
  flex: 1 1 64rem;
}
.cdm-subcont-outline-text {
  width: 94%;
  margin: 0 auto;
}
.cdm-subcont-outline-text .txtBox {
  width: calc(100% - 6px);
  padding: 1px 0 2px;
  margin: calc(var(--fs) * 1.5) auto 0; 
}
@container (max-width: 800px) {
  .cdm-subcont {
    /*flex-wrap: wrap;*/
  }
  .cdm-subcont-photo {
    flex: 1 1 50%;
  }
  .cdm-subcont-outline {
    flex: 1 1 100%;
  }
  .cdm-subcont-photo img,
  .cdm-subcont-outline img {
    width: 140%;
    object-fit: cover;
  }
}
/*-------------------------------
 Event Detail - SDワンオフモデル
---------------------------------*/
.one-theme {
  padding: 0.25em 1em;
  font-size: calc(var(--fs) * 2);
  background: linear-gradient(transparent 50%, rgb(242 149 184 / 40%) 50%);
}
.one-theme-gold {
  width: 100%;
  background: linear-gradient(90deg, #d4b40f 10%, #f6e487 40%, #f6e487 60%, #d4b40f 90%);
  color: var(--c-brw01);
  line-height: 1.6;
  text-align: center;
  font-weight: bold;
  display: block;
}
.one-theme-deco {
  width: 94%;
  padding: calc(var(--rs) * 1);
  margin: 0 auto;
  background: var(--c-brw-1);
  border-radius: calc(var(--fs) * 1);
  color: #fff;
  font-size: calc(var(--fs) * 2);
  text-align: center;
}
.one-theme-deco:has(ruby) {
  padding-top: calc(var(--rs) * 2);
}
.one-theme-deco.theme-springFair {
  background: linear-gradient(90deg, transparent 0%, #f9dcc5 15%, #fffbc0 30%, #fefcd8 50%, #fffbc0 70%, #f9dcc5 85%, transparent 100%);
  color: #E81657
}
.one-theme-deco.theme-seiran {
  background: linear-gradient(110deg, #6ec6af 0%, #4f86c5 40%, #4f86c5 60%, #a6d6d3 100%);
  font-family: var(--ff-mincho);
}
.one-theme-ribbon {
  width: min(100%,46rem);
  padding: 0 calc(var(--rs) * 4);
  margin-top: calc(var(--fs) * 0.5);
  background: linear-gradient(45deg, #b67b03 0%, #daaf08 25%, #ecc52d 50%, #daaf08 75%, #b67b03 100%);
  color: #fff;
  font-size: calc(var(--fs) * 2);  
  line-height: calc(var(--rs) * 5);
  text-align: center;
  text-shadow: 0 1px 2px rgb(183 124 3 / 80%), 0 0 4px rgb(183 124 3 / 60%);
  position: relative;
  display: block;  
}
.one-theme-ribbon:before,
.one-theme-ribbon:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-width: calc(var(--rs) * 2.5) calc(var(--rs) * 1.5);
  border-color: transparent;
  border-style: solid;
  top: 0;
  z-index: 1;
}
.one-theme-ribbon:before {
  left: 0;
  border-right-width: 0;
  border-left-color: #f6f3ee;
}
.one-theme-ribbon:after {
  right: 0;
  border-left-width: 0;
  border-right-color: #f6f3ee;
}


/*-------------------------------
 Event Detail - 共通スペックテーブル
---------------------------------*/
.specTable {
  width: 100%;
  margin-top: calc(var(--fs) * 1);
  border-collapse: separate;
  border-spacing: calc(var(--fs) * 0.5);
  font-size: calc(var(--fs) * 1.6);
  line-height: 1.3;
}
.specTable-bgWht {
  background: rgb(255 255 255 / 50%);
  border-radius: 2px;
  box-shadow: var(--bs-cmn);
}
.specTable caption {
  padding: calc(var(--rs) * 0.5) calc(var(--rs) * 1) calc(var(--rs) * 1);
  font-size: calc(var(--fs) * 2.0);
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
}
div.txtBox table.specTable caption {
  background: none;
}
div.txtBox table.specTable td::before {
  all: initial;
}
.specTable caption b {
  font-size: 125%;
}
.specTable caption small {
  font-size: 75%;
}
.specTable tr {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
}
.specTable tr:not(:nth-last-of-type(1)) {
  margin-bottom: calc(var(--rs) * 0.5);
}
.specTable th,
.specTable td {
  padding: 0.5em 0.25em;
}
.specTable th {
  /*width: 24%;*/
  padding-top: 0.4em;
  background: #595757;
  color: #fff;
  border-radius: 2px;
  font-size: calc(var(--fs) * 1.4);
  font-weight: normal;
  line-height: 1.2;
  text-align: center;
  vertical-align: top;
  flex-basis: 8em;
  flex-shrink: 0;
}
.specTable td {
  padding-left: 0.5em;
  text-align: left;
}
.specTable td[colspan] {
  padding-left: 0;
  padding-right: 0;
}
.specTable td.spec-price {
  padding-top: 0;
  font-size: 125%;
  font-weight: bold;
}
.specTable ul.note-list > li {
  font-size: calc(var(--fs) * 1.2);
}
.pagetop, .footer-navi, footer  {
  font-size: var(--fs-ms);
}

/* ==================== footer sns link start =============== */
.pagetop,
.footer-navi,
footer {
  font-size: calc(var(--fs) * 1.3);
}
/*-------------------------------
 Footer Link _ page top
---------------------------------*/
.pagetop {
  width: 100%;
  position: relative;
  background: #fff; 
  line-height: 1;
}
.pagetop__btn {
  padding: 1rem 0 1.5rem;
  margin: auto;
  background: var(--color-link-cmn);
  color: #fff;
  display: block;
  text-align: center;
}
a.pagetop__btn:hover {
  color: #fff;
  text-decoration: none;
}
/*-------------------------------
 Footer (Dollfie offisial site ver)
---------------------------------*/
footer {
  width: 100%;
  padding: 2rem 2vw;
  background: var(--color-sc-light);
  color: var(--color-white);
  text-align: center;
}

.footer-inner {
  max-width: var(--width-cont);
  margin: 0 auto;
  position: relative;
}

.footer-logo {
  width: calc(100vw / 4);
  max-width: 14rem;
  margin: 1rem auto;
}

.footer__copylight {
  margin: 2rem auto;
  font-size: var(--fs-xxs);
  line-height: 1.2;
}
.footer__copylight > li {
  margin: 0.5rem 0;
}

.footer__note {
  margin: 2rem auto;
  font-size: var(--fs-xs);
  line-height: 1.4;
}
.footer__note > li {
  margin: 0.5rem 0;
}


.footer__copylight-sd {}
.footer__copylight-dd { display: none;}

/*-------------------------------
 Footer Navi _ SNS Links
---------------------------------*/
.footer-navi {
  width: 100%;
  padding: 2rem 2vw;
  background: url("/assets/image/bg_common-pink.jpg") 50% 50% / cover repeat;
  text-align: center;
}
.banner-sns {
  max-width: var(--width-cont);
  padding: 2rem 0;
  margin: 0 auto;
  position: relative;
  /* Flex - parent */
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
}
.banner-sns > li {
  margin: 1rem;
  border-radius: 0.5rem;
  line-height: 1.2;
  overflow: hidden;
}
.banner-sns__main > li {
  width: calc( var(--col5) - 2rem);
}
.banner-sns__other > li {
  width: calc( var(--col4) - 1rem);
  padding: 1rem;
  margin: 0.5rem;
  background: var(--color-white);
  box-shadow: 0 0.1rem 0.3rem 0 rgba(120,22,44,0.1);
}

/* Footer Navi - Online Store */
.footer-navi__os-link {
  width: 80%;
  max-width: 74rem;
  margin: 2rem auto 1rem;
  position: relative;
}
.navi-global__os-link-btn { /* Online Store _ button */
  width: auto;
  min-width: 80%;
  padding: 1.2rem 3.4rem 1.2rem 1.8rem;
  margin: 0;
}
.footer-navi__os-link > .navi-global__os-link-btn {
  padding-top: 2rem;
  padding-bottom: 2rem;
  margin: 0 1rem;
  font-size: var(--fs-l);
  display: block;
}
.footer-navi__os-link > .navi-global__os-link-btn::before {
  width: 2.6rem;
  position: relative;
  top: 0.2rem;
}

/* Footer Navi - Official site */
.navi-offl {
  width: 80%;
  max-width: 74rem;
  margin: 1rem auto 2rem;
  /* Flex - parent */
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
}
.navi-offl__list {
  margin: 1rem;  
  line-height: 1;
  text-align: center;
  position: relative;
  /* Flex - children*/
  flex: 1 0 0;
}
.navi-offl__btn {
  padding: 2rem;
  border-radius: 0.5rem;
  color: #fff;
  display: block;
}
.navi-offl__btn::before {
  content: url("/assets/image/logo/logo_vs_mark-wht.svg");
  width: 2.4rem;
  margin-right: 0.5rem;
  display: inline-block;
  position: relative;
  top: 0.2rem;
}
.navi-offl__btn::after {
  content:"";
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-left-color: var(--color-white);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -0.5rem;
  -ms-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
.navi-offl__btn--cs,
.navi-offl__btn--hobby {
  background: #8d6262/*971e25*/;
}

/*-------------------------------
 Footer Navi _ SNS Links DollfieSP仕様追記
---------------------------------*/
  .footer-navi img {
    vertical-align: baseline;
  }
  .footer-navi a  {
    text-decoration: none;
    color: var(--color-link-cmn);
  }
  .footer-navi a:hover {
    text-decoration: underline;
    color: var(--color-link-cmn-hover);
  }
  .footer-navi__os-link > .navi-global__os-link-btn {
    color: #ffffff;
    background: var(--color-link-cmn);
  }
.link-btn--amazon {
  --color-link-cmn: #232f3e;
}
.footer-navi .navi-offl__btn  { color: #fff;}
.footer-navi .navi-offl__btn:hover  { text-decoration: none; }


/*
  .footer-navi .navi-offl {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  }
*/


@media screen and (max-width: 835px) {

  .banner-area {
  }
  .banner-area__innder {
    padding: 0;
  }
  .banner-area__innder > li {
    width: calc(25% - 2rem);
  }
  .banner-sns {
    padding: 1rem 0;
  }
  .banner-sns > li {
    margin: 0.5rem;
  }
  .banner-sns__main > li {
    width: calc( 100%/5 - 1rem);
  }
  .banner-sns__other > li {
    width: calc( 50% - 1rem);
  }

}