@charset "UTF-8";
:root {
  --ttl: #3a2115;
  --text: #3a2115;
  --base: #fbf5e6;
  --point: #c59b4c;
  --point-text: #b88a3b;
  --bg-base: #ffffff;
  --value-bg: #ffffff;
  --line-soft: #d8b66a;
  --line-soft: #d8b66a;
  --value-bg: #fffcf6;
  --box-text: #3a2115;
  --font-serif: "kozuka-mincho-pr6n", "Times New Roman", serif;
  --font-size24_pc: 2cqw;
  --font-size24_sp: 4cqw;
  --font-size25_pc: 2.2cqw;
  --font-size25_sp: 4.5cqw;
  --font-size50_pc: 4.2cqw;
  --font-size50_sp: 7cqw; }

/* ============================================================
   Base / Reset
   ============================================================ */
* {
  box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

body {
  margin: 0 auto;
  padding: 0;
  overflow-x: hidden;
  font-family: var(--font-serif);
  color: var(--ttl);
  background: var(--bg-base);
  line-height: 1.7;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

a {
  color: inherit;
  text-decoration: none;
  color: var(--point); }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

h1,
h2,
h3,
h4,
p {
  margin: 0; }

.br_sp {
  display: none; }

@media (max-width: 768px) {
  .br_sp {
    display: block; } }
/* ============================================================
   header
   ============================================================ */
header h1 {
  margin-bottom: 100px; }

/* ============================================================
   main
   ============================================================ */
section.section {
  max-width: 1200px;
  padding: 0 4cqw;
  margin: 0 auto 100px;
  container-type: inline-size;
  /* 見出しの文字と横棒の間隔を開ける */ }
  section.section h2 {
    text-align: center;
    font-size: var(--font-size50_pc);
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    /* 縦位置の調整 */
    justify-content: center;
    /* 横位置の調整 */
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal; }
  section.section h2::before,
  section.section h2::after {
    content: '';
    flex-grow: 0.2;
    /* 少数にする */
    height: 2px;
    background: var(--point); }
  section.section h2::before {
    margin-right: 20px; }
  section.section h2::after {
    margin-left: 20px; }
  section.section h3 {
    text-align: center;
    color: var(--point-text); }
  section.section p {
    font-size: var(--font-size24_pc); }
  section.section p:last-child {
    margin-bottom: 0; }

@media (max-width: 768px) {
  section.section h2 {
    font-size: var(--font-size50_sp); }
  section.section p {
    font-size: var(--font-size24_sp); } }
/* ============================================================
   introductio
   ============================================================ */
section.section--introduction p {
  text-align: center;
  margin-bottom: 2em; }

/* ============================================================
   information
   ============================================================ */
table.event-table {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #f4efe4;
  border: 1px solid var(--point); }

.event-table th,
.event-table td {
  border: 1px solid var(--point);
  padding: 22px 28px;
  font-size: var(--font-size25_pc);
  text-align: left;
  vertical-align: middle; }

.event-table th {
  width: 28%;
  background: var(--base);
  color: var(--point);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap; }

.event-table td {
  background: var(--value-bg);
  color: var(--text); }

@media (max-width: 480px) {
  .event-table th,
  .event-table td {
    padding: 14px 16px;
    font-size: 14px; }

  .event-table th {
    width: 34%; } }
/* ============================================================
 special
 ============================================================ */
.section--special dl {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 30px 40px;
  background: var(--box-bg);
  border-bottom: 1px solid var(--line-soft); }

.section--special dl:last-of-type {
  border-bottom: none; }

/* ナンバリング列 */
.section--special dt {
  flex: 0 0 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 24px;
  border-right: 1px solid var(--point);
  font-family: var(--font-serif);
  font-size: var(--font-size50_pc);
  font-weight: 500;
  line-height: 1;
  color: var(--point); }

/* ナンバリング下の装飾（画像使用） */
.section--special dt::after {
  content: "";
  display: block;
  width: 92px;
  height: 20px;
  margin-top: 14px;
  background: url("../img/special_hr.png") no-repeat center/contain; }

/* テキスト列 */
.section--special dd {
  flex: 1 1 auto;
  margin: 0;
  padding-left: 40px;
  font-size: var(--font-size25_pc);
  line-height: 1.9;
  color: var(--box-text); }

.section--special dd span {
  display: block;
  margin-top: 4px;
  font-size: 70%;
  line-height: 1.8;
  font-weight: 400;
  color: var(--box-text); }

@media (max-width: 768px) {
  .section--special h2 {
    gap: 14px; }

  .section--special h2::before,
  .section--special h2::after {
    max-width: 40px; }

  .section--special dl {
    padding: 22px 10px; }

  .section--special dt {
    flex-basis: 60px;
    font-size: var(--font-size50_sp);
    padding-right: 14px; }

  .section--special dt::after {
    width: 64px; }

  .section--special dd {
    padding-left: 20px;
    font-size: var(--font-size25_sp); }

  .section--special dd span {
    font-size: 12.5px; } }
/* ============================================================
 ticket
 ============================================================ */
.section--ticket .ticket_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 3cqw;
  margin-bottom: 3cqw; }
.section--ticket .ticket_box {
  flex-grow: 1;
  width: 40%;
  border: 1px solid var(--point);
  background: var(--value-bg);
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
.section--ticket h4 {
  width: 80%;
  background: var(--point);
  color: var(--bg-base);
  font-size: var(--font-size25_pc);
  padding: 5px;
  margin: 0 auto 1em;
  border-radius: 5px;
  text-align: center; }
.section--ticket p {
  text-align: center;
  font-size: var(--font-size24_pc);
  padding-bottom: 1em; }

.bsfuji_ticket {
  display: flex;
  justify-content: center;
  align-items: center; }
  .bsfuji_ticket i {
    width: 10%; }
  .bsfuji_ticket p {
    padding-bottom: 0; }

@media (max-width: 768px) {
  .section--ticket .ticket_flex {
    display: block; }
  .section--ticket .ticket_box {
    width: 100%;
    margin-bottom: 3cqw; }
  .section--ticket h4 {
    font-size: var(--font-size25_sp); }
  .section--ticket p {
    font-size: var(--font-size24_sp); }

  .bsfuji_ticket {
    flex-wrap: wrap; }
    .bsfuji_ticket i {
      width: 20%; } }

/*# sourceMappingURL=style.css.map */
