@charset "utf-8";

html {
	font-family: 'M PLUS 1p', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', 'ＭＳ Ｐゴシック', 'MS PGothic', Verdana, sans-serif;
	background: #fff;
	font-size: 62.5%;
}
body {
	font-family: 'M PLUS 1p', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', 'ＭＳ Ｐゴシック', 'MS PGothic', Verdana, sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 400;
	word-break: break-word;
	-webkit-text-size-adjust: 100%;
}

a, a:link {
	color: #0000DE;
}
a:visited {
	color: #941D55;
}
a:active,
a:hover {
	color: #CC0000;
}
a:focus {
	color: #CC0000;
}

/*** ソーシャルボタン ***/
#sns-block {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
	line-height: 1.0;
	font-weight: 400;
	width: 100%;
	background: #fff;
	padding-bottom: 16px;
}
.sns {
	width: 96%;
	padding-top: 16px;
	margin: 0 auto;
	text-align: center;
}
.ttl-sns {
	display: inline-block;
	vertical-align: top;
	margin-right: 1em;
	padding-top: 9px;
	color: #000;
	font-size: .9em;
}
.ttl-sns i {
	padding-right: .1em;
}
.sns-list {
	display: inline-block;
	font-size:0;
	padding: 0;
	list-style: none;
}
.sns-list li {
	display: inline-block;
	position: relative;
	margin: 0 8px;
}
.sns-list li img {
	width: 35px;
	height: auto;
	vertical-align: middle;
}
@media screen and (min-width: 40em) {
	.sns {
		width: 980px;
	}
	.ttl-sns {
		margin-right: 22px;
		padding-top: 7px;
	}
	.sns-list li img {
		width: 32px;
		height: auto;
		vertical-align: middle;
	}
}
@media screen and (min-width: 64em) {
}

.clearfix:after {
	display: block;
	clear: both;
	height: 0px;
	visibility: hidden;
	content: ".";
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/** common style **/
ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	-webkit-backface-visibility : hidden;
}
img.block-img {
	pointer-events: none;
}

.hide {
	display: none;
	overflow: hidden;
	height: 0px;
}

*, *:before, *:after {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}


/** base **/
#home #container {
	font-weight: 800;
}

@media only screen and (max-width: 640px) {
	#home #global-nav:nth-of-type(1) {
		display: none;
	}
	
	body {
	}
	
	#home #container {
		width: 100%;
	}
	#home #container-inner {
	}
	
	#home #content {
		width: 100%;
	}
	#home #content-inner {
	}
	
	.sp-hide {
		display: none;
	}

	/* SNS reset */
	.ttl-sns {
		font-size: 1.4rem;
	}

	/* pageup */
	.pageup {
	}
	.pageup a {
		display: block;
		background: url(../images/btn-pageup.png) no-repeat center top;
		font-size: 0px;
		line-height: 0px;
		text-indent: -9999px;
		width: 72px;
		height: 72px;
		background-size: contain;
		-webkit-background-size: contain;
		-moz-background-size: contain;
		position: fixed;
		right: 20px;
		bottom: 20px;
	}
}

@media print, screen and (min-width: 641px) {
	body {
		min-width: 980px;
	}
	
	#home #container {
		width: 100%;
	}
	#home #container-inner {
	}
	
	#home #content {
		width: 100%;
	}
	#home #content-inner {
	}
	
	.pc-hide {
		display: none;
	}
	
	/* pageup */
	.pageup {
	}
	.pageup a {
		display: block;
		background: url(../images/btn-pageup.png) no-repeat center top;
		font-size: 0px;
		line-height: 0px;
		text-indent: -9999px;
		text-decoration: none;
		width: 78px;
		height: 78px;
		background-size: contain;
		-webkit-background-size: contain;
		-moz-background-size: contain;
		position: fixed;
		right: 20px;
		bottom: 20px;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		backface-visibility: hidden; 
		-webkit-backface-visibility: hidden;
	}
	.pageup a:hover {
		opacity: 0.6;
	}
}


/*** .inner ***/
@media screen and (max-width: 640px) {
	.inner {
		width: 93.75%;
		margin: 0 auto;
	}
}
@media screen and (min-width: 641px) {
	.inner {
		width: 890px;
		margin: 0 auto;
	}
}


/*** #cast-box ***/
#home #cast-box #cast01 {
	overflow: hidden;
	position: relative;
	zoom: 1;
	width: 100%;
	margin: 0 auto;
}
#home #cast-box #cast01 li:nth-child(odd) {
	float: left;
}
#home #cast-box #cast01 li:nth-child(even) {
	float: right;
}

@media screen and (max-width: 640px) {
	#home #cast-box {
		background: url(../images/bg02.png) repeat center top;
		background-size: 64% auto;
		-webkit-background-size: 64% auto;
		-moz-background-size: 64% auto;
		padding: 6.8% 0 17.2%;
	}
	#home #cast-box h2 {
		width: 25%;
		margin: 0 auto 6.4%;
	}
	#home #cast-box #cast01 {
		margin: 0 auto 2.4%;
	}
	#home #cast-box #cast01 li {
		width: 45.3333%;
		margin: 0 0 6.4%;
	}
	#home #cast-box #cast02 {
		width: 100%;
		text-align: center;
		margin: 0 auto 11.4%;
	}
	#home #cast-box #cast02 li:first-child {
		width: 95.35%;
		margin: 0 auto 7.2%;
	}
}

@media screen and (min-width: 641px) {
	#home #cast-box {
		background: url(../images/bg02.png) repeat center top;
		padding: 60px 0 120px;
	}
	#home #cast-box h2 {
		width: 99px;
		margin: 0 auto 38px;
	}
	#home #cast-box #cast01 {
		width: 624px;
		margin: 0 auto 30px;
	}
	#home #cast-box #cast01 li {
		width: 272px;
		margin: 0 0 40px;
	}
	#home #cast-box #cast02 {
		width: 100%;
		text-align: center;
		margin: 0 auto 72px;
	}
	#home #cast-box #cast02 li:first-child {
		margin: 0 0 66px;
	}
	#home #cast-box #cast03 {
		width: 889px;
		margin: 0 auto;
	}
}


/*** #story-box ***/
#home #story-box .detail-box h3 {
	color: #c221d0;
}
#home #story-box .photo-box p {
	clear: left;
	font-weight: 400;

	transform: rotate(0.05deg);
}

@media screen and (max-width: 640px) {
	#home #story-box {
		background: url(../images/bg01.png) repeat center top;
		background-size: 64% auto;
		-webkit-background-size: 64% auto;
		-moz-background-size: 64% auto;
		padding: 7.2% 0 28.4%;
	}
	#home #story-box h2 {
		width: 33.5%;
		margin: 0 auto 7.8%;
	}
	#home #story-box .detail-box h3 {
		font-size: 5.625vw; /* 36px */
		margin: 0 auto 3.2%;
	}
	#home #story-box .detail-box p {
		font-size: 5.0vw; /* 32px */
		line-height: 1.6;
		margin: 0 auto 6.4%;
	}
	#home #story-box .detail-box:last-child p {
		margin: 0 auto 6px;
	}
	#home #story-box .photo-box {
		width: 100%;
		margin: 0 auto 9.6%;
	}
	#home #story-box .photo-box figure:nth-child(1) {
		margin: 0 auto 6.4%;
	}
	#home #story-box .photo-box p {
		font-size: 3.125vw; /* 20px */
		text-align: center;
		padding: 0.5em 0 0;
	}
}

@media screen and (min-width: 641px) {
	#home #story-box {
		background: url(../images/bg01.png) repeat center top;
		padding: 58px 0 168px;
	}
	#home #story-box h2 {
		width: 129px;
		margin: 0 auto 38px;
	}
	#home #story-box .detail-box h3 {
		font-size: 2.4rem;
		margin: 0 auto 8px;
	}
	#home #story-box .detail-box p {
		font-size: 1.8rem;
		line-height: 2.1;
		margin: 0 auto 36px;

		transform: rotate(0.05deg);
	}
	#home #story-box .detail-box:last-of-type p {
		margin: 0 auto;
	}
	#home #story-box .photo-box {
		overflow: hidden;
		position: relative;
		zoom: 1;
		width: 100%;
		margin: 0 auto 52px;
	}
	#home #story-box .photo-box figure:nth-child(odd) {
		float: left;
	}
	#home #story-box .photo-box figure:nth-child(even) {
		float: right;
	}
	#home #story-box .photo-box figure {
		width: 435px;
	}
	#home #story-box .photo-box p {
		font-size: 1.4rem;
		text-align: right;
		padding: 0.2em 0 0;
	}
}
