@charset "UTF-8";
/* CSS Document */


/* --------------------------------------------------------------


                      reset


-----------------------------------------------------------------*/


body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img {
	border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym {
	border:0;
}

*:focus {
  outline: none;
}
a {
	overflow:hidden;
	outline:none;
  }

.note {
   font-size: 0.9em;
   line-height: 1.4em;
}

.bold {
   font-weight: bold;
}

.red {
   color: #ff4e4e;
}
.pink {
   color: #F02A70;
}
/* --------------------------------------------------------------


                      bace


-----------------------------------------------------------------*/


body {
	background:#14182b ;
	color:#000000;
	line-height: 1.8em;
	font-size: 14px;
	width:100%;
	height:auto;
	font-family:-apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN','メイリオ',meiryo,'游ゴシック Medium', sans-serif;
	background-image: url(../../img/common/bg-body.jpg);
	background-repeat: no-repeat;
	background-size : cover;
	background-attachment: fixed;
	position: relative;
   background-position: center top;
      letter-spacing: 0;

}

a {
	color:#c0ff00;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	color: #c0ff00;
}


 a:hover img
{
opacity:0.8;
filter: alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
}
p {
	margin:0;
}

h2 {
   text-indent: -9999px;
}

.blue {
   color:#0D87E5;
}
.orange {
   color:#e85900;
}
.green {
   color:#c0ff00;
}

.bdr-btm {
   border-bottom: dotted 1px #fff;
   padding-bottom: 20px;
   margin-bottom: 20px;
}
.bdr-top {
   border-top: dotted 1px #fff;
}
.bdr_box {
   border: 1px solid #000000;
   padding: 10px ;
}

.box_bg_scts {
   background-color: #44436d;
   padding:10px 20px;
}
#wrap {
   width: ;
   margin: 0 auto;
   position: relative;
}




.note li {
   line-height: 1.5em;
   margin-bottom: 5px;
}


.txt_right{
   text-align: right;
}

ul.list_base li {
	padding-left: 1em;
	position: relative;
	line-height: 1.4em;
	margin-bottom: 15px;
}
ul.list_base li:before {
	display: block;
	content: "・";
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 0;
}

ul.list_note {
   padding-top: 7px;
   padding-left: 7px;
}
ul.list_note li {
   font-size: 0.9em;
	margin-bottom: 7px;
   line-height: 1.4em;
}
ul.list_note li:before {
	content: "※";
   padding-right: 3px;
}
ul.list_s_none li:before {
   content: "";
   padding-right: 0;
}

.btn_link_area {
   padding: 20px 0 40px;
}
.btn_link_area .btn_link {
   margin: 0 auto;
}
.btn_link {
   display: block;
   height: 45px;
   line-height: 45px;
   background-color: #0B2560;
   color: #fff;
   text-align: center;
   text-decoration: none;
   width: 250px;
}

.center .btn_link {
   margin: 0 auto;
}

.btn_link:hover {
   background-color: #1e47a5;
   color: #fff;
   text-decoration: none;
}

/* -----------------------------------------------
   clearfix
--------------------------------------------------*/

.clearfix:after{
    content: "";
    display: block;
    clear: both;
}
.clearfix {
    zoom:1;
}



/* -----------------------------------------------
   float
--------------------------------------------------*/

.f-right {
	float:right;
}

.f-left {
	float:left;
}


/* -----------------------------------------------
   center
--------------------------------------------------*/

.center {
   text-align: center;
}



/* -----------------------------------------------
   list
--------------------------------------------------*/

.basic_list li {
   margin-bottom: 10px;
   line-height: 1.5em;
   text-indent: -1em;
   padding-left: 1em;
}




/* -----------------------------------------------
   ベースリスト共通
--------------------------------------------------*/


.base_dl dt {
   font-weight: bold;
}
.base_dl dd {
   padding-left: 10px;
   line-height: 1.6em;
   margin-bottom: 20px;
}

/* -----------------------------------------------
   ベーステーブル共通
--------------------------------------------------*/

.base_tbl {
   border-bottom: solid 1px #adadad;
   border-left: solid 1px #adadad;
}
.base_tbl td,
.base_tbl th {
   border-top: solid 1px #adadad;
   border-right: solid 1px #adadad;
   padding: 7px 10px;
}
.base_tbl th {
   width: 90px;
   background-color: #252b48;
}

.base_tbl_2 td {
   vertical-align: top;
   padding: 7px 10px;
}



/* -----------------------------------------------
   グッズ用テーブル共通
--------------------------------------------------*/

.goods_tbl {
   border-bottom: solid 1px #adadad;
   border-left: solid 1px #adadad;
   width: 100%;
}
.goods_tbl td,
.goods_tbl th {
   border-top: solid 1px #adadad;
   border-right: solid 1px #adadad;
   padding: 7px 10px;
   line-height: 1.4em;
   vertical-align: top;
   background-color: #fff;
   font-size: 0.8em;
   width: 33%;
   color: #000;
}
.goods_tbl th {
   width: 90px;
}
.goods_tbl .img_area {
   text-align: center;
   display: table-cell;
   vertical-align: middle;
   width:inherit;
}
.goods_tbl .img_area img {
   vertical-align: middle;
}
.goods_tbl td img {
   padding-top: 10px;
   width: 100%;
}
.goods_tbl h4 {
   line-height: 1.4em;
   letter-spacing: -0.05em;
   color: #0B2560;
   font-size: 1.1em;
   height: auto;
   background: #edefd9;
   padding: 10px 10px ;
   margin: 0;
}

.goods_tbl h4 span {
   font-size: 0.9em;
   font-weight: normal;
}


/*     グッズリスト     */

.goods_list {
   display: flex;
   flex-wrap: wrap;
}
.goods_list li {
   width: 49%;
   border:1px solid #a5a7a9;
   padding: 5px;
   box-sizing: border-box;
   margin-bottom: 0;
   line-height: 1.5em;
   font-size: 0.8em;
}
.goods_list li h1 {
   background-color: #072356;
   padding: 5px;
   line-height: 1.4em;
   margin: 0;
   font-size: 1.2em;
}
.goods_list li .img_box {
   padding: 5px;
   margin: 0;
}
.goods_list li .img_box img {
   width: 90%;
}
.goods_list li .item_name {
   font-size: 1.2em;
   padding: 5px 0;
   margin-bottom: 0;
}

.goods_list2 li {
   width: 100%;
}



@media screen and (min-width:960px) {

   .goods_list li {
      width: 49%;
      padding: 5px;
   }

   .goods_list2 li {
      width: 100%;
   }
}


/* -----------------------------------------------
 cd用テーブル共通
--------------------------------------------------*/


.cd_tbl {
   width: 100%;
}
.cd_tbl td {
   padding: 7px 10px;
   line-height: 1.4em;
   vertical-align: top;
   font-size: 0.9em;
}
.cd_tbl td.img_area {
   width: 40%;
}
.cd_tbl td.txt_area {
   width: 60%;
   padding-top: 20px;
}
.cd_tbl td img {
   padding-top: 10px;
   width: 100%;
}



/* -----------------------------------------------
画像
--------------------------------------------------*/

.img_box {
   text-align: center;
   margin-bottom: 30px;
   margin-top: 30px;
}

.img_box img {
   max-width: 100%;
}
.img_box iframe.pc{
   width: 100%!important;
}

.img_box iframe.sp {
   display: none;
}

/*  記事内キャスト写真リスト  */
img.news-cast-photo-li {
   display:inline;
   width: 20%;
   aspect-ratio: 1 / 1.5;
   object-fit:cover;
   margin: 5px ;
}


/*      main        */
#main {
      min-height: 850px;
   width: 800px;
   margin: 0 auto;
   position: relative;
   padding-bottom: 40px;
 }



a.dtn_buy {
   display: block;
   background: #448004;
   color: #ffffff;
   width: 180px;
   height: 30px;
   line-height: 30px;
   text-align: center;
}

a.dtn_buy:hover {
   text-decoration: none;
   background: #69a32b;
}



/* -----------------------------------------------
   カラムレイアウト
--------------------------------------------------*/
.grid-wrapper {
   display: flex;
   flex-wrap: wrap;
   gap: 20px 3% ;
   align-items: flex-start;

}
.grid-wrapper .col img{
   width: 100%;
   display: block;
   height: auto;
}
.col p {
	line-height: 1.4em;
	font-size: 0.9em;
	padding-top:8px;
}
.col-3 {
   width: 30%;
}
.col-4 {
   width: 22%;
}

/* --------------------------------------------------------------


                      header


-----------------------------------------------------------------*/
header {
   height: 197px;
   width: 100%;
   background: url(../img/common/bg-header2.png) repeat-x;
   margin-bottom: 20px;
}
.bg-header {
   background: url(../img/common/bg-header.png) no-repeat top center;
   width: 100%;
   height: 197px;

}
header .hd_inner {
   width: 1000px;
   margin: 0 auto;
   padding-top: 8px;
   position: relative;
   height: 197px;
}
header #logo {
   float: left;
   margin-top: -10px;
   margin-left: 17px;
}
header #logo,
header #logo a {
   width: 332px;
   height: 112px;
}
header #logo a {
   background-image: url(../img/common/logo.png);
   background-repeat: no-repeat;
   background-position: top center;
   display: block;
   text-indent: -9999px;

}

header nav {
   width: 580px;
   margin-left: 440px;
}
header nav li {
   float: left;
   margin-left: 5px;
   margin-bottom: 10px;
   width: 137px;
   height: 59px;
}
header nav li a {
   background-repeat: no-repeat;
   background-position: top center;
   display: block;
   height: 59px;
   width: 137px;
   text-indent: -9999px;
}
header #logo a:hover,
header nav li a:hover  {
   background-position: bottom center;
}



header nav li#nav-top a {
   background-image: url(../img/common/nav-top.jpg);
}

header nav li#nav-news a {
   background-image: url(../img/common/nav-news.jpg);
}

header nav li#nav-products a {
   background-image: url(../img/common/nav-products.jpg);
}

header nav li#nav-movie a {
   background-image: url(../img/common/nav-movie.jpg);
}






/*ドロップダウンメニュー*/


nav, header nav #nav ul{
list-style-position:outside;
position:relative;
z-index: 1000;
}
header nav #nav #nav ul {
position:absolute;
display:none;
width:159px;
top:55px;
   border-radius: 0 0 5px 5px;
box-shadow:3px 1px 12px -3px #333333;
-moz-box-shadow:3px 1px 12px -3px #333333;
-webkit-box-shadow:3px 1px 12px -3px #333333;
}


header nav #nav li ul li {
   height: 46px;
   margin-bottom: 0;
margin-left: 0;
   background-repeat: no-repeat;
   background-position: top left;
   text-indent: -9999px;
}

header nav #nav li ul li a {
   background-position: top left;
}
header nav #nav li ul li a:hover {
   background-position: top right;
}

header nav #nav li ul li:last-child{
   border-bottom: none;
}
header nav #nav li ul li:hover {
}
header nav #nav li ul li a:hover {
   text-decoration: none;
}
header nav #nav li#nav-products ul a{
   width:159px;
   height: 46px;
	float:left;
	color: #ffffff;
	font-size: 0.9em;
   background-repeat: no-repeat;
   background-position: top left;
}
header nav #nav li#nav-goods ul li:last-child a{
   border-radius: 0 0 2px 2px;

}
header nav #nav li ul li#dm-bd a {
   background-image: url(../img/common/dm-bd.png);
}
header nav #nav li ul li#dm-cd a {
   background-image: url(../img/common/dm-cd.png);
}
header nav #nav li ul li#dm-book a {
   background-image: url(../img/common/dm-book.png);
}
header nav #nav li ul li#dm-goods a {
   background-image: url(../img/common/dm-goods.png);
}
header nav #nav li ul li#dm-movie a {
   background-image: url(../img/common/dm-movie.png);
}
header nav #nav li ul li#dm-event a {
   background-image: url(../img/common/dm-event.png);
}

header nav #nav li ul li#dm-movie a:hover,
header nav #nav li ul li#dm-event a:hover,
header nav #nav li ul li#dm-bd a:hover,
header nav #nav li ul li#dm-cd a:hover,
header nav #nav li ul li#dm-book a:hover,
header nav #nav li ul li#dm-goods a:hover {
   background-position: top right;
}



#nav ul ul{
top:auto;
}

#nav li ul ul {
left:12em;
margin:0px 0 0 10px;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li:hover ul ul ul ul{
display:none;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li li li li:hover ul{
display:block;
}







/* --------------------------------------------------------------


                      ヘッダーバナーエリア


-----------------------------------------------------------------*/



.bnr_head {
   height: 102px;
   position:absolute;
   bottom: 10px;
   right:0;
}
.bnr_head a img {
   width: 210px;
}

/* --------------------------------------------------------------


                      大見出し


-----------------------------------------------------------------*/

h1.ttl-page {
   width: 455px;
   margin: 0 auto;
   height: 109px;
   background-repeat: no-repeat;
   background-position: left top;
   text-indent:-9999px;
   margin-bottom: 40px;
   margin-top: 20px;
}


h2.h2-cts {
   text-indent: 0;
   font-size: 25px;
   border-bottom:solid 1px #fff;
   padding-bottom: 7px;
   background: url(../img/common/icon-h2.png) no-repeat 0 4px;
   padding-left: 25px;
   margin-bottom: 30px;
}

/* --------------------------------------------------------------


                      サブメニュー


-----------------------------------------------------------------*/

.submenu {
   margin-bottom: 50px;
}
.submenu ul {
    display: flex;
    justify-content:center;
}


.submenu ul li {
   width: 200px;
   height: auto;
   border:solid 1px #fff;
   border-radius: 3px;
   margin: 5px;
}

.submenu ul li a {
   display:block;
   width: 200px;
   height: 100%;
   letter-spacing: -0.02em;
   font-size: 15px;
   line-height: 1.3em;
   text-align: center;
   color: #fff;
   padding: 7px 15px;
   box-sizing: border-box;
   display: flex;
   align-items: center;
    justify-content:center;
}
.submenu ul li a:hover {
   text-decoration: none;
   background: #fff;
   color: #0b2560;
   font-weight: bold;
}

/* --------------------------------------------------------------


                      サブタイトル


-----------------------------------------------------------------*/


.sub_ttl {
   text-indent: 0;
   height: 47px;
   margin-bottom: 30px;
}
/* --------------------------------------------------------------


                      contents


-----------------------------------------------------------------*/

.cts-box {
   background: url(../img/common/cts_box.png) repeat-y;
   padding: 20px 25px 40px 25px;
   position: relative;
   color: #fff;
}
.cts_box_top,
.cts_box_btm {
   display: block;
   width: 800px;
}
.cts_box_top {
   height: 15px;
}
.cts_box_btm {
   height: 15px;
   margin-bottom: 40px;
}

.news_name {
   text-indent: 0;
   font-size: 1.7em;
   font-weight: bold;
   margin-bottom: 20px;
   color: #fff;
}

.cts-box .news_name {
   line-height: 1.5em;
   border-bottom: solid 2px #a0abc7;
   padding-bottom: 7px;
   margin-bottom: 25px;
}
.cts-box .news_date {
   position: absolute;
   top:-30px;
   left: 30px;
   font-size: 13px;
   color: #c0ff00;
   letter-spacing: 0.2em;
}




.cts-box-list {
   width: 253px;
   height:266px;
   float: left;
   margin-bottom: 50px;
   margin-right: 15px;
   background: url(../../img/common/cts_box_list.png) no-repeat;
   position: relative;
}
.cts-box-list:nth-of-type(3n){
   margin-right: 0;
}
.cts-box-list h1 {
   font-size: 12px;
   line-height: 1.3em;
   padding-top: 10px;
   margin-bottom: 5px;
   color: #fff;
   font-weight: normal;
   height: 4em;
   overflow:hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;

}
.cts-box-list a {
   display: block;
   width: 253px;
   height:266px;
   padding: 0 13px;
   box-sizing:border-box;
}

.cts-box-list a:hover {
   text-decoration: none;
   color: #20469c;
}

.news_list_img {
   width: 227px;
   height: 158px;
   text-align: center:
}
.news_list_img img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: top center;
}
.cts-box-list .news_date {
   color: #c0ff00;
   font-size: 12px;
   padding-top: 5px;
}


.news_date img.icn_new {
   vertical-align: middle;
   display: block;
   height: 46px;
   width: 66px;
   position: absolute;
   top:-15px;
   left:80px;
}
.news-cts-box .news_date img.icn_new {
   left:90px;
   top:-25px;
}
.news_date img.icn_new{
   animation-duration: vertical 1s ease-in-out infinite alternate;
	-webkit-animation: vertical 1s ease-in-out infinite alternate;;
    -moz-animation: vertical 1s ease-in-out infinite alternate;
    animation:vertical 1s ease-in-out infinite alternate;
}
@keyframes horizontal {
    0% { transform:translateX( -3px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-3px); }
  100% { transform:translateY(  0px); }
}


/* ---------------------------------
ニュース詳細など幅680pxのもの　　　
---------------------------------*/

.news-cts-box {
   background: url(../img/common/bg-news_box.png) repeat-y top center;
   width: 680px;
   margin: 0 auto;
}

.news_box_top,
.news_box_btm {
   display: block;
   width: 680px;
   margin: 0 auto;
}
.news_box_top {
   height: 44px;
}
.news_box_btm {
   height: 19px;
   margin-bottom: 0;
}

#pager {
   margin-bottom: 50px;
   text-align: center;
   height: 28px;
   line-height: 28px;
   display: block;
   clear: both;
}

#pager img {
   vertical-align: middle;
}


.btn-gotop {
   text-align: right;
   width: 100%;
   margin-bottom: 30px;
   padding-top: 10px;
   font-size: 11px;
}

.back_idx {
   height: 40px;
   line-height: 40px;
   margin: 0 auto;
   margin-bottom: 20px;
   color: #ffffff;
   width: 220px;
   text-align: center;
   border-radius: 3px;
   font-size: 13px;
   padding-left: 10px;

}
.back_idx a {
   display: block;
   height: 40px;
   width: 220px;
   background: #0B2560 url(../img/common/arrow_back_idx.png) 15px 18px no-repeat;
   color: #ffffff;
}
.back_idx a:hover {
   text-decoration: none;
   background: #1e3c7f url(../img/common/arrow_back_idx.png) 15px 18px no-repeat;
}





/* --------------------------------------------------------------


                      footer


-----------------------------------------------------------------*/

.bnr-appri {
   display: block;
   width:500px;
   margin: 0 auto;
   margin-bottom: 40px;
   border:solid 1px #fff;
}
.bnr-appri img {
   width: 100%;
   display: block;
}

#old-series {
   text-align: center;
   padding-top: 40px;
   padding-bottom: 50px;
}

#old-series a {
   margin: 0 5px;
}

#gotop {
   display: block;
   height: 103px;
   width: 95px;
   position: fixed;
   bottom: 0;
   right: 40px;
}
footer {
   clear: both;
   height: 342px;
   background: url(../img/common/bg-footer2.png) repeat-x;
}


.footer_inner {
   height: 350px;
   background: url(../img/common/bg-footer_b.png) no-repeat top center;
}

.footer_inner2 {
   width: 1000px;
   margin: 0 auto;
   padding-top: 25px;
}
#bannerarea {
   height: 80px;
   padding-top: 18px;
   width: 100%;
   padding-left: 15px;
}

#bannerarea2 {
   padding-top: 27px;
   padding-left: 20px;
}
#bannerarea2 img {
   width: 235px;
}
#bannerarea a {
   margin-right: 6px;
}
.copyright {
   color: #000;
   text-align: center;
   font-size: 0.8em;
}

.cts-box .copyright {
   color:#fff;
   margin-top: 70px;
}


#snsBtns {
   overflow: hidden;
   text-align: center;
   margin-bottom: 5px;
   padding-top: 25px;
   margin-top: -15px;
}

#snsBtns .tweet_btn,
#snsBtns .fb-like {
   display:inline-block;
}
#snsBtns .fb-like,
.sharebtn .fb-share-button {
   line-height:1em;
   margin-left: 10px;
}

.footer_btm_bnr {
   width: 1000px;
   margin: 0 auto;

}


.news_ad {
   background-color: #fff;
   font-weight: bold;
   text-align: center;
   padding: 10px;
   margin-bottom: ;
   width: 80%;
   margin: 0 auto 50px auto;
}

.news_ad a {
   color: #f12696;
   font-size: 1.2em;

}





