* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  line-height: 1.6;
  background-color: #faf0e6;
}

#wrapper {
  width: 1000px;
  margin: 0 auto;
  background-color: #fff;
}

header, .container, footer {
  width: 100%;
}


footer {
  border-top: solid 1px #faf0e6;
}

footer p {
  padding: 1rem;
  text-align: center;
  font-size: 0.9rem;
}

.container {
  display: flex;
  flex-wrap: wrap;
}

#logo {
  width: 50%;
}

#header-img {
  width: 50%;
}

.content {
  padding: 1rem 2rem 0;
  width: 70%;
  border-top: solid 1px #faf0e6;
  word-break: break-all;
}

.sidebar {
  padding: 1rem 2rem;
  width: 30%;
  border-top: solid 1px #faf0e6;
}

a:link, a:visited {
  color: #1122cc;
  text-decoration: none;
  display: inline-block;
}
a:hover {
  text-decoration: underline;
  color: #dd0000;
}

h2, h3 { margin: 1.5rem 0 1rem; }
h2 { font-size: 18px; font-weight: bold; }
h3 { font-size: 16px; font-weight: bold; }

.smaller { font-size: 0.9em; }

.notice { color: red; }
strong.big { font-size: 17px; }


/* form-style */
.form-style dl { margin-left: 1em; margin-top: 1em; }
.form-style dt { width: 9em; float: left; }
.form-style dt, .form-style dd {
  min-height: 24px ;
  line-height: 24px ;
}
.form-style input[type="text"] {
  padding: 5px;
  margin: 0 0 5px 0;
  width: 20rem;
  font-size: 1rem;
}

form input[type="submit"], form input[type="reset"], form input[type="button"] {
  padding: 5px 1rem;
  font-size: 1rem;
}


/* サブタイトル */
p#subttl {
  margin: 1em 0;
  color: #053958;
}

/* 記事 */
div.article {
  margin: 0 auto;
  text-align: left;
  border-bottom: 2px dotted #666;
/*
  padding: 10px 0 10px 10px;
  width: 92%;
*/
}
div.body {
  margin: 1em;
}
/* 記事タイトル */
div.subject {
  border-left: 6px solid #cc0000;
  font-weight: bold;
  font-size: 120%;
  padding: 2px 7px;
  margin: 1em 0;
  letter-spacing: 1px;
  color: #575757;
}
/* 記事日付 */
div.date {
  margin-left: 1em;
  color: #006600;
}
/* 記事下部 */
div.art-bot {
  text-align: right;
  font-size: 12px;
  color: gray;
}
/* 固定記事下部（TB/COM） */
div#pm-bot {
  margin: 1em;
  text-align: left;
}
div.pm-ttl {
  font-weight: bold;
  margin: 15px 0 10px 0;
  border-left: 4px solid #ff6262;
  padding-left: 7px;
}
input#tb-url {
  width: 360px;
  margin-left: 1.5em;
}
input#com-name {
  width: 250px;
}
textarea#com-msg {
  width: 250px;
  height: 7em;
}
div#com-btn {
  margin-top: 4px;
}
div#com-btn input {
  width: 70px;
  height: 28px;
}

/* カレンダ */
table#calen {
  margin: auto;
}
table#calen th {
  font-size: 13px;
  font-weight: normal;
  padding: 4px;
}
table#calen th span {
  display: inline-block;
  margin: 0 8px;
}
table#calen td {
  font-size: 12px;
  padding: 2px 3px;
  text-align: center;
}
table#calen tr.day td {
  color: #969696;
}
table#calen td.sun {
  color: #d50000;
}
table#calen td.sat {
  color: #0000ce;
}

/* フッター */
div#foot {
  padding: 10px;
}

/* ページ繰越 */
div.page {
  margin: 3em auto;
}
#paging {
  text-align: center;
}
#paging li {
  background-color: #eee;
  border: 1px solid #000;
  display: -moz-inline-box;
  display: inline-block;
  line-height: 25px;
  width: 25px;
  height: 25px;
}
* html #paging li {
  display: inline;
  margin-right: 3px;
  zoom: 1;
}
*+html #paging li {
  display: inline;
  margin-right: 3px;
  zoom: 1;
}
#paging li a {
  display: block;
  text-decoration: none;
  width: 25px;
}
#paging li b {
  color: #d54609;
}

/* 寄せ */
.ta-c {
  text-align: center;
}
.ta-l {
  text-align: left;
}
.ta-r {
  text-align: right;
}

/* アイコン */
img.icon {
  vertical-align: middle;
  border: none;
}

/* 記事検索 */
input#find {
	width: 120px;
}

/* 検索結果画面 */
table#find {
  margin: 1em auto;
  border-collapse: collapse;
}
table#find th, table#find td {
  border: 1px solid #8080c0;
  padding: 6px;
}
table#find th {
  background: #cbcbe4;
}
table#find td {
  background: #fff;
}

/* TB・コメント一覧 */
div.com-log {
  margin: 8px 0 8px 2em;
  font-size: 85%;
  line-height: 150%;
}
div.com-msg {
  margin-left: 1em;
}
div.com-log span {
  color: #666;
}


.iframe {
/*
  width: 560px;
  height: 315px;
*/
width: 100%;
}

@media screen and (max-width: 560px) {
  .iframe-wrapper {
    position: relative;
    width: 100%;
    padding: calc(315 / 560 * 100%) 0 0;
  }
  .iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.googlecal {
  position: relative;
  padding-bottom: 100%; /* 縦横比 */
  height: 0;
  overflow: hidden;
}
.googlecal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.sidebar .side-ttl {
  border-left: 4px solid #5396c6;
  padding-left: 7px;
  margin: 1em 0;
  font-weight: bold;
}

.sidebar ul {
  margin: 0 0 0 1.5em;
  padding: 0;
}

@media (max-width: 575.98px) {
  .container {
    flex-direction: column;
    width: 100%;
  }
  #wrapper, .sidebar, .content {
    width: 100%;
  }

header img { max-width: 320px; height: auto; }


}
