*,*::before,*::after{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body{
	font-family: "Noto Sans JP", sans-serif;
	display: grid;
	grid-template-rows: 1fr auto;
	min-height: 100vh;
	min-height: 100dvh;
}
img{
	max-width: 100%;
	vertical-align: middle;
}
main{
	display: grid;
	place-items: center;
	padding: 1rem;
	background: linear-gradient(hsl(0deg 0% 95%), hsl(0deg 0% 70%));
}
section{
	padding: 1rem;
	width: min(25rem, 100%);
	margin-inline: auto;
	box-shadow: 0 0 1rem hsl(0deg 0% 50%);
	border-radius: 1rem;
	background: hsl(0deg 0% 100%);
}
.sectiontitle{
	text-align: center;
	font-size: 1.2rem;
}
.qrholder{
	margin-block: 1rem;
	padding: 1rem;
	border: 1px solid;
}
.guestbonus{
	padding: 1rem 0.5rem;
	background: hsl(45deg 90% 80% / 50%);
	border: 2px solid hsl(45deg 90% 50%);
	border-image: linear-gradient(hsl(45deg 90% 50%), hsl(45deg 50% 50%)) 1;
}
.guesttitle{
	font-weight: 800;
	font-size: 1.2rem;
	text-align: center;
	color: hsl(20deg 90% 50%);
	margin-bottom: 1rem;
}
p:has(+p){
	margin-bottom: 1rem;
}
.guestanswer{
	margin-top: 1rem;
	display: flex;
	gap: 1rem;
}
.guestanswer__link{
	--_bg: 0deg;
	text-align: center;
	flex: 1;
	padding: 1rem;
	font-weight: 800;
	background: hsl(var(--_bg), 55%, 55%);
	border: 1px solid hsl(var(--_bg), 55%, 25%);
	text-decoration: none;
	color: hsl(var(--_bg), 75%, 95%);
}
.guestanswer__link--yes{
	--_bg: 200deg;
}
.guestanswer__link--review{
	--_bg: 115deg;
}
.smallimg{
	margin-inline: auto;
	width: min(5rem, 100%);
}
footer{
	text-align: center;
	padding: 1rem;
	background: hsl(0deg 0% 25%);
	color: hsl(0deg 0% 100%);
	font-size: 0.75rem;
}
.push{
	margin-top: 2rem;
	padding: 1rem 0.5rem;
	border: 1px solid;
}
.pushtitle{
	margin-bottom: 1rem;
	font-size: 1.1rem;
	font-weight: 800;
	text-align: center;
}
.pushtitle small{
	display: block;
	background: hsl(60deg 75% 75%);
}
.ios_share{
	position: fixed;
	inset: 0;
	z-index: 999;
	background: hsl(0deg 0% 0% / 75%);
	display: none;
	place-items: center;
}
.ios_share > div{
	background: hsl(0deg 0% 100%);
	padding: 1rem;
	border-radius: 1rem;
}
.ios_share svg{
	width: 1rem;
}
.txticon{
	display: inline-flex;
	align-items: center;
}
.ios_share .title{
	font-size: 1.1rem;
	font-weight: 800;
	margin-bottom: 1rem;
	text-align: center;
}
.ios_share ol{
	padding-left: 1.2rem;
	margin-bottom: 1rem;
}
/*.bool_button{
	display: none;
}*/