a.tbk-line-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	min-height: 46px;
	padding: 10px 20px;
	border-radius: 999px;
	background: #067642;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .16s, transform .16s;
}
a.tbk-line-button:hover { background: #035d33; color: #fff; text-decoration: none; }
a.tbk-line-button:active { transform: translateY(1px); background: #044c2e; }
.tbk-line-button:focus-visible, .tbk-header-form:focus-visible, .tbk-contact-form summary:focus-visible {
	outline: 3px solid #0562bb;
	outline-offset: 3px;
}
.tbk-line-options {
	display: inline-flex;
	align-items: center;
	gap: 18px;
}
.tbk-line-actions { text-align: center; }
.tbk-line-actions p.tbk-line-id {
	margin: 6px 0 0;
	color: #304038;
	font-size: 13px;
	line-height: 1.4;
}
.tbk-line-id strong { letter-spacing: .035em; }
img.tbk-line-qr {
	display: block;
	width: 112px;
	height: 112px;
	padding: 3px;
	background: #fff;
	border-radius: 8px;
}
.c_mv .tbk-line-options {
	margin-top: 12px;
	padding: 10px 12px 10px 20px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 8px 32px #0003;
}
.tbk-header-mobile { display: none; }
.tbk-header-contact { text-align: center; padding: 2px 7px; }
.tbk-header-contact a.tbk-line-button {
	min-height: 36px;
	padding: 7px 16px;
	font-size: 14px;
}
.tbk-header-contact .tbk-header-form {
	display: inline-block;
	padding: 2px 6px;
	color: #324139;
	font-size: 12px;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.tbk-contact {
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 72px) 24px;
	color: #162b21;
}
.tbk-contact-note { margin: 0 0 24px; font-size: 15px; line-height: 1.85; }
.tbk-contact-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: clamp(22px, 3vw, 40px);
	background: #f1f7f3;
	border: 1px solid #cfdfd4;
	border-radius: 16px;
}
.tbk-contact-line h2 { margin: 0 0 9px; font-size: clamp(21px, 2.4vw, 29px); line-height: 1.45; }
.tbk-contact-line h2 + p { margin: 0; color: #41544a; line-height: 1.65; font-size: 15px; }
.tbk-contact-form { margin: 22px 0 0; }
.tbk-contact-form summary {
	display: list-item;
	list-style: disclosure-closed inside;
	border-block: 1px solid #cbd3cf;
	padding: 16px 8px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
}
.tbk-contact-form[open] summary { list-style-type: disclosure-open; }
.tbk-contact-form .c_form { padding: 28px 0 0; }
.tbk-contact-form .c_form .wrap { width: 100%; }
@media (max-width: 991px) {
	.tbk-header-desktop { display: none; }
	.tbk-header-mobile { position: absolute; right: 64px; top: 50%; display: block; transform: translateY(-50%); }
	.tbk-header-mobile a.tbk-line-button { min-height: 40px; padding: 9px 13px; font-size: 13px; gap: 5px; }
	.tbk-header-contact .tbk-header-form { font-size: 16px; padding: 12px; }
}
@media (min-width: 721px) and (max-width: 900px) {
	.tbk-contact-line { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
	img.tbk-line-qr { display: none; }
	.c_mv .tbk-line-options { padding: 0; background: transparent; box-shadow: none; }
	.c_mv .tbk-line-id { color: #fff !important; text-shadow: 0 1px 4px #000; }
	.tbk-contact-line { display: block; }
	.tbk-contact-line .tbk-line-options { display: flex; margin-top: 20px; }
	.tbk-contact-line .tbk-line-actions, .tbk-contact-line .tbk-line-button { width: 100%; }
	.tbk-contact { padding-inline: 20px; }
}
@media (max-width: 400px) { .drawer-navbar .drawer-brand img { max-width: 38vw; } }
@media (prefers-reduced-motion: reduce) { a.tbk-line-button { transition: none; } }
