/****************************
	* レイアウト・全体
	****************************/

	html,
	body {
		box-shadow: none;
	}
	.sp_only {
	display: block;
	}
	.pc_only {
	display: none;
	}
	img {
	width: 100%;
	}
	aside {
	font-size: 0.8rem;
	color: #555;
	line-height: 1.5;
	}
	aside p
	{
		font-size:10px!important;
	}
	.wrap {
		width: 90%;
		margin: 0px auto 0px;
	}
	/****************************
	* ヘッダー
	****************************/
	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;
		font-size: 0.5rem;
	}
	/****************************
	* main
	****************************/
	main .read
	{
		letter-spacing: 0;
		width:100%;
		margin:10px auto 0;
		padding:20px 10px;
	}
	main .read p
	{
		font-size:1rem;
		line-height: 1.7;
	}
	main .read .read_wrap
	{
		margin:0 auto 20px;
	}
	main .read .read_wrap p
	{
		font-size:0.7rem;
		padding: 0 0px;
		text-align: justify;
	}

	main .read div.comment
	{
		padding:10px 10px;
	}
	main .read div.comment p
	{
		font-size: 0.7rem;
	}
	main .read div.bookinfo
	{
		width:100%;
		display:block;
		margin: 0px auto;
		text-align: center;
		padding:10px 10px;
	}
	main .read div.bookinfo figure
	{
		/* width:50%; */
		padding:10px;
		margin:10px auto 0px;
	}
	main .read div.bookinfo > div
	{
		width:100%;
		height:auto;
		padding:0
	}
	main .read div.bookinfo h2
	{
		margin-bottom:20px;
		text-align: center;
	}
	main .read div.bookinfo h2 > *
	{
		text-align: center;
	}
	main .read div.bookinfo h2 div
	{
		text-indent: 0em;
	}
	main .read div.bookinfo h2,
	main .read div.bookinfo h3
	{
		font-size:1.2rem;
		text-align:center;
		line-height:1.5em;
		text-indent: 0;
	}
	main .read div.bookinfo h4
	{
		background: #e70113;
		color:#fff;
		border-radius: 15px;
		padding:5px 0.5em;
		line-height: normal;
		display:inline-block;
		font-size:0.6rem;
		font-weight: 400;
		margin:5px 0;
	}
	main .read div.bookinfo > div > span
	{
		display:flex;
		width:100%;
		justify-content: center;
		text-align: center;
	}
	main .read div.bookinfo h3
	{
		margin-right:0.3em;
	}
	main .read div.bookinfo > div
	{
		max-width:100%;
		width:100%;
		width:fit-content;
		margin:auto;
	}
	main .read div.bookinfo > div dl
	{
		margin:0px auto 0.5em;
		display: flex;
	}
	main .read div.bookinfo > div dl dt,
	main .read div.bookinfo > div dl dd
	{
		width:100%;
		display: block;
		font-size:0.6rem;
		margin:0;
		padding:0;
		line-height: 1.3;
		text-align:left;
	}
	main .read div.bookinfo > div dl dt
	{
		width:5em;
		text-align:left;
		text-align-last:left;
		white-space: nowrap;
	}
	main .read div.bookinfo > div dl dd
	{
		padding-left:1em;
	}


	/****************************
	* news
	****************************/


	main .event
	{
		padding-top:10px;
		box-shadow: none;
		padding-bottom:10px;
	}
	main .event > .wrap
	{
		padding:15px 0px 0px;
		margin-top:20px;
		margin-bottom:30px;
	}
	main .event h2,
	main .shop h2
	{
		width:100%;
		margin: 30px auto 10px;
		font-size:1em;
		line-height:1.5em;
		padding:0;
	}
	main .event h2 span
	{
		font-size:0.8rem;
	}
	main .event h2::after
	{
		content:"";
		position: absolute;
		bottom:-20px;
		left:50%;
		transform: translate(-50%, 0);
		width:85px;
		height:1px;
		margin:auto;
	}


	main .event > .wrap > div
	{
		width:90%;
		margin: 30px auto 0px;
		padding:0.5em 0 0.5em;
		font-size:0.8rem;
	}
	.event_tokuten
	{
		display: flex;
		flex-wrap: wrap;
	}
	.event_tokuten > dt
	{
		font-size:0.7rem;
		padding: 0em 1em;
		line-height: 1.3;
	}
	.event_tokuten > dd
	{
		width: 100%;
		line-height: 1.3;
		text-align: left;
		font-size: 0.9rem;
		margin: 0;
		padding: 0.1em 0.5em;
	}
	main .event > .wrap > div > .event_tokuten:nth-child(2)
	{
		padding-bottom: 30px;
	}
	.event_start
	{
		text-align: center;
		width:95%;
		margin-inline: auto;
		padding:10px;
		background: #bd272d;
		color:#fff;
		font-size:0.8rem;
		line-height: 1.5;
	}
	.event_day
	{
		margin: 30px auto 30px;
		font-size: 0.9rem;
	}
	.event_day li
	{
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.6;
	}
	.event_day a
	{
		white-space: nowrap;
		letter-spacing: 0;
	}
	.event_day a span
	{
		display: block;
		padding-right: 0em;
	}
	.event_detail
	{
		margin: 20px auto 10px;
		padding:10px 10px;
	}
	.event_detail dl
	{
		margin-top: 30px;
		padding: 15px 15px;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.event_detail dd div
	{
		margin-top: 0.5em;
		width: 100%;
		padding-left: 0;
		padding-right:20px
	}
	.event_detail dd div figure img
	{
		width: 80%;
	}

	main .shop
	{
		padding:10px 0;
	}
	main .shop h2
	{
		margin-bottom: 50px;
	}
	main .shop h2::after
	{
		content: "";
		position: absolute;
		bottom: -20px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 85px;
		height: 1px;
		margin: auto;
	}
	main .shop > .wrap
	{
		padding:1px 0px 0px;
		margin-top: 0px;
	}
	main .shop h3
	{
		margin: 0px auto 20px;
		font-size:1.5rem;
		line-height:1.5em;
	}
	main .shop .shop_wrap
	{
		display:block;
		width:100%;
		margin:20px auto;
	}

	main .shop .shop_box
	{
		width: 100% !important;
		margin:auto;
		margin-bottom:20px !important;
		padding-bottom:20px;
	}
	main .shop .shop_box h4
	{
		font-size:0.8rem;
		letter-spacing: 0;
	}
	main .shop .shop_box .info
	{
		margin:10px 0;
		padding:0 15px;
		text-align: left;
		line-height: 1.5;
	}
	main .shop .shop_box .info .tokuten
	{
		font-size:0.9rem;
	}
	main .shop .shop_box .info .tokuten > p
	{
		font-size:0.8rem;
	}
	main .shop .shop_box > a
	{
		width:80%;
		padding:3px 5px;
		font-size:0.8rem;
		border:2px solid #000;
	}
	main .shop .shop_box .info > p.kikan
	{
		text-align: left;
		margin-top: 15px;
	}

	main .shop .shop_box .info .tokuten dl
	{
		display:block;
		font-size:0.8rem;
	}
	main .shop .shop_box:nth-child(3) .info figure
	{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0px;
	}
	main .shop .shop_box:nth-child(3) .info figure img:first-child
	{
		width: 100%;
		height:auto;
		aspect-ratio: 135 / 91;
	}
	main .shop .shop_box:nth-child(3) .info figure img:last-child
	{
		width: 100%;
		max-width: 214px;
		height:auto;
		aspect-ratio: 91 / 135;
	}
	aside p
	{
		font-size:0.6rem;
	}
	main .shop .wrap > aside {
		display: block;
		margin: 0px auto;
		padding-bottom: 0px;
		width:90%;
		text-align: left;
	}


	main .other
	{
		padding:30px 0 20px;
	}
	main .other h4
	{
		width: 90%;
		margin:auto;
		letter-spacing: 1em;
		font-size:1rem;
	}
	main .other .bookinfo
	{
		display:block;
		width: 90%;
		margin:auto;
	}

	main .other div.bookinfo
	{
		width:90%;
		display:block;
		margin: 0 auto 0;
		padding: 20px 10px;
	}

	main .other div.bookinfo h2
	{
		text-indent: 0em;
		padding:0;
		font-size:2.3rem;
		margin-top:10px;
		margin-bottom:30px;
		letter-spacing: 0em;
	}
	main .other div.bookinfo h3,
	main .other div.bookinfo h4
	{
		font-size:0.9rem;
		letter-spacing: 0em;
		/* display:inline; */
	}
	main .other div.bookinfo figure
	{
		width:80%;
		max-width:300px;
		margin:0 auto;
		padding:0
	}
	main .other div.bookinfo > div
	{
		max-width:90%;
		width:90%;
		margin:auto;
		text-align: center;
		font-size: 0.8rem;
	}

	main .other div.bookinfo a
	{
		background:#4d4d4d;
		color:#fff;
		padding:10px 20px;
		width:90%;
		display:block;
		margin:20px auto 30px;
		box-shadow: 2px 2px 3px #666;
		border:1px solid #4d4d4d;
		font-size: 0.8rem;
	}
	main .other .photo_exhibition
	{
		margin-bottom:25px;
	}
	main .other .photo_exhibition span
	{
		font-size:1.0rem;
	}