@charset "utf-8";

#main span.note {
  display: inline-block;
}

/* #main > div:not(#sb_hdr) {padding: 0;} */
main.rsrv > div#sb_hdr {margin: 0 auto;}

#main > div#tab1 {padding: 16px 0 0;}
#tab1 #bx_cap  {
  margin: 0 auto 66px;
}
#tab1 #bx_cap > p {
  margin: 0 auto 19px;
  padding: 15px 2%;
  border: 1px solid;
  color: #990000;
  font-size: min(2vw, 1.2rem);
  font-weight: bold;
  line-height: 1;
    font-size: 100%;
    line-height: 1.3;
}
#tab1 #bx_cap > p.no_lln {
  padding: 0;
  color: unset;
  border: none;
/*   text-align: left; */
}
#en #tab1 #bx_cap > p {
  line-height: 1.4;
/*   text-align: left; */
}
#tab1 > div > p.end {
  margin: 0 auto 40px;
  padding: 15px 3%;
   background: #ffffcc;
  border: 1px solid;
}
#tab1 > div > p:nth-child(2) {
  margin: 0 auto 40px;
  font-size: 1.2rem;
}

.note, #main .note {font-size: 100%;}

#pgm > ul > li {
  margin: 0 auto 40px;
  padding: 30px 2% 69px;
  background: #fff;
  position: relative;
}
#pgm > ul > li > ol,
#pgm > ul > li > ol > li > dl,
#pgm > ul > li > ol > li:last-child > ol {
  width: /* 100% */96%;
/*   max-width: 1060px; */
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#main #pgm {
  padding: 20px 0 40px;
}
#main #pgm > p:first-child {margin: 0 auto 40px;}

#pgm > ul > li > h3 {
  margin: 0 /* -2.7% */0 25px;
  padding: 16px 3%;
  background: #407038;
  color: #fff;
  font-size: min(4vw, 1.6rem);
  line-height: 1.3;
  text-align: left;
}
#pgm > ul#food > li > h3 {background: #776633;}
#pgm > ul#lv > li > h3 {background: #335588;}
#pgm > ul#inds > li > h3 {background: #993344;}
#pgm > ul#cltr > li > h3 {background: #663399;}
#pgm > ul#hlwk > li > h3 {background: #4477aa;}
#pgm > ul#trdt > li > h3 {background: #886611;}
#pgm > ul#nw > li > h3 {background: #570000;}
#pgm > ul#fkk > li > h3 {background: #0055cc;}

#pgm > ul > li > ol {
/*   margin: 0 auto; */
  flex-direction: row-reverse;
}
#pgm > ul > li > ol > li {width: 34%;}
#pgm > ul > li > ol > li:last-child {
  width: 64%;
  padding: 0 0 2%;
  text-align: left;
}
#pgm > ul > li > ol:last-child > li:last-child {
  padding: 0;
}

#pgm > ul > li > ol p {
  margin: 0 auto 20px;
}
#pgm > ul > li > ol > li > dl {
  width: 100%;
  border-left: 1px solid #adadad;
  border-right: 1px solid #adadad;
  border-top: 1px solid #adadad;
  flex-flow: wrap;
}
#pgm > ul > li > ol dl > * {
  border-bottom: 1px solid #b0b0b0;
}
#pgm > ul > li > ol dl > dt {
  width: 100px;
  padding: 10px 1%;
  background: #eaeae6;
  color: #534741;
  line-height: 1.3;
  word-break: break-word;
}
#en #pgm > ul > li > ol dl > dt {
  width: 113px;
}
/*
#pgm > ul#food > li > ol dl > dt {color: #776633;}
#pgm > ul#lv > li > ol dl > dt {color: #005588;}
#pgm > ul#inds > li > ol dl > dt {color: #993344;}
#pgm > ul#trdt > li > ol dl > dt {color: #69338b;}
#pgm > ul#hlwk > li > ol dl > dt {color: #4477aa;}
#pgm > ul#nw > li > ol dl > dt {color: #660018;}
#pgm > ul#inds > li > ol dl > dt {background: #993344;}
 */
#pgm > ul > li > ol dl > dd {
  width: calc(94% - 100px);
  padding: 5px 2%;
}
#pgm > ul > li > ol dl > dd:last-child {
  min-height: 200px;
}
#en #pgm > ul > li > ol dl > dd {
  width: calc(94% - 113px);
}
#pgm > ul > li > ol dl > dd span:first-child {
  color: #731111;
  font-weight: bold;
}
#pgm > ul > li > ol > li:last-child > ol {
  width: 100%;
}
#pgm > ul > li > ol dl > dd > ol {
  padding: 6px 0 0 0;
}
#pgm > ul > li > ol dl > dd > ol:before {
  content: '【会場受付の体験開始時間】※会場受付は先着順となります。';
}
#pgm > ul > li > ol dl > dd > ol.ltry:before {
  content: '【会場受付の体験開始時間】※会場受付は抽選となります。';
}
#en #pgm > ul > li > ol dl > dd > ol:before {
  content: '[Experience start time of the day] ※Reception on the day will be on a first-come, first-served basis.';
}
#en #pgm > ul > li > ol dl > dd > ol.ltry:before {
  content: '[Experience start time of the day] ※Reception on the day will be by lottery.';
}
#pgm > ul > li > ol dl > dd > ol > li {
  padding: 0 0 4px 2%;
  line-height: 1.4;
}
#pgm > ul > li > ol dl > dd > ol > li:before {
  margin: 0 0 -4px -2%;
  display: block;
}
#pgm > ul > li > ol dl > dd > ol > li:first-child:before {
  content: '≪7月25日≫';
}
#en #pgm > ul > li > ol dl > dd > ol > li:before {
  margin: 0 0 -4px -2%;
  content: '≪7.25≫';
}
#pgm > ul > li > ol dl > dd > ol > li:nth-child(2):before {
  content: '≪7月26日≫';
}
#en #pgm > ul > li > ol dl > dd > ol > li:nth-child(2):before {
  content: '≪7.26≫';
}
#pgm > ul > li > ol dl > dd > ol > li:nth-child(3):before {
  content: '≪7月27日≫';
}
#en #pgm > ul > li > ol dl > dd > ol > li:last-child:before {
  content: '≪7.27≫';
}
/* #en #pgm > ul > li > ol dl > dd > ol:not(.no_cap):after {
  content: '*Reception on the day will be on a first-come, first-served basis.';
  word-break: break-all;
} */
#en #pgm > ul > li > ol dl > dd > ol.cap2:after {
  content: '*Numbered tickets will be distributed at the booth on the day of registration, and a drawing will be held.';
}
#pgm > ul > li > ol > li > dl > dd:nth-child(4),
#pgm > ul > li > ol > li > dl > dd:nth-child(6) {
  width: calc(44% - 100px);
}
#pgm > ul > li > ol > li > dl > dd:nth-child(4) {
  border-right: none;
  font-family: 'ヒラギノ角ゴ Pro W3', 'BIZ UDPGothic', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
#en #pgm > ul > li > ol > li > dl > dd:nth-child(4) {
  width: calc(44.4% - 130px);
}
#en #pgm > ul > li > ol > li > dl > dt:nth-child(5) {
  width: 132px;
}
#en #pgm > ul > li > ol > li > dl > dd:nth-child(6) {
  width: calc(43.9% - 120px);
}
#pgm ol:last-child > li > form > span {
  max-width: 400px;
  margin: 0 auto;
  padding: 10px 0;
  background: #990000 url(../../img/arw_wht.svg) no-repeat 94% center;
  background-size: auto 40%;
  color: #fff;
  cursor: pointer;
  display: block;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
}
#pgm ol:last-child > li > span.noform,
#pgm ol:last-child > li > form > span.noform {
  padding: 10px 10%;
  background: #999 url(../../img/arw_wht.svg) no-repeat 94% center;
  background-size: auto 40%;
  color: #fff;
  display: block;
  font-size: min(2vw, 1.3rem);
  text-align: center;
}
#en #pgm ol:last-child > li > form > span.noform {
  margin: -30% auto 13%;
}
#pgm > ul > li > ol.shrt + ol:last-child li > span.noform {
  margin: 0 auto -1%;
}

#pgm ol.rsvb:last-child,
#pgm ol.no_btn:last-child,
#pgm ol.offr:last-child {
  width: 92%;
  margin: 0 auto;
  padding: 0 0 50px;
  position: absolute;
  bottom: 0;
  left: 4%;
  align-items: end;
}
/* #pgm ol.rsvb > li:first-child {
  margin: -7% 0 5%;
} */
#pgm ol > li > span.tdy {
  margin: 0 auto 22px;
  padding: 14px 0;
  background: #ffffcc;
  border: 3px solid;
  border-radius: 3rem;
  color: #6e0000;
  display: block;
  font-weight: bold;
  font-size: min(4vw, 1.4rem);;
  line-height: 1;
  text-align: center;
}

#pgm > ul > li > ol.shrt + ol:last-child {
}
#pgm > ul > li > ol.shrt + ol:not(.no_btn):last-child > li:first-child {
  margin: 0;
}
#pgm > ul > li > ol:not(.no_btn):last-child > li:first-child {
  margin: 0 0 44px;
  font-size: .8rem;
  line-height: 1.4;
  text-align: left;
}
#pgm > ul > li > ol:not(.no_btn):last-child > li img {
  width: 100%;
  margin: 0 auto;
  display: block;
}
#pgm > ul > li > ol > li:last-child > ol li:first-child:after {
  content: "■関連情報： ";
}
#en #pgm > ul > li > ol > li:last-child > ol li:first-child:after {
  content: "■Related information：";
  white-space: nowrap;
}
#pgm > ul > li > ol > li > ol a {
  padding: 0 3% 0 0;
  display: block;
  white-space: nowrap;
}
#pgm > ul > li > ol > li > ol > li:nth-child(2) {
  width: calc(100% - 110px);
  display: flex;
}

#pgm > p.cmngs {
  padding: 6vh 0 0;
  font-size: 1.4rem;
  text-align: center;
}

/* form */
main.rsrv > div#sb_hdr + * {padding: 39px 0 34px;}
section#rsrv.fin {
  margin: 33px auto 0;
}
#rsrv > div._bdy {
  margin: 50px auto 0;
}
#main #rsrv #cap h2 {
  margin: 0 auto 50px;
  padding: 10px 0;
  background: linear-gradient(90deg, #0d2f62, #970134);;
  color: #fff;
  font-size: 1.6rem;
}
#main #rsrv #cap p {
  margin: 0 auto 30px;
}
#main #rsrv #cap p.bx_rdln {
  width: 96%;
  max-width: 1000px;
  padding: 10px 2%;
  background: #fff;
  border: 1px solid #990000;
  text-align: left;
}
#main #rsrv #cap p.caution {
  max-width: 1030px;
  margin: 0 auto 30px;
  text-align: left;
}
#main #rsrv #cap + div {background: #fff;}
#rsrv dl#flw {
  margin: 0 auto 20px;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: space-between;
  align-items: center;
}
#rsrv.fin dl#flw {margin: 0 auto;}
#rsrv dl#flw > dt {
  width: calc(30% - 52px);
  padding: 9px 2%;
  background: #b3b3b3;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
}
#rsrv dl#flw > dt.on {
  background: linear-gradient(90deg, #013366, #2c2457);
}
#rsrv dl#flw > dd {
  width: 26px;
  background: transparent url(../../img/arw_tri_gry.svg) no-repeat center center;
  background-size: 100% auto;
}
#rsrv dl#flw > dd:last-child {
  display: none;
}
#rsrv > div._bdy > h3 {
  padding: 33px 0;
  color: #810000;
  font-size: 1.8rem;
}
#rsrv > div._bdy form,
#rsrv > div._bdy #bx_vr {
  padding: 40px 4%;
  background: #fff;
  text-align: left;
}
#rsrv > div._bdy #bx_vr.fin {margin: 0 auto 60px}
#rsrv > div._bdy form h4,
#rsrv > div._bdy #bx_vr > h4 {
  margin: 0 auto 30px;
  padding: 13px 0;
  border-bottom: 2px solid;
  border-top: 2px solid;
  color: #000;
  font-size: 1.5rem;
  line-height: 1;
}
#rsrv > div._bdy form h4 {
  line-height: 1.3;
}
#rsrv > div._bdy form h4 span,
#rsrv #bx_vr > h4 > span {
  margin: 0 auto 0 18px;
  padding: 5px 0 5px 16px;
  border-left: 3px solid;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: normal;
}
#rsrv > div._bdy #bx_vr.fin > p {
  color: #990000;
  font-size: 1.4rem;
  font-weight: bold;
}
#rsrv > div._bdy #bx_vr.fin > p.thanks {color: #000;}
#form1 > div:nth-child(3),
#form1 > div:nth-child(4),
#rsrv > div._bdy #bx_vr > p {
  margin: 0 auto 20px;
}
#form1 > div:nth-child(3) dl,
#form1 > div:nth-child(4) dl,
#rsrv > div._bdy #bx_vr div > dl,
#rsrv div.tbl2 {
  width: 100%;
  margin: 0 auto -1px;
  border: 1px solid;
  border-bottom: none;
  color: #000;
  display: table;
}
#form1 > div:nth-child(3) > dl:nth-child(4) {
  border-top: 1px dotted;
}
#form1 > div:nth-child(3) dl:last-child,
#form1 > div:nth-child(4) dl:last-child,
#rsrv > div._bdy #bx_vr div > dl:last-child,
#rsrv div.tbl2:last-child {
  border-bottom: 1px solid;
}
#form1 > div:nth-child(3) dl > *,
#form1 > div:nth-child(4) dl > *,
#rsrv > div._bdy #bx_vr > div dl > *,
#rsrv div.tbl2 > * {
  padding: 13px 2%;
  display: table-cell;
}
#rsrv div.tbl2 > * {padding: 0;}
#rsrv div.tbl2 > * > dl {
  border: none;
  border-bottom: 1px solid;
}
#form1 > div:nth-child(3) dl dt,
#form1 > div:nth-child(4) dl dt,
#rsrv > div._bdy #bx_vr > div dl dt {
  width: 240px;
  background: #e9f1ff;
}
#rsrv > div._bdy #bx_vr.fin > div > dl dt {
  width: 320px;
}
#form1 > div:nth-child(3) > dl dd > *:not(span),
#form1 > div:nth-child(4) > dl dd > *:not(span) {
  width: 98%;
  border: 1px solid #ccc;
}
#form1 > div:nth-child(4) > dl dd > *:not(span) {
  width: 80%;
  margin: 0 0 10px 0;
}
#form1 > div:nth-child(3) > dl dd input[type=email]:nth-child(1) {
  margin: 0 0 10px;
}
#form1 > div:nth-child(4) > dl dd > span.cap {
  margin: 0 auto 10px;
  display: block;
}
#form1 > div > dl > dd > span.cap {
  display: block;
  font-size: .8rem;
}

#form1 > div.prvcy {
  margin: 0 auto 20px;
  padding: 8px 2%;
  border: 1px solid #808080;
}
#form1 > div.prvcy p:first-child {
  margin: 0 auto 6px;
  padding: 0 0 6px;
  border-bottom: 1px solid #ccc;
}

#main .bx_btn.l_red input[type=submit] {
  background: #fff url(../../img/arw_rd.svg) no-repeat 96% center;
  background-size: auto 40%;
  border: 2px solid;
  color: #7b0000;
}
#main .bx_btn.l_red input[type=submit][disabled]  {
  background: #ccc;
  color: #eee;
  cursor: default;
}

#bx_vr > div.bx_btn form {
  padding: 15px 0;
  text-align: center;
}
#main #bx_vr > div.bx_btn form a {
  background: none;
/*   border: 1px solid; */
  color: #0000ff;
  text-decoration: underline;
}

#bx_vr.fin > ul {
  margin: 0 auto 30px 1.6rem;
  padding: 20px 0 0;
  color: #990000;
  font-size: 1.4rem;
  list-style-type: disc;
}
#rsrv #bx_vr.fin > p.thanks {
  margin: 0 auto;
  padding: 5px 0;
  text-align: center;
  border-top: 1px solid;
  border-bottom: 1px solid;
}

#main #rsrv.fin .bx_btn.l_red {
  padding: 30px 0 0;
}
#main #rsrv .bx_btn.l_red a.tomyp {
/*   background: #fff; */
  border: 1px solid;
  color: #333;
  font-size: 1.3rem;
  font-weight: normal;
  text-decoration: none;
}
#en #main #rsrv .bx_btn.l_red a.tomyp,
#en #main #rsrv .bx_btn.l_red + div a {
  max-width: 520px;
}

#rsrv > p.bx_err {
  padding: 60px 0;
}

@media screen and (max-width: 640px) {
  #main > p > span.note {
    padding: 9px 0 0;
  }

  #tab1 {margin: 0 auto;}
  #tab1 #bx_cap {margin: 0 auto 39px;}
  #tab1 #bx_cap > p {
    text-align: left;
  }

  #main #pgm {padding: 20px 0 0;}

  #main #pgm > p:first-child {
    margin: 0 auto;
    text-align: left;
  }

  #tab2 {
    width: 98%;
    margin: 0 auto 20px;
  }
  #tab2 ul {
    justify-content: center;
  }
  #tab2 ul li {
    width: 30%;
    margin: 0 0 5px;
  }

  #pgm ol.rsvb > li:first-child {
    margin: 0 0 5%;
  }
  #pgm > ul > li > ol:not(.no_btn):last-child > li:first-child {
    margin: 0 0 23px;
  }

  #pgm > ul > li {padding: 10px 4% 1px;}
  #pgm > ul > li > h3 {
    padding: 12px 3%;
  }
  #pgm > ul > li > ol {
    display: block;
  }
  #pgm > ul > li > ol li,
  #pgm > ul > li > ol li:first-child,
  #pgm > ul > li > ol > li:last-child {
    width: 100%;
    padding: 0;
  }
  #pgm > ul > li > ol:not(.no_btn):last-child {
    margin: 0 auto;
  }
  #pgm ol:last-child > li > span.noform,
  #pgm ol:last-child > li > form > span.noform,
  #en #pgm ol:last-child > li > span.noform,
  #en #pgm ol:last-child > li > form > span.noform {
    margin: 9px auto 0;
    font-size: min(4vw, 1.2rem);
  }

  #pgm ol.rsvb:last-child,
  #pgm ol.no_btn:last-child,
  #pgm ol.offr:last-child {
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
    position: unset;
  }
  #pgm ol.no_btn {
    margin: 0 auto 15px;
  }
  #pgm1 > ol.no_btn > li:nth-child(1)
  #pgm ol.no_btn > li:nth-child(1) {display: none;}

  #pgm > ul > li > ol h3 {
    font-size: 5.2vw;
  }
  #pgm > ul > li > ol > li > dl {
    margin: 0 auto 10px;
  }
  #pgm > ul > li > ol dl > dt,
  #en #pgm > ul > li > ol dl > dt,
  #en #pgm > ul > li > ol > li > dl > dt:nth-child(5) {
    width: 90px;
    padding: 10px 0 10px 2%;
  }
  #pgm > ul > li > ol dl > dd,
  #en #pgm > ul > li > ol dl > dd,
  #pgm > ul > li > ol > li > dl > dd:nth-child(4),
  #en #pgm > ul > li > ol > li > dl > dd:nth-child(4),
  #pgm > ul > li > ol > li > dl > dd:nth-child(6),
  #en #pgm > ul > li > ol > li > dl > dd:nth-child(6) {
    width: calc(94% - 92px);
    border-right: 1px solid #b3b3b3;
  }
  #pgm > ul > li > ol > li:last-child > img {
    margin: 0 auto 20px;
    width: 90%;
    max-width: 400px;
  }
  #pgm > ul > li > ol > li:last-child > ol {
    padding: 5px 0;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #pgm > ul > li > ol > li:last-child > ol li {
    width: calc(98% - 90px);
    padding: 0;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #pgm > ul > li > ol > li:last-child > ol li:first-child {
    width: auto;
    padding: 5px 1% 5px 0;
    border: none;
    border-bottom: none;
    display: block;
    text-align: left;
  }
  #pgm > ul > li > ol > li > ol a {
    padding: 10px 2%;
    display: block;
    font-size: 3.4vw;
    line-height: 1;
    text-align: center;
  #pgm > ul > li > form > span {
    width: 100%;
    margin: 0 auto 25px;
  }
  }

  /* form */
  #rsrv > div._bdy > h3 {
    padding: 33px 0 0;
    font-size: 6vw;
  }
  #rsrv > div._bdy form {padding: 0 4% 40px;}
  #rsrv dl#flw > dt {
    width: calc(30% - 26px);
    font-size: 2.8vw;
    line-height: 1.2;
  }
  #rsrv dl#flw > dd {width: 14px;}
  #form1 > div:nth-child(3) > dl,
  #rsrv > div._bdy #bx_vr > div > dl {
    width: 100%;
    margin: 0 auto -1px;
    display: block;
  }
  #form1 > div:nth-child(3) > dl > *,
  #rsrv > div._bdy #bx_vr > div > dl > *,
  #form1 > div:nth-child(4) dl > * {
    width: 96%;
    display: block;
  }
  #form1 > div:nth-child(3) > dl dt,
  #rsrv > div._bdy #bx_vr > div > dl dt,
  #form1 > div:nth-child(3) > dl dd > *:not(span),
  #form1 > div:nth-child(4) dl dt {
    width: 96%;
  }
  #rsrv > div._bdy form h4,
  #rsrv > div._bdy #bx_vr > h4 {
    margin: 0 auto 10px;
    padding: 0 0 12px;
    line-height: 1.2;
  }
  #rsrv > div._bdy form h4 + p,
  #rsrv > div._bdy #bx_vr > h4 + p {
    margin: 0 auto 10px;
  }



}
