	/****************************
	* レイアウト・全体
	****************************/
	html
	{
		font-size: 62.5%;
		overflow: auto;
		margin: auto;
		padding: 0px;
	}
	body {
		font-family: "Noto Sans JP", sans-serif;
		font-weight:300;
		font-size: 2.0rem;
		line-height: 1.8;
		width: 100%;
		height:auto;
		margin: 0;
		padding: 0;
		letter-spacing: 1px;
		color: #333;
		background: #fff;
		scroll-behavior: smooth;
	}
	a:link {
		transition: 0.3s;
	}
	a:hover {
		opacity: 0.8;
	}
	.pc_only {
		display: inline-block;
	}
	.sp_only {
		display: none;
	}
	main {
		display: block;
	}
	aside {
		font-size: 1.5rem;
		color: #555;
	}
	aside.kome p
	{
		text-indent: -1.5em;
		margin-bottom: 0.2em;
		line-height: 1.5;
	}
	aside.kome p::before
	{
		content: "※";
    	margin-right: 0.3em;
	}

	h1, h2, h3, h4, h5, h6, div, p,
	figure
	{
		margin:0;
		padding:0;
		line-height: 1;
	}
	img
	{
		width:100%;
		height:auto;
		margin:0;
		padding:0;
	}
	.wrap {
		position: relative;
		max-width: 980px;
		width: 100%;
		margin: 0px auto 0px;
		text-align: center;
	}

	/****************************
	* ヘッダー
	****************************/
	header
	{
		margin:0px auto 0px;
		padding:100px 0 85px 0;
		text-align:center;
		background:#fff;
	}
	header h1.wrap
	{
		display:flex;
		align-items: center;
		justify-content: space-between;
		width: 900px;
		margin:auto;
	}
	header h1 > figure
	{
		width:510px;
		padding:0 0px;
		line-height: 1;
	}
	header h1 > div figure
	{
		width:310px;
		padding:0 0px;
		line-height: 1;
		margin-bottom:50px;
	}
	header h1 > div .release
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-size:2.4rem;
		font-weight: 700;
		font-style: normal;
		letter-spacing: 0.1em;
	}


	/****************************
	* フッター
	****************************/
	footer {
		font-size: 1.2rem;
		position: relative;
		z-index: 1;
		padding: 5px 0;
		text-align: center;
		color: #fff;
		background: #000;
	}
	/****************************
	* read
	****************************/
	.read
	{
		background-color: #4ea9b4;
		color:#fff;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 400;
		letter-spacing: -0.02em;
	}
	.read .wrap
	{
		padding:56px 0px 72px;
	}
	.read .wrap h2
	{
		font-size: 2.7rem;
		width: fit-content;
		margin:0 auto 52px;
		line-height: 1.8;
	}
	.read_wrap
	{
		margin-bottom:45px;
	}
	.read_wrap p
	{
		text-align:justify;
		line-height: 1.9;
		padding:0 32px 32px;
	}
	.read_wrap p:last-child
	{
		padding-bottom:0;
	}
	.read_wrap p strong
	{
		font-weight: 900;
	}
	.comment
	{
		width: 95%;
		margin-inline:auto;
		border: 10px solid #ea5577;
		border-radius: 20px;
		padding:32px 48px;
		text-align: left;
		color:#333;
		background-color: #fff;
	}
	.comment h3
	{
		font-size: 3.0rem;
		margin-bottom:16px;
	}
	.comment p
	{
		line-height: 2.5;
		font-size:0.9em;
		font-weight: 400;
	}

	/****************************
	* bookinfo
	****************************/
	.bookinfo
	{
		padding: 80px 0;
	}
	.bookinfo_wrap
	{
		padding: 72px 64px 54px;
		border: 15px solid #ea5577;
		border-radius: 30px;
	}
	.bookinfo_innner
	{
		display:flex;
		align-items: center;
		justify-content: space-between;
		gap:32px;
		width: 820px;
		margin:auto;
	}
	.bookinfo_innner > figure
	{
		width: 290px;
	}
	.bookinfo_innner > div
	{
		width: calc( 100% - 290px -32px );
		text-align: left;
	}
	.bookinfo_innner > div h2
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-size:2.4rem;
		font-weight: 700;
		font-style: normal;
		padding-bottom:24px;
	}
	.bookinfo_innner > div h2 div
	{
		font-size:3.5rem;
		padding-top:16px;
	}
	.bookinfo_innner > div dl
	{
		font-size:1.7rem;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		gap:0.5em;
		padding:0;
		margin:0 0 10px 0;
		line-height: 1.6;
	}
	.bookinfo_innner > div dl dt
	{
		width: 5em;
		text-align-last: justify;
		font-weight: 600;
	}

	.bookinfo_innner > div dl dd
	{
		margin-left:0;
		width: calc( 100% - 0.5em - 5em );
		font-weight: 600;
	}

	.page_sample
	{
		padding-top:32px;
	}
	.page_sample h3
	{
		color:#ea5577;
		font-size:2.4rem;
		margin-bottom: 24px;
		display: flex;
		align-items: center;
	}
	.page_sample h3::after
	{
		content: "";
		display: block;
		flex-grow: 1;
		height: 1px;
		background-color: #ea5577;
		margin-left: 15px;
	}
	.page_sample
	{
		width: 100%;
	}

	/****************************
	* event
	****************************/
	.event
	{
		background-color: #fcf16c;
		color:#222;
	}
	.event .wrap
	{
		padding:56px 0px 72px;
	}
	.event .wrap h2
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 6.7rem;
		width: fit-content;
		margin:0 auto 52px;
		line-height: 1.8;
		text-shadow: 3px 3px 0 #fff;
	}
	.event_day
	{
		text-align: center;
		font-size: 3.2rem;
		margin-bottom:80px
	}
	.event_day li
	{
		margin-bottom:32px;
	}
	.event_day a
	{
		color:#222;
		border-bottom: 2px solid #4ea9b4;
		text-decoration: none;
	}
	.event_day a::after
	{
		content:
	}
	.event_day a:hover
	{
		border-bottom: 2px solid transparent;
	}
	.event_day a p
	{
		display: inline;
	}
	.event_day a .to_detail
	{
		display: inline-block;
		align-items: center;
		padding-left: 0.8em;
		color: #4ea9b4;
		vertical-align: middle;
		position: relative;
	}
	.event_day a .to_detail::after {
		content: "";
		width: 0.8em;
		height: 0.8em;
		margin-left: 0.3em;
		display: inline-block;
		background-color: #4ea9b4;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z"/></svg>');
		mask-position: center;
		mask-size: contain;
		mask-repeat: no-repeat;
	}

	.event_tokuten_wrap
	{
		padding:40px 48px;
		background-color: #fff;
		text-align: left;
	}
	.event_tokuten
	{
		margin-bottom:32px;
		font-weight: 600;
	}
	.event_tokuten dt
	{
		padding:10px 20px;
		background-color: #e5d00e;
		color:#fff;
		font-weight: 900;
		font-size: 2.4rem;
		width: fit-content;
		margin-bottom:8px;
	}
	.event_tokuten dd
	{
		font-size:2.4rem;
		line-height: 1.8;
		margin-left:0;
	}
	.event_tokuten dd ul
	{
		margin-top:24px;
	}
	.event_tokuten dd ul li
	{
		margin-top:8px;
	}
	.event_tokuten dd span
	{
		background: linear-gradient(transparent 60%, rgba(234, 85, 119, 0.5) 60%);
	}
	.event_tokuten dd figure
	{
		width: 265px;
		margin:32px auto 0;
		text-align: center;
	}
	.event_tokuten dd figure figcaption
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size:1.8rem;
		margin-bottom:8px;
	}
	.event_tokuten_wrap aside
	{
		text-align: left;
		font-size: 1.5rem;
		margin-left:1em;
	}
	.event_tokuten_wrap aside p
	{
		margin-bottom:0.5em;
	}


	/****************************
	* shop
	****************************/
	.shop
	{
		background-color: #4ea9b4;
		color:#fff;
	}
	.shop .wrap
	{
		padding:56px 0px 72px;
	}
	.shop .wrap h2
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-size: 6.7rem;
		width: fit-content;
		margin:0 auto 8px;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
	.shop .wrap h2 + p
	{
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: 700;
		font-weight: normal;
	}
	.shop_wrap
	{
		margin:80px 0 40px;
		display: flex;
		justify-content: space-between;
		gap:66px 55px;
		flex-wrap: wrap;
	}
	.shop_box
	{
		width: calc((100% - 55px) / 2);
	}
	.shop_box h4
	{
		font-size: 2.4rem;
		padding:15px;
		background-color: #ea5577;
		color:#fff;
		margin-bottom:8px;
	}
	.shop_box .info
	{
		background-color: #fff;
		color:#333;
		text-align: left;
		padding:32px 24px
	}
	.shop_box .info dl
	{
		margin:0 0 32px;
		font-weight: 600;
		line-height: 1.5;
	}
	.shop_box .info dl
	{
		margin:0 0 24px;
		font-weight: 600;
		line-height: 1.5;
		font-size:1.7rem;
	}
	.shop_box .info dl dt
	{
		font-size:1.9rem;
	}
	.shop_box .info dl dd
	{
		margin-left: 0;
	}
	.shop_box .info dl dd span
	{
		font-size:1.9rem;
	}
	.shop_box .info dl dd strong
	{
		background: linear-gradient(transparent 60%, rgba(234, 85, 119, 0.3) 60%);
	}
	.shop_box .info .tokuten figure
	{
		width: 260px;
		margin: 0 auto 16px;
	}
	.shop_box .info .tokuten aside
	{
		margin-left: 2em;
	}
	.shop_box .info > a
	{
		width: fit-content;
		margin:16px auto 0;
		display: flex;
		align-items: center;
		gap:0.5em;
		text-align: center;
		padding:15px 40px;
		background-color: #e5d00e;
		color:#fff;
		text-decoration: none;
		position: relative;
	}
	.shop_box .info > a::after
	{
		content: "";
		width:1em;
		height:1em;
		background-color: #fff;
		display: inline;
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M535.1 342.6C547.6 330.1 547.6 309.8 535.1 297.3L375.1 137.3C362.6 124.8 342.3 124.8 329.8 137.3C317.3 149.8 317.3 170.1 329.8 182.6L467.2 320L329.9 457.4C317.4 469.9 317.4 490.2 329.9 502.7C342.4 515.2 362.7 515.2 375.2 502.7L535.2 342.7zM183.1 502.6L343.1 342.6C355.6 330.1 355.6 309.8 343.1 297.3L183.1 137.3C170.6 124.8 150.3 124.8 137.8 137.3C125.3 149.8 125.3 170.1 137.8 182.6L275.2 320L137.9 457.4C125.4 469.9 125.4 490.2 137.9 502.7C150.4 515.2 170.7 515.2 183.2 502.7z"/></svg>');
	}
	.shop_box .info > a:hover
	{
		opacity: 0.6;
	}
	.shop_box .info > a:hover::after
	{
		right:10px;
	}
	.shop .wrap > aside
	{
		text-align: left;
		width: fit-content;
		margin-inline:auto;
		color:#fff;
	}