@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/** 1. Change the default font family in all browsers (opinionated). 2. Prevent adjustments of font size after orientation changes in IE and iOS. */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700|Open+Sans:400,700&display=swap");
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/** Remove the margin in all browsers (opinionated). */
body { margin: 0; }

/* HTML5 display definitions ========================================================================== */
/** Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. 2. Add the correct display in IE. */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { /* 1 */ display: block; }

/** Add the correct display in IE 9-. */
audio, canvas, progress, video { display: inline-block; }

/** Add the correct display in iOS 4-7. */
audio:not([controls]) { display: none; height: 0; }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Add the correct display in IE 10-. 1. Add the correct display in IE. */
template, [hidden] { display: none; }

/* Links ========================================================================== */
/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */
a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ }

/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */
a:active, a:hover { outline-width: 0; }

/* Text-level semantics ========================================================================== */
/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */
b, strong { font-weight: inherit; }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** Add the correct font style in Android 4.3-. */
dfn { font-style: italic; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/** Add the correct background and color in IE 9-. */
mark { background-color: #ff0; color: #000; }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10-. */
img { border-style: none; }

/** Hide the overflow in IE. */
svg:not(:root) { overflow: hidden; }

/* Grouping content ========================================================================== */
/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, pre, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct margin in IE 8. */
figure { margin: 1em 40px; }

/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/* Forms ========================================================================== */
/** 1. Change font properties to `inherit` in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */
button, input, select, textarea { font: inherit; /* 1 */ margin: 0; /* 2 */ }

/** Restore the font weight unset by the previous rule. */
optgroup { font-weight: bold; }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */
button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Change the border, margin, and padding in all browsers (opinionated). */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding and cancel buttons in Chrome and Safari on OS X. */
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** Correct the text style of placeholders in Chrome, Edge, and Safari. */
::-webkit-input-placeholder { color: inherit; opacity: 0.54; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

* { word-wrap: break-word; hyphens: auto; }

pre { white-space: pre-wrap; }

article h1 { margin-top: 0; color: #b44b44; border-left: solid 2px #b44b44; padding-left: 0.5em; font-weight: normal; }
article h2 { color: #b44b44; border-bottom: solid 1px #b44b44; font-weight: normal; }
article h2::before { font-family: "Font Awesome 5 Free"; content: "\f152"; padding-right: 10px; font-weight: 900; }
article h3, article h4, article h5, article h6 { color: #b44b44; border-color: #b44b44; }

/* 主要レイアウト
------------------------------------------------------------ */
body { position: relative; margin: 0; padding: 0; background-image: url(/img/bg_ticket.svg); background-repeat: repeat; background-size: 70px 80px; color: #000000; font-size: 16px; font-family: 'Noto Sans Japanese', 'Noto Sans JP', '源ノ角ゴシック', 'Source Sans Pro', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'sans-serif'; z-index: 0; }

body::before { display: block; position: absolute; width: 100%; height: 100%; background-image: url(/img/bg02.svg); background-repeat: repeat; background-size: 200px 200px; top: 0; left: 0; opacity: 0.7; z-index: -1; content: ""; }

section, article, aside, nav, header, footer { display: block; }

.global-container { min-width: 1200px; display: flex; flex-direction: column; min-height: 100vh; }
@media screen and (max-width: 640px) and (orientation: portrait) { .global-container { min-width: auto; } }

#page { max-width: 100%; flex-grow: 1; display: flex; flex-direction: column; }

/* ヘッダー
------------------------------------------------------------ */
#headerFrame { background: #ffffff; }

#headerCommon { position: relative; display: flex; width: 1200px; margin: 0 auto; padding: 15px 29px 0px 29px; box-sizing: border-box; }
@media screen and (max-width: 640px) and (orientation: portrait) { #headerCommon { display: block; width: auto; padding: 0; } }

#headerCommon h1 { margin: 0; margin-right: auto; }

#headerCommon h1 a { display: block; height: 77px; margin-right: auto; }
@media screen and (max-width: 640px) and (orientation: portrait) { #headerCommon h1 a { display: inline-block; height: auto; } }

#headerCommon h1 img { width: 240px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #headerCommon h1 img { width: 100px; padding: 0; } }

.main-nav .nav-toggle { display: none; }
.main-nav .nav-toggle-button { display: none; }
.main-nav .nav-list { list-style: none; margin: 0 22px 0 22px; padding: 0; font-size: 0; }
.main-nav .nav-list li { display: inline-block; width: 100px; text-align: center; }
.main-nav .nav-list li i { display: block; margin: 6px; font-size: 35px; }
.main-nav .nav-list a { width: 100%; height: 100%; display: block; color: #000000; text-decoration: none; }
.main-nav .nav-list a:hover { opacity: 0.7; }
@media screen and (max-width: 640px) and (orientation: portrait) { .main-nav .nav-list { position: relative; top: 0; left: 0; width: 100%; display: none; list-style: none; padding: 0; margin: 0; background-color: white; z-index: 100; }
  .main-nav .nav-list li { display: block; width: auto; text-align: left; }
  .main-nav .nav-list li i { text-align: center; display: inline-block; margin: 6px; font-size: 35px; width: 50px; box-sizing: border-box; }
  .main-nav .nav-list a { width: 100%; height: 100%; display: block; color: #000000; text-decoration: none; }
  .main-nav .nav-list a:hover { opacity: 0.7; }
  .main-nav .nav-toggle-button { display: block; position: absolute; right: 0; top: 0; padding: 10px; cursor: pointer; }
  .main-nav .nav-toggle-button:hover { opacity: 0.7; }
  .main-nav .nav-toggle:checked ~ .nav-list { display: block; } }

.navList { font-size: 14px; }

#header-opapCredit { height: 20px; background: #d4934d; }

#header-opapCredit small { display: block; width: 1200px; margin: 0 auto; padding: 4px 0 1px 20px; color: #ffffff; font-size: 10px; box-sizing: border-box; }
@media screen and (max-width: 640px) and (orientation: portrait) { #header-opapCredit small { width: auto; padding: 0; text-indent: -1000px; } }

/* ヘッダーイメージ-ロゴ
------------------------------------------------------------ */
#headerImg { position: relative; }

#kosysLogo { position: relative; width: 100%; height: 70px; background: #c0392b; z-index: 1; }
@media screen and (max-width: 640px) and (orientation: portrait) { #kosysLogo { height: 35px; } }

#kosysLogo::before { display: block; position: absolute; width: 410px; height: 235px; margin: 0 auto; background-image: url(/img/logo.svg); top: -41px; left: 0; right: 0; content: ""; }
@media screen and (max-width: 640px) and (orientation: portrait) { #kosysLogo::before { top: -20.5px; width: 205px; height: 117.5px; } }

/* ヘッダーイメージ-スライドショー
------------------------------------------------------------ */
.switch { display: none; }

#switchButton { list-style: none; position: absolute; width: calc(100% - 50px); margin: 0 0 0 50px; padding: 0; font-size: 0; text-align: center; top: 700px; left: 0; z-index: 2; }
@media screen and (max-width: 640px) and (orientation: portrait) { #switchButton { display: none; } }

#switchButton li { display: inline; }

#switchButton a { display: inline-block; width: 8px; height: 8px; margin: 3px; border-radius: 4px; background: #282828; animation: slideshowButton-movie0 15s infinite; }

#switchButton li:nth-child(1) a { animation-delay: 0s; }

#switchButton li:nth-child(2) a { animation-delay: 5s; }

#switchButton li:nth-child(3) a { animation-delay: 10s; }

#headerView-1:target ~ #switchButton a[href="#headerView-1"], #headerView-1:target ~ #switchButton a[href="#headerView-2"], #headerView-1:target ~ #switchButton a[href="#headerView-3"] { animation: slideshowButton-movie1 15s infinite; }

#headerView-2:target ~ #switchButton a[href="#headerView-1"], #headerView-2:target ~ #switchButton a[href="#headerView-2"], #headerView-2:target ~ #switchButton a[href="#headerView-3"] { animation: slideshowButton-movie2 15s infinite; }

#headerView-3:target ~ #switchButton a[href="#headerView-1"], #headerView-3:target ~ #switchButton a[href="#headerView-2"], #headerView-3:target ~ #switchButton a[href="#headerView-3"] { animation: slideshowButton-movie3 15s infinite; }

#headerView-1:target ~ #switchButton a[href="#headerView-1"], #headerView-2:target ~ #switchButton a[href="#headerView-2"], #headerView-3:target ~ #switchButton a[href="#headerView-3"] { animation-delay: 0s; }

#headerView-1:target ~ #switchButton a[href="#headerView-2"], #headerView-2:target ~ #switchButton a[href="#headerView-3"], #headerView-3:target ~ #switchButton a[href="#headerView-1"] { animation-delay: 5s; }

#headerView-1:target ~ #switchButton a[href="#headerView-3"], #headerView-2:target ~ #switchButton a[href="#headerView-1"], #headerView-3:target ~ #switchButton a[href="#headerView-2"] { animation-delay: 10s; }

#headerView-mainImg { position: relative; width: 1200px; height: 666px; margin: 0 auto; border: 5px solid #e9573f; background: #ffffff; z-index: 0; box-sizing: border-box; }
#headerView-mainImg > div { box-sizing: border-box; width: 100%; height: 100%; }
@media screen and (max-width: 640px) and (orientation: portrait) { #headerView-mainImg { width: 100%; height: 300px; } }

#headerView-mainImg div:nth-child(1), #headerView-mainImg div:nth-child(2), #headerView-mainImg div:nth-child(3) { position: absolute; top: 0; left: 0; right: 0; opacity: 0; animation: slideshowView0 15s infinite; }

#headerView-mainImg div:nth-child(1) { animation-delay: 0s; }

#headerView-mainImg div:nth-child(2) { animation-delay: 5s; }

#headerView-mainImg div:nth-child(3) { animation-delay: 10s; }

#headerView-1:target ~ #headerView-mainImg div:nth-child(1), #headerView-1:target ~ #headerView-mainImg div:nth-child(2), #headerView-1:target ~ #headerView-mainImg div:nth-child(3) { animation: slideshowView1 15s infinite; }

#headerView-2:target ~ #headerView-mainImg div:nth-child(1), #headerView-2:target ~ #headerView-mainImg div:nth-child(2), #headerView-2:target ~ #headerView-mainImg div:nth-child(3) { animation: slideshowView2 15s infinite; }

#headerView-3:target ~ #headerView-mainImg div:nth-child(1), #headerView-3:target ~ #headerView-mainImg div:nth-child(2), #headerView-3:target ~ #headerView-mainImg div:nth-child(3) { animation: slideshowView3 15s infinite; }

#headerView-1:target ~ #headerView-mainImg div:nth-child(1), #headerView-2:target ~ #headerView-mainImg div:nth-child(2), #headerView-3:target ~ #headerView-mainImg div:nth-child(3) { animation-delay: 0s; }

#headerView-1:target ~ #headerView-mainImg div:nth-child(2), #headerView-2:target ~ #headerView-mainImg div:nth-child(3), #headerView-3:target ~ #headerView-mainImg div:nth-child(1) { animation-delay: 5s; }

#headerView-1:target ~ #headerView-mainImg div:nth-child(3), #headerView-2:target ~ #headerView-mainImg div:nth-child(1), #headerView-3:target ~ #headerView-mainImg div:nth-child(2) { animation-delay: 10s; }

@keyframes slideshowButton-movie0 { 0% { background: #6f6e6e; }
  15% { background: #6f6e6e; }
  30% { background: #282828; } }
@keyframes slideshowButton-movie1 { 0% { background: #6f6e6e; }
  15% { background: #6f6e6e; }
  30% { background: #282828; } }
@keyframes slideshowButton-movie2 { 0% { background: #6f6e6e; }
  15% { background: #6f6e6e; }
  30% { background: #282828; } }
@keyframes slideshowButton-movie3 { 0% { background: #6f6e6e; }
  15% { background: #6f6e6e; }
  30% { background: #282828; } }
@keyframes slideshowView0 { 0% { opacity: 1; }
  15% { opacity: 1; }
  30% { opacity: 0; } }
@keyframes slideshowView1 { 0% { opacity: 1; }
  15% { opacity: 1; }
  30% { opacity: 0; } }
@keyframes slideshowView2 { 0% { opacity: 1; }
  15% { opacity: 1; }
  30% { opacity: 0; } }
@keyframes slideshowView3 { 0% { opacity: 1; }
  15% { opacity: 1; }
  30% { opacity: 0; } }
/* ヘッダーイメージ-メインイメージ1
------------------------------------------------------------ */
#mainImg-1 { height: 656px; padding: 27px 0 15px 33px; box-sizing: border-box; }
@media screen and (max-width: 640px) and (orientation: portrait) { #mainImg-1 { width: 100%; height: 100%; } }

#image-1-1 { display: block; margin: 0 auto; max-height: 100%; }

#image-1-2 { position: absolute; width: 140px; height: 500px; top: 57px; left: 1005px; transform: rotate(8deg); }
@media screen and (max-width: 640px) and (orientation: portrait) { #image-1-2 { top: auto; left: auto; right: 20px; bottom: 10px; width: 70px; max-height: 100%; } }

/* ヘッダーイメージ-メインイメージ2
------------------------------------------------------------ */
#mainImg-2 img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }

/* ヘッダーイメージ-メインイメージ3
------------------------------------------------------------ */
#mainImg-3 img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }

/* メインコンテンツ
------------------------------------------------------------ */
.mainContent { width: 1200px; margin: 0 auto; padding: 32px 29px; background: #ffffff; box-sizing: border-box; flex-grow: 1; }
@media screen and (max-width: 640px) and (orientation: portrait) { .mainContent { width: 100%; } }

.col-container { display: block; grid-auto-rows: minmax(100px, auto); }
.col-container .col { margin: 17px 0; width: 100%; margin-left: auto; margin-right: auto; }
@supports (display: grid) { .col-container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 17px; row-gap: 17px; }
  .col-container .col { margin: 0; width: auto; } }
@media screen and (max-width: 640px) and (orientation: portrait) { .col-container { display: block; }
  .col-container .col { margin: 17px 0; width: 100%; } }

.col { border: 1px solid #dcdcdc; border-radius: 10px; box-shadow: -1px 1px 1px #dcdcdc; box-sizing: border-box; }

.col h2 { margin: 0; border-radius: 10px 10px 0 0; color: #ffffff; font-weight: normal; }

@media screen and (max-width: 640px) and (orientation: portrait) { #col-news, #col-nico { width: auto; } }

@media screen and (max-width: 640px) and (orientation: portrait) { #col-anima, #col-kosysAbout { width: 100%; } }

/* メインコンテンツ-NEWS
------------------------------------------------------------ */
#col-news { grid-column: 1 / 1; grid-row: 1 / 1; min-height: 240px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #col-news { height: auto; margin: 20px auto; } }

#col-news h2 { padding: 0 0 0 18px; background: #4fc1e9; font-size: 24px; letter-spacing: 1px; line-height: 35px; }

#col-news ul { list-style: none; margin: 0 0 0 20px; padding: 0; }

#col-news li { margin: 10px 0 12px 0; font-size: 14px; }
#col-news li .post-meta { display: block; }

/* メインコンテンツ-NICONICO
------------------------------------------------------------ */
#col-nico { grid-column: 1 / 1; grid-row: 2 / 2; min-height: 240px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #col-nico { float: none; height: auto; margin: 20px auto; } }

#col-nico h2 { height: 34px; padding: 0 0 0 18px; background: #ffce54; font-size: 24px; letter-spacing: 1px; line-height: 33px; }

#nico { display: flex; flex-wrap: wrap; margin: 14px 5px 7px 5px; }

.tagNico { margin: auto 5px; }

/* メインコンテンツ-TWITTER
------------------------------------------------------------ */
#col-twitter { grid-column: 2 / 2; grid-row: 1 / span 2; min-height: 498px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #col-twitter { float: none; height: auto; width: 100%; min-height: 240px; margin: 20px auto; } }

#col-twitter h2 { padding: 0 0 0 20px; background: #a0d468; font-size: 24px; line-height: 35px; }

#contentTwitter { margin: 14px 22px 14px 21px; }

/* メインコンテンツ-ANIMATION
------------------------------------------------------------ */
#col-anima { grid-column: 1 / span 2; grid-row: 3 / 3; min-height: 823px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #col-anima { float: none; height: auto; min-height: 240px; margin: 20px auto; } }

#col-anima h2 { height: 35px; background: #fc6e51; font-size: 24px; text-align: center; letter-spacing: 1px; line-height: 37px; }

#anima { display: flex; margin: 23px 60px; flex-wrap: wrap; }
@media screen and (max-width: 640px) and (orientation: portrait) { #anima { margin: 10px; } }

.animaView { position: relative; width: 33%; height: 370px; padding: 35px 8px 8px 8px; box-sizing: border-box; }
@media screen and (max-width: 640px) and (orientation: portrait) { .animaView { width: 100%; } }

.animaView img { width: 100%; object-fit: cover; min-height: 218px; }

.kosys-videoTime { position: absolute; height: 26px; padding: 0 8px; background: rgba(0, 0, 0, 0.8); color: #ffffff; font-size: 20px; right: 13px; top: 218px; border-radius: 2px; line-height: 20px; }

.kosys-videoTitle a { display: block; font-size: 24px; text-decoration: none; line-height: 30px; }

.kosys-viewCount { color: #767676; font-size: 20px; }

/* メインコンテンツ-CHARACTER & STORY
------------------------------------------------------------ */
#col-kosysAbout { grid-column: 1 / span 2; grid-row: 4 / 4; min-height: 339px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #col-kosysAbout { float: none; height: auto; min-height: 240px; margin: 20px auto; } }

#col-kosysAbout h2 { background: #ed5565; font-size: 23px; text-align: center; letter-spacing: 2px; line-height: 33px; }

#kosysAbout { display: flex; flex-wrap: wrap; margin: 6px 61px 10px 61px; justify-content: space-between; }
@media screen and (max-width: 640px) and (orientation: portrait) { #kosysAbout { margin: 10px; } }

.kosysAbout-img { position: relative; width: 50%; padding: 9px; box-sizing: border-box; }
@media screen and (max-width: 640px) and (orientation: portrait) { .kosysAbout-img { width: 100%; } }

.kosysAbout-img img { width: 100%; height: 265px; border-radius: 10px; object-fit: cover; }

.kosysAbout-img:nth-of-type(1) img { object-position: -203px 0; }
@media screen and (max-width: 640px) and (orientation: portrait) { .kosysAbout-img:nth-of-type(1) img { object-position: 50% 50%; } }

.kosysAbout-img:nth-of-type(2) img { object-position: 0 -9px; }
@media screen and (max-width: 640px) and (orientation: portrait) { .kosysAbout-img:nth-of-type(2) img { object-position: 50% 50%; } }

.kosysAbout-img h3 { position: absolute; margin: 0; color: #e9573f; font-size: 45px; font-weight: 500; text-align: center; text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px  1px 0 #ffffff, 1px  1px 0 #ffffff; left: 0; right: 0; }
@media screen and (max-width: 640px) and (orientation: portrait) { .kosysAbout-img h3 { font-size: 20px; } }

.kosysAbout-img:nth-of-type(1) h3 { bottom: 12px; }

.kosysAbout-img:nth-of-type(2) h3 { top: 0; }

/* メインコンテンツ - 共有ボタン
------------------------------------------------------------ */
.share { margin: 2em 0; text-align: right; }

/* フッター
------------------------------------------------------------ */
footer { background: #d4934d; }

footer aside { display: flex; width: 1200px; margin: 0 auto; padding: 1px 77px; box-sizing: border-box; }
footer aside > * { box-sizing: border-box; width: 50%; }
@media screen and (max-width: 640px) and (orientation: portrait) { footer aside { width: 100%; flex-wrap: wrap; padding: 1px 10px; }
  footer aside > * { width: 100%; } }

footer img { width: 88px; height: 31px; margin: 11px 7px; }

#copyRight p, #copyRight small, #copyRight a, #footer-opapCredit { color: #ffffff; }

#copyRight p, #copyRight small, #copyRight a { font-size: 12px; }

#copyRight { margin: 0 7px; }

#copyRight p { transform-origin: left top; }

#copyRight p:nth-child(1) { margin: 1px 0 0 0; transform: scale(0.96, 1); }

#copyRight p:nth-child(2) { margin: 2px 0 0 0; transform: scale(0.97, 1); }

#footer-opapCredit { margin: 7px 34px; margin-left: auto; font-size: 14px; }
@media screen and (max-width: 640px) and (orientation: portrait) { #footer-opapCredit { margin: 7px 0; } }

#footer-opapCredit small { font-size: 13px; letter-spacing: 1px; }

/* ページ別レイアウト
------------------------------------------------------------ */
/* 一般ページ・記事ページ */
.layout-page .mainContent, .layout-post .mainContent { padding: 32px 150px; }
@media screen and (max-width: 640px) and (orientation: portrait) { .layout-page .mainContent, .layout-post .mainContent { padding: 32px 29px; } }

/* 表（mediawiki互換）
------------------------------------------------------------ */
.wikitable { background-color: #f8f9fa; color: #222; margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; }
.wikitable > * > tr > * { border: 1px solid #a2a9b1; padding: 0.2em 0.4em; }
.wikitable > * > tr > th { background-color: #eaecf0; text-align: center; }

/* 表 標準スタイル
------------------------------------------------------------ */
.table-common { border-collapse: collapse; border-radius: 5px; width: 100%; table-layout: fixed; border-top: none; border-bottom: 4px solid #bd6d65; font-size: 1.2em; }
.table-common th { color: #bd6d65; }
.table-common > thead > tr > th, .table-common > thead > tr > td { padding: 10px 5px; border-bottom: 4px solid #bd6d65; }
.table-common > tbody > tr { background-color: #FFF8F8; }
.table-common > tbody > tr:first-child > th, .table-common > tbody > tr:first-child > td { border-top: 4px solid #bd6d65; }
.table-common > tbody > tr:nth-child(2n + 1) { background-color: #FFFFFF; }
.table-common > tbody > tr > th, .table-common > tbody > tr > td { padding: 10px 5px; border-bottom: 2px solid #bd6d65; }
.table-common > tbody > tr > th { font-weight: normal; text-align: left; width: 150px; }
.table-common > tbody > tr > td { text-align: left; width: auto; }
.table-common ul { margin: 0 0; padding: 0; list-style: none; }
.table-common ul > li { margin: 0; padding: 0; }

/* 各話リンク
------------------------------------------------------------ */
.episode-link a { font-size: 1.5em; text-decoration: none; }
.episode-link .episode-link-list { display: block; list-style: none; margin: 0; padding: 0; }
.episode-link .episode-link-list > li { display: block; width: 50%; margin: 0; padding: 0; float: left; text-align: center; }
.episode-link .niconico { color: #666; }
.episode-link .youtube { color: #c0392b; }

/* カラム
------------------------------------------------------------ */
.col-6 { width: 50%; float: left; }
