/* リセットCSS */

ol,
ul {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
img,
p {
  margin: 0;
  padding: 0;
}

/* 全体の設定 */

body {
  background: #3cb0e6;
  background: -webkit-gradient(linear, left top, left bottom, from(#577d85), to(#57585c));
  background: linear-gradient(to bottom, #577d85 0%, #57585c 100%);
  background-attachment: fixed;
  font-family: YuGothic,'Yu Gothic','TsukuBRdGothic-Regular','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','Cambria Math','Avenir',sans-serif;
  padding: 0;
  margin: 0;
  color: #c0cccf;
}

.container {
  margin: 60px auto;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

dl,
p,
ul,
ol {
  font-size: 16px;
  padding-left: 20px;
  padding-right: 30px;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  dl,
  p,
  ul,
  ol {
    font-size: 14px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 15px 0;
    }
}

ul.sns-list {
  display: -webkit-box;
  display: flex;
}

ul.sns-list li:not(:last-of-type) {
  margin-right: 20px;
}

p {
  line-height: 2.2em;
}

main#text p {
  line-height: 2em;
  padding: 0;
  margin: 0;
}

/* 強調文字 */

h2 {
  font-family: "Sawarabi Mincho", sans-serif;
  font-size: 190%;
  font-weight: 500;
  margin: 20px auto;
  color: snow;
  width: 100%;
}

@media screen and (max-width: 767px) {
  h2 {
    font-size: 150%;
  }
}

@media screen and (max-width: 575px) {
  h2 {
    font-size: 130%;
  }
}

/* ヘッダーの設定 */

header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 9999;
}

header .container {
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  header .container {
    padding: 0;
  }
}

header ul {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
}

header ul li a {
  display: block;
  padding: 20px;
  color: #c0cccf;
  text-shadow: 0 1px 10px #313536;
}

header ul li a:hover {
  color: snow;
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
}

@media screen and (max-width: 767px) {
  header ul li a {
    padding: 20px 10px;
  }
}

/* リンクの設定 */

a {
  text-decoration: none;
  color: snow;
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

a:hover {
  color: #b2d4ce;
}

.editlink  a {
  text-decoration: none;
  color: #979797;
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

a:hover {
  color: #b2d4ce;
}

/* URLが書かれた場合 */

.url {
    word-wrap: break-word;	/* 自動リンクのはみ出しを防ぐ */
    overflow-wrap: break-word;
}

/* 画像の設定 */

a img:hover {
    opacity: 0.7;
    -webkit-transition: 0.7s;
    transition: 0.7s;
}

img {
  max-width: 100%;
}

img + img {
  margin-left: 5px;
}

/* コンテナ */

main .container {
  background: #313536;
  padding: 30px;
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  main .container {
    padding: 20px;
  }
}

/* フッター */

footer {
  background: #2a2d2e;
  overflow: hidden;
  padding: 30px 0 0 0;
  margin-bottom: 0;
}

footer .container {
  margin-bottom: 0;
}

footer .sitename {
  font-size: 180%;
  font-family: "Sawarabi Mincho", sans-serif;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 767px) {
  footer .sitename {
    font-size: 130%;
  }
}

footer .bottom {
  margin: 0;
}

footer .bottom a {
  opacity: 0.7;
  text-align: right;
  width: 100%;
  font-size: 12px;
  padding: 5px 10px;
  margin: 0 0 0 auto;
  display: block;
}

footer ul.sns-list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto;
}

footer ul.sns-list li a {
  font-size: 14px;
}

/* てがろぐの設定 */

section.tegalog {
    max-width: 700px;
    margin: 40px auto 0;
}

iframe {
    max-width: 100%;
}

/* 入力フォームの表示領域 */

.postarea form {
    padding: 10px;
}

/* 入力フォームの本文入力欄 */

.postarea textarea.tegalogpost {
    width: 100%;
    padding: 8px;
    font-family: 'メイリオ', Meiryo,'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    line-height: 1.6em;
    border: none;
    border-radius: 5px;
    background: #c9d1cd;
    -webkit-transition: 0.7s;
    transition: 0.7s;
}

.postarea textarea.tegalogpost:focus {
  outline: none;
  background: #ffffff;
}

/* 入力フォームの本文入力区画 */

.postarea p.line-textarea {
    margin: 0;
}

/* 投稿コントロール部分(ボタンや字数カウンタなど) */

.postarea p.line-control {
    margin: 0;
}

/* 投稿ボタン */

.postarea input.postbutton {
    border: none;
    border-radius: 3px;
    cursor: pointer;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6px 20px;
    background: #99937f;
    color: snow;
    -webkit-transition: 0.7s;
    transition: 0.7s;
}

.postarea input.postbutton:hover {
    background: #635e4f;
}

/* 文字装飾ボタン群 */

.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: #5a6c70;
    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;
}

/* 投稿ボックス(一発言)ごとの表示 */	/* ※この領域は、内側スキンで生成しているHTMLに対する装飾 */

div.onelogbox {
    max-width: 700px;
    margin: 30px auto;
    border-bottom: 1px dashed #ccc;
    font-size: 16px;
}

@media screen and (max-width: 767px) {
  div.onelogbox {
    font-size: 14px;
    }
}

p.oneloginfo {
    text-align: right;
    font-size: 90%;
	color: #979797;
}

/* ▼投稿本文 */

.comment {
    margin: 0.5em 0.5em 1em 0.5em;
    line-height: 1.5em;
}

/* カテゴリリンク */

p.oneloginfo a.categorylink {
    display: inline-block;
    text-decoration: none;
    color: #979797;
    padding: 0 1px;
}

p.oneloginfo a.categorylink:hover {
	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;
}

/* 埋め込み画像 */

.embeddedimage {
    max-width: 100%;	/* 横方向にはみ出ないようにする */
    max-height: 100%;	/* 大きくなりすぎないようにする */
    width: auto;		/* 画像サイズを固定したい場合は具体的なpx値を指定するのがおすすめ */
    height: auto;		/* 高さを固定したい場合を除いてautoのままにするのがおすすめ */
    margin:10px 0 0px 0;
    border-radius: 5px;
}

/* 埋め込み動画 */

@media all and (max-width: 700px) {
    .embeddedmovie {
        display: inline-block;
        max-width: 100%;	/* はみ出ないようにする */
        width: auto;
        height: auto;
        }
    }

/* 続きを読むボタンの設定 */

a.readmorebutton {
    display: block;
    margin: 5px auto 5px auto;
    border: 1px solid #99937f;
    position: relative;
    color: #99937f;
    width: 100%;
    padding: 3px 10px;
    text-align: center;
    border-radius: 20px;
}

a.readmorebutton:hover {
    border: 1px solid #635e4f;
    background: #635e4f;
    color: snow;
}

a.readmorebutton.readmoreopen {
    font-size: 85%;
}

a.readmorebutton.readmoreclose {
    font-size: 85%;
}

/* powerdbyの設定 */

p.poweredby {
    text-align: right;
    color: #929292;
    font-size: 12px;
}