	/****************************
	* レイアウト・全体
	****************************/
	html,
	body {
		font-size: 8px;
		-webkit-text-size-adjust: 100%;
	}
	.sp_only {
	display: block;
	}
	.pc_only {
	display: none;
	}
	img {
	width: 100%;
	}
	article,section
	{
		width: 100%;
		padding:20px 0;
	}
	.wrap {
		width: 90%;
		margin:auto;
	}
	/****************************
	* ヘッダー
	****************************/
	header
	{
		margin:0 auto;
		width:100%;
		background-position:80% 100%;
	}
	header h1.wrap
	{
		display:flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
		margin:auto;
		padding:20px 0px 10px 0px;
	}
	header h1
	{
		padding:20px 0 30px;
		display:block;
	}
	header h1 > figure
	{
		width:70%;
	}
	header h1 > div
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		width:80%;
		padding:20px 0px 0;
	}
	header h1 > div a img
	{
		width:40px;
		margin:20px 0px 0;
	}

	/****************************
	* フッター
	****************************/
	footer
	{
		height:auto;
	}
	/****************************
	* main
	****************************/

	/****************************
	* read
	****************************/
	.read h2
	{
		font-size:2.5rem;
		margin-bottom:20px;
	}
	.read p
	{
		font-size:1.8rem;
		line-height:1.8;
	}

	/****************************
	* spec
	****************************/
	.spec
	{
		margin:20px 0;
		padding:30px 0 125px;
	}
	.spec .bookinfo
	{
		width:100%;
		padding: 10px 20px;
		font-size:1.8rem;
		line-height: 1.8;
		text-align: left;
	}
	.spec .bookinfo h3
	{
		font-size: 2.5rem;
		text-align: center;
		font-weight: 500;
		margin-bottom:0.5em;
	}
	.spec .bookinfo dl
	{
		width:100%;
		margin:5px 0 0;
	}
	.spec .bookinfo dl dd
	{
		margin-left:0;
	}
	.spec .bookinfo .spec_wrap
	{
		display: block;
	}
	.spec .bookinfo .spec_wrap > div
	{
		padding:15px 0px;
		margin-bottom:30px;
		width:100%;
	}
	.spec .bookinfo aside
	{
		display:block;
		margin:-10px 0 0 1.8em;
	}
	.spec_inner .cover
	{
		padding-inline:15px;
	}
	.spec_inner > p
	{
		padding-inline:15px;
	}
	.spec_inner > ul li
	{
		margin: 0 0 0.3em calc(2em + 15px);
	}

	/****************************
	* event
	****************************/
	.event
	{
		margin-top:-100px;
		margin-bottom:125px;
		padding-top:30px;
		background: #fff;
	}
	.event h2
	{
		margin:0 auto 30px;
	}
	.event h3
	{
		font-size: 2.5rem;
		letter-spacing: 0;
	}
	.event ul
	{
		margin:20px auto 40px;
		flex-direction: column;
		width: 100%;
		min-width: auto;
		gap:8px;
	}
	.event ul li
	{
		width: 100%;
		text-align: center;
		line-height: 1.5;
		margin:0 auto 20px
	}
	.event ul li span
	{
		font-size:2rem;
		line-height: 2;
		padding:0px;
	}
	.event_info
	{
		width:100%;
		padding:15px 15px;
	}
	.event_info h3
	{
		font-size:1.8rem;
		margin:0 0 10px 0;
	}
	.event_info > div:not(:last-child)
	{
		margin-bottom:10px;
		padding-bottom:10px;
	}

	/****************************
	* shop
	****************************/
	.shop
	{
		background: linear-gradient(rgba(255,255,255,0) 130px, #EAF5FF 130px);
		padding-bottom:30px;
		margin-top:-125px
	}
	.shop h2
	{
		height:130px;
	}
	.shop h2 img
	{
		width:auto;
		height:100%;
	}
	.shop .wrap > aside
	{
		width: 90%;
		margin:10px 0 35px 8%;
	}
	.shop_wrap
	{
		display: block;
	}
	.shop_wrap > div
	{
		padding:25px 15px 10px;
		margin-bottom:40px;
	}

	.shop_wrap > div.shop_container
	{
		width:100%;
	}
	.shop_wrap > div > h4
	{
		font-size: 2.5rem;
	}
	.shop_container .inner
	{
		display: block;
	}

	.shop_container .inner .tokuten p strong
	{
		display: inline-block;
	}
	.shop_container .inner.partition > div:first-child
	{
		width:100%;
		margin-right:0;
		padding-right:0;
		padding-top:0;
		border-right:none;
		margin-bottom:15px;
		border-bottom:2px dotted #eaf5ff;
	}
	.shop_container .inner.partition > div:last-child
	{
		width:100%;
		padding-top:10px;
	}
	.shop_container .inner.partition > div:last-child .tokuten > p
	{
		margin-bottom:0;
	}
	.shop_container .inner.partition > div:last-child .btn
	{
		margin-top:0;
	}

	.shop_container .inner .tokuten > p + figure
	{
		max-width:210px;
		width:100%;
		max-height:210px;
		margin:20px auto 20px;
	}
	.shop_container .inner .tokuten > aside + figure
	{
		max-width:330px;
		width:100%;
		max-height:230px;
		margin:20px auto 20px;
	}

	.shop_container .btn a
	{
		display:flex;
		justify-content: center;
		align-items: center;
		width: fit-content;
		min-width:90%;
		text-align: center;
		background: #eaf5ff;
		padding:10px 35px 10px 15px;
		line-height: 1.5;
		margin:auto;
		margin-bottom:20px;
		clip-path: polygon(5% 0, 95% 0, 100% 50%, 95% 100%, 5% 100%, 0% 50%);
		position: relative;
		letter-spacing: normal;
	}
	.shop_container .btn a:after {
		top: 50%;
		transform: translate(0, -40%);
	}
