.bt{
  --ink:#302821;
  --sub:#625e57;
  --line:#ddd7cc;
  --paper:#fff;
  --soft:#f8f3e9;
  --gold:#d99a16;
  --gold-deep:#a96800;
  --navy:#142238;
  --green:#245942;
  --green-soft:#edf6f0;
  --red:#9e322b;
  --red-soft:#fff0ed;
  --warn:#fff8e7;
  --max:1120px;
  max-width:var(--max);
  margin:0 auto;
  color:var(--ink);
  background:var(--paper);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic",Meiryo,sans-serif;
  line-height:1.8;
  letter-spacing:.02em;
}
.bt,.bt *{box-sizing:border-box}
.bt h1,.bt h2,.bt h3,.bt p{margin-top:0}
.bt p{margin-bottom:0}
.bt a{text-decoration:none}
.bt__wrap{width:min(100% - 40px,1000px);margin:0 auto}
.bt__section{padding:76px 0}
.bt__section--soft{background:var(--soft)}
.bt__section--dark{background:linear-gradient(135deg,#101c2d,#172a43);color:#fff}
.bt__eyebrow{
  margin:0 0 12px;
  color:var(--gold-deep);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
}
.bt__section--dark .bt__eyebrow{color:#f2c356}
.bt h1{
  margin-bottom:20px;
  font-size:clamp(36px,5.3vw,62px);
  line-height:1.18;
  letter-spacing:-.035em;
}
.bt h1 span{
  display:block;
  margin-top:9px;
  font-size:.53em;
  letter-spacing:0;
}
.bt h2{
  margin-bottom:16px;
  font-size:clamp(28px,3.8vw,43px);
  line-height:1.35;
  letter-spacing:-.02em;
}
.bt h3{margin-bottom:9px;font-size:21px;line-height:1.45}
.bt__lead{max-width:700px;color:#514d47;font-size:17px}
.bt__hero{
  overflow:hidden;
  padding:68px 0 58px;
  background:
    radial-gradient(circle at 87% 15%,rgba(232,171,36,.28),transparent 26%),
    linear-gradient(135deg,#fffaf0 0%,#fff 52%,#f6efe2 100%);
}
.bt__hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:54px;
  align-items:center;
}
.bt__hero-note{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  padding:7px 12px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 7px 25px rgba(83,58,16,.08);
  color:var(--green);
  font-size:13px;
  font-weight:900;
}
.bt__hero-note:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#2a7a55;
}
.bt__ticket{
  position:relative;
  min-height:330px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid #d5c39c;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 58px rgba(53,40,14,.13);
}
.bt__ticket:before,.bt__ticket:after{
  content:"";
  position:absolute;
  top:50%;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f8f1e3;
  transform:translateY(-50%);
}
.bt__ticket:before{left:-15px}
.bt__ticket:after{right:-15px}
.bt__ticket-top{
  padding-bottom:22px;
  border-bottom:1px dashed #cdbd9e;
  color:var(--gold-deep);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}
.bt__ticket-main{padding:25px 0}
.bt__ticket-main small{display:block;margin-bottom:3px;color:var(--sub);font-weight:800}
.bt__ticket-main b{
  display:block;
  font-size:clamp(48px,7vw,74px);
  line-height:1;
  letter-spacing:-.05em;
}
.bt__ticket-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
}
.bt__ticket-bottom strong{color:var(--green);font-size:18px}
.bt__ticket-bottom span{color:var(--sub);font-size:12px;text-align:right}
.bt__facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.bt__fact{padding:23px 14px;text-align:center;border-right:1px solid var(--line)}
.bt__fact:last-child{border-right:0}
.bt__fact b{display:block;margin-bottom:2px;font-size:17px}
.bt__fact span{color:var(--sub);font-size:12px}
.bt__heading{
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:flex-end;
  margin-bottom:32px;
}
.bt__heading p{max-width:540px;color:var(--sub)}
.bt__answers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.bt__answer{
  min-height:190px;
  padding:27px 24px;
  border-top:3px solid var(--gold);
  background:#fff;
  box-shadow:0 8px 25px rgba(36,29,17,.06);
}
.bt__answer-num{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.bt__answer p{color:var(--sub);font-size:14px}
.bt__yesno{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.bt__panel{
  padding:32px;
  border:1px solid var(--line);
  background:#fff;
}
.bt__panel--yes{border-top:5px solid var(--green);background:linear-gradient(180deg,var(--green-soft),#fff 42%)}
.bt__panel--no{border-top:5px solid var(--red);background:linear-gradient(180deg,var(--red-soft),#fff 42%)}
.bt__panel-label{
  display:inline-flex;
  min-width:48px;
  height:28px;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  border-radius:999px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}
.bt__panel--yes .bt__panel-label{background:var(--green)}
.bt__panel--no .bt__panel-label{background:var(--red)}
.bt__panel ul{margin:17px 0 0;padding:0;list-style:none}
.bt__panel li{
  position:relative;
  padding:13px 0 13px 30px;
  border-top:1px solid rgba(70,62,50,.13);
}
.bt__panel li:before{
  position:absolute;
  left:2px;
  top:13px;
  font-size:16px;
  font-weight:900;
}
.bt__panel--yes li:before{content:"✓";color:var(--green)}
.bt__panel--no li:before{content:"×";color:var(--red)}
.bt__panel-note{margin-top:17px!important;color:var(--sub);font-size:14px}
.bt__all{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:42px;
  align-items:center;
}
.bt__all-badge{
  display:flex;
  min-height:250px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #d4c29d;
  background:
    radial-gradient(circle,rgba(225,167,42,.16) 0 36%,transparent 37%),
    #fff;
  text-align:center;
}
.bt__all-badge small{color:var(--gold-deep);font-weight:900;letter-spacing:.16em}
.bt__all-badge b{display:block;margin:4px 0;font-size:clamp(56px,8vw,88px);line-height:1}
.bt__all-badge span{font-weight:800}
.bt__category-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:24px;
}
.bt__category{
  padding:18px;
  border:1px solid var(--line);
  background:#fff;
}
.bt__category b{display:block;margin-bottom:3px}
.bt__category span{color:var(--sub);font-size:13px}
.bt__rules{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
}
.bt__rule{padding:25px 21px;border-right:1px solid var(--line);background:#fff}
.bt__rule:last-child{border-right:0}
.bt__rule-key{display:block;margin-bottom:12px;color:var(--gold-deep);font-size:11px;font-weight:900;letter-spacing:.14em}
.bt__rule p{color:var(--sub);font-size:14px}
.bt__warning{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:23px;
  align-items:start;
  margin-top:22px;
  padding:28px;
  border-left:5px solid var(--red);
  background:var(--warn);
}
.bt__warning-mark{
  display:flex;
  width:46px;
  height:46px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:25px;
  font-weight:900;
}
.bt__warning h3{margin-bottom:5px}
.bt__warning p{color:#61594f}
.bt__faq{border-top:1px solid var(--line)}
.bt__faq details{border-bottom:1px solid var(--line)}
.bt__faq summary{
  position:relative;
  padding:22px 52px 22px 0;
  cursor:pointer;
  list-style:none;
  font-weight:800;
}
.bt__faq summary::-webkit-details-marker{display:none}
.bt__faq summary:after{
  content:"+";
  position:absolute;
  right:5px;
  top:18px;
  color:var(--gold-deep);
  font-size:27px;
  line-height:1;
}
.bt__faq details[open] summary:after{content:"−"}
.bt__faq details p{padding:0 52px 22px 0;color:var(--sub)}
.bt__cta-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:42px;
  align-items:center;
}
.bt__cta-lead{max-width:620px;color:#d9e0e9;font-size:16px}
.bt__store{
  padding:27px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.05);
}
.bt__store b{display:block;margin-bottom:7px;font-size:20px}
.bt__store p{color:#dce2ea;font-size:14px}
.bt__buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.bt__button{
  display:inline-flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  padding:13px 20px;
  border:1px solid #fff;
  background:#fff;
  color:var(--navy)!important;
  font-size:14px;
  font-weight:900;
}
.bt__button--gold{border-color:var(--gold);background:var(--gold);color:#161616!important}
.bt__button--ghost{background:transparent;color:#fff!important}
.bt__foot{
  padding:24px 0 4px;
  color:#777169;
  font-size:12px;
}
.bt__foot p+p{margin-top:8px}
.bt__foot a{color:#6a551f;text-decoration:underline}
@media(max-width:820px){
  .bt__hero-grid,.bt__all,.bt__cta-grid{grid-template-columns:1fr}
  .bt__hero-grid{gap:34px}
  .bt__ticket{min-height:290px}
  .bt__facts{grid-template-columns:1fr 1fr}
  .bt__fact:nth-child(2){border-right:0}
  .bt__fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .bt__heading{display:block}
  .bt__answers{grid-template-columns:1fr}
  .bt__answer{min-height:0}
  .bt__rules{grid-template-columns:1fr 1fr}
  .bt__rule:nth-child(2){border-right:0}
  .bt__rule:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:620px){
  .bt__wrap{width:min(100% - 28px,1000px)}
  .bt__section{padding:56px 0}
  .bt__hero{padding:50px 0 0}
  .bt h1{font-size:clamp(32px,10.5vw,46px)}
  .bt h1 span{font-size:.5em}
  .bt__lead{font-size:15px}
  .bt__ticket{min-height:250px;margin:0 -14px;padding:27px 25px}
  .bt__ticket-main b{font-size:56px}
  .bt__ticket-bottom{align-items:flex-start;flex-direction:column}
  .bt__ticket-bottom span{text-align:left}
  .bt__yesno{grid-template-columns:1fr}
  .bt__panel{padding:25px 21px}
  .bt__category-grid{grid-template-columns:1fr}
  .bt__rules{grid-template-columns:1fr}
  .bt__rule{border-right:0;border-bottom:1px solid var(--line)}
  .bt__rule:last-child{border-bottom:0}
  .bt__warning{grid-template-columns:1fr;padding:24px 21px}
  .bt__faq summary{padding:20px 42px 20px 0}
  .bt__faq details p{padding:0 15px 20px 0}
  .bt__buttons{display:grid}
  .bt__button{width:100%}
}
