	/****************************
	* レイアウト・全体
	****************************/
	html,
	body
	{
		width: 100%;
		height: 100%;
		margin: 0px;
		padding: 0px;
		font-size: 15px;
		line-height: 170%;
		letter-spacing: 1px;
	}

	.sp_only
	{
		display: block;
	}
	.pc_only
	{
		display: none;
	}

	header
	{
		width:100%;
	}
	header > a
	{
		width:10%;
		top:5px;
		right:5px;
		max-width:80px;
	}
	header img
	{
		width:100%;
	}
	header h1 figure
	{
		width:100%;
		padding-top:20px;
		overflow: hidden;
	}
	header h1 figure img
	{
		transform: scale(1.5)
	}
	header h2 figure
	{
		width:100%;
		top:10px;
		left:50%;
		transform: translate(-50%, 0);
		margin:0;
		overflow: hidden;
	}
	header h2 figure img
	{
		transform: scale(1.3);
		margin-top:50px;
	}
	header h2 p
	{
		line-height: 1.3;
		font-size:0.7rem;
		margin-right:5px;
	}


	main article
	{
		width:93%;
		margin:0 auto 10px;
		padding:20px 20px 1px;
		background:#fff;
		border-radius:10px;
		position: relative;
		z-index: 3;
	}
	main article section .book_flex
	{
		display:block;
		margin:20px auto;
	}
	main article section .book_flex figure
	{
		width:100%;
		text-align:center;
		margin:10px auto;
	}
	main article section .book_flex > div
	{
		width:100%;
		margin-bottom:20px;
	}
	main article section .book_flex > div > h4 .marker
	{
		white-space: normal;
	}
	main article section .book_flex > div.btn
	{
		width:90%;
		margin:auto;
	}
	main article section .book_flex > div.btn a
	{
		padding:10px 10px;
		border-radius: 10px;
		text-align:center;
	}
	main article section .book_flex > div.btn a:nth-child(2)
	{
		padding:10px 10px;
	}
	main article section .book_flex > div.btn a:nth-child(3)
	{
		padding:10px 10px;
	}
	main > aside
	{
		width:90%;
		margin:20px auto 10px;
	}
	main > aside img
	{
		width:100%;
	}

	/****************************
	* app
	****************************/

	main article section.app_container
	{
		margin-bottom:20px;
	}
	main article section.app_container .book_flex > figure
	{
		width:100%;
		margin-right:0px;
	}
	main article section.app_container .book_flex > div
	{
		width:100%;
		margin-right:0px;
	}
	main article section.app_container .book_flex > div h4
	{
		text-align:center;
	}
	main article section.app_container .book_flex > div > div
	{
		margin-bottom:15px;
	}
	main article section.app_container .book_flex > div > div > dl
	{
		justify-content: center;
	}
	main article section.app_container .book_flex > div.applink
	{
		width:100%;
		text-align: center;
	}
	main article section.app_container .book_flex > div.applink a
	{
		display:inline-block;
		text-align:center;
		padding:0 10px;
	}
	main article section.app_container .book_flex > div.applink a img
	{
		width:auto;
		max-height:40px;
	}
	main article section.app_container .book_flex > div.applink a:last-child
	{
		width:100%;
	}
	main article section.app_container > ul
	{
		flex-wrap: wrap;
		justify-content: center;
		margin-top:30px;
	}
	main article section.app_container > ul li
	{
		width:calc( ( 100% - 40px ) / 3 );
		margin-right:20px;
		margin-bottom:20px;
	}
	main article section.app_container > ul li:nth-child(3n)
	{
		margin-right:0px;
	}
	.movie
	{
		width:100%;
		margin:10px auto 0;
	}
