@charset "UTF-8";

/*****************************
    taikai関係
*****************************/

/* =========================
   taikai archive card
========================= */
.taikai-page .taikai-archive-list{
  gap: 18px; /* publications_flex がflexなら効く。gridなら不要 */
}

/* 1件の箱（スクショのベージュ） */
.taikai-card{
  background:#fbf4e3;
  border-radius:6px;
  padding:18px 22px;
  margin:0;
}

/* 上：開催日程 */
.taikai-card__date{
  margin:0 0 6px;
  font-size:14px;
  color:#333;
}

/* 中：タイトル + NEW */
.taikai-card__ttl{
  margin:0;
  font-size:22px;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.taikai-card__ttl a{
  color:#9b7a00;
  text-decoration:none;
}
.taikai-card__ttl a:hover{ text-decoration:underline; }

.taikai-card__new{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  padding:2px 8px;
  border:2px solid #ff2aa1;
  color:#ff2aa1;
  border-radius:4px;
  line-height:1.2;
}

/* 点線 */
.taikai-card__line{
  margin:10px 0 12px;
  border-top:2px dotted #b9b9b9;
}

/* 下：主催/会場 */
.taikai-card__meta{
  list-style:none;
  padding:0;
  margin:0;
}
.taikai-card__meta li{
  position:relative;
  padding-left:18px;
  margin:6px 0;
  color:#333;
  font-size:15px;
  line-height:1.6;
}
.taikai-card__meta li::before{
  content:"■";
  position:absolute;
  left:0;
  top:0;
  color:#d2aa2a;
}
.taikai-card__meta .k{
  font-weight:700;
  margin-right:6px;
  white-space:nowrap;
}

/* SP微調整 */
@media (max-width: 820px){
  .taikai-card{ padding:14px 14px; }
  .taikai-card__ttl{ font-size:18px; }
}


/*****************************
    シングル
*****************************/
/* 共通 */
.taikai-single .inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
}

.taikai-title{
  display:none; /* 画像のsingleはタイトルが見えない/小さいので。必要なら消さない */
}

/* HERO */
.taikai-hero__img{
  margin: 0 0 26px;
}
.taikai-hero__img img{
  width: min(600px, 100%);
  margin: 0 auto;
  height: auto;
  display:block;
}

/* セクション見出し（両サイド金バー） */
.taikai-block{
  margin: 0 0 26px;
}
.taikai-block__head{
  display:flex;
  align-items:center;
  gap:14px;
  margin: 0 0 10px;
}
.taikai-block__ttl{
  margin:0;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: .02em;
  white-space: nowrap;
}
.taikai-block__bar{
  height: 15px;
  background: #caa200;
  flex: 1;
  border-radius: 3px;
}

@media screen and (max-width: 767px) {
.taikai-block__ttl{
  font-size: 15px;
}
.taikai-block__bar{
  height: 6px;
}
}

/* ベージュ枠 */
.taikai-box{
  background:#fbf4e3;
  border-radius:6px;
  padding: 18px 22px;
}

/* 上の開催日程/タイトル/主催/会場 */
.taikai-box__date{
  margin:0 0 6px;
  font-size:14px;
  color:#333;
}
.taikai-box__title{
  margin:0;
  font-size:20px;
  font-weight:800;
  color:#9b7a00;
}

.taikai-dotline{
  margin:10px 0 12px;
  border-top:2px dotted #b9b9b9;
}

.taikai-box__meta{
  list-style:none;
  padding:0;
  margin:0 0 14px;
}
.taikai-box__meta li{
  position:relative;
  padding-left:18px;
  margin:6px 0;
  color:#333;
  font-size:14px;
  line-height:1.6;
}
.taikai-box__meta li::before{
  content:"■";
  position:absolute;
  left:0;
  top:0;
  color:#d2aa2a;
}
.taikai-box__meta .k{
  font-weight:700;
  margin-right:6px;
  white-space:nowrap;
}

/* ファイルカード（PDF/Word） */
.taikai-files{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin: 10px 0 14px;
}
.taikai-file{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 220px;
  padding: 10px 12px;
  border:1px solid #ddd;
  background:#fff;
  border-radius:6px;
  text-decoration:none;
  color:#333;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.taikai-file:hover{ opacity:.9; }

.taikai-file__badge{
  font-size:12px;
  font-weight:800;
  padding: 4px 8px;
  border-radius:4px;
  color:#fff;
  line-height:1;
}
.taikai-file--pdf .taikai-file__badge{ background:#e53935; }
.taikai-file--word .taikai-file__badge{ background:#1e63c6; }

.taikai-file__name{
  font-size:13px;
  font-weight:700;
}
.taikai-file__size{
  margin-left:auto;
  font-size:12px;
  color:#666;
}

/* WYSIWYGの見た目を整える（tableや画像） */
.taikai-wysiwyg{
  font-size:14px;
  line-height:1.9;
  color:#333;
}
.taikai-wysiwyg img{
  max-width:100%;
  height:auto;
}
.taikai-wysiwyg table{
  width:100%;
  border-collapse:collapse;
}
.taikai-wysiwyg th,
.taikai-wysiwyg td{
  border:1px solid #ddd;
  padding:8px;
}

/* 参加費などの単独行 */
.taikai-limit{
  margin: 10px 0;
  font-weight:700;
}

/* 地図＋アクセス（左右） */
.taikai-access{
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.taikai-map{
  margin:0;
  width: 30%;
}
.taikai-map img{
width: 200px;
margin: 0 auto;
height: auto;
display: block;
border-radius: 6px;
}
.taikai-access__text{
  width: 70%;
}

/* SP */
@media (max-width: 820px){
  .taikai-box{ padding: 14px 14px; }
  .taikai-access{ flex-direction:column; }
  .taikai-map, .taikai-access__text{ width: 100%; }
  .taikai-file{ min-width: 100%; }
}

/* お問い合わせ：先頭の1行（見出しっぽく） */
.taikai-contact__title{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: 15px;
}

/* お問い合わせ：本文（テキストエリアの整形） */
.taikai-contact__body{
  font-size: 14px;
  line-height: 1.9;
}
.taikai-contact__body a{
  text-decoration: underline;
}

/* PDF / Word 画像リンク（3列） */
.taikai-file-images{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 14px 0 18px;
  width: min(600px, 100%);
}

.taikai-fileimg{
  display: block;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.taikai-fileimg img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,.12);
}

/* hover演出 */
.taikai-fileimg:hover{
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
  opacity: .95;
}

/* SPは1列 or 2列 */
@media (max-width: 600px){
  .taikai-file-images{
grid-template-columns: repeat(2, 1fr);
  }
}


/* お問い合わせ（Repeater） */
.taikai-contact__item + .taikai-contact__item{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 2px dotted #b9b9b9;
}

.taikai-contact__title{
  margin: 0 0 10px;
  font-weight: 800;
  font-size: 15px;
  color: #333;
}

.taikai-contact__body{
  font-size: 14px;
  line-height: 1.9;
}
.taikai-contact__body a{
  text-decoration: underline;
}
