html, body, div, span, applet, object, iframe,
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; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }

html,body { height: 100%; position: relative; transition-duration: 1s;}
a { outline: none; text-decoration: none; }

ul li { list-style-type: none; }
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; }

* { margin:0; padding: 0;}

@media screen and (min-width: 601px) {
body{ background: url("../images/top/background.jpg") center center; background-size: 1200px auto; }

.top_menu_fl { position: fixed; top:0; left: 0; width: 100%; height: 160px; z-index: 1000; background:url("../images/menu_ct.png") no-repeat top center , url("../images/content_bg07.jpg") center center; background-size: 1200px auto;  transition-duration: 0.3; }
.menu_fl { width: 100%; max-width: 900px; padding: 0 20px; margin: 100px auto 0 auto; height:56px; font-size:0px; transition-duration: 0.3s; box-sizing: border-box; vertical-align: bottom; }
.menu_fl .m_btm { display: inline-block; width:24.5%; box-sizing: border-box; vertical-align: top; text-align: center; margin:0 0.5% 10px 0; transition-duration: 1s; }

.menu_fl .m_btm:nth-child(4) { margin:0 0 4% 0; }
.menu_fl a .btm { position: relative; width:100%; height: 56px; }
.top_mainlogo { position: absolute; top:15px; left: 50%; width: 520px; height: 80px; margin: 0 0 0 -260px;  transition-duration: 0.3; opacity: 1; }
.top_mainlogo .logo { width: 520px; height: 80px; background:url("../images/header_logo.png") no-repeat center center; background-size:100% auto; }

.btm_fl01 a .btm { background: url("../images/menu/top_menu01.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; z-index: 0; }
.btm_fl02 a .btm { background: url("../images/menu/top_menu02.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; z-index: 0; }
.btm_fl03 a .btm { background: url("../images/menu/top_menu03.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; z-index: 0; }
.btm_fl04 a .btm { background: url("../images/menu/top_menu04.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; z-index: 0; }
.btm_fl01 a .btm::after { content: ""; background: url("../images/menu/top_menu01h.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; opacity: 0; position: absolute; inset: 0; z-index: -1; }
.btm_fl02 a .btm::after { content: ""; background: url("../images/menu/top_menu02h.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; opacity: 0; position: absolute; inset: 0; z-index: -1; }
.btm_fl03 a .btm::after { content: ""; background: url("../images/menu/top_menu03h.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; opacity: 0; position: absolute; inset: 0; z-index: -1; }
.btm_fl04 a .btm::after { content: ""; background: url("../images/menu/top_menu04h.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; opacity: 0; position: absolute; inset: 0; z-index: -1; }
.btm_fl01 a:hover .btm::after { opacity: 1; }
.btm_fl02 a:hover .btm::after { opacity: 1; }
.btm_fl03 a:hover .btm::after { opacity: 1; }
.btm_fl04 a:hover .btm::after { opacity: 1; }
}
@media screen and (max-width: 600px) {
body{ background: url("../images/top/background.jpg") center center; background-size: 1200px auto ;  }

.top_menu_fl { position: fixed; top:0; left: 0; width: 600px; height: 160px; z-index: 1000; background: url("../images/menu_ct.png") no-repeat top center , url("../images/content_bg07.jpg") center center; background-size: 1200px auto;  transition-duration: 0.3; }
.menu_fl { width: 600px; padding: 0 20px; margin: 100px auto 0 auto; height:56px; font-size:0px; transition-duration: 0.3s; box-sizing: border-box; vertical-align: bottom; }
.menu_fl .m_btm { display: inline-block; width:24.5%; box-sizing: border-box; vertical-align: top; text-align: center; margin:0 0.5% 10px 0; transition-duration: 1s; }

.menu_fl .m_btm:nth-child(4) { margin:0 0 4% 0; }
.menu_fl a .btm { position: relative; width:100%; height: 56px; }
.top_mainlogo { position: absolute; top:15px; left: 50%; width: 520px; height: 80px; margin: 0 0 0 -260px;  transition-duration: 0.3; opacity: 1; }
.top_mainlogo .logo { width: 520px; height: 80px; background:url("../images/header_logo.png") no-repeat center center; background-size:100% auto; }

.btm_fl01 a .btm { background: url("../images/menu/mb/top_menu01.png") no-repeat center center; background-size:100% auto; transition-duration: 1s; z-index: 0; }
.btm_fl02 a .btm { background: url("../images/menu/mb/top_menu02.png") no-repeat center center; background-size:100% auto; transition-duration: 1s; z-index: 0; }
.btm_fl03 a .btm { background: url("../images/menu/mb/top_menu03.png") no-repeat center center; background-size:100% auto; transition-duration: 1s; z-index: 0; }
.btm_fl04 a .btm { background: url("../images/menu/mb/top_menu04.png") no-repeat center center; background-size:100% auto; transition-duration: 1s; z-index: 0; }
}

/* TOP SECTION */
@media screen and (min-width: 601px) {
.head_fl { position: relative; width: 100%; transition-duration: 0.5s; background: #AF191B; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 120px)); overflow: hidden; background: url("../images/top_bg.jpg") left top; background-size: 1920px auto; ; padding:160px 0 0 0; }
.main_mv { width:100%; min-height: 860px; background: url("../images/main_mv.png") no-repeat center top; background-size:  auto 100%; object-fit: cover; margin: 0 auto; text-align: center; }
.main_mv img { width:100%; max-width:1500px; height: auto; object-fit: cover; vertical-align: bottom; }
}
@media screen and (max-width: 600px) {
.head_fl { position: relative; width: 600px; transition-duration: 0.5s; background: #AF191B; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 120px)); overflow: hidden; background: url("../images/top_bg.jpg") left top; background-size: 1920px auto; ; padding:160px 0 50px 0; }
.main_mv { width:100%; min-height: 860px; background: url("../images/main_mv.png") no-repeat center top; background-size:  auto 100%; object-fit: cover; margin: 0 auto; text-align: center; }
.main_mv img { width:100%; max-width:1500px; height: auto; object-fit: cover; vertical-align: bottom; }
}

@media screen and (min-width: 601px) {
.sub_title{ font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 800; font-style: normal; font-size:50px; text-shadow: 0 0 5px #222, 0 0 5px #222, 0 0 5px #222; }
}
@media screen and (max-width: 600px) {
.sub_title{ font-family: "Noto Serif JP", serif; font-optical-sizing: auto; font-weight: 800; font-style: normal; font-size:40px; text-shadow: 0 0 5px #222, 0 0 5px #222, 0 0 5px #222; }
}
/* NEWS SECTION */
@media screen and (min-width: 601px) {
.news_fl { position: relative; top: -125px; width: 100%; overflow: hidden; transition-duration: 0.3s; padding: 0 0 200px 0; clip-path: polygon(0 0 , 0 100% , 100%  calc(100% - 120px), 100% 120px); background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1200px auto, 1200px auto; }
.news_fl ul.sub_title { width: 100%; max-width: 1160px; margin: 0 auto 0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 160px; padding: 140px 0 50px 180px; box-sizing: border-box; color:#FFF; }
}
@media screen and (max-width: 600px) {
.news_fl { position: relative; top: -125px; width: 600px; overflow: hidden; transition-duration: 0.3s; padding: 0 0 200px 0; clip-path: polygon(0 0 , 0 100% , 100%  calc(100% - 120px), 100% 120px); background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1200px auto, 1200px auto; }
.news_fl ul.sub_title { width: 600px; margin:0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 120px; padding: 140px 0 35px 125px; box-sizing: border-box; color:#FFF; }
}

@media screen and (min-width: 1220px) {
.news_wfl { padding:20px 30px 0 30px; width: 1220px; height:700px; margin: 0 auto; transition-duration: 0.5s; opacity:1; box-sizing: border-box; }
.news_wfl iframe { width:1160px; height: 1300px; }
}
@media all and (min-width: 861px) and (max-width: 1219px) {
.news_wfl { padding:20px 30px 0 30px; width: 800px; height:700px; margin: 0 auto; transition-duration: 0.5s; opacity:1; box-sizing: border-box; }
.news_wfl iframe { width:800px; height: 1300px; }
}
@media all and (min-width: 601px) and (max-width: 860px) {
.news_wfl { padding:20px 0 50px 0; width: 600px; height:700px; margin: 0 auto; transition-duration: 0.5s; opacity:1; box-sizing: border-box; }
.news_wfl iframe { width:600px; height: 1300px; }
}
@media screen and (max-width: 600px) {
.news_wfl { padding:20px 0 100px 0; width: 600px; height:700px; transition-duration: 0.5s; opacity:1; }
.news_wfl iframe { width:600px; height: 1300px; }
}

/* MESSAGE SECTION */
@media screen and (min-width: 601px) {
.message_fl { position: relative; top: -250px; width: 100%; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; overflow: hidden; transition-duration: 0.3s; clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 calc(100% - 120px)); overflow: hidden; padding:0 0 100px 0; }
.message_fl ul.sub_title { width: 100%; max-width: 1160px; margin: 0 auto; z-index:1000; text-align: right ; background: url("../images/menu_bar3.png") no-repeat right bottom ; background-size: auto 160px; padding: 140px 180px 50px 0; box-sizing: border-box; color:#FFF; }
.comm_wfl { padding:30px 30px 0 30px; text-align: center; box-sizing: border-box; }
.cc_image { display: inline-block; width: 560px; height: 650px; margin:0 20px 0 0; background: url("../images/fushigi_01.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; vertical-align: top; }
.commet_ms_fl { display: inline-block; width: 560px; height: 640px; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:15px;line-height:1.75em; text-align: left; transition-duration: 0.3s; }
.commet_ms_fl .ms_title { font-family: 'Noto Serif JP', serif; font-weight: 900; font-size:25px; margin: 0 0 14px 0; padding:15px 0 15px 50px; background: url("../images/cate_tit.png") bottom center no-repeat; background-size:100% auto; box-sizing: border-box;}
.message_fl ul.sub_contents { width: 100%; max-width: 1220px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;  text-align: right; box-sizing: border-box; }
.message_fl ul.sub_contents .subct_btm { display:inline-block; width:400px; box-sizing: border-box; }
.message_fl ul.sub_contents .subct_btm .btm_01 { width:400px; height: 100px; background: url("../images/sb_btm_02.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
.message_fl ul.sub_contents .subct_btm .btm_02 { width:400px; height: 100px; background: url("../images/sb_btm_03.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

@media screen and (max-width: 600px) {
.message_fl { position: relative; top: -250px; width: 600px; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; overflow: hidden; transition-duration: 0.3s; clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 calc(100% - 120px)); overflow: hidden; padding:0 0 100px 0; }

.message_fl ul.sub_title { width: 600px; margin: 0 auto; z-index:1000; text-align: right ; background: url("../images/menu_bar3.png") no-repeat right bottom ; background-size: auto 120px; padding: 180px 125px 35px 0; box-sizing: border-box; color:#FFF; }
.comm_wfl { padding:50px 30px 0 30px; box-sizing: border-box; }
.cc_image { display: inline-block; width: 560px; height: 650px; margin:0 20px 0 0; background: url("../images/fushigi_01.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
.commet_ms_fl { width: 500px; margin:50px auto 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;line-height:1.75em; }
.commet_ms_fl .ms_title { font-family: 'Noto Serif JP', serif; font-weight: 900; font-size:30px; margin: 0 0 20px 0; padding:20px 0 12px 50px; background: url("../images/cate_tit.png") bottom center no-repeat; background-size:100% auto; box-sizing: border-box;}
.message_fl ul.sub_contents { width: 600px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;  text-align: right; box-sizing: border-box; }
.message_fl ul.sub_contents .subct_btm { display:inline-block; width:400px; box-sizing: border-box; }
.message_fl ul.sub_contents .subct_btm .btm_01 { width:400px; height: 100px; background: url("../images/sb_btm_02.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
.message_fl ul.sub_contents .subct_btm .btm_02 { width:400px; height: 100px; background: url("../images/sb_btm_03.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

/* ON AIR SECTION */
@media screen and (min-width: 601px) {
.streaming_fl { position: relative; top: -375px; width: 100%; transition-duration: 0.3s; background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1500px auto , 1200px auto; clip-path: polygon( 0 0 , 0 100% ,100%  calc(100% - 120px), 100% 120px); padding: 100px 0 100px 0; }

.stm_banner { width: 100%; max-width: 740px; height: 160px; margin: 0 auto 30px auto;}
.stm_banner .links { width: 100%; height: 160px; background:url("../images/youtube_link.png") no-repeat center center ; background-size:100% auto; }
.stm_banner .links2 { width: 100%; height: 160px; background:url("../images/youtube_link_b.png") no-repeat center center ; background-size:100% auto; }
.streaming_fl ul.sub_title { width: 100%; max-width: 1160px; margin: 0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 160px; padding: 20px 0 50px 180px; box-sizing: border-box; color:#FFF; }
.sec2_fl { margin:0 auto; padding: 30px 30px 0 30px; box-sizing: border-box; width: 100%; max-width: 1220px; transition-duration: 1s; }
.st_title {  width: 100%; max-width: 1160px;  padding: 15px 0; background: url("../images/top/background.jpg") center center; background-size:150px auto;   font-family: 'Kosugi Maru', sans-serif; font-weight: 600; font-size:1.6em; color: #FFF; border-radius:4px; text-align: center; margin:0 auto 20px auto; box-sizing: border-box; }

ul.streaming_list {  width: 100%; max-width: 1160px; margin:0 0 50px 0; font-family: 'Noto Serif JP', serif; font-size:0; }
ul.streaming_list li.st_link { display: inline-block; width: 216px; height: 111px; box-sizing: border-box; margin:0 15px 15px 0; color: #FFF; word-break: break-all; vertical-align: top; }
ul.streaming_list li.non-link { display: none; }
ul.streaming_list li.st_link img { width: 216px; height: auto; vertical-align: bottom; }

.movie_fl { width: 100%; max-width:800px; margin: 0 auto; padding: 15px 20px; box-sizing: border-box  }
.movie_fl img { width: 100% ; height: auto; }
}

@media screen and (max-width: 600px) {
.streaming_fl { position: relative; top: -375px; width: 600px; overflow: hidden; transition-duration: 0.3s; padding: 0 0 100px 0; clip-path: polygon(0 0 , 0 100% , 100%  calc(100% - 120px), 100% 120px); background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1200px auto, 1200px auto; }
.streaming_fl ul.sub_title { width: 600px; margin:0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 120px; padding: 140px 0 35px 125px; box-sizing: border-box; color:#FFF; }

.stm_banner { width: 560px; height: 160px; margin: 0 auto 30px auto;}
.stm_banner .links { width: 100%; height: 160px; background:url("../images/youtube_link.png") no-repeat center center ; background-size:100% auto; }
.stm_banner .links2 { width: 100%; height: 160px; background:url("../images/youtube_link_b.png") no-repeat center center ; background-size:100% auto; }
.sec2_fl { padding:20px 0 0 0; width:560px; transition-duration: 1s; margin: 0 auto; }
.st_title { padding: 15px 0; background:#333; font-family: 'Kosugi Maru', sans-serif; font-weight: 600; font-size:1.6em; color: #FFF; text-align: center; margin:0 0 30px 0; }

ul.streaming_list { width: 560px; margin:0 auto 50px auto; font-family: 'Noto Serif JP', serif; text-align: left; font-size: 0; }
ul.streaming_list li.st_link { display: inline-block; width: 180px; box-sizing: border-box; color: #FFF; word-break: break-all; vertical-align: top; margin:0 10px 10px 0; }
ul.streaming_list li.non-link { display: inline-block; width: 180px; box-sizing: border-box; opacity: 0; margin:0 10px 10px 0; }
ul.streaming_list li.st_link:nth-child(3n) { margin:0 0 10px 0; }
ul.streaming_list li img { width: 100%; height: auto; vertical-align: bottom; }

.movie_fl { width: 540px; margin: 0 auto; padding:35px 20px 15px 20px; box-sizing: border-box  }
.movie_fl img { width: 100% ; height: auto; }
}

ul.streaming_list li .sp01t a, ul.broad_list li .sp01 a { color: #f8b62b; }

/* goods SECTION */
@media screen and (min-width: 601px) {
.goods_fl { position: relative; top: -500px; width: 100%; transition-duration: 0.3s; background: #999; clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 calc( 100% - 0px)); padding: 100px 0 0 0; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; }
.goods_fl ul.sub_title { margin: 0 auto; width: 100%; max-width: 1160px; z-index:1000; text-align: right ; background: url("../images/menu_bar3.png") no-repeat right bottom ; background-size: auto 160px; padding: 40px 320px 50px 0; box-sizing: border-box; color:#FFF; }

ul.goods_list { margin:0 auto; padding: 50px 30px 0 30px; min-height: 500px; width:100%; max-width:1220px; text-align: center; font-size: 0; box-sizing: border-box; }
ul.goods_list li.goods_box { display: inline-block; width: 270px; height: 340px; background: url("../images/top/background.jpg") center center; background-size:1200px auto; word-break: break-all; vertical-align: top; margin:0 20px 20px 0; }
ul.goods_list li.goods_box:nth-child(4n+1){margin-left:0;} 
.goods_item { width: 270px; height: 340px; box-sizing: border-box; border:1px solid #ccc;}
.goods_item .img_fl img { width: 100%; height: auto; }
.goods_item .name_fl { width: 100%; padding: 10px 5px; font-family: 'Noto Serif JP', serif; font-weight:700; font-size:15px; color:#ccc; vertical-align: middle; box-sizing: border-box; }

ul.link_list { padding:120px 0 50px 0; width: 100%; max-width: 1160px; margin: 0 auto; text-align: center; font-size: 0; box-sizing: border-box; }
ul.link_list li.link_box { display: inline-block; background: #D52225; vertical-align: middle; margin:0 20px 20px 0; }
ul.link_list li.non-link { display: none; }
}

@media screen and (max-width: 600px) {
.goods_fl { position: relative; top: -500px; width: 600px; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; overflow: hidden; transition-duration: 0.3s; clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 calc( 100% - 0px)); overflow: hidden; padding:0 0 100px 0; }
.goods_fl ul.sub_title { width: 600px; margin: 0 auto; z-index:1000; text-align: right ; background: url("../images/menu_bar3.png") no-repeat right bottom ; background-size: auto 120px; padding: 180px 125px 35px 0; box-sizing: border-box; color:#FFF; }

ul.goods_list { padding: 50px 0 0 0; width:560px; margin: 0 auto; text-align: center; font-size: 0; }
ul.goods_list li.goods_box { display: inline-block; width: 270px; height: 340px; background: url("../images/top/background.jpg") center center; background-size:1200px auto; word-break: break-all; vertical-align: top; }
.goods_item .img_fl img { width: 100%; height: auto; }
.goods_item .name_fl { width: 100%; padding: 10px 5px; font-family: 'Noto Serif JP', serif; font-weight:700; font-size:15px; color:#ccc; vertical-align: middle; box-sizing: border-box; }
ul.goods_list li.goods_box:nth-child(odd) { margin:0 20px 20px 0; }
ul.goods_list li.goods_box:nth-child(even) { margin:0 0 20px 0; }
.goods_item { width: 270px; height: 340px; box-sizing: border-box; border:1px solid #ccc;}

ul.link_list { padding:120px 0 0 0; width: 560px; margin: 0 auto; text-align: center; font-size: 0; }
ul.link_list li.link_box { display: inline-block; vertical-align: top; }
ul.link_list li.link_box:nth-child(odd) { margin:0 0 20px 0; }
ul.link_list li.link_box:nth-child(even) { margin:0 0 20px 0; }
ul.link_list li.non-link { display: inline-block; width: 270px; height: 102px; margin:0 0 20px 0; opacity: 0; }
}

ul.link_list li.link_box.bn_size01 , .bn_size01 img { width: 400px; height: auto; }
ul.link_list li.link_box.bn_size02 , .bn_size02 img { width: 400px; height: auto; }

@media screen and (min-width: 601px) {
.goods_sfl { width: 100%; transition-duration: 0.3s; background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1500px auto , 1200px auto; padding:100px 0 50px 0; overflow: hidden; }

.goods_swfl { clear: both; text-align: left; font-size:0; padding: 50px 30px 0 30px; overflow: hidden; font-family: 'Noto Serif JP', serif; font-weight:700; font-size:15px; color:#222; box-sizing: border-box; }
.goods_item_fl { width: 100%; max-width: 1160px; height:auto; box-sizing: border-box; text-align: center; margin:50px auto; overflow: hidden; }
.goods_item_fl img { width: 100%; height:auto; vertical-align: bottom; }
ul.goods_details { width: 100%; max-width: 1160px; margin: 0 auto; }
ul.goods_details li { width: 100%; padding:10px 0; box-sizing: border-box; font-size:1.1em; }
ul.goods_details li.title { color:#FFF; background: url( "../images/top/background.jpg") center center; background-size:1200px auto; font-size:1.7em; padding:3px 20px 7px 20px; box-sizing: border-box; border-radius:5px; }
ul.goods_details li.comm { font-size:1.2em; padding:20px; box-sizing: border-box; }
ul.goods_details li .item { float: left; text-align: center; width: 30%; padding:3px 10px 5px 10px; box-sizing: border-box; background: url("../images/content_bg04.jpg") center center; background-size:1200px auto; color:#222; border-radius:10px; margin:0 30px 0 0 ; }

.goods_sfl ul.sub_contents { width: 100%; max-width: 1220px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px; box-sizing: border-box; overflow: hidden; }
.goods_sfl ul.sub_contents .subct_btm { width:210px; box-sizing: border-box; float: right; }
.goods_sfl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

@media screen and (max-width: 600px) {
.goods_sfl { width: 600px; overflow: hidden; transition-duration: 0.3s; background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1500px auto , 1200px auto; padding:170px 0 0 0; }

.goods_swfl { width: 540px; margin: 0 auto; padding: 0 0 50px 0; font-family: 'Noto Serif JP', serif; font-weight:700; font-size:15px; color:#222; }
.goods_item_fl { width: 540px; height:auto; box-sizing: border-box; text-align: center; margin:50px auto; overflow: hidden; }
.goods_item_fl img { width: 540px; vertical-align: bottom; }
ul.goods_details { width: 540px; margin: 0 auto; }
ul.goods_details li { width: 540px; padding:10px 0; box-sizing: border-box; font-size:1.1em; }
ul.goods_details li.title { color:#FFF; background: url( "../images/top/background.jpg") center center; background-size:1200px auto; font-size:1.7em; padding:3px 20px 7px 20px; box-sizing: border-box; border-radius:5px; }
ul.goods_details li.comm { font-size:1.2em; padding:20px; box-sizing: border-box; }
ul.goods_details li .item { float: left; text-align: center; width: 30%; padding:3px 10px 5px 10px; box-sizing: border-box; background: url("../images/content_bg04.jpg") center center; background-size:1200px auto; color:#222; border-radius:10px; margin:0 30px 0 0 ; }

.goods_sfl ul.sub_contents { width: 600px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;  text-align: right; box-sizing: border-box; }
.goods_sfl ul.sub_contents .subct_btm { display:inline-block; width:210px; box-sizing: border-box; }
.goods_sfl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

@media screen and (min-width: 601px) {
.chara_fl { width: 100%; transition-duration: 0.3s; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; padding:100px 30px 50px 30px; box-sizing: border-box;  }
.chara_fl ul.sub_title { width: 100%; max-width: 1100px; z-index:1000; text-align: left ; background: url("../images/top/background.jpg") no-repeat left bottom ; background-size: 1200px auto; padding: 10px 0 10px 30px; margin: 120px auto 0 auto; box-sizing: border-box; color:#FFF; font-size:1.3em; text-shadow: none; }

ul.chara_list { font-family: 'Noto Serif JP', serif; padding: 50px 0 0 0; min-height: 500px; width:100%; max-width:1160px; margin: 0 auto; text-align: center; font-size: 0; }
ul.chara_list li.chara_box { display: inline-block; width: 260px; background:url("../images/content_bg02_3.png") no-repeat top center; background-size:auto 100% ; word-break: break-all; vertical-align: top; margin:0 10px 20px 0; padding:0 0 20px 0; }
ul.chara_list li.chara_box.non_box { opacity: 0; }
ul.chara_list li.chara_box:nth-child(4n+1){margin-left:0;} 
.chara_img { width: 250px; height: 250px; box-sizing: border-box; border:1px solid #ccc; margin: 5px auto;}
ul.chara_list li.chara_box:nth-child(4n) { margin:0 0 20px 0; }

.name_fl { font-size:28px; padding:12px 0 5px 0; font-weight: 800; color: #5A4B2F; }
.comm_fl { font-size:15px; text-align: left; line-height: 1.8em; width: 240px; margin:0 auto; padding:0 0 10px 0; font-weight: 600; }
.name_fl [data-ruby] { position: relative; }
.name_fl [data-ruby]::before { content: attr(data-ruby); position: absolute; top: -1em; left: 0; margin: auto; font-size: 0.4em; letter-spacing: 0.2em; text-indent: 0.5em; }
.name_fl .nm01[data-ruby]::before { width:110px; left: -0.5em; letter-spacing: 0.2em; font-weight: 400; }
.name_fl .nm02[data-ruby]::before { width:110px; left: -2.5em; letter-spacing: 0.2em; font-weight: 400; }

.chara_fl ul.sub_contents { width: 100%; max-width: 1220px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px; box-sizing: border-box; overflow: hidden; }
.chara_fl ul.sub_contents .subct_btm { width:210px; box-sizing: border-box; float: right; }
.chara_fl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

@media screen and (max-width: 600px) {
.chara_fl { width: 600px; overflow: hidden; transition-duration: 0.3s; background: url("../images/content_bg02_2.png") top center repeat-x, url("../images/content_bg06.jpg") center center; background-size:1500px auto , 1200px auto; padding:100px 0 0 0;  }
.chara_fl ul.sub_title { width: 600px; z-index:1000; text-align: left ; background: url("../images/top/background.jpg") no-repeat left bottom ; background-size: 1200px auto; padding: 10px 0 10px 30px; margin: 120px 30px 0 30px; box-sizing: border-box; color:#FFF; font-size:1.3em; text-shadow: none; }

ul.chara_list { font-family: 'Noto Serif JP', serif; padding: 50px 0 0 0; width:560px; margin: 0 auto; text-align: center; font-size: 0; }
ul.chara_list li.chara_box { display: inline-block; width: 270px; background:url("../images/content_bg02_3.png") no-repeat top center; background-size:auto 100% ; word-break: break-all; vertical-align: top; padding:0 0 20px 0; }
ul.chara_list li.chara_box.non_box { opacity: 0; }
ul.chara_list li.chara_box:nth-child(odd) { margin:0 20px 20px 0; }
ul.chara_list li.chara_box:nth-child(even) { margin:0 0 20px 0; }
.chara_img { width: 250px; height: 250px; box-sizing: border-box; border:1px solid #ccc; margin: 10px auto;}

.name_fl { font-size:28px; padding:12px 0 5px 0; font-weight: 800; color: #5A4B2F; }
.comm_fl { font-size:15px; text-align: left; line-height: 1.8em; width: 240px; margin:0 auto; padding:0 0 10px 0; font-weight: 600; }
.name_fl [data-ruby] { position: relative; }
.name_fl [data-ruby]::before { content: attr(data-ruby); position: absolute; top: -1em; left: 0; margin: auto; font-size: 0.4em; letter-spacing: 0.2em; text-indent: 0.5em; }
.name_fl .nm01[data-ruby]::before { width:110px; left: -0.5em; letter-spacing: 0.2em; font-weight: 400; }
.name_fl .nm02[data-ruby]::before { width:110px; left: -2.5em; letter-spacing: 0.2em; font-weight: 400; }

.chara_fl ul.sub_contents { width: 600px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;  text-align: right; box-sizing: border-box; }
.chara_fl ul.sub_contents .subct_btm { display:inline-block; width:210px; box-sizing: border-box; }
.chara_fl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

.chara_01 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_01.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_02 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_02.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_03 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_03.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_04 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_04.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_05 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_05.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_06 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_06.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_07 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_07.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_08 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_08.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_09 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_09.jpg") no-repeat center center; background-size:100% auto , 90% auto; }
.chara_10 { background: url(../images/chara/chara_fl.png) center center , url("../images/chara/chara_image_10.jpg") no-repeat center center; background-size:100% auto , 90% auto; }

@media screen and (min-width: 601px) {
.staff_fl { width: 100%; transition-duration: 0.3s; background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1500px auto , 1200px auto; padding:100px 0 50px 0; overflow: hidden; }
.staff_fl ul.sub_title { width: 100%; max-width: 1160px; margin: 0 auto 0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 160px; padding: 140px 0 50px 180px; box-sizing: border-box; color:#FFF; }

.staff_wfl {clear: both; text-align: center; font-size:0; padding: 150px 30px 0 30px; overflow: hidden; }
ul.staff_list li { display: table; margin:0 0 15px 0; }
ul.staff_list li.title { font-family: 'Noto Serif JP', serif; font-weight: 900; background: url("../images/top/background.jpg") center center; background-size: 1200px auto; color: #FFF; padding: 10px 15px; margin: 0 0 15px 0; width: 100%; font-weight: 700; box-sizing: border-box; }
ul.staff_list .sp1 { font-family: 'Noto Serif JP', serif; font-weight: 600; display: table-cell; width:230px; font-size:18px; }
ul.staff_list .sp2 { font-family: 'Noto Serif JP', serif; font-weight: 600; display: table-cell; font-size:18px; }

ul.cast_list li { display: table; margin:0 0 15px 0; }
ul.cast_list li.title { font-family: 'Noto Serif JP', serif; font-weight: 900; background: url("../images/top/background.jpg") center center; background-size: 1200px auto; color: #FFF; padding: 10px 15px; margin: 0 0 15px 0; width: 100%; font-weight: 700; box-sizing: border-box; }
ul.cast_list .sp1 { font-family: 'Noto Serif JP', serif; font-weight: 600; display: table-cell; width:230px; font-size:18px;  }
ul.cast_list .sp2 { font-family: 'Noto Serif JP', serif; font-weight: 600; display: table-cell; font-size:18px; }

.staff_fl ul.sub_contents { width: 100%; max-width: 1220px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px; box-sizing: border-box; overflow: hidden; }
.staff_fl ul.sub_contents .subct_btm { width:210px; box-sizing: border-box; float: right; }
.staff_fl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

@media screen and (min-width: 1160px) {
ul.staff_list { display: inline-block; width: 50%; min-width:380px; max-width:580px; padding: 0 20px 0 0; margin:0 0 50px 0; font-size:20px; vertical-align: top; text-align: left; box-sizing: border-box; }
ul.cast_list { display: inline-block; width: 50%; min-width:380px; max-width:580px; padding: 0 20px 0 0; margin:0 0 50px 0; font-size:20px; vertical-align: top; text-align: left; box-sizing: border-box; }
}
@media all and (min-width: 601px) and (max-width: 1159px) {
ul.staff_list { width: 100%; padding: 0 20px 0 0; margin:0 0 50px 0 ; font-size:20px; vertical-align: top; text-align: left; box-sizing: border-box;  }
ul.cast_list { width: 100%; padding: 0 20px 0 0; margin:0 0 50px 0 ; font-size:20px; vertical-align: top; text-align: left; box-sizing: border-box;  }
}
@media screen and (max-width: 600px) {
ul.staff_list { width:100%; margin:0 0 50px 0; }
ul.cast_list { width: 100%; margin:0 0 50px 0; }
}

@media screen and (max-width: 600px) {
.staff_fl { width: 600px; overflow: hidden; transition-duration: 0.3s; background: url("../images/content_bg02_3.png") top center repeat-x, url("../images/content_bg05.jpg") center center; background-size:1500px auto , 1200px auto; padding:170px 0 0 0; }

.staff_fl ul.sub_title { width: 600px; margin:0 auto; z-index:1000; text-align: left ; background: url("../images/menu_bar3.png") no-repeat left bottom ; background-size: auto 120px; padding: 140px 0 35px 125px; box-sizing: border-box; color:#FFF; }

.staff_wfl { width: 540px; margin: 0 auto; padding: 50px 0 50px 0; }
ul.staff_list li { display: table; margin:0 0 20px 0; font-size:1.3em; }
ul.staff_list li.title { font-family: 'Noto Serif JP', serif; font-weight: 900; background: url("../images/top/background.jpg") center center; background-size: 1200px auto; color: #FFF; padding: 10px 15px; margin: 0 0 20px 0; width: 100%; font-weight: 700; box-sizing: border-box; }
ul.staff_list .sp1 { font-family: 'Noto Serif JP', serif; font-weight: 600;  display: table-cell; width:230px; }
ul.staff_list .sp2 { font-family: 'Noto Serif JP', serif; font-weight: 600;  display: table-cell; }

ul.cast_list li { display: table; margin:0 0 20px 0; font-size:1.3em; }
ul.cast_list li.title { font-family: 'Noto Serif JP', serif; font-weight: 900; background: url("../images/top/background.jpg") center center; background-size: 1200px auto; color: #FFF; padding: 10px 15px; margin: 0 0 20px 0; width: 100%; font-weight: 700; box-sizing: border-box; }
ul.cast_list .sp1 { font-family: 'Noto Serif JP', serif; font-weight: 600;  display: table-cell; width:230px; }
ul.cast_list .sp2 { font-family: 'Noto Serif JP', serif; font-weight: 600;  display: table-cell; }

.staff_fl ul.sub_contents { width: 600px; padding: 0 30px; margin: 50px auto; font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:20px;  text-align: right; box-sizing: border-box; }
.staff_fl ul.sub_contents .subct_btm { display:inline-block; width:210px; box-sizing: border-box; }
.staff_fl ul.sub_contents .subct_btm .btm_01 { width:150px; height: 100px; background: url("../images/return_top.png") no-repeat center center; background-size:100% auto; transition-duration: 0.3s; }
}

/* FOOTER SECTION */
@media screen and (min-width: 601px) {
.footer { position:relative; top:-500px; width: 100%; padding:30px 0 50px 0; font-family: 'Noto Serif JP', serif; }
.footer_sub { width: 100%; padding:30px 0 50px 0; font-family: 'Noto Serif JP', serif; }
.descript { font-weight: 400; font-size:0.76em; padding: 20px 0 0 0; width: 100%; color:#353535; text-align: center; }
.copy { font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:0.76em; padding: 20px 0; width: 100%; color:#FFF; text-align: center; }
}

@media screen and (max-width: 600px) {
.footer { position:relative; top:-500px; width: 600px; padding:30px 0 50px 0; font-family: 'Noto Serif JP', serif; }
.footer_sub { width: 600px; padding:30px 0 50px 0; font-family: 'Noto Serif JP', serif; }
.descript { font-weight: 400; font-size:0.76em; padding: 20px 0 0 0; width: 100%; color:#353535; text-align: center; }
.copy { font-family: 'Kosugi Maru', sans-serif; font-weight: 400; font-size:0.76em; padding: 20px 0; width: 100%; color:#FFF; text-align: center; }
}

/* MENU */
.menu{ position: fixed; top: 30px; right: 20px; width: 60px; height: 24px; z-index: 99; }
.menu__line{ background: #e95283; display: block; height: 3px; position: absolute; transition:transform .3s; width: 100%; }
.menu__line.active{ background: #FFF; transition:transform .3s; }
.menu__line--center{ top: 10px; }
.menu__line--bottom{ bottom: 0; }
.menu__line--top.active{ top: 10px; transform: rotate(45deg); }
.menu__line--center.active{ transform:scaleX(0); }
.menu__line--bottom.active{ bottom: 10px; transform: rotate(135deg); }
