@charset "utf-8";
/* =============================================
・640pxまでをスマホとする
・641pxからタブレット／PCとする
・1000pxはPC専用とする
============================================= */
/* =============================================
 サイトカラー
------------------------------------------------
文字色： （デフォルト）#555454
------------------------------------------------
キーカラー ： #c8000a
※設定時 「※キーカラー01」で検索し、該当箇所を変更してください。
------------------------------------------------
キーカラー２ ： （デフォルト）なし
※設定時 「※キーカラー02」で検索し、該当箇所を変更してください。
------------------------------------------------
背景カラー： #fff & #f0f0f0
------------------------------------------------
基本フォント： （デフォルト）'メイリオ', 'Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','Osaka', sans-serif;
※明朝の場合は'a-otf-ryumin-pr6n';
------------------------------------------------
WEBフォント　（デフォルト）非表示
※設定時 「※WEBフォント」で検索し、該当箇所を変更してください。
============================================= */
/* =============================================
 リセット
============================================= */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* =============================================
 COMMON
============================================= */
html {
  font-size: 62.5%;
}
body {
  color: #555454;
  font: 1.6em/1.6 'Roboto', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Osaka', sans-serif;
  line-height: 1;
  -webkit-text-size-adjust: none;
}
/* 背景パターン(ベース画像) */
body::before {
  content: "";
  width: 100vw;
  height: 100vh;
  /* background: url("../img/common/main_bg_sp.png"); */
  background: url("../img/common/main_bg.png") center top repeat;
  /* background-size: 800px; */
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  transform: translateZ(0);
}
@media screen and (min-width:821px) {
body::before {
  background: url("../img/common/main_bg.png") center top repeat;
}
}
img {
  max-width: 100%;
  vertical-align: middle;
}
a {
  color: #eb326e; /* ※キーカラー01 */
}

@media screen and (max-width:640px) {
  .onlyPC {
    display: none !important;
  }
  .onlySP {
    display: block;
  }
}
@media screen and (min-width:641px) {
  .onlyPC {
    display: block;
  }
  .onlySP {
    display: none !important;
  }
}
@media screen and (max-width:820px) {
  .onlyPCTB {
    display: none !important;
  }
  .onlyTB {
    display: block;
  }
}
@media screen and (min-width:821px) {
  .onlyPCTB {
    display: block;
  }
  .onlyTB {
    display: none !important;
  }
}
/* =============================================
 トップ ヘッダー
============================================= */
.header_wrap {
  /* background: url(../img/common/main_bg.png) 0 0 repeat transparent; */
  background: linear-gradient(45deg, rgba(255,221,242,1.0) 0%, rgba(255,255,255,1.0) 50%, rgba(175,246,250,1.0) 100%);
}
.header_wrap .header_main {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.header_wrap img {
  -webkit-backface-visibility: hidden;
}
/* header_main
---------------------------------------- */
.underlayer .header_wrap {
  background: #ccc;
}
.underlayer .header_main {
  width: 94%;
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.underlayer .header_logo {
  width: 30%;
  max-width: 200px;
}
.underlayer .header_oa {
  width: 50%;
  max-width: 300px;
}
/* トップ ヘッダー ビジュアル
---------------------------------------- */
.header_wrap .visual {
  position: relative;
}
@media screen and (min-width:641px) {
  .header_wrap .visual img {
    display: none;
  }
  .header_wrap .visual::before {
    content: "";
    width: 100%;
    padding-top: 60%;
    background: url("../img/common/img_main.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
  }
  .header_wrap .visual::after {
    content: "";
    padding-top: 60%;
    display: block;
  }
}
/* 共通 ヘッダー ナビ
---------------------------------------- */
.gnavi_wrap {
  background-color: #c8000a; /* ※キーカラー01 */
}
.gnavi {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.gnavi li {
  width: 25%;
  position: relative;
}
.gnavi.item6 li {
  width: 33.33%;
}
.gnavi li::before {
  content: "";
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 50%;
  right: -1px;
  transform: translateY(-50%);
}
.gnavi li::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  bottom: -1px;
  left: 0;
}
.gnavi a {
  padding: 1em 0;
  display: block;
  color: #fff900;
  text-align: center;
  text-decoration: none;
  transition: 0.4s;
}
.gnavi a em {
  margin-bottom: 0.5em;
  position: relative;
  display: inline-block;
  font-family: "A1 Gothic B JIS2004", "tofu";
  font-weight: bold;
  /* font-size: 4.2vw; */
  font-size: 1.0em;
}
.gnavi a em::after {
  content: '';
  width: 0;
  height: 2px;
  background: rgba(255, 249, 0, 0.5);
  position: absolute;
  left: 50%;
  bottom: -30%;
  opacity: 0;
  transform: translateX(-50%);
  transition: 0.4s;
}
.gnavi a span {
  display: block;
  font-size: 1.1rem;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 2px;
}
.gnavi .current a, .gnavi a:hover {
  /*color: #ffff00;*/
}
.gnavi .current a em::after, .gnavi a:hover em::after {
  width: 100%;
  opacity: 1;
  /*background: rgba(255,255,0,0.5);*/
}
@media screen and (max-width:350px) {
  .gnavi a span {
    font-size: 1rem;
  }
}
@media screen and (min-width:641px) {
  .gnavi {
    flex-wrap: inherit;
  }
  .gnavi li {
    width: 100%;
    border-bottom: none;
  }
  .gnavi .adjust {
    width: 120%;
  }
  .gnavi li::before {
    height: 60%;
  }
  .gnavi li:last-child::before {
    content: none;
  }
  .gnavi a {
    padding: 1.8em 0;
  }
  .gnavi a em {
    font-size: 2vw;
  }
  .gnavi a span {
    font-size: 1rem;
  }
}
@media screen and (min-width:800px) {
  .gnavi a span {
    font-size: 1.1rem;
  }
}
@media screen and (min-width:1000px) {
  .gnavi a em {
    font-size: 2rem;
  }
  .gnavi a span {
    font-size: 1.3rem;
  }
}
/* =============================================
 共通 タイトル（WEBFONT）
============================================= */
.ttl_eng {
    margin-bottom: 5%;
  color: #969696; /* ※キーカラー01 */
  font-size: 1.6rem;
  /*! font-family: 'a-otf-ryumin-pr6n'; */
  font-weight: bold;
  letter-spacing: 10px;
  line-height: 1;
  text-align: center;
}
/*.ttl_eng:first-letter{
	color: #fff;
} */
.ttl_jpn {
  font-size: 3.6rem;
  font-family: "A1 Gothic B JIS2004", "tofu";
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #c8000a;
  margin-bottom: 0.5rem;
}
.ttl_eng + .ttl_jpn {
  margin-top: 0.5em;
}
/*話数*/
.oa_story {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 2px solid #ddd;
  font-size: 1.25em;
  /*! font-family: 'a-otf-ryumin-pr6n'; */
  font-weight: bold;
}
.oa_story .oa_story_num {
  margin-bottom: 10px;
  font-size: 1.2em;
  line-height: 1;
  text-align: center;
}
.oa_story .oa_story_num:last-child {
  margin-bottom: 0;
}
.oa_story .oa_story_num span {
  margin: 0 0.1em;
  position: relative;
  top: 0.05em;
  color: #eb326e; /* ※キーカラー01 */
  font-size: 1.4em;
}
.oa_story .oa_story_ttl {
  line-height: 1.3;
  text-align: center;
}
.txt_catch {
  margin-bottom: 20px;
  font-size: 1.2em;
  /* font-size: 5.2vw; */
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  /* letter-spacing: -2px; */
}
.txt_catch:last-child {
  margin-bottom: 0;
}
.txt_sub_catch {
  margin: 1.25em 0 0.25em;
  color: #c8000a; /* ※キーカラー01 */
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
}
.txt_sub_catch span {
  display: inline-block;
  position: relative;
}
.txt_sub_catch span::after, .txt_sub_catch span::before {
  content: "";
  width: 1em;
  height: 50%;
  border-bottom: 1px solid #c8000a; /* ※キーカラー01 */
  position: absolute;
}
.txt_sub_catch span::after {
  right: -1.5em;
}
.txt_sub_catch span::before {
  left: -1.5em;
}
@media screen and (min-width:641px) {
  .ttl_eng {
    font-size: 2.0rem;
    }
  .ttl_jpn {
    font-size: 5.0rem;
  letter-spacing: 0.1em;
  }
  .oa_story {
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-size: 1.6em;
  }
  .oa_story .oa_next_ttl {
    width: 8em;
  }
  .txt_catch {
    margin-bottom: 40px;
    font-size: 1.6em;
    line-height: 1.5
  }
  .txt_sub_catch {
    font-size: 1.25em;
  }
}
/* =============================================
 共通 ボックススタイル
============================================= */
.sec_wrap {
  padding: 8% 0;
}
.sec_wrap + .sec_wrap {
  /* border-top: 5px solid #c6c6c6; */
  border-top: 4px solid #a5cccd;
  border-bottom: 1px solid #fff;
}
/* 背景パターン(ベース画像) */
.sec_box {
  padding: 4vw;
  background: #fff;
  border: 4px solid #e9e9e9;
   /* box-shadow: 0 0 3px rgba(205,38,137,0.40);  */
  border-radius: 10px;
  box-sizing: border-box;
  line-height: 1.6;
}
.sec_box + .sec_box {
  margin-top: 5%;
}


/* 背景パターン1 */
.bg_01 {
  background: rgba(200,200,200,0.25);
}
.bg_01 .sec_box {
  background: rgba(255,255,255,0.9);
}
/* 背景パターン2 */
.bg_02 {
  /* background: rgba(191,62,150,0.1); */
  background: rgba(8,174,180,0.05);
  /* background: linear-gradient(90deg, rgba(255,209,226,0.3) 0%, rgba(188,226,255,0.3) 100%); */
}
.bg_02 .sec_box {
  background: rgba(255,255,255,0.9);
}
.bg_03 {
  background-color: #fff;
}
/* ボックス無し */
.sec_box.box_none {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: none;
  border: none;
  box-shadow: none;
}
.main .sec_wrap > .inner {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width:641px) {
  .sec_box {
    line-height: 1.8;
  }
}
@media screen and (min-width:1000px) {
  .sec_wrap {
    padding: 60px 0;
  }
  .sec_box {
    padding: 40px;
  }
}
/* =============================================
 汎用パーツ
============================================= */
/* テキストスタイル
---------------------------------------- */
/* color */
/*.txt span {
  color: #eb326e;
}*/
.txtColor {
  color: #c8000a; /* ※キーカラー01 */
  font-weight: bold;
}
.txtColor-sub {
  color: #08aeb4;
}
.txtColor-main {
  color: #bf3e96;
}
/*.txtColorY {
  color: #f7aa00;
  font-weight: bold;
}
.txtColorB {
  color: #1188F7;
  font-weight: bold;
}*/
.txtColorG {
  color: #555454;
}
/*.txtColorG2 {
  color: #444;
}*/

/* font-weight */
.txtBold {
  font-weight: bold;
}
.txtBold2 {
  font-weight:400;
}

/* font-size */
.txtSSS {
  font-size: 0.625em !important;
}
.txtSS {
  font-size: 0.75em !important;
}
.txtS {
  font-size: 0.875em !important;
}
.txtL {
  font-size: 1.2em !important;
/*  font-weight: bold;*/
}
.txtLL {
  font-size: 1.4em;
  /* font-weight: bold; */
}
.txtLLL {
  font-size: 1.6em !important;
  /* font-weight: bold; */
}
.txtLLLL {
  font-size: 1.8em !important;
  /* font-weight: bold; */
}
.txtCenter {
  text-align: center !important;
}

/* letter-spacing */
.ls-005 {
  letter-spacing: -0.05em;
}
.ls-01 {
  letter-spacing: -0.1em;
}
.ls-02 {
  letter-spacing: -0.2em;
}
.ls-03 {
  letter-spacing: -0.3em;
}
.ls_01 {
  letter-spacing: 0.1em;
}
.ls_015 {
  letter-spacing: 0.15em;
}
.ls_02 {
  letter-spacing: 0.2em;
}
/* line-height */
.lh-015 {
  line-height: 1.5;
}
.lh-017 {
  line-height: 1.7;
}
.lh-02 {
  line-height: 2.0;
}
/* text-indent */
.ti-05 {
  text-indent: -0.5em;
}

/* font-family */
.fonttype {
    font-family: 'A1 Gothic M JIS2004','tofu';
}
.fonttype-B {
    font-family: 'A1 Gothic B JIS2004','tofu';
}
.fonttype-Brush {
    font-family: 'Brush-U','tofu';
}
.fonttype-Reimin {
    font-family: 'Reimin Y30 Bold JIS2004','tofu';
}

/* font-size */
.ft1{
  font-size: 6vw !important;
  font-weight: bold;
}
/*.ft2{
  font-size: 6vw !important;
  font-weight: bold;
  color: #bf3e96;
}
.ft3{
  font-size: 6vw !important;
  font-weight: bold;
  color: #08aeb4;
}*/
@media screen and (min-width:641px) {
.ft1{
  font-size: 1.25em !important;
}
/*.ft2{
  font-size: 1.25em !important;
}
.ft3{
  font-size: 1.25em !important;
}*/
.txtBold2 {
  font-weight:600;
}
}

/* 共通部分 間隔あける
---------------------------------------- */
.pb30 {
  padding-bottom: 3%;
}
.mb30 {
  margin-bottom: 3%;
}
.pt30 {
  padding-top: 3%;
}
.mt30 {
  margin-top: 3%;
}
.pl30 {
  padding-left: 3%;
}
.ml30 {
  margin-left: 3%;
}
.pr30 {
  padding-right: 3%;
}
.mr30 {
  margin-right: 3%;
}
.mt0 {
  margin-top: 0 !important;
}
/* ボックススタイル
---------------------------------------- */
.box_wrap {
  padding-top: 8%;
  padding-bottom: 8%;
}
.box_wrap:first-child {
  padding-top: 0;
}
.box_wrap:last-child {
  padding-bottom: 0;
}
.box_wrap + .box_wrap {
  border-top: 4px dotted #EB326E;
}
.box {
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
}
.box + .box {
  margin-top: 4%;
}
.box p + p {
  margin-top: 1em;
}
.box.boxS {
  max-width: 450px;
}
.box.boxM {
  max-width: 750px;
}
.box.inner {
  padding: 4%;
}
.box.border {
  border: 4px solid #e9e9e9;
  background-color: #fff;
  border-radius: 10px;
}
.box.bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #eb326e; /* ※キーカラー01 */
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
}
/* 2カラム */
.gridInner + .gridInner {
  margin-top: 4%;
}
/* リスト */
.ib_list li {
  margin-right: 1em;
  display: inline-block;
}
.ib_list li:last-child {
  margin-right: 0;
}
@media screen and (min-width:641px) {
  .box_wrap {
    padding-top: 4%;
    padding-bottom: 4%;
  }
  .boxS.inner, .boxM.inner {
    padding: 2%;
  }
  .grid {
    display: flex;
    justify-content: space-between;
  }
  .gridInner + .gridInner {
    margin-top: 0;
  }
  .gridLeft {
    width: 40%;
    flex-shrink: 0;
  }
  .gridLeft.w30 {
    width: 24%;
  }
  .gridRight {
    padding-left: 5%;
    box-sizing: border-box;
    width: 76%;
  }
}
/* リンクボタン
---------------------------------------- */
.link_btn_rd {
  padding-top: 20px;
}
.link_btn_rd a {
  width: 90%;
  max-width: 650px;
  padding: 2%;
  margin: 0 auto;
  background: #eb326e; /* ※キーカラー01 */
  box-sizing: border-box;
  border-radius: 5px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
}
.link_btn_rd span {
  padding: 0 2.5em 0 0;
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 1.4rem;
  /*! font-family: 'a-otf-ryumin-pr6n'; */
  font-weight: bold;
  line-height: 40px;
}
.link_btn_rd span::before {
  content: "";
  width: 1em;
  height: 1em;
  background: url(../img/common/ico_link_arrow_wh.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.link_btn_rd.tw_follow a {
  background: #1da1f2;
}
.link_btn_rd.tw_follow span {
  padding: 0 0 0 2.5em;
}
.link_btn_rd.tw_follow span::before {
  width: 1.8em;
  height: 1.8em;
  background: url("../img/common/ico_twitter.png") no-repeat;
  background-size: contain;
  right: inherit;
  left: 0;
}
@media screen and (min-width:641px) {
  .link_btn_rd {
    padding-top: 30px;
  }
  .link_btn_rd {
    clear: both;
  }
  .link_btn_rd span {
    font-size: 2.0rem;
  }
}
/* Radial Out */
.link_btn_rd a {
  overflow: hidden;
  position: relative;
  transform: perspective(1px) translateZ(0);
  transition-property: color;
  transition-duration: 0.6s;
  vertical-align: middle;
}
.link_btn_rd a:before {
  content: "";
  background: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  transform: scale(0);
  transition-property: transform;
  transition-duration: 0.6s;
  transition-timing-function: ease-out;
  z-index: -1;
}
@media screen and (min-width:1001px) {
  .link_btn_rd a:hover:before, .link_btn_rd a:focus:before, .link_btn_rd a:active:before {
    transform: scale(1.2, 9);
  }
}
/* =============================================
 トップページ
============================================= */
/* 見逃しバナーエリア
---------------------------------------- */
.missed_bnr-area {
  padding: 30px 0 !important;
  background: #2e3638;
  color: #fff;
  font-weight: bold;
}
.missed_bnr-area ul {
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.missed_bnr-area li {
  text-align: center;
}
.missed_bnr-area li.txt {
  width: 20%;
  padding-top: 0;
}
.missed_bnr-area li.txt p:before {
  content: "/";
  margin-right: 5px;
  display: inline-block;
  transform: matrix(-1, 0, 0, 1, 0, 0);
}
.missed_bnr-area li.txt p:after {
  content: "/";
  margin-left: 5px;
}
.missed_bnr-area li.bnr {
  width: 37.5%;
  margin: 0 1%;
}
.missed_bnr-area li:first-child {
  width: 20%;
  margin: 0;
}
/*見逃しバナーが一個になったときの対応.bnr_onlyone*/
.missed_bnr-area li.bnr_onlyone {
  width: 65%;
  margin: 0;
}
@media screen and (min-width:641px) {
  .missed_bnr-area li.bnr_onlyone {
    width: 52%;
    margin: 0;
  }
}
@media screen and (min-width:1000px) {
  .missed_bnr-area li.txt {
    width: 15%;
  }
  .missed_bnr-area li.bnr {
    width: 40%;
  }
  .missed_bnr-area li:first-child {
    width: 15%;
  }
  .missed_bnr-area li.bnr_onlyone {
    width: 40%;
    margin: 0;
  }
}
@media screen and (max-width:640px) {
  .missed_bnr-area {
    padding: 5% 0 !important;
  }
  .missed_bnr-area ul {
    margin: 0 auto;
    width: 96%;
  }
  .missed_bnr-area li.txt {
    width: 20%;
    padding-top: 0;
    text-align: center;
    color: #fff;
    font-size: 16px;
  }
  .missed_bnr-area li.txt p {
    text-align: center;
    line-height: 1.4;
  }
  .missed_bnr-area li.bnr img {
    width: 95%;
    margin: 0 auto;
  }
  .missed_bnr-area li.txt p:before {
    content: none;
    margin-right: 0;
  }
  .missed_bnr-area li.txt p:after {
    content: none;
    margin-left: 0;
  }
}
/* バナーエリア
---------------------------------------- */
.bnr_list {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.bnr_list.bnr_m {
  margin-bottom: -20px;
  flex-wrap: wrap;
}
.bnr_list + .bnr_list {
  margin-top: 20px;
}
.bnr_list li {
  max-width: 100%;
  margin: 0 1%;
}
.bnr_list.bnr_m li {
  margin-bottom: 20px;
}
.bnr_list li a {
  display: block;
  box-sizing: border-box;
  text-align: center;
  transition: .5s;
}
.bnr_list li a img {
/*  border: 1px solid #000;*/
}
.bnr_list.sp_col2 {
  margin-bottom: -2%;
  flex-wrap: wrap;
}
.bnr_list.official li {
  width: 100%;
  max-width: 310px;
}
.bnr_list.official.sp_col2 li {
  width: 48%;
  margin-bottom: 2%;
}
.bnr_list.official li a {
  min-height: 4em;
  padding: 0.75em 0.5em;
  border: none;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 3.5vw;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
}
.bnr_list.official .icon {
  padding-left: 2.5em;
  display: inline-block;
  position: relative;
}
.bnr_list.official .icon::before {
  content: "";
  width: 1.7em;
  height: 1.7em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.bnr_list.official li a .icon span {
  font-family: Arial, Helvetica, "sans-serif";
  display: inline-block;
}
.bnr_list .official_youtube a {
  background: #ff0000;
}
.bnr_list .official_twitter a {
  background: #1da1f2;
}
.bnr_list .official_instagram a {
	background: #d4006a;
  /*背景グラデ廃止background: #d4006a url("../img/common/bg_insta.jpg") no-repeat;
  background-size: 100% 140%;*/
}
.bnr_list .official_line a {
  background: #00b900;
}
.bnr_list .official_youtube .icon::before {
  background: url("../img/common/ico_youtube.png") no-repeat;
  background-size: contain;
}
.bnr_list .official_twitter .icon::before {
  background: url("../img/common/ico_twitter.png") no-repeat;
  background-size: contain;
}
.bnr_list .official_instagram .icon::before {
  background: url("../img/common/ico_insta.png") no-repeat;
  background-size: contain;
}
.bnr_list .official_line .icon::before {
  background: url("../img/common/ico_line.png") no-repeat;
  background-size: contain;
}
@media screen and (min-width:460px) {
  .bnr_list.official li a {
    font-size: 1.6rem;
  }
}
@media screen and (min-width:641px) {
  .bnr_list.bnr_m li {
    width: 48%;
  }
  .bnr_list + .bnr_list {
    margin-top: 30px;
  }
  .bnr_list.official.sp_col2 li {
    width: 23%;
  }
  .bnr_list.official li a .icon span {
    display: inline;
  }
}
@media screen and (min-width:1000px) {
  .bnr_list + .bnr_list {
    margin-top: 40px;
  }
  .bnr_list.official li a {
    padding: 1.5em 0;
  }
.bnr_list li a img {
/*  border: 1px solid #000;*/
    max-width: 480px;
}
}
/* バナーオンマウス */
@media screen and (min-width:1001px) {
  .bnr_list li a:hover {
    transform: scale(1.05);
  }
}
/* PR動画
---------------------------------------- */
.prmov_wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 20px;
}
.prmov {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}
.prmov iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width:641px) {
  .prmov_wrap {
    margin-bottom: 30px;
  }
}
/* 次回予告
---------------------------------------- */
.next_pict {
  max-width: 800px;
  margin: 0 auto 20px;
  position: relative;
  z-index: 2;
}
.next_pict a:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../img/common/mov_icon.png") center no-repeat;
  position: absolute;
  left: 0;
}
.next_oatime {
  padding-bottom: 15px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ddd; /* ※キーカラー02 */
}
.next_oatime dl {
  margin-bottom: 1em;
  font-weight: bold;
}
.next_oatime dl:nth-child(2) {}
.next_oatime dl:last-child {
  margin-bottom: 0;
}
.next_oatime dt {
  padding-left: 0.2em;
  font-size: 1.1em;
}
.next_oatime dt span {
  position: relative;
  top: -0.05em;
  font-size: 0.8em;
}
.next_oatime dd {
  /*! font-family: 'a-otf-ryumin-pr6n'; */
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.next_oatime dd span {
  margin: 0 0.1em;
  display: inline-block;
  position: relative;
  top: 0.05em;
  color: #eb326e; /* ※キーカラー01 */
  font-size: 1.3em;
}
.next_oatime .week {
  top: 0;
  font-size: 1em;
}
.next_oatime .date, .next_oatime .time {
  display: inline-block;
}
.irre {
  font-size: 0.875em;
  text-align: center;
}
@media screen and (min-width:641px) {
  .next_oatime {
    display: flex;
    justify-content: space-between;
  }
  .next_oatime dl {
    width: 49%;
    margin-bottom: 0;
  }
}
@media screen and (min-width:800px) {
  .next_oatime dd {
    font-size: 1.2em;
  }
}
@media screen and (min-width:1000px) {
  .next_oatime dd {
    font-size: 1.4em;
    letter-spacing: 0;
  }
}
/* 公式ツイッター
---------------------------------------- */
#twitter .sec_box:first-child {
  height: 350px;
}
.twitter-inner {
  width: 100%;
  height: 350px;
  max-width: 918px;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  overflow-y: auto;
}
.twitter-inner iframe {
  width: 920px !important;
}
@media screen and (min-width: 1000px) {
  .twitter-inner {
    overflow-y: hidden;
  }
}
/* イントロ
---------------------------------------- */
#intro .sec_box p + p {
  margin-top: 1em;
}
.intro_cast {
  margin: 0 0 40px;
}
.intro_cast ul {
  text-align: center;
}
.intro_cast li {
  margin-bottom: 0.5em;
}
.intro_cast li:last-child {
  margin-bottom: 0;
}
.intro_cast li span {
  padding: 0 0.5em;
  display: inline-block;
}
.intro_cast ul + ul {
  margin-top: 1em;
}
/* catch txt */
.intro-catch_name {
  background: #fff;
  padding: 3px;
  border-radius: 10px;
  font-size: 2.4rem;
  display: block;
  width: 75%;
  margin: 0 auto;
}
.intro-catch_vs {
  width: 30px;
  padding: 7px;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 641px) {
  .intro-catch_name {
    font-size: 0.9em;
    display: inline-block;
    width: auto;
    padding: 5px 15px;
  }
  .intro-catch_vs {
    width: 40px;
    padding: 10px;
    display: inline-block;
  }
}
@media screen and (min-width: 831px) {
  .intro-catch_name {
    font-size: 1.2em;
  }
  .intro-catch_vs {
    width: 50px;
    padding: 0 15px;
  }
}
@media screen and (min-width: 951px) {
  .intro-catch_name {
    font-size: 1.5em;
  }
}


/* コメント
---------------------------------------- */
.comment-imgtxt {
  text-align: center;
  /* width: 100%;
  max-width: 900px; */
  margin: 0 auto 15px;
}
/* .comment-imgtxt img {
  border-radius: 10px;
} */
.comment-imgtxt p {
  font-size: 1.6em;
  line-height: 1.2em;
}
@media screen and (min-width:641px) {
  .comment-imgtxt {
     margin: 0 auto 30px;
}
  /* .comment-imgtxt img {
    border-radius: 10px;
  } */
  .comment-imgtxt p {
    font-size: 2.4em;
  }
}
/* @media screen and (min-width:831px) {
  .comment-imgtxt {
     margin: 0 auto 60px;
    }
} */


/* キャスト
---------------------------------------- */
.pict_diagram {
  margin-bottom: 5%;
}
.pict_diagram:last-child {
  margin-bottom: 0;
}
.pict_diagram li {
  position: absolute;
}
.cast_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cast_box {
  width: 100%;
  margin-bottom: 4%;
  /* background: #fff; */
}
.cast_box:last-child {
  margin-bottom: 0;
}
.pict_cast {
  width: 100%;
  display: flex;
  justify-content: center;
}
.pict_cast img {
  border-radius: 10px;
}
.pict_cast li {
  width: 80%;
}
.txt_cast {
  padding: 4% 0 0 0;
}
.txt_cast:first-child {
  padding-top: 0;
}
.txt_cast dd + dd {
  margin-top: 1em;
}
.sttl_cast {
  margin-bottom: 0.5em;
 /*  color: #eb326e; ※キーカラー01 */
  line-height: 1.3;
}
.sttl_cast p + p {
  margin-top: 0.25em;
}
.sttl_cast .cast_name {
  font-size: 1.6em;
  text-align: center;
}
@media screen and (min-width:821px) {
  .sttl_cast .cast_name {
    text-align: left;
  }
}

.sttl_cast span {
  display: inline-block;
}
.box_s .pict_cast {
  width: 40%;
  flex-shrink: 0;
}
.cast_box .sec_box {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}
.cast_box.box_s .sec_box {
  flex-wrap: inherit;
}
.box_s .txt_cast {
  padding: 0 0 0 4%;
}
.box_s .pict_cast li {
  width: 100%;
}
.box_s .sttl_cast .cast_name {
  font-size: 1.2em;
}
@media screen and (min-width:821px) {
  .cast_box .sec_box {
    flex-wrap: inherit;
  }
  .cast_box.box_s {
    width: 48%;
  }
  .mfp-content .cast_box.box_s {
    margin-left: auto;
    margin-right: auto;
  }
  .cast_box.box_s .sec_box {
    padding: 2vw;
  }
  .txt_cast {
    padding: 0 0 0 4%;
  }
  .txt_cast:first-child {
    padding-left: 0;
  }
  .sttl_cast .cast_name {
    font-size: 1.8em;
      /* letter-spacing: -1px; */
  }
  .pict_cast {
    width: 28%;
    max-width: 250px;
    flex-shrink: 0;
  }
  .pict_cast.col2 {
    width: 42%;
    max-width: 400px;
  }
  .pict_cast li {
    width: 100%;
  }
  .box_s .sttl_cast .cast_name {
    font-size: 1.2em;
  }
}
@media screen and (min-width:1000px) {
  .cast_box.box_s .sec_box {
    padding: 40px;
  }
}
/**/
.mfp-content .box_s .sttl_cast .cast_name {
  font-size: 1.6em;
}
@media screen and (min-width:1000px) {
  .mfp-content .cast_box.box_s {
    width: auto;
  }
  .mfp-content .box_s .sttl_cast .cast_name {
    font-size: 1.8em;
  }
}
/**/
/*相関図 キャスト詳細*/
#diagramCast {
  display: none;
}
#diagramCast .sec_box {
  background: none;
  border: none;
  box-shadow: none;
}
/*モーダル*/
.relation_wrap {
  margin-bottom: 40px;
  text-align: center;
}
.relation_wrap:last-child {
  margin-bottom: 0;
}
.relation {
  margin: 0 auto;
  position: relative;
}
.relation:after {
  content: "";
  width: 7.87%;
  height: 4.83%;
  background-size: 100%;
  position: absolute;
  top: 77.97%;
  left: 53.19%;
}
.relation a {
  width: 25.8%;
  height: 39.4%;
  position: absolute;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0);
  box-sizing: border-box;
  transition: .3s;
}
/* 相関図モーダル各キャスト位置 */
.relation .cast01 {
  top: 5.2%;
  left: 4%;
}
.relation .cast02 {
  top: 5.2%;
  left: 37%;
}
.relation .cast03 {
  top: 5.2%;
  left: 70%;
}
.relation .cast04 {
  top: 55.2%;
  left: 20.8%;
}
.relation .cast05 {
  top: 55.2%;
  left: 53.6%;
}
/* ストーリー
---------------------------------------- */
.slider .sec_box {
  background-color: #fff;
}
.bx-wrapper .sec_box + .sec_box {
  margin-top: 0;
}
/*カルーセル設定*/
.bx-wrapper {
  background: none;
  border: none;
  box-shadow: none;
}
.bx-wrapper .bx-controls-direction a {
  height: 90px;
  width: 45px;
}
.bx-wrapper .bx-prev {
  background: url(../img/common/btn_arrow_prev.png) no-repeat 0 0;
  left: -30px;
}
.bx-wrapper .bx-next {
  background: url(../img/common/btn_arrow_next.png) no-repeat 0 0;
  right: -30px;
}
.bx-wrapper .bx-next:hover, .bx-wrapper .bx-next:focus {
  background-position: 0;
}
.bx-wrapper .bx-pager-item {
  margin: 0 5px 5px;
  font-size: 1.8rem;
  /*! font-family: 'M PLUS Rounded 1c', sans-serif; */
  font-weight: 400;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  width: 30px;
  height: 30px;
  margin: 0;
  background: #bdbdbd; /* ※キーカラー01より薄い色 */
  border-radius: inherit;
  color: #fff;
  line-height: 30px;
  text-indent: inherit;
  text-decoration: none;
}
.bx-controls {
  padding-bottom: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #666;
}
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #000; /* キーカラー01 */
}
.bx-wrapper {
  margin-bottom: 0;
}
.bx-controls-direction {
  display: none;
}
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
  width: 16em;
  padding-top: 0;
  margin: 0 auto;
  position: static;
}
@media screen and (min-width:641px) {
  .bx-wrapper {
    margin-bottom: 30px;
  }
  .bx-wrapper .bx-pager {
    width: 100%;
  }
  .bx-wrapper .bx-controls-auto {
    width: 100%;
    position: absolute;
  }
}
@media screen and (min-width:1000px) {
  .bx-wrapper .bx-prev {
    left: -30px;
  }
  .bx-wrapper .bx-next {
    right: -30px;
  }
  .bx-controls-direction {
    display: block;
  }
}
/* 原作 主題歌
---------------------------------------- */
.media_detail {
  padding: 20px;
  margin-top: 30px;
  border: 1px solid #ddd; /* ※キーカラー02 */
}
.comic_pict {
  display: flex;
  justify-content: center;
}
.comic_pict li {
  margin: 0 2%;
  text-align: center;
}
.comic_pict li.sp_sizeS {
  width: 60%;
  max-width: 300px;
}
#original h3 {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.3;
}
@media screen and (min-width:641px) {
  #original h3 {
    font-size: 1.4em;
  }
}
@media screen and (min-width:821px) {
  #original h3 {
    font-size: 1.6em;
    letter-spacing: 0.1em;
  }
}
.original-ill {
  text-align: center;
  width: 60%;
  max-width: 200px;
  margin: 0 auto;
}
.original-ill img {
  border-radius: 10px;
}

/* スタッフ
---------------------------------------- */
.staff dl {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (min-width:641px) {
  .staff dl {
    margin-bottom: 40px;
  }
}

.staff dl:last-child {
  margin-bottom: 0;
}
.staff dt {
  margin-bottom: 10px;
  color: #bf3e96; /* ※キーカラー01 */
  font-size: 1.1em;
  font-weight: bold;
  /* padding: 7px 0; */
}
.staff dd {
  display: block;
  text-align: center;
}
.staff dd:last-child {
  margin-bottom: 0;
}
.dd-lineheiht {
  line-height: 1.5em;
}

/* 見逃し配信
---------------------------------------- */
.watch_bnr {
  margin: 0 auto 2%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.watch_bnr li {
  width: 64%;
  max-width: 310px;
  margin: 0 1% 2%;
  box-sizing: border-box;
  text-align: center;
}
.watch_bnr li img {
  box-sizing: border-box;
}
.watch_bnr.size_m li img, .watch_bnr.size_s li img {
  border: 1px solid #000;
}
.watch_bnr.size_m li {
  width: 38%;
  max-width: 230px;
}
.watch_bnr.size_s li {
  width: 32%;
  max-width: 132px;
}
.watch-date {
  font-size: 1.4em;
  color: #bf3e96;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 0.5em;
}
@media screen and (min-width:641px) {
  .watch-date {
    font-size: 1.6em;
    line-height: 1.3;
  }
}

.broadcaster_cont {
  padding: 4%;
  margin-top: 4%;
  background: #fff;
  border: 4px solid #e9e9e9;
  border-radius: 10px;
   /* box-shadow: 0 0 3px rgba(205,38,137,0.40); */
}
.bclist_wrap {
  margin-bottom: 20px;
}
.ttl_bclist {
  margin-bottom: 10px;
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
font-family: DS-type7;
}
.txt_bclist {
  /* margin-bottom: 25px; */
  text-align: center;
}
.bclist {
  padding-top: 20px;
  border-top: 1px solid #ccc;
}
.bclist_wrap li {
  margin-bottom: 0.5em;
}
.bclist_wrap li dt {
  display: inline-block;
}
.bclist_wrap li dd {
  padding-left: 1em;
  display: inline-block;
}
.bclist_wrap li span {
  display: inline-block;
}
.bclist_wrap li:last-child {
  margin-bottom: 0;
}
.other_area {
  font-size: 0.875em;
}
.other_area li {
  padding-left: 1em;
  margin-bottom: 0.5em;
  text-indent: -1em;
}
.other_area li:last-child {
  margin-bottom: 0;
}
.other_area li a {
  display: inline;
}
/* =============================================
 フッター
============================================= */
.footer_wrap {
  display: block;
  color: #fff;
  text-align: center;
}
/* SNS シェア
---------------------------------------- */
.wrap_sblink {
  padding: 6% 0;
  background: #fff;
}
.sblink dt {
  margin-bottom: 15px;
  font-weight: bold;
  text-align: center;
}
.sblink dt span:before {
  content: "/";
  margin-right: 0.25em;
  display: inline-block;
  transform: scale(-1, 1) translateY(0.1em);
  font-size: 1.4em;
}
.sblink dt span:after {
  content: "/";
  margin-left: 0.25em;
  display: inline-block;
  transform: translateY(0.1em);
  font-size: 1.4em;
}
.list_sblink {
  font-size: 0;
  text-align: center;
}
.list_sblink li {
  margin: 0 0.4rem;
  display: inline-block;
}
.list_sblink li a {
  width: 16vw;
  height: 16vw;
  padding: 3vw;
  background: #000;
  border-radius: 100%;
  box-sizing: border-box;
  display: block;
  transition: all .3s;
}
.list_sblink li.sblink_twitter a {
  background: #1da1f2;
}
.list_sblink li.sblink_facebook a {
  background: #1877f2;
  ;
}
.list_sblink li.sblink_line a {
  background: #00b900;
}
@media screen and (min-width:375px) {
  .list_sblink li a {
    width: 56px;
    height: 56px;
    padding: 12px;
  }
}
@media screen and (min-width:641px) {
  .wrap_sblink {
    padding: 40px 0;
  }
}
@media screen and (min-width:1000px) {
  /*.list_sblink li a:hover{
		transform: scale(1.15);
	}*/
  .list_sblink li {
    margin: 0 0.6rem;
  }
}
/* コピーライト
---------------------------------------- */
.footer_copy {
  padding: 6% 0 calc(6% + 2.5em);
  background: #555454; /* ※キーカラー01 */
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.3;
  text-align: center;
}
.footer_copy p {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
}
.footer_copy p + p {
  margin-top: 0.75em;
}
@media screen and (min-width:641px) {
  .footer_copy {
    padding: 40px 0;
    font-size: 1.4rem;
  }
}
/* ページトップ
---------------------------------------- */
.pageTop {
  position: fixed;
  bottom: 60px;
  right: 5%;
  opacity: 0;
  z-index: 10;
  transition: .5s;
}
.pageTop.show {
  opacity: 1;
}
.pageTop a {
  width: 60px;
  height: 60px;
background: #c8000a;

  display: block;
  position: relative;
}
.pageTop a::before {
  content: "";
  width: 30px;
  height: 30px;
  background: url(../img/common/ico_link_arrow_wh.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}
@media screen and (min-width:641px) {
  .pageTop {
    bottom: 40px;
  }
}
@media screen and (min-width:1000px) {
  .pageTop a {
    width: 80px;
    height: 80px;
    transition: 0.3s;
  }
  .pageTop a:hover {
    transform: translate(0, -10px);
  }
}
/* 終了後対応
---------------------------------------- */
/* 見逃し配信終了対応 */
.watch_bnr .watch_end a {
  background: #787878;
  display: block;
  pointer-events: none;
}
.watch_bnr .watch_end img {
  border: 1px solid #ccc !important;
  opacity: 0.5;
}
/* 次回予告終了対応 */
.end {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width:641px) {
  .end {
    font-size: 2.0rem;
  }
}
/* =============================================
 動画スライダー
============================================= */
#thumb_slider .owl-carousel {
  max-width: 1000px;
}
#thumb_slider .inner {
  width: 100%;
}
#thumb_slider .sec_box {
  padding: 0;
}
#thumb_slider .owl-item p {
  margin-top: 10px;
  line-height: 1.3;
}
.thumb01 {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width:641px) {
  .thumb01 {
    width: 60%;
    max-width: 500px;
  }
}
/* =============================================
 下層スマホメニュー
============================================= */
.menu_sp {
  width: 100%;
  background: rgba(255, 255, 255, 1);
  position: fixed;
  left: 0px;
  bottom: 0px;
  z-index: 10000000;
  transform: translateY(100%);
  transition: .3s;
}
.menu_sp.open {
  transform: translateY(0);
}
.menu_sp .gnavi {
  padding-bottom: 3em;
}
.menu_sp .gnavi li {
  width: 50%;
}
.bottom_menu_sp {
  width: 100%;
  padding: 0.75em;
  background: #333; /* ※キーカラー01 */
  box-sizing: border-box;
  position: fixed;
  bottom: 0;
  color: #fff;
  text-align: center;
  font-weight: bold;
  z-index: 10000001;
  transform: translateY(100%);
  transition: .3s;
}
.bottom_menu_sp.show {
  transform: translateY(0);
}
.bottom_menu_inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.bottom_menu_inner > div {
  width: 20px;
  height: 17px;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
}
.bottom_menu_inner > p {
  padding-left: 0.75em;
  display: inline-block;
}
.bottom_menu_sp span {
  width: 100%;
  height: 3px;
  background: #fff;
  border-radius: 3px;
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  transition: all .4s;
}
.bottom_menu_sp span:nth-of-type(1) {
  top: 0;
}
.bottom_menu_sp span:nth-of-type(2) {
  top: 7px;
}
.bottom_menu_sp span:nth-of-type(3) {
  bottom: 0;
}
.bottom_menu_sp.active span:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}
.bottom_menu_sp.active span:nth-of-type(2) {
  opacity: 0;
}
.bottom_menu_sp.active span:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}
@media screen and (min-width:641px) {
  .menu_sp, .bottom_menu_sp {
    display: none !important;
  }
}
/* =============================================
 アクセス時モーダル表示
============================================= */
.popup_inline_open {
  background: #fff;
  line-height: 1.6;
}
/* =============================================
 protect
============================================= */
.protect {
  display: block;
  position: relative;
  -webkit-user-drag: none;
  user-select: none;
}
.protect::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.protect img {
  -webkit-user-drag: none;
  pointer-events: none;
}
@media print {
  .protect {
    display: none !important;
  }
}

/* =============================================
 追記
============================================= */
.txt_left{
    text-align: left;
}
.layer01 {
  box-shadow:
    -10px -10px 10px rgba(235,50,110,0.5),
    10px 10px 10px rgba(247,170,0,0.5)
}
.ttl_comment {
    margin-top: 0.8em;
    color: #eb326e;
    font-weight: bold;
}
.intro_img {
	display: flex;
	justify-content: center;
	align-items: flex-start;
  
  text-align: center;
  width: 100%;
  max-width: 900px;
  margin: 0 auto 30px;
}
.intro_img img {
  border-radius: 10px;
}
@media screen and (min-width:641px) {
  intro_img {
    margin: 0 auto 50px;
  }
}
@media screen and (min-width:831px) {
  .intro_img {
    margin: 0 auto 60px;
  }
}




.txt_cast p {
    line-height: 1.8;
}
.txt_cast p + p {
    margin-top: 1em;
}
@media screen and (max-width:640px) {
  .txt_cast p {
    line-height: 1.5;
  }
  .txtCenterSP {
    text-align: center !important;
    line-height: 1.5;
  }
}


.ttl_sub {
  font-size: 3.4rem;
  font-family:DS-type7;
  font-weight: bold;
  line-height: 1;
  text-align: center;
color: #eb326e;
  margin-bottom: 0;
  position: relative;
  padding: 1.5rem 0.5rem;
  border-top: solid 4px #EB326E;
  border-bottom: solid 4px #bf3e96;
    background-color: rgba(252,249,233,0.3)
}
.ttl_sub:before, .ttl_sub:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 4px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);

}
.ttl_sub:before {
  left: 4px;
  background-color: #EB326E;
}
.ttl_sub:after {
  right: 4px;
  background-color: #bf3e96;
}
.spnan_name{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    white-space: nowrap;
    font-size: 3.8rem;
}
.bordernone {
  border-top: none !important;
/*    margin-top: -5rem !important;*/
}
@media screen and (max-width:640px) {
.ttl_sub {
  font-size: 2.8rem;
    line-height: 1.2;
  padding: 1rem 0.5rem;
  }
.spnan_name{
    font-size: 3.2rem;
}
/*.bordernone {
    margin-top: -2rem !important;
}*/
}

.waku{
      position: relative;
  padding: 1.5rem 0;
  border-top: solid 4px #EB326E;
  border-bottom: solid 4px #bf3e96;
    background-color: rgba(252,249,233,0.3)
}
.waku:before, .waku:after {
  content: '';
  position: absolute;
  top: -7px;
  width: 4px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);

}
.waku:before {
  left: 4px;
  background-color: #EB326E;
}
.waku:after {
  right: 4px;
  background-color: #bf3e96;
}
.ttl_sub01 {
  font-size: 3.4rem;
  font-family:DS-type7;
  font-weight: bold;
  line-height: 1;
  text-align: center;
color: #eb326e;
    letter-spacing: -2px;
}
.ttl_sub01 a{
    text-decoration: none;
}
.ttl_sub01 a:hover{
    opacity: 0.5;
}
.btn_small{
    max-width: 500px !important;
    margin: 0 auto;
}
@media screen and (max-width:640px) {
.ttl_sub01 {
  font-size: 2.8rem;
    line-height: 1.2;
  padding: 1rem 0.5rem;
  }
}
.lts2{
    letter-spacing: -2px;
}
.castphoto{
        width: 80%;
    margin: 0 auto 20px auto;
    text-align: center;
}
.castphoto img{
        width: 100%;
    margin: 0 auto;
}
@media screen and (min-width:641px) {
    .castphoto{
        width: 30%;
        max-width: 250px;
        float: left;
        margin-right: 20px;
        margin-bottom: 20px;
    }
.castphoto img{
        width: 100%;
}
}
