
* { box-sizing: border-box; }
html, body { height: 100%; }
body{
  background-color:#DDD;
  color:#333;
  font-family:
    "Oxygen",
    "Kosugi Maru",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-size:16px;
  line-height:1.9;
  text-align:left;
  margin:0;
}

/* ラッパー */
#wrap{
  background:#ffffff;
  margin: 0 auto;
  width: 92%;
  max-width: 900px;
  box-shadow: 0 2px 14px rgba(13, 0, 0, 0.06);
}

/* ヘッダー */
#header{
  background-color:#137829;
  color:#FFF;
  padding:28px 20px 20px 20px;
  text-shadow: 0 0 5px rgba(255,255,255,.35);
  text-align: center;
}
#header h1{
  font-weight:600;
  font-size:clamp(24px, 4.5vw, 40px);
  margin: 0 0 8px 0;
}
#header .tagline{
  margin:0 auto;
  max-width: 780px;
  font-size: 0.98rem;
  opacity: .95;
  text-align: left; 
}


/* フッター */
#footer {
  background-color: #137829;
  color: #FFF;
  height: auto;
  line-height: 1.6;
  text-align: center;
  padding: 10px 10px 12px;
  font-size: 12px;

  width: 92%;
  max-width: 900px;

  margin: 0 auto; /* ←これが中央配置に必須 */

  box-shadow: 0px 0px 0px rgba(13, 0, 0, 0.06);
}


/* コンテナ */
.container{
  text-align: center;
  width: 92%;
  max-width: 840px;
  margin: 0 auto;
  text-align:left;
  padding: 10px 0 24px;
}

/* 見出し */
.container h2{
  text-align: center;
  font-size:1.25rem;
  padding:7px 0 6px 12px;
  border-left:solid 5px #333;
  border-bottom:solid 1px #333;
  margin:22px 0 12px;
}
.container h3{
  text-align: center;
  font-size:1.05rem;
  margin:16px 0 6px;
}
.container h4.title{
  font-size:1.05rem;
  margin: 6px 0 2px;
  line-height:1.6;
}


/* 主査・幹事情報カード */
.group-info {
  background: #ffffe9;
  border: 1px solid #ffffef;
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0px 14px;
  text-align: center;
}

/* 参加方法のカード */
.apply-info {
  background: #f1edfd;
  border: 1px solid #f1edfd;
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0px 14px;
}

.email-img {
  height: 1em;        /* 行の文字サイズと同じ高さにする */
  width: auto;        /* 縦横比を維持 */
  vertical-align: middle; /* 行の真ん中に揃える（任意） */
}


/* 本文 */
.entry_body{ padding-left: 12px; }
.entry_body .lead{ margin: 0 0 10px; text-align: left; }
.entry_body p{ text-indent: 0; margin: 0 0 10px; }
.placeholder{ color:#666; }

/* 申込ボックス */
.apply-box{
  text-align: center;
  background:#F4F9FE;
  border:1px solid #DBEAF7;
  border-radius:10px;
  padding:10px 12px;
  margin: 6px 0 12px;
}

/* 箇条書き（日時・場所・アクセス） */
.details-list{
  list-style: disc;
  padding-left: 1.4em;
  margin: 6px 0 14px;
}
.details-list li{ margin: .3em 0; }
.details-list a{ word-break: break-all; }

/* 旧：info-grid は互換のため残す（未使用でもOK） */
/* .info-grid{
  text-align: center;
  display:grid;
  grid-template-columns: repeat(2, minmax(240px, 1fr));
  gap: 12px;
  margin: 10px 0 18px;
}
@media (max-width: 640px){
  .info-grid{ grid-template-columns: 1fr; }
} */

/* ボタン風リンク */
a.btn{
  text-align: center;
  display:inline-block;
  background:#005C92;
  color:#FFF;
  padding:8px 14px;
  border-radius:8px;
  text-decoration:none;
  transition: transform .06s ease, opacity .2s ease;
}
a.btn:hover{ transform: translateY(-1px); opacity: .9; }
a{ color:#005C92; text-decoration:none; }
a:hover{ color:#000; }

/* 講演カード */
.talk {
  background: #f0faed;
  border: 1px solid #f0faed;
  border-radius: 10px;
  padding: 10px 12px;
  margin: 10px 0 14px;
}

/* 時間 */
.talk .time {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  padding-bottom: 6px;
  border-bottom: 1px solid #cfd8cc;
}

/* header 全体 */
.talk header {
  text-align: center;
  padding-bottom: 6px;
  margin-bottom: 6px;
  border-bottom: 1px solid #cfd8cc;
}

/* 講演者 */
.talk .speaker {
  font-size: .95rem;
  color: #333;
  margin: 2px 0 4px;
}

/* アブストラクト */
.talk .abstract {
  margin: 6px 0 4px;
}

/* 休憩表示 */
.break {
  text-align: center;
  margin: 8px 0 8px;
  letter-spacing: .18em;
}

/* テーブル・その他（必要時） */
table{ border-collapse: collapse; width:100%; margin: 8px 0; }
th, td{ padding: 6px 8px; border-bottom: 1px solid #e9e9e9; }