/****************************
 * レイアウト・全体
 ****************************/
	section
	{
		padding-bottom:40px;
	}
	section > .inner
	{
		max-width: 100%;
	}
	aside.kome
	{
		font-size: 1.2rem;
	}

	.pc{display:none;}
	span.pc{display:none;}
	.sp{display:block;}

/****************************
 * ヘッダー
 ****************************/
	header
	{
		width: 100%;
		height:65vh;
		background:url(../images/main.jpg) no-repeat left -140px center#bf8b37;
		background-size: cover;
	}
	header h1
	{
		position: static;
		margin:0 auto 30px;
		padding-top:calc(65vh - 194px - 3vh);
	}
	header h1 p.name
	{
		margin-bottom:10px;
	}
	header h1 p.kana
	{
		margin-bottom:24px;
		opacity: 0.6;
	}
	header h1 p.title
	{
		margin-top:16px;
		margin-bottom:16px;
	}

/****************************
 * メイン
 ****************************/
	section.read .catchphrase
	{
		height: calc(100vh - 68vh);
	}
	section h6
	{
		position: absolute;
		left:16px;
		font-weight: 400;
	}
	section h6::after
	{
		bottom:-4px;
	}
	section .catchphrase h2
	{
		font-size:2.5rem;
		line-height: 1.5;
		padding-top: 0px;
		padding-bottom: 20px;
	}
	section .catchphrase h2 p
	{
		font-size:1.5rem;
		letter-spacing: 0;
		margin: 16px 0 10px;
	}
	section.read .inner .read_txt
	{
		font-size:1.6rem;
		padding-inline:15px;
		line-height: 2.3;
		margin-bottom:24px
	}

	section.comment .inner
	{
		position: relative;
		padding-inline: 0px;
		margin-bottom: 40px;
	}
	section.comment .inner h2
	{
		top:30px;
		font-size:2.2rem;
		white-space: nowrap;

	}
	.comment_wrap
	{
		width: 95%;
		padding:80px 20px 30px;
		outline-offset: 3px;
		font-size: 1.5rem;
	}

	.bookinfo_wrap
	{
		flex-direction: column;
		align-items: center;
		gap:40px;
	}
	.bookinfo_wrap > div
	{
		width: 100%;
		padding-inline: 16px;
		margin-inline: auto;
	}
	.bookinfo_wrap > div h2
	{
		font-size:1.8rem;
	}
	.bookinfo_wrap > div h2 span
	{
		font-size:2.0rem;
	}
	.bookinfo_wrap > div > div
	{
		margin-top: 16px;
	}
	.bookinfo_wrap > div dt
	{
		width: 3.5em;
	}
	.bookinfo_wrap > div dd
	{
		width: calc(100% - 3.5em - 1em);
	}

	section:is(.event,.shop) h2
	{
		font-size: 3rem;
		margin: 40px 0 24px;
		line-height: 1.5;
	}
	.event_wrap
	{
		padding:20px 20px 10px 20px;
		font-size: 1.5rem;
	}
	.event_wrap h3
	{
		font-size: 1.4rem;
		margin-bottom: 16px;
	}
	.event_wrap h3 + ul
	{
		margin-bottom: 32px;
	}
	.event_wrap h3 + ul li:not(:last-child)
	{
		margin-bottom:16px;
	}
	.event_wrap h3 + ul a
	{
		font-size: 1.7rem;
	}
	.event_wrap h3 + ul a span
	{
		font-size: 1.2rem;
	}
	.event_detail
	{
		padding:20px 10px;
		margin-bottom: 8px;
		background-color: #f4f3ef;
	}
	.event_detail dl
	{
		font-size: 1.6rem;
	}

	.shop_wrap
	{
		width: 95%;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3 1fr);
		grid-column-gap: 24px;
		grid-row-gap: 24px;
	}
	.official {grid-area: auto;}
	.rakuten {grid-area: auto;}
	.seven {grid-area: auto;}

	.shop_box h3
	{
		padding:6px 0;
		font-size: 1.5rem;
		margin-bottom: 24px;
	}
	.shop_box .info
	{
		width: fit-content;
		margin-inline:auto;
		font-size:1.6rem;
		padding-inline:16px;
	}
	.shop_box .info p:not(:last-of-type)
	{
		margin-bottom:16px;
	}
	.shop_box .info figure
	{
		width: 100%;
		max-width: 200px;
		margin:24px auto 16px;
	}
	.shop_box.official .info figure
	{
		width: 100%;
		max-width: 300px;
		margin-inline:auto;
	}

	.btn_wrap
	{
		width:100%;
		margin-inline: auto;
		margin-bottom: 16px;
	}
	.btn_wrap a
	{
		width:90%;
		max-width: 400px;
		display: block;
		margin-inline: auto;
		text-align: center;
		border: 1px solid #1c1a17;
		padding:8px;
		font-size: 1.5rem;
		color:#1c1a17;
		text-decoration: none;
		font-family: "Noto Sans JP", sans-serif;
	}
	.btn_wrap a:hover
	{
		color:#fff;
		background-color: #1c1a17;
	}
	.shop_box_inner p .ylw
	{
		background:linear-gradient(transparent 60%, #ff6 60%);
	}
	.shop_box_inner + aside
	{
		width: fit-content;
		display: block;
		margin-inline: auto;
	}
	.shop_wrap + aside
	{
		width: 95%;
		margin-inline: auto;
		word-break: break-all;
	}

	.event.panel h2 + aside
	{
		width: fit-content;
		display: block;
		margin-inline: auto;
		margin-top: -20px;
		margin-bottom: 24px;
	}
	.panel_photo
	{
		width: 90%;
		display: flex;
		flex-direction: column;
		gap:16px;
	}
	.event_detail .panel_photo figure
	{
        width: 100%;
        max-width: 300px;
	}