body
{
  -webkit-text-size-adjust: 100%;
  background-color:#f0f8ff;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding:0.5rem 1rem;
}
a
{
  text-decoration:none;
}
a:link
{
  color:#4477aa;
  font-weight:bold;
}
a:visited
{
  color:#6699ff;
}
a:hover,a:active
{
  color:#4477aa;
  text-decoration: underline;
}
h1
{
  font-size:120%;
  padding:0.5rem 1rem;
  border-bottom:8px dashed #3366ff;
}
h2
{
  font-size:120%;
  padding:0.5rem 1rem;
  border-left:8px solid #3366ff;
}
h3
{
  font-size:120%;
  padding:0.5rem 1rem;
  border-left:24px double #3366ff;
}
p
{
  line-height: 1.8;
  margin: 0 0 0.5em;
}
div.tsumeru p
{
   margin: 0;
}
div.tsumeru + h2{
  margin-top: 0.8em;
}
div.tsumeru + h3{
  margin-top: 0.8em;
}
p + h2
{
  margin-top: 0.8em;
}
p + h3
{
  margin-top: 0.8em;
}
em
{
  font-style:normal;
  font-size:120%;
  font-weight:bold;
}
strong
{
  font-size:130%;
  font-weight:bold;
}
ul, ol
{
  padding:0.3em 0 0.3em 1.5em;
}
ul li
{
  list-style-type:disc;
  padding:0.3em 0;
}
ol li
{
  list-style-type:decimal;
  padding:0.3em 0;
}
ul li, ol li
{
  line-height: 1.6;
}
ul.li-tsumeru li, ol.li-tsumeru li
{
  line-height: 1.2;
}
.zephyrcomment
{
  font-size:90%;
  color:#0000cc;
}
.ufycomment
{
  font-size:90%;
  color:#005d4d;
}
ul.nomarker
{
  list-style: none !important;
}
ul.nomarker > li
{
  list-style-type: none !important;
}
/* =========================================================
  カード名の色付け（とりあえず例）
  使い方：<span class="c-fire">カード名</span>
========================================================= */

/* --- 背景色ハイライト（例） --- */
.c-non   { background: #eeeeee; }
.c-fire   { background: #ffa0a0; }
.c-water  { background: #80ffff; }
.c-earth  { background: #80ff80; }
.c-wind   { background: #ffff80; }

/* 種別 */
.c-item  { background: #ffC0cb; }
.c-spell   { background: #ffb4ff; }

/* 強調：背景色は変えず、太字＋ちょい強調 */
.c-key {
  font-weight: 700;
}

/* ===== 画像の配置用 ===== */

.img-left{
  text-align: left;
  margin: 0.8em 0;
}

.img-center{
  text-align: center;
  margin: 0.8em 0;
}

.img-right{
  text-align: right;
  margin: 0.8em 0;
}

/* 画像がはみ出さないように */
.img-left img,
.img-center img,
.img-right img{
  max-width: 100%;
  height: auto;
}
/* PC表示のときだけ最大サイズを制限 */
@media (min-width: 760px){
  .img-left img,
  .img-center img,
  .img-right img{
    max-width: 420px;
  }
}
.img-small img{ max-width: 260px; }
.img-medium img{ max-width: 420px; }
.img-large img{ max-width: 640px; }

/* ===== ブック（PCは横並び、スマホは1枚ずつ） ===== */

.book{
  margin: 1em 0;
}

.book__title{
  font-weight: 700;
  margin: 0 0 0.6em;
}

.book__sec{
  margin: 0 0 1.1em;
}

.book__head{
  font-weight: 700;
  margin: 0 0 0.3em;
}

/* ===== ブック（PCは3枚ごとに折り返し / スマホは1枚ずつ） ===== */

.book__list{
  padding: 0;
  margin: 0;

  display: grid;
  grid-template-columns: repeat(3, max-content); /* 3枚ごとに折り返し */
  gap: 0.35em 0.6em;  /* 行間 列間 */
  justify-content: start; /* 左寄せ */
}

.book__list > li{
  margin: 0;
  padding: 0;
}

/* タグ（カード1枚） */
.chip{
  display: inline-flex;
  align-items: baseline;
  gap: 0.25em;

  padding: 0.15em 0.5em;
  border: 1px solid #00000055;
  border-radius: 0.2em;

  white-space: nowrap; /* PCでは基本折り返さない */
}

/* スマホ：1枚ずつ（1列） */
@media (max-width: 640px){
  .book__list{
    grid-template-columns: 1fr;
  }
  .chip{
    display: block;
    width: 100%;
    white-space: normal;      /* 長い名前は折り返し */
    overflow-wrap: anywhere;
  }
}
/* book__list だけ黒丸を確実に消す */
ul.book__list,
ul.book__list > li{
  list-style: none;
  list-style-type: none;
}