/* -------------------------------------
* 	Base Settings
------------------------------------- */
body {
	background: url(../img/bg.jpg) 0 0 no-repeat;
	font-size: 14px;
	font-family: "Hiragino Kaku Gothic Pro", "meiryo", "Hiragino Mincho ProN", sans-serif;
	color: #221815;
	line-height: 1.5;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

/*  Image
------------------------------- */
img {
	max-width: 100%;
	width: auto;
	height: auto;
}

/*  Link
------------------------------- */
a {
	color: #fff;
	text-decoration: none;
}

/* -------------------------------------
* 	Wrapper
------------------------------------- */
.wrapper {
	box-sizing: border-box;
	width: 1024px;
	padding: 0;
	margin: 0 auto;
	overflow: hidden;
}
.wrapper.btn_to_top_origin {
	position: relative;
}

/* -------------------------------------
*	Header
------------------------------------- */
.header {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.header .heading_page.bg_fillin {
	height: 0;
	padding-top: 644px;
	background: url(../img/img_main.jpg) 0 0 no-repeat;
	overflow: hidden;
}

/*  SNS Widgets
------------------------------- */
.twitter-share-button {
	display: inline-block;
	vertical-align: bottom;
	position: absolute !important;
	right: 99px;
	bottom: 35px;
}
.fb-like {
	display: inline-block;
	vertical-align: bottom;
	position: absolute !important;
	right: 25px;
	bottom: 35px;
}

/*  Global Navigation
------------------------------- */
.gnav {
	min-width: 1024px;
	height: 66px;
	background: url(../img/bg_gnav.png) 0 0 repeat-x;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", sans-serif;
}
.gnav_list_wrapper {
	box-sizing: border-box;
	width: 1025px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}
.gnav_list_wrapper:before,
.gnav_list_wrapper:after {
	display: block;
	content: "";
	background-position: 0 0;
	background-repeat: no-repeat;
	position: absolute;
	pointer-events: none;
}
.gnav_list_wrapper:before {
	width: 77px;
	height: 104px;
	background-image: url(../img/icon_butterfly1.png);
	top: -28px;
	left: -16px;
}
.gnav_list_wrapper:after {
	width: 54px;
	height: 42px;
	background-image: url(../img/icon_butterfly2.png);
	right: -1px;
	bottom: -17px;
}
.gnav_list {
	overflow: hidden;
}
.gnav_list_item {
	box-sizing: border-box;
	height: 100%;
	margin-left: 2px;
	float: left;
	position: relative;
}
.gnav_list_item:before {
	display: block;
	content: "";
	width: 2px;
	height: 57px;
	background-color: #fff;
	opacity: 0.5;
	position: absolute;
	top: 5px;
	left: -2px;
}
.gnav_list_item:first-child {
	margin-left: 0;
}
.gnav_list_item:first-child:before {
	display: none;
}
.gnav_list_item:last-child:after {
	display: none;
}
.gnav_list_item .item_link {
	box-sizing: border-box;
	display: block;
	padding-top: 68px;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-align: center;
}

/* Global Navigation - List Item - Item Link - Variation */
.gnav_list_item.item_top .item_link {
	width: 202px;
	background-image: url(../img/gnav_top.png);
}
.gnav_list_item.item_story .item_link {
	width: 202px;
	background-image: url(../img/gnav_story.png);
}
.gnav_list_item.item_chart .item_link {
	width: 203px;
	background-image: url(../img/gnav_chart.png);
}
.gnav_list_item.item_cast .item_link {
	width: 203px;
	background-image: url(../img/gnav_cast.png);
}
.gnav_list_item.item_product .item_link {
	width: 206px;
	background-image: url(../img/gnav_product.png);
}

/* -------------------------------------
*	Main
------------------------------------- */
.main {
	width: 894px;
	padding: 52px 0 126px;
	margin: 0 auto;
	background-color: rgba(255,255,255,0.82);
	position: relative;
}
.main:before,
.main:after {
	display: block;
	content: "";
	width: 65px;
	height: 100%;
	background-color: rgba(255,255,255,0.31);
	position: absolute;
	top: 0;
}
.main:before {
	left: -65px;
}
.main:after {
	right: -65px;
}

/*  Section Trailer
------------------------------- */
.section_trailer {
	box-sizing: border-box;
	width: 736px;
	border: 8px solid #1f78c4;
	margin: 0 auto 68px;
	position: relative;
}
.section_trailer:after {
	display: block;
	content: "";
	width: 148px;
	height: 147px;
	background: url(../img/text_yokoku.png) 0 0 no-repeat;
	position: absolute;
	top: -38px;
	right: -56px;
}
#trailer:hover {
	cursor: pointer;
}

/*  Section Story
------------------------------- */
.section_story {
	padding: 40px 0;
	margin-top: 354px;
	position: relative;
}

/* Head */
.section_story_head {
	margin-bottom: 26px;
}
.section_story_head .heading.bg_fillin {
	width: 134px;
	padding-top: 70px;
	background-image: url(../img/title_story.png);
	margin: 0 auto 0 396px;
}

/* Body */
.section_story_body {
	box-sizing: border-box;
	width: 814px;
	height: 578px;
	padding: 75px 30px 75px;
	background-color: #fffffb;
	border: 7px solid #e9e2c4;
	border-radius: 12px;
	margin: 0 auto;
	position: relative;
}
.section_story_body:before,
.section_story_body:after {
	display: block;
	content: "";
	width: 215px;
	height: 23px;
	background-position: 0 0;
	background-repeat: no-repeat;
	margin-left: -107.5px;
	position: absolute;
	left: 50%;
}
.section_story_body:before {
	background-image: url(../img/bg_story_top.png);
	top: 33px;
}
.section_story_body:after {
	background-image: url(../img/bg_story_btm.png);
	bottom: 27px;
}
.section_story_body .text {
	font-size: 16px;
	color: #685103;
	line-height: 2;
	text-align: center;
}

/* Foot */
.section_story_foot {
	width: 100%;
	text-align: center;
	position: absolute;
	top: -302px;
}

/*  Section Cart
------------------------------- */
.section_chart {
	padding: 40px 0 60px;
}

/* Head */
.section_chart_head {
	margin-bottom: 22px;
}
.section_chart_head .heading.bg_fillin {
	width: 131px;
	padding-top: 69px;
	background-image: url(../img/title_chart.png);
	margin: 0 auto 0 385px;
}

/* Body */
.section_chart_body .figure {
	text-align: center;
}
.section_chart_body .figcaption {
	display: none;
}

/*  Section Cast
------------------------------- */
.section_cast {
	padding: 40px 0 65px;
}

/* Head */
.section_cast_head {
	margin-bottom: 28px;
}
.section_cast_head .heading.bg_fillin {
	width: 110px;
	padding-top: 69px;
	background-image: url(../img/title_cast.png);
	margin: 0 auto 0 394px;
}

/* Body - Cast Item */
.cast_item {
	box-sizing: border-box;
	width: 804px;
	padding: 16px 20px 16px 23px;
	background-color: #fff;
	border: 2px solid #e3de98;
	border-radius: 12px;
	box-shadow: 3px 3px 5px 0 rgba(166,163,140,0.54);
	margin: 9px auto 0;
}
.cast_item:first-child {
	margin-top: 0;
}

/* Body - Cast Item - Character Name */
.character_name {
	margin-bottom: 8px;
}
.character_name .bg_fillin {
	padding-top: 27px;
}

/* Body - Cast Item - Item Wrapper */
.cast_item .item_wrapper {
	overflow: hidden;
}

/* Body - Cast Item - Item Left */
.cast_item .item_left {
	float: left;
}

/* Body - Cast Item - Item Right */
.cast_item .item_right {
	padding-left: 190px;
}
.cast_item .character_description {
	line-height: 1.5;
}
.cast_item .actor {
	border-top: 1px dashed #bf9b15;
}
.cast_item .actor .name {
	margin-bottom: 2px;
	font-weight: bold;
	color: #623725;
}
.cast_item .actor .description {
	color: #623725;
	line-height: 1.35;
	text-align: justify;
}

/* Body - Cast Item - Valiation */
.cast_item.item_1 .character_name .bg_fillin {
	width: 200px;
	background-image: url(../img/text_cast1.png);
}
.cast_item.item_1 .actor {
	padding-top: 6px;
	margin-top: 9px;
}
.cast_item.item_2 .character_name .bg_fillin {
	width: 139px;
	background-image: url(../img/text_cast2.png);
}
.cast_item.item_2 .actor {
	margin-top: 18px;
	padding-top: 16px;
}
.cast_item.item_3 .character_name .bg_fillin {
	width: 217px;
	background-image: url(../img/text_cast3.png);
}
.cast_item.item_3 .actor {
	margin-top: 16px;
	padding-top: 16px;
}
.cast_item.item_4 .character_name .bg_fillin {
	width: 223px;
	background-image: url(../img/text_cast4.png);
}
.cast_item.item_4 .actor {
	margin-top: 16px;
	padding-top: 16px;
}

/*  Section Product
------------------------------- */
.section_product {
	padding-top: 40px;
}

/* Head */
.section_product_head {
	margin-bottom: 20px;
}
.section_product_head .heading.bg_fillin {
	width: 176px;
	padding-top: 70px;
	background-image: url(../img/title_product.png);
	margin: 0 auto 0 378px;
}

/* Body */
.section_product_body {
	box-sizing: border-box;
	width: 717px;
	height: 427px;
	padding: 42px 62px 42px 72px;
	background: url(../img/bg_product1.png) 0 0 no-repeat;
	margin: 0 auto;
	position: relative;
}
.section_product_body:after {
	display: block;
	content: "";
	width: 74px;
	height: 95px;
	background: url(../img/bg_product2.png) 0 0 no-repeat;
	position: absolute;
	right: 8px;
	bottom: -8px;
}

/* Body - Section Sub - Heading */
.section_product_body .section_sub .heading.bg_fillin {
	padding-top: 25px;
	margin-bottom: 5px;
}
.section_product_body .section_sub .heading.heading_rental.bg_fillin {
	width: 128px;
	background-image: url(../img/text_rental.png);
}
.section_product_body .section_sub .heading.heading_cell.bg_fillin {
	width: 93px;
	background-image: url(../img/text_cell.png);
}

/* Body - Section Sub - Body */
.section_product_body .section_sub_body {
	padding-left: 52px
}

/* Body - Section Sub - Body - Product List */
.section_product_body .section_sub .product_list {
	margin-top: 5px;
}
.section_product_body .section_sub .product_list_item {
	display: table;
	font-family: "Hiragino Kaku Gothic Pro", sans-serif;
}
.section_product_body .section_sub .product_list_item .item_date,
.section_product_body .section_sub .product_list_item .item_contents {
	display: table-cell;
	vertical-align: middle;
	font-size: 20px;
	font-weight: bold;
}
.section_product_body .section_sub .product_list_item .item_date {
	width: 188px;
	color: #0b4184;
}
.section_product_body .section_sub .product_list_item .item_serial_number {
	font-size: 12px;
	font-weight: normal;
}
.section_product_body .section_sub .text_contents_detail {
	display: inline-block;
	margin: 8px 0 0 188px;
	font-size: 12px;
	font-weight: bold;
}

.section_product_body .section_sub .text_contents_detail_2 {
	display: inline-block;
	margin: 2px 0 5px 188px;
	font-size: 12px;
	font-weight: bold;
}

/* Body - Section Sub - Body - Product List - Variation */
.section_product_body .section_sub.section_cell {
	padding-top: 11px;
}

/* -------------------------------------
*	Footer
------------------------------------- */
.footer {
	box-sizing: border-box;
	min-width: 1024px;
	width: 100%;
	padding: 105px 0 118px;
	background-color: #53c2f0;
}

/*  Address
------------------------------- */
.footer .address {
	color: #fff;
	text-align: center;
}
.footer .address .line_1 {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	line-height: 1.0;
}
.footer .address .line_2 {
	display: block;
	font-size: 12px;
}