section.tegalog {
  max-width: 700px;
  margin: 40px auto 0;
}
iframe {
  max-width: 100%;
}
.onelogbox img {
  max-width: 100%;
  width: 360px;
  height: auto;
}
.postarea form {
  background: #f6f6f6;
  padding: 10px;
}
.postarea textarea.tegalogpost {
  width: 100%;
  border: 1px solid #ccc;
  padding: 8px;
  font-family: "メイリオ", Meiryo, "ヒラギノ丸ゴ ProN",
    "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", sans-serif;
  line-height: 1.6em;
}
.postarea p.line-textarea {
  margin: 0;
}
.postarea p.line-control {
  margin: 10px 0 0;
}
.postarea input.postbutton {
  background: #5babfa;
  color: white;
  border: none;
  border-radius: 3px;
  padding: 6px 20px;
  cursor: pointer;
  transition: 0.3s;
}
.postarea input.postbutton:hover {
  background: #7cc8ff;
}
.decoBtns input[type="button"] {
  border-radius: 3px;
  border: 1px solid #cccccc;
  background: white;
  margin: 0 2px 10px;
}
span.catChecks label {
  margin-right: 5px;
  font-size: 90%;
}
ul.cattree {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  border: 1px solid #d6d6d6;
  padding: 15px;
  border-radius: 2px;
  position: relative;
}
ul.cattree li {
  font-size: 90%;
  margin-right: 10px;
  padding: 0;
  position: relative;
  z-index: 2;
}
ul.hashtaglist {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  background: #f0f0f0;
  padding: 15px;
  border-radius: 2px;
}
ul.hashtaglist li {
  font-size: 85%;
  margin-right: 10px;
  padding: 0;
  position: relative;
  z-index: 2;
}
ul.cattree li:before,
ul.cattree li:after,
ul.hashtaglist li:before,
ul.hashtaglist li:after {
  display: none;
}
div.onelogbox {
  max-width: 700px;
  margin: 30px auto;
  border-bottom: 1px dashed #ccc;
}
p.oneloginfo {
  text-align: right;
  font-size: 90%;
  color: #979797;
}
p.oneloginfo a.categorylink {
  display: inline-block;
  text-decoration: none;
  color: #979797;
  border: 1px solid;
  padding: 1px 6px;
  border-radius: 2px;
  margin: 0 8px;
}
p.oneloginfo a.categorylink:hover {
  border-color: #979797;
  background: #979797;
  color: white;
}
p.situation {
  font-size: 90%;
  color: #ccc;
}
span.situation-postno {
  border: 1px solid;
  display: inline-block;
  padding: 3px 8px;
  border-radius: 3px;
  line-height: 1.6em;
}
p.dateseparator {
  display: none;
  font-size: 90%;
  color: white;
  background: #ccc;
  width: fit-content;
  padding: 3px 5px;
  line-height: 1.6em;
  margin: 0 auto -20px 0;
}
p.dateseparator.fixedseparator {
  display: block;
}
p.pagenums {
  text-align: center;
}
a.pagenumlink {
  display: inline-block;
  text-decoration: none;
  background: #000000;
  color: white;
  width: 25px;
  height: 25px;
  line-height: 25px;
}
a.pagenumlink.pagenumhere {
  background: #ccc;
}
.comment {
  word-break: break-word;
}
a.readmorebutton {
  margin: 20px auto;
  background-color: #fbfbf6;
  border: 1px solid;
  font-size: 80%;
  text-decoration: none;
  text-align: center;
  padding: 5px 7px;
  border-radius: 3px;
}
a.readmorebutton.readmoreclose {
  margin-left: 5px;
}
p.poweredby {
  text-align: right;
  color: #929292;
  font-size: 12px;
}

a.nsfw {
  position: relative;
  overflow: hidden;
  display: block;
}
a.nsfw img {
  filter: blur(15px);
}
a.nsfw:before {
  font-family: "Line Awesome Free";
  font-weight: 900;
  content: "\f071";
  vertical-align: middle;
  margin-right: 5px;
  color: #ffffff;
  display: block;
  width: 100%;
  height: 100%;
  background: #0000003a;
  position: absolute;
  z-index: 1;
  text-align: center;
  font-size: 50px;
  margin: auto;
  top: 0;
  padding: 20% 0 0;
}
@media (min-width: 768px) {
  a.nsfw:before {
    font-size: 70px;
  }
}

body {
  color: #706b6b;
  font-size: 18px;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:link {
  color: #058e81;
}

a:visited {
  color: #046b61;
}

.onelogbox .comment :where(iframe, video) {
  max-width: 100%;
  height: auto;
}

/* リンクカード用スタイル */
.link-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  margin: 10px 0;
  overflow: hidden;
  background: #fff;
  transition: all 0.3s ease;
}

.link-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

.link-card a {
  display: flex;
  text-decoration: none;
  color: inherit;
  padding: 12px;
}

.link-card-content {
  flex: 1;
  padding-right: 12px;
  min-height: 80px;
}

.link-card-title {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 8px;
  color: #333;
}

.link-card-description {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 8px;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.5;
}

.link-card-domain {
  font-size: 0.8rem;
  color: #999;
}

.link-card-image {
  width: 100px;
  min-width: 100px;
  height: 100px;
  background-color: #f5f5f5;
}

.link-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  margin: 0;
}

.link-card.loading {
  background: #f8f8f8;
  animation: loading-pulse 1.5s infinite;
}

.link-card-title {
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 8px;
  color: #333;
}

.link-card-description {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 8px;
}

.link-card-domain {
  font-size: 0.8rem;
  color: #999;
}
/* 画像がない場合のスタイル */
.link-card:not(:has(.link-card-image)) .link-card-content {
  padding-right: 0;
}

/* ================================================================ */
/* てがろぐVer 4.5.5β以降で使える、カード型リンク用CSSの抜粋です。 */
/* お使いのスキンのCSSに追記するなどしてご活用下さい。              */
/* 次の正式版(Ver 4.6.0)では、標準添付各スキンに追加する予定です。  */
/* ================================================================ */

/* ---------------------- */
/* ▼カード型リンクの装飾 */
/* ---------------------- */
.cardlink {
  display: inline-block;
  width: 100%;
  max-width: 500px; /* 最大幅 (※横幅を制限したくない場合はこれを削除して下さい) */
  padding: 0 0.25em 0.5em 0; /* 内側の余白量 */
  font-size: 0.9rem; /* 文字サイズ */
  text-decoration: none; /* リンク文字の下線を消す */
  vertical-align: middle; /* 行内の上下方向では中央配置 */
}

/* ------------------------------------- */
/* リンクカードの装飾(サイズS/L共通部分) */ /* ※後述の「サイズS用の追記」や「サイズL用の追記」と合わせて、1つのカードデザインになります。 */
/* ------------------------------------- */
/* カード外枠 */
.cardlinkbox {
  border: 1px solid #ccc; /* 枠線 */
  border-radius: 7px; /* 角丸 */
  background-color: white; /* 背景色 */
  display: flex; /* 内部レイアウトのFlexbox化 */
}
/* (マウスが載ったとき) */
.cardlinkbox:hover {
  background-color: #f5fff5; /* 背景色 */
  border-color: #8c8; /* 枠線色 */
}
/* ▽リンクカード内の画像枠 (※読み込まれたog:imageは、この枠に《背景画像として》描画されます) */
.cardlinkimage {
  background-image: linear-gradient(
    -30deg,
    #8a8,
    #e0f0e0
  ); /* プレースホルダ的な背景グラデーション(※og:imageの画像指定が読み込まれたら、この値は上書きされます) */
  background-size: cover; /* 背景画像で枠を埋める */
  background-position: center center; /* 背景画像を中央に寄せる */
  background-repeat: no-repeat; /* 背景画像を繰り返さない */
}
/* ▽リンクカード内のテキスト枠 */
.cardlinktextbox {
  display: flex; /* Flexbox化 */
  flex-direction: column; /* 子要素を縦方向に並べる */
  padding: 0.5em 1em; /* 内側の余白量 */
}
/* ▽リンクカードのテキスト枠内の3要素共通 */
.cardlinktitle,
.cardlinkdescription,
.cardlinkurl {
  /* ↓表示行数を制限するための準備 (※システム側では文字数は制限せずに「記述されている全文字」をHTMLに出力しますので、表示分量を制限したい場合はCSSで制御する必要があります。) */
  display: -webkit-box; /* -webkit-line-clampを使うために必要な記述1 ※A */
  -webkit-box-orient: vertical; /* -webkit-line-clampを使うために必要な記述2 ※A */
  overflow: hidden; /* 表示量を制限する場合に必須の記述 */
  /* ↓制限の仕様 */
  line-clamp: 1; /* 1行だけ見せる (将来的にはこれだけで実現可能かも) */
  -webkit-line-clamp: 1; /* 1行だけ見せる (今のブラウザにはこちらが必要で、そのためには上記「※A」も必要) */
  text-overflow: ellipsis; /* 省略記号(三点リーダー) */
}
/* リンクタイトル */
.cardlinktitle {
  padding-bottom: 0.25em; /* 内側下端の余白量 */
}
/* リンク概要文 */
.cardlinkdescription {
  line-height: 1.3; /* 行の高さ */
  color: #555; /* 文字色 */
  line-clamp: 2; /* (既存指定の上書き) 最大2行まで見せる */
  -webkit-line-clamp: 2; /* (既存指定の上書き) 最大2行まで見せる */
}
/* リンクドメイン */
.cardlinkurl {
  color: #999; /* 文字色 */
}

/* ----------------------------------- */
/* リンクカードの装飾(サイズS用の追記) */ /* 前述の「サイズS/L共通部分」と合わせて、1つのカードデザインになります。 */
/* ----------------------------------- */
.cardsize-S {
  flex-direction: row; /* 画像とテキストは横に並べる(Flexbox) */
}
/* ▽リンクカード内の画像枠 */
.cardsize-S .cardlinkimage {
  min-width: 100px; /* 最小の横幅 */
  min-height: 100px; /* 最小の高さ */
  border-radius: 6px 0 0 6px; /* 左側だけ角丸 */
  flex-shrink: 0; /* 枠サイズを自動縮小させない */
}
/* ▽リンクカード内のテキスト枠 */
.cardsize-S .cardlinktextbox {
  border-left: 1px solid #ccc; /* 左側の枠線 */
  justify-content: center; /* Flexboxの上下方向での中央寄せ */
}
/* ▽リンクカードのテキスト枠内の3要素 */
.cardsize-S .cardlinktitle {
  order: 2;
} /* タイトルは、2番目に表示 */
.cardsize-S .cardlinkdescription {
  order: 3;
} /* 概要文　は、3番目に表示 */
.cardsize-S .cardlinkurl {
  order: 1;
} /* ドメインは、1番上に表示 */

/* ----------------------------------- */
/* リンクカードの装飾(サイズL用の追記) */ /* 前述の「サイズS/L共通部分」と合わせて、1つのカードデザインになります。 */
/* ----------------------------------- */
.cardsize-L {
  flex-direction: column; /* 画像とテキストは縦に並べる(Flexbox) */
}
/* ▽リンクカード内の画像枠 */
.cardsize-L .cardlinkimage {
  aspect-ratio: 1.91 / 1; /* 画像枠の縦横比を指定= (横)1.91：(縦)1 */
  width: 100%; /* 横幅は枠最大に拡げる */
  height: auto; /* 高さは自動計算 */
  border-radius: 6px 6px 0 0; /* 上側だけ角丸 */
}
/* ▽リンクカード内のテキスト枠 */
.cardsize-L .cardlinktextbox {
  border-top: 1px solid #ccc; /* 上側の枠線 */
}
/* ▽リンクカードのテキスト枠内の3要素 */
.cardsize-L .cardlinktitle {
  font-weight: bold;
} /* 太字 */
.cardsize-L .cardlinkdescription {
  min-height: 2.5em;
} /* 内容量が少ない場合でも一定の高さを確保 */
.cardsize-L .cardlinkurl {
  border-top: 1px solid #ddd; /* 上側の枠線 */
  margin-top: 0.5em; /* 上側の枠線より上の余白量 */
  padding-top: 0.5em; /* 上側の枠線より下の余白量 */
  font-size: 0.75rem; /* 文字サイズ(小さめ) */
}
