@charset "UTF-8";
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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
/*	outline: 0;*/
}
html {
	font-size: 100%;
	-webkit-text-size-adjust: none;
}
img {
	vertical-align: top;
}
a {
	-webkit-tap-highlight-color: transparent;
	outline : none;
}
strong {
	font-weight: bold;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
/*	border-collapse: separate;*/
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a:focus {
/*\*/
	overflow: hidden;
/**/
}
:focus {
	overflow : hidden;
    outline : none;
}
option {
	padding-right: 10px;
}
a{
	outline:none;
}
a:hover img{
	/* opacity:0.7;
	filter:alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )"; */
	transition: 0.2s;
}
a:focus{
	outline:none;
}
fieldset, img {
	border:0;
}
.guard {
	pointer-events: none;
	cursor: default;
}
fieldset, img {
	border:0;
}
.clear {
    clear: both;
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    width: 0;
}
.clearfix:after {
    clear: both;
    content: " ";
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
    width: 0;
}
/* ------------------------------
	HTML5 ELEMENTS
------------------------------ */
header,article,aside,section,footer,
nav,menu,details,hgroup,summary {
	display: block;
}
html,body {height:100%;}
body {
    font: 16px/1 "游明朝",YuMincho,"ヒラギノ明朝 ProN W3",Hiragino Mincho ProN,"ヒラギノ明朝 Pro W3","ＭＳ Ｐ明朝","MS PMincho","メイリオ",Meiryo,"ＭＳ Ｐ明朝","ＭＳ 明朝",MS PMincho,serif;
	line-height: 1.8;
	color: #111;
}
#container {
	width:100%;
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#container .main {
	position: absolute;
    right: 0;
    top: 0;
    width: 100%;
	height: 100%;
	margin: 156% 0 0;
}
#container ul.menu {
	position: absolute;
    right: 0;
    top: 0;
    width: 100%;
	margin: 3% 0 0;
	text-align: center;
	font-size: 0;
	z-index: 1;
}
#container ul.menu li {
	/*width: 10%;*/
	width: 10.5%;
	border-right: 2px solid #F6F9FC;
	font-size: 15px;
	display: inline-block;
}
#container ul.menu li:last-child {
	border: none;
}
#container ul.menu li img {
	width: 100%;
}
.contents {
	width: 92%;
	max-width: 980px;
	margin: 20px auto 10px;
}
p.sp {
	margin-bottom: 40px;
}
.title {
	font-size: 18px;
	line-height: 1.4em;
	margin-top: 0 !important;
	margin: 18px auto !important;
}
.subtxt {
	font-size: 85%;
	display: block;
	margin-top: 20px;
}
#container .main .contents {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}
#container .main .contents .sns_box {
	position: absolute;
	text-align: right;
	bottom: 30%;
	right: 2.2%;
	color: #fff;
	width: 100%;
}
ul.sns {
	letter-spacing:-0.4em;
	text-align: center;
	margin: -10px auto 20px;
}
ul.sns li {
	display: inline-block;
	letter-spacing:normal;
	margin: 0 4px;
	vertical-align:bottom;
	position: relative;
}
ul.sns li img {
	width:140px;
}
ul.sns li.movie img {
	width:295px;
}
ul.sns li .btn {
    background-color: #1b95e0;
    border-radius: 3px;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    font-weight: 500;
    height: 22px;
    padding: 2px 0;
    position: relative;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	width: 74px;
	display: block;
}
ul.sns li .btn.fb {
    background-color: #3b55a0;
	width: 72px;
}
#result {
	position: absolute;
	display: inline-block;
	width: auto;
	min-width: 30px;
	height: 32px;
	padding: 2px 0;
	line-height: 2em;
	font-size: 12px;
	color: #19283C;
	text-align: center;
	background: #F6F6F6;
	border: 1px solid #999;
	z-index: 0;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, sans-serif;
	right: -40px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;	
	border-radius: 3px;
}
#result:before {
	content: "";
	position: absolute;
	top: 50%; left: -7px;
	margin-top: -7px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 7px 7px 7px 0;
	border-color: transparent #F6F6F6 transparent transparent;
	z-index: 0;
}
#result:after {
	content: "";
	position: absolute;
	top: 50%; left: -8px;
	margin-top: -8px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 8px 8px 0 0;
	border-color: transparent #999 transparent transparent;
	z-index: -1;
}
.contents .arti-body p {
	margin-bottom: 20px;
}
.roadshow, 
.catch {
	max-width: 980px;
	margin: 32px auto 27px;
}
.roadshow img, 
.catch img {
    width: 100%;
}
.arti-body img {
    width: 100%;
}
.contents .arti-body, 
.contents .profile {
	padding: 0 0 20px;
}
.contents .profile {
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, sans-serif;
	color: #555;
}
.contents .profile .ttl {
	font-size: 1.2em;
	margin-bottom: 8px;
}
.contents .profile p {
	font-size: 0.9em;
}
.pg12 {
	width: 40px;
	float:left;
	margin:0 2% 0 0;
}
input[type="checkbox"].on-off + ul{
    height: 0;
    overflow: hidden;
}
input[type="checkbox"].on-off:checked + ul{
    height: 47px;
}
footer {
	width: 92%;
	max-width: 980px;
	margin: 0 auto 20px;
}
footer p {
	margin-bottom: 10px;
	text-align:center;
}
footer .copy {
	margin-bottom:0;
	font-size: 9px;
}
.aa {
	background: url("../img/logo_aa.png") no-repeat scroll right top;
	background-size: auto 14px;
	padding-right: 30px;
	margin-right: 5px;
}
.bunka {
	background: url("../img/logo_bunka.png") no-repeat scroll left top;
	background-size: auto 14px;
	padding-left: 18px;
}
.pg {
	background: url("../img/pg12.png") no-repeat scroll right top;
	background-size: auto 9px;
	padding-right: 16px;
}
@media screen and (max-width : 767px) {
body {
	font-size: 15px;
}
.contents {
    margin: 10px auto;
}
.sns_box {
	text-align: center;
}
ul.sns {
	letter-spacing:-0.4em;
	margin:0 0 10px;
	text-align: center;
}
ul.sns li {
	display: inline-block;
	letter-spacing:normal;
	margin:0 1%;
	vertical-align:bottom;
	width: 30%;
}
ul.sns li img {
	width:100%;
}
.roadshow {
	margin: 8px auto 10px;
}
.catch {
	margin: 12px auto 0;
}
footer p {
	text-align:left;
}
}

.arti-body img.phR {
	width:45%;
	max-width:300px;
	height: auto;
	overflow: hidden;
	float:right;
	margin:0 0 10px 20px;
}

/* ------------------------------
	レスポンシブ
------------------------------ */
.sp {display: none;}
.L { float:left; }
.R { float:right; }

@media screen and (max-width : 767px) {
.pc {display: none;}
.sp {display: block;}
.pc {visibility: hidden; display:none;}
}
.loadingWrap{
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

.pagetop {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
}
.pagetop a {
    display: block;
	width:40px;
}
.pagetop img {
	width:100%;
}

/* ------------------------------
	動画
------------------------------ */
/*.mov {
  position: relative;
  width: 100%;
  padding-top: 50%;
  margin-bottom: 0;
}
.mov iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.mov-txt {
	font-size: 12px;
	text-align: center;
	margin-bottom: 20px;
}*/

#trailer{
	height:200px;
}
#trailer-slider{
	position: relative;
	height:100%;
	box-sizing:border-box;
	overflow-x:scroll;
	-webkit-overflow-scrolling: touch;
	display: block;
	padding:5px 15px 15px;
}
#trailer-slider ul{
	display: -webkit-box;
	height:100%;
}
#trailer-slider li{
	display: block;
	width:92%;
	height:100%;
	box-sizing:border-box;
	padding-right:10px;
}
#trailer-slider li:last-child{
	padding-right:15px;
}
#trailer-slider .container{
	position: relative;
	height:100%;
	width:100%;
	padding: 0;
	box-sizing:border-box;
}
#trailer-slider .player{
	width:100%;
	height:100%;
	background:#000;
}
#trailer-slider .player video{
	display: block;
	width:100%;
	height:100%;
}
#trailer-slider .thumb{
	position: absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	pointer-events: none;
	opacity: 1;
	background:no-repeat center center;
	background-size:cover;
}
#trailer-slider .mark{
	position: absolute;
	width:88px;
	height:88px;
	left:50%;
	top:50%;
	margin:-44px 0 0 -44px;
	background:url(../mov/img/bt_play.png) no-repeat center center;
	background-size:contain;
}
#trailer-slider .thumb.active .mark{
	opacity: 0.5;
}
#trailer-slider .name{
	width:100%;
	font-size:13px;
	height:50px;
	position: absolute;
	top:0;
	left:0;
	color:#fff;
	padding:6px 10px;
	background-size:100% 100%;
	text-shadow:0 0 5px rgba(0,0,0,0.5);
	letter-spacing: 0.05em;
	box-sizing:border-box;
}
#trailer-slider .container{
	border-color:#999;
}
#trailer-slider .mark{
	top:auto;
	bottom:6px;
	left:10px;
	width:60px;
	height:60px;
	margin:0;
}
/* ------------------------------
	バナー
------------------------------ */
.banner{
	position: absolute;
    right: 2%;
    top: 90px;
	text-align: right;
}
.banner_loveletter{
	position: absolute;
    left: 2%;
    top: 90px;
	text-align: right;
}
.banner_loveletter a, 
.banner a{
	display:block;
	margin-bottom: 10px;
}
.banner a.sub{
	margin-right: 25px;
}
@media screen and (max-width : 1100px) {
.banner a{
	float: right;
	margin-left: 8px;
}
.banner a.sub{
	margin-right: 0;
}
}
.banner02{
	position: absolute;
    right: 4%;
    top: 300px;
}
.banner_sp{
	width: 80%;
	margin: 0 auto 20px;
}
.accordion {
	margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: 1;
}
.accordion .ac-content {
	margin: 0;
}
.accordion input {
	display: none;
}
.accordion label {
	background: #0D4E9E none repeat scroll 0 0;
	color: #fff;
    cursor: pointer;
    display: block;
    font-size: 14px;
    height: 24px;
    padding: 0 20px;
    position: absolute;
    right: 50px;
    text-align: center;
	font-family:"Times New Roman", Times, serif;
	letter-spacing:0.1em;
}
.accordion label:hover {
	background: #999;
	color: #000;
}
.accordion .ac-cont {
	transition: 0.2s;
	height: 0;
	overflow: hidden;
	background: #fff;
	padding: 0 10px;
	width: 100%;
}
.accordion input:checked + .ac-cont {
	height: auto;
	padding: 10px 5px;
}
.accordion .ac-cont ul {
	font-size: 0;
}
.accordion .ac-cont ul li {
	display: inline-block;
	padding: 0 5px;
}
.sp_banner {
	width: 96%;
	margin: -10px auto 30px;
	font-size: 0;
}
.sp_banner li {
	width: 48%;
	margin: 0 1%;
	display: inline-block;
	font-size: 12px;
	margin-bottom: 10px;
}
.sp_banner li img {
	width: 100%;
}