@charset "UTF-8";
html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; }

html { font-size: 62.5%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body { font-size: 1.6rem; line-height: 1; }

* { box-sizing: border-box; font-family: inherit; font-size: inherit; line-height: inherit; }

*:before, *:after { box-sizing: inherit; }

a, a:visited { color: inherit; }

article, aside, footer, header, nav, section, main { display: block; }

table { border-collapse: collapse; border-spacing: 0; }

ol, ul { list-style: none; }

img, video { border-style: none; max-width: 100%; vertical-align: middle; }

blockquote, q { quotes: none; }

blockquote:after, blockquote:before, q:after, q:before { content: ""; content: none; }

[hidden] { display: none !important; }

[disabled] { cursor: not-allowed; }

:focus:not(:focus-visible) { outline: none; }

sup { position: relative; top: -0.5em; font-size: 75%; line-height: 0; vertical-align: baseline; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

em { font-style: normal; }

.contents { color: #fff; background-color: #151515; }

.inner { max-width: 960px; margin-right: auto; margin-left: auto; }

.topSection { padding-bottom: 20px; background: url(./img/header_bg.jpg) no-repeat center center/cover; }

.movieWrap { max-width: 640px; width: 100%; margin: 0 auto; padding: 0 18px; }
.movieWrap .movie { position: relative; width: 100%; padding-top: 56.25%; }
.movieWrap .movie iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
.movieWrap .movie img { position: absolute; top: 0; left: 0; width: 100%; }

.header { padding: 90px 0 72px; text-align: center; }
@media (max-width: 768px) { .header { padding: 10% 0 6%; } }
.header .topText { font-family: "リュウミン B-KL", serif; font-size: 24px; line-height: 1.8; }
@media (max-width: 768px) { .header .topText { font-size: 3.3vw; } }
.header .topText span { color: #d71919; font-size: 1.25em; }
.header .title { position: relative; margin-top: 110px; font-family: "リュウミン M-KL", serif; font-size: 120px; }
@media (max-width: 768px) { .header .title { margin-top: 8%; font-size: 13vw; } }
.header .title .small { font-size: .83em; }
.header .title::after { content: ""; position: absolute; top: 60%; left: 0; width: 100%; height: 1px; background-color: #c4c4c4; opacity: .3; }
.header .title a { text-decoration: none; }
@media (min-width: 768px) { .header .title a { transition: all .3s ease-in; }
  .header .title a:hover { opacity: .8; } }
.header .catch { max-width: 642px; width: 100%; margin: 110px auto 0; }
@media (max-width: 768px) { .header .catch { max-width: 80%; margin-top: 10%; } }
.header .oa { max-width: 720px; width: 100%; margin: 70px auto 0; }
@media (max-width: 768px) { .header .oa { max-width: 90%; margin-top: 6%; } }

.nav { display: flex; justify-content: center; flex-wrap: wrap; }
@media (max-width: 768px) { .nav { justify-content: space-between; padding: 0 16px; } }
.nav li { width: 23.33%; margin: 0 8px; text-align: center; }
@media (max-width: 768px) { .nav li { width: 46%; margin: 16px 0 0; } }
.nav li a { display: block; padding: 16px 0; font-family: "リュウミン L-KL", serif; font-size: 30px; text-decoration: none; background-color: rgba(0, 0, 0, 0.5); border: 1px solid #050505; }
@media (max-width: 768px) { .nav li a { padding: 8px 0; font-size: 18px; } }
@media (min-width: 768px) { .nav li a { transition: all .3s ease-in; }
  .nav li a:hover { background-color: #4c1010; } }
.nav li .ja { display: block; margin-top: 10px; font-size: .46em; }

.news { margin-top: 72px; padding-bottom: 72px; }
@media (max-width: 768px) { .news { margin-top: 6%; padding-bottom: 6%; }
  .news .inner { padding-right: 16px; padding-left: 16px; } }
.news .newsTitle { position: relative; font-family: "リュウミン L-KL", serif; font-size: 24px; text-align: center; }
.news .newsTitle::before { content: ""; position: absolute; top: 51%; left: 0; width: calc(50% - 2.5em); height: 1px; background-color: #fff; }
.news .newsTitle::after { content: ""; position: absolute; top: 51%; right: 0; width: calc(50% - 2.5em); height: 1px; background-color: #fff; }
.news ul { padding: 18px 24px; border-bottom: 1px solid #fff; }
@media (max-width: 768px) { .news ul { padding: 0 12px; } }
.news ul li { padding: 16px 20px; font-family: "リュウミン L-KL", serif; font-size: 18px; line-height: 1.4; border-bottom: 1px dashed #fff; }
@media (max-width: 768px) { .news ul li { padding: 12px 0; font-size: 16px; } }
.news ul li:last-of-type { border-bottom: 0; }
.news ul li span { padding-right: 16px; }
@media (max-width: 768px) { .news ul li span { display: block; margin-bottom: 6px; padding-right: 0; } }
.news ul li a { color: #fdb0b0; }

.description { background-color: #070707; }
.description .inner { position: relative; padding: 120px 0 60px; }
@media (max-width: 768px) { .description .inner { padding: 6% 16px; } }
.description .inner::after { content: ""; clear: both; display: block; }
.description .sectionTitleLine { margin-bottom: 50px; }
@media (max-width: 768px) { .description .sectionTitleLine { margin-bottom: 24px; } }
.description .sectionTitle { float: left; margin-top: -.5em; padding-left: 40px; font-family: "リュウミン M-KL", serif; font-size: 34px; line-height: 1.66; white-space: nowrap; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
@media (max-width: 768px) { .description .sectionTitle { float: none; margin-top: 0; margin-bottom: 20px; padding-left: 0; font-size: 18px; white-space: normal; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; } }
.description .sectionTitle span { color: #d71919; padding-top: .5em; }
@media (max-width: 768px) { .description .sectionTitle span { padding-top: 0; } }
.description .text { float: right; width: 760px; font-family: "リュウミン M-KL", serif; font-size: 18px; line-height: 1.66; text-align: justify; text-justify: inter-ideograph; }
@media (max-width: 768px) { .description .text { float: none; width: 100%; font-size: 16px; } }
.description .text p { color: #c1c0c0; }
.description .text p em { color: #fff; }
.description .text p:not(:first-of-type) { margin-top: 30px; }
@media (max-width: 768px) { .description .text p:not(:first-of-type) { margin-top: 20px; } }
.description .text h3 { margin-top: 50px; color: #fff; font-size: 1.33em; }
@media (max-width: 768px) { .description .text h3 { margin-top: 30px; } }
.description .text h3 + p { margin-top: 0 !important; }

.sectionTitleLine { position: relative; padding-left: 14px; font-family: "リュウミン B-KL", serif; font-size: 36px; }
@media (max-width: 768px) { .sectionTitleLine { font-size: 30px; } }
.sectionTitleLine::after { content: ""; position: absolute; top: 50%; left: calc(((100vw - 960px) / 2) * -1); width: calc((100vw - 960px) / 2); height: 1px; background-color: #fff; }
@media (max-width: 768px) { .sectionTitleLine::after { left: -16px; width: 20px; } }

.story { font-family: "リュウミン M-KL", serif; background: #151515; background-image: linear-gradient(90deg, #050505 50%, transparent 50%), linear-gradient(#050505 50%, transparent 50%); background-size: 4px 4px; }
.story .inner { padding-top: 96px; padding-bottom: 84px; }
@media (max-width: 768px) { .story .inner { padding: 6% 16px; } }
.story .sectionTitleLine { margin-bottom: 50px; }
@media (max-width: 768px) { .story .sectionTitleLine { margin-bottom: 24px; } }
.story p { line-height: 1.66; }
.story p:not(:first-of-type) { margin-top: 30px; }

.caststaff { font-family: "リュウミン M-KL", serif; background: url(./img/staff_bg.png) repeat 0 0/54px auto; }
.caststaff .inner { padding-top: 96px; padding-bottom: 84px; }
@media (max-width: 768px) { .caststaff .inner { padding: 6% 16px; } }
.caststaff .cast { margin-top: 80px; }
@media (max-width: 768px) { .caststaff .cast { margin-top: 40px; } }
.caststaff .cast dl { display: table; width: 100%; margin: 50px auto 0; font-size: 30px; }
@media (max-width: 768px) { .caststaff .cast dl { margin-top: 24px; font-size: 18px; } }
.caststaff .cast dl dt { display: table-cell; position: relative; width: 50%; padding-right: 50px; text-align: right; white-space: nowrap; }
.caststaff .cast dl dt::after { content: ""; position: absolute; top: 50%; right: -25px; width: 60px; height: 1px; background-color: #fff; }
.caststaff .cast dl dd { display: table-cell; width: 50%; padding-left: 50px; white-space: nowrap; }
.caststaff .cast .separate { width: 30px; height: 30px; margin: 50px auto 0; border-bottom: 3px solid #fff; transform: translateX(-12px) translateY(-12px) rotate(-40deg); }
@media (max-width: 768px) { .caststaff .cast .separate { margin-top: 24px; } }
.caststaff .staff { margin-top: 80px; }
@media (max-width: 768px) { .caststaff .staff { margin-top: 40px; } }
.caststaff .staff .sTitle { width: 100%; }
.caststaff .staff table { margin: 40px auto 0; color: #c1c0c0; line-height: 1.2; }
@media (max-width: 768px) { .caststaff .staff table { margin-top: 0px; } }
.caststaff .staff table th { padding: 12px 48px 12px 28px; font-weight: normal; font-size: 16px; text-align: left; vertical-align: top; }
@media (max-width: 768px) { .caststaff .staff table th { display: block; padding: 12px 0 0; } }
.caststaff .staff table td { padding: 12px 0; font-size: 20px; }
@media (max-width: 768px) { .caststaff .staff table td { display: block; padding-left: 1em; } }
.caststaff .staff table td span { margin-top: 4px; font-size: 14px; }
@media (max-width: 768px) { .caststaff .staff table td span { display: block; font-size: 12px; } }
.caststaff .staff table td li:not(:first-of-type) { margin-top: 8px; }

.sTitle { position: relative; font-size: 18px; text-align: center; }
.sTitle::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translateX(-50%); width: 173px; height: 1px; background-color: #999; }

/* ----- 下層ページ ----- */
.page { padding-bottom: 70px; background: url(./img/page_bg.jpg) no-repeat center top/100% auto, url(./img/page_bg_r.jpg) repeat-y center top/100% auto; }
@media (max-width: 768px) { .page { padding-bottom: 30px; } }
.page .contentsInner { max-width: 960px; margin: 34px auto 0; padding: 40px; background-color: #000; }
@media (max-width: 768px) { .page .contentsInner { padding: 20px 16px; } }
.page .header { padding: 66px 0 40px; text-align: center; }
@media (max-width: 768px) { .page .header { padding: 6% 0; } }
.page .header .title { position: relative; margin-top: 0; font-size: 80px; }
@media (max-width: 768px) { .page .header .title { margin-top: 8%; font-size: 13vw; } }
.page .header .oa { max-width: 720px; width: 100%; margin: 40px auto 0; }
@media (max-width: 768px) { .page .header .oa { max-width: 90%; margin-top: 6%; } }
.page .pageTitle { font-family: "リュウミン L-KL", serif; font-size: 36px; text-align: center; }
@media (max-width: 768px) { .page .pageTitle { font-size: 26px; } }
.page .pageTitle::after { content: ""; display: block; width: 80px; height: 1px; margin: 12px auto 0; background-color: #fff; }
.page .aritcleTitle { margin-top: 40px; font-family: "リュウミン M-KL", serif; font-size: 30px; text-align: center; line-height: 1.33; }
@media (max-width: 768px) { .page .aritcleTitle { margin-top: 20px; font-size: 20px; } }
.page .img { padding: 30px 16px; text-align: center; }
@media (max-width: 768px) { .page .img { padding: 30px; }
  .page .img img { max-width: 100% !important; } }
.page .textArea { font-family: "リュウミン L-KL", serif; line-height: 1.875; }
.page .commentTitle { margin-bottom: 20px; padding-bottom: 10px; font-family: "リュウミン M-KL", serif; font-size: 30px; line-height: 1.3; border-bottom: 1px solid #fff; }
@media (max-width: 768px) { .page .commentTitle { font-size: 24px; } }
.page .commentTitle .yaku { font-size: .6em; }
.page .commentTitle .small { font-size: .8em; }

.backnumber { margin-top: 60px; }
@media (max-width: 768px) { .backnumber { margin-top: 30px; } }
.backnumber .bkTitle { margin-bottom: 16px; font-family: "リュウミン M-KL", serif; font-size: 24px; }
.backnumber ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
@media (max-width: 768px) { .backnumber ul { display: block; padding: 0 16px; } }
.backnumber ul li { width: 31.8%; }
@media (max-width: 768px) { .backnumber ul li { width: 100%; }
  .backnumber ul li:not(:first-of-type) { margin-top: 16px; }
  .backnumber ul li img { width: 100%; max-width: 100%; } }
.backnumber ul li a { display: block; text-decoration: none; }
.backnumber ul li p { padding: 10px 6px; line-height: 1.5; background-color: #1f1f1f; }

/*# sourceMappingURL=style.css.map */
