/*-------------------------------------
  Reset CSS
  html5doctor.com Reset Stylesheet v1.6.1 Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark
-------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #FF9; color: #000; text-decoration: none; }
mark { background-color: #FF9; color: #000; font-style: italic; font-weight: 600; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { text-decoration: none; border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #CCC; margin: 0; padding: 0; }
input, select { vertical-align: middle; }
/*-------------------------------------
  Common element
-------------------------------------*/
html {}
html, body { min-width: 320px; height: 100%; background: transparent; font-size: 14px; line-height: 1.6; font-family: Arial, sans-serif; font-weight: 400; color: #222; word-break: normal; overflow-wrap: break-word; -webkit-text-size-adjust : 100%; -webkit-appearance: none; appearance: none; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a, a:link, a:visited { color: #2F67A4; text-decoration: none; cursor: pointer; transition: 0.3s; }
a:hover, a:active, a:focus { color: #2F67A4; text-decoration: none; }
a:focus { outline: none; }
img { border: none; outline: none; }
video::cue { color: #FFF; font: 1.0rem/1.6 Arial, sans-serif; font-weight: 400; background-color: rgba(0, 0, 0, 0.0); opacity: 1; visibility: visible; text-decoration: none; text-shadow: 0px 0px 4px rgb(34, 34, 34), 0px 0px 4px rgb(34, 34, 34), 0px 0px 4px rgb(34, 34, 34), 0px 0px 4px rgb(34, 34, 34); outline: none; white-space: pre-line; }
h1, h2, h3, h4, h5, h6 { font-size: 1.0rem; line-height: 1.6; font-weight: 400; }
p {}
address { font-style: normal; }
cite {}
figure figcaption { display: inline-block; }
pre { padding: 10px; background: rgb(10,10,10); color: rgb(255,255,255); overflow: auto; font-size: 95%; }
hr {}
strong, em {}
ul, ol, li { list-style: none; }
table { border-collapse: separate; }
th, td { font-weight: 400; border: none; }
video::-webkit-media-controls-panel { background: transparent linear-gradient(to bottom,transparent, transparent calc(100% - 70px),rgba(0,0,0,0.2) calc(100% - 70px), rgba(0,0,0,0.2) 100%) no-repeat 0 0 / 100% 100%; }
/*-------------------------------------
  Button
-------------------------------------*/
.button { width: auto; height: 30px; margin: 5px 0 5px 10px; padding: 0 5px; border: 1px solid #4c95e3; border-radius: 2px; background: #fff; box-sizing: border-box; display: inline-block; color: #4c95e3; line-height: 2.1; text-align: center; font-size: 14px; cursor: pointer; appearance: none; }
.button { transition: background 0.3s, color 0.3s; }
@media screen and (min-width: 900px) {
  .button:hover { background: #4c95e3; color: #fff; }
}
/*-------------------------------------
  New Board CSS (z-index: 1000,1001)
-------------------------------------*/
.newBoard { width: 100%; height: 100%; box-sizing: border-box; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 1000; background: rgba(0,0,0,0.4); display: none; overflow: auto; }
.newBoard .closeBtn { width: 30px; height: 30px; position: absolute; top: 5px; right: 5px; z-index: 1001; color: rgba(0,0,0,0.6); text-align: center; font-size: 40px; line-height: 30px; cursor: pointer; }
.newBoardInner { width: 90vw; height: auto; min-height: 50vh; max-height: 75vh; margin: auto; padding: 6vh 4vw; border-radius: 4px; background: #FFF; overflow-y: auto; overflow-x: hidden; position: absolute; left: 0; right: 0; -webkit-overflow-scrolling: none; overscroll-behavior: none; }
.newBoardInner::after { margin: 0 0 6vh; content: ''; display: block; }
.skelton { display: none; }
.goTopBoardBtn { width: 32px; height: 32px; margin: auto; border: 1px solid rgb(0,100,255); border-radius: 2px; background: rgb(255,255,255); position: fixed; bottom: -100px; right: 5px; z-index: 1001; transition: all 0.2s linear 0s; cursor: pointer; }
.goTopBoardBtn::before { width: 8px; height: 8px; margin: 12px auto; border: 1.5px solid rgb(0,100,255); border-bottom: none; border-right: none; position: absolute; top: 0; bottom: 0; left: 0; right: 0; content: ''; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); }
/*-------------------------------------
  Site style
-------------------------------------*/
.select { position: relative; display: inline-block; }
.select select { height: 30px; padding: 0 25px 0 5px; -moz-appearance: none; -webkit-appearance: none; appearance: none; border: 1px solid #ccc; border-radius: 2px; background: #FFF url(../image/select.svg) no-repeat calc(100% + 1px) top/auto 100%; color: #222; font-size: 1.0rem; line-height: 1.2; cursor: pointer; }
.select select::-ms-expand { display: none; }

:root { --video-height: 50vmin; }
:root { --video-max-width: 96vmin; }
.mainHead { width: 96vw; margin: 0 auto; padding: 5px 10px; border-bottom: 1px solid #ccc; display: flex; flex-flow: row wrap; justify-content: space-around; align-items: center; }
.mainHead .siteName { margin: 0 auto 0 10px; font-family: serif; font-size: 21px; text-align: right; font-style: italic; }
.mainHead .date { max-width: calc(100% - 50px); }
.mainHead .date select { width: 100%; }
.mainHead .update { width: calc(100% - 165px); margin: 0 5px 0 5px; font-family: serif; font-size: 11px; color: #F66; text-align: right; font-style: italic; }
.mainHead .info { width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 10px; line-height: 18px; text-align: center; }
.mainHead .infoPanel p { margin: 10px auto; font-size: 90%; }
.mainHead .infoPanel p.name { margin: 20px auto 0; text-align: right; font-style: italic; }
.mainHead .sizeMode { margin: 0 5px 0 auto; font-family: serif; }
.mainHead .sizeMode.isBig { background: #4c95e3; color: #fff; }
.mainHead img { width: auto; height: 20px; display: none; }
.mainHead .dashicons { font-size: 32px; color: #f00; }
.mainWrap { width: 96vw; margin: 0 auto; }
.mainWrap .youtube { margin: 10px; display: flex; flex-flow: row wrap; align-items: flex-start; text-align: center; }
.mainWrap .videoWrap { max-width: var(--video-max-width); margin: 0 auto; overflow: hidden; }
.mainWrap .videoWrap + .videoWrap { border-top: 1px solid #ccc; }
.mainWrap h2 { width: 100%; padding: 5px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 90%; line-height: 1.4; text-align: left; }
.mainWrap .videoWrap iframe.video { width: calc(var(--video-height) / 9 * 16); max-width: var(--video-max-width); /*height: var(--video-height);*/ aspect-ratio: 16/9; margin: 0 auto; overflow: hidden; }
.mainWrap .videoWrap iframe.video { width: 100%; }
.mainWrap .videoWrap > div { margin-top: -5px !important; transform: scale(0.85); }
.mainWrap .youtubeChat { width: 96vw; margin: 0 auto; border-top: 1px solid #ccc; display: flex; flex-flow: row wrap; }
.mainWrap .chatWrap { width: var(--video-max-width); margin: 0 auto; overflow: hidden; display: flex; flex-flow: column; align-items: center; text-align: center; }
.mainWrap .chatWrap + .chatWrap { border-top: 1px solid #999; }
.mainWrap .chatWrap iframe { width: 100%; min-height: 350px; margin: 0 auto 10px; }
.mainWrap .chatWrap > iframe + div { padding: 0 5px !important; display: none !important; }
.mainFoot { width: 96vw; margin: 20px auto 0; padding: 0 0 5px; border-top: 1px solid #ccc; font-family: serif; text-align: center; font-size: 90%; }
.mainFoot p { width: 100%; margin: 5px auto; font-size: 85%; text-align: center; }
.videoModalLink { text-align: left; cursor: pointer; }
@media screen and (min-width: 650px) {
  :root { --video-max-width: 96vmin; }
  .mainHead .siteName { margin: 0 auto 0 2vw; }
  .mainWrap .videoWrap { width: 48%; }
  .mainWrap .videoWrap + .videoWrap { border-top-width: 0; }
  .mainWrap .chatWrap + .chatWrap { border-top-width: 0; }
}
@media screen and (min-width: 900px) {
  :root { --video-height: 40vh; }
  :root { --video-max-width: none; }
  a:hover { opacity: 0.85; }
  .mainHead .update { width: auto; }
  .mainHead .sizeMode { margin: 0 5px; }
  .mainWrap { display: flex; align-items: flex-start; }
  .mainWrap .youtube { width: 100%; max-width: calc(100% - 320px); }
  .mainWrap .videoWrap { width: 50%; padding: 10px 0; display: flex; flex-flow: column; justify-content: space-around; align-items: center; }
  .mainWrap .videoWrap + .videoWrap { border-top: none; }
  .mainWrap .videoWrap + .videoWrap + .videoWrap { border-top: 1px solid #ccc; }
  .mainWrap h2 { font-size: 100%; }
  .mainWrap .videoWrap iframe.video { width: min(calc(var(--video-height) / 9 * 16), calc(100% - 10px)); }
  .mainWrap .videoWrap > div { margin-top: 5px !important; }
  .mainWrap .youtubeChat { width: 320px; min-height: calc(100vh - 120px); margin: 10px 0 0; border-top: none; border-left: 1px solid #ccc; }
  .mainWrap .chatWrap { /*height: calc(50% - 20px); min-height: 70vh;*/max-width: 320px; /*margin: 5px 0;*/ padding: 5px; }
  .mainWrap .chatWrap.isInactive { min-height: auto; }
  .mainWrap .chatWrap .title { cursor: pointer; }
  .mainWrap .chatWrap + .chatWrap { border-top: 1px solid #999; }
  .mainWrap .chatWrap iframe { width: 320px !important; height: 100%; }
  .mainWrap .chatWrap > iframe + div { width: 320px !important; }
  .mainFoot { width: 96vw; margin: 10px auto; border-top: 1px solid #ccc; font-family: serif; text-align: center; font-size: 90%; }
  .videoModalLink { text-align: left; cursor: pointer; }
}
