* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	min-height: 100%;
}

body {
	max-width: 800px;
	margin: 0 auto;
	background: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

button,
input,
textarea {
	font: inherit;
}

button {
	border: 0;
}

.imagemap {
	position: relative;
	width: 100%;
}

/* ===== Main ===== */
.main-page > a {
	position: absolute;
	display: block;
	cursor: pointer;
	z-index: 5;
}

.main-detail {
	left: 10.18%;
	top: 59.35%;
	width: 38.58%;
	height: 3.42%;
}

.main-schedule {
	left: 51.25%;
	top: 59.35%;
	width: 38.58%;
	height: 3.42%;
}

.main-guestbook {
	left: 10.18%;
	top: 71.74%;
	width: 79.65%;
	height: 3.42%;
}

.main-support {
	left: 10.18%;
	top: 83.82%;
	width: 79.65%;
	height: 3.42%;
}

/* ===== Detail / map ===== */
.kakaomap {
	position: absolute;
	left: 10.73%;
	top: 68.89%;
	width: 78.63%;
	height: 17.54%;
	overflow: hidden;
	border-radius: 18px;
	background: #00e9cb;
	z-index: 3;
}

#map {
	width: 100%;
	height: 100%;
}

.venue-pin-wrap {
	width: clamp(135px, 33vw, 220px);
	pointer-events: none;
}

.venue-pin-wrap img {
	width: 100%;
	height: auto;
}

/* ===== Home button ===== */
.gohome {
	position: fixed;
	right: max(14px, calc((100vw - 800px) / 2 + 14px));
	bottom: max(14px, env(safe-area-inset-bottom));
	z-index: 100;
	width: clamp(48px, 12vw, 70px);
	height: clamp(48px, 12vw, 70px);
	border-radius: 50%;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .22));
}

.gohome img {
	width: 100%;
	height: 100%;
}

/* ===== Guestbook ===== */
#guest_page {
	width: 100%;
	background: #ffffff;
}

.guestbook-hero {
	width: 100%;
}

.guestbook-form-section {
	width: 100%;
	background: #d7f3ec;
}

.guestbook-form-inner {
	padding: 4.9% 4.7% 4.35%;
}

.guestbook-input-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8.5%;
}

#guest,
#pw,
#message {
	border: 0;
	border-radius: 0;
	outline: none;
	background: #ffffff;
	color: #333333;
	box-shadow: none;
}

#guest,
#pw {
	width: 45.8%;
	height: min(9.34vw, 74.72px);
	padding: 0 3.3%;
	font-size: clamp(14px, 2.7vw, 21px);
}

#message {
	display: block;
	width: 100%;
	height: min(17.95vw, 143.6px);
	margin-top: 10.4%;
	padding: 4.2% 3.3%;
	resize: vertical;
	font-size: clamp(15px, 2.7vw, 21px);
	line-height: 1.45;
}

#guest::placeholder,
#pw::placeholder,
#message::placeholder {
	color: #777777;
	opacity: 1;
}

#guest:focus,
#pw:focus,
#message:focus {
	box-shadow: inset 0 0 0 2px #57bea8;
}

#center {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 4.55%;
}

#add,
#modify_cancel {
	width: 26.6%;
	min-width: 100px;
	height: min(7.22vw, 57.76px);
	min-height: 36px;
	padding: 0 18px;
	background: #53bea7;
	color: #ffffff;
	font-size: clamp(14px, 2.5vw, 20px);
	cursor: pointer;
}

#modify_cancel {
	background: #8c9895;
}

.guestbook-list-section {
	padding: 0 4.9% 7.5%;
	background: #ffffff;
}

#list {
	width: 100%;
	list-style: none;
}

.gb-item {
	padding: 6.3% 0 5.7%;
	border-bottom: 1px solid #dddddd;
}

.gb-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
}

.gb-title {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}

.gb-name,
.gb-date,
.gb-msg,
.gb-btn {
	color: #111111;
}

.gb-name {
	font-size: clamp(16px, 3.2vw, 24px);
	font-weight: 700;
	word-break: break-word;
}

.gb-date {
	font-size: clamp(14px, 2.9vw, 22px);
	font-weight: 400;
	white-space: nowrap;
}

.btnarea {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.gb-btn {
	background: transparent;
	font-size: clamp(13px, 2.8vw, 21px);
	font-weight: 400;
	cursor: pointer;
	white-space: nowrap;
}

.gb-msg {
	margin-top: 4.3%;
	font-size: clamp(15px, 3.0vw, 23px);
	font-weight: 400;
	line-height: 1.55;
	word-break: break-word;
	white-space: normal;
}

.del_div {
	display: none;
	margin-top: 4%;
	padding: 3.2%;
	background: #eef8f6;
}

.gb-pw {
	width: 48%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #b8dcd5;
	background: #ffffff;
	font-size: 14px;
	outline: none;
}

.del_div .gb-ok,
.del_div .gb-cancel {
	height: 42px;
	margin-left: 6px;
	padding: 0 10px;
	background: #53bea7;
	color: #ffffff;
	font-size: 13px;
}

.del_div .gb-cancel {
	background: #8c9895;
}

.more {
	padding-top: 5.5%;
	text-align: center;
}

#more {
	width: 90%;
	min-height: clamp(52px, 8.2vw, 66px);
	background: #53bea7;
	color: #ffffff;
	font-size: clamp(15px, 2.8vw, 22px);
	cursor: pointer;
}

@media(max-width: 480px){
	.guestbook-input-row {
		gap: 7%;
	}

	#guest,
	#pw {
		width: 46.5%;
		padding-left: 3%;
		padding-right: 3%;
	}

	.gb-head {
		align-items: flex-start;
	}

	.btnarea {
		gap: 6px;
	}

	.gb-pw {
		width: 44%;
	}
}
