html {
	scroll-behavior: smooth;
}

#site-header {
	border-bottom: 1px solid rgba(62, 58, 57, 0.08);
}

#site-header .tagLine {
	margin-bottom: 0 !important;
	padding: 0.55rem 1.6rem !important;
}

#site-header .header-inner {
	padding-bottom: 1.8rem !important;
	padding-top: 1.8rem !important;
}

#site-header .site-logo img {
	height: auto !important;
	max-width: 17.2rem !important;
}

.primary-menu > li > a,
.modal-menu a {
	border-radius: 999px;
	padding: 0.85rem 1.15rem !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.primary-menu > li > a:hover,
.primary-menu > li > a:focus,
.modal-menu a:hover,
.modal-menu a:focus {
	background: rgba(245, 109, 27, 0.1);
	color: #3e3a39 !important;
	transform: translateY(-1px);
}

.topLead {
	background: #fff;
	border-bottom: 1px solid rgba(62, 58, 57, 0.08);
	margin: 0 auto;
	padding: 3.8rem 2rem 2.8rem;
	text-align: center;
}

.topLead p {
	color: #3e3a39;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.9;
	margin: 0 auto;
	max-width: 86rem;
}

.whatsnew--empty {
	padding: 2.6rem 2rem 3rem;
	text-align: center;
}

.whatsnew-coming-soon {
	color: #5c6618;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin: 0;
}

.whatsnew-empty-text {
	color: #6d6d6d;
	font-size: 1.4rem;
	line-height: 1.7;
	margin: 0.6rem 0 0;
}

a.to-the-top {
	align-items: center !important;
	background: #3e3a39 !important;
	border: 1px solid rgba(255, 255, 255, 0.55) !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 30px rgba(62, 58, 57, 0.26), 0 3px 0 rgba(245, 109, 27, 0.95) !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 1.3rem !important;
	font-weight: 700 !important;
	gap: 0.7rem !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	min-height: 4.8rem !important;
	min-width: 10.2rem !important;
	padding: 0 2rem !important;
	position: fixed !important;
	right: 2.4rem !important;
	bottom: 2.4rem !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
	z-index: 20 !important;
}

a.to-the-top::after {
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	content: "";
	display: block;
	height: 0.8rem;
	margin-left: 0.2rem;
	transform: rotate(-45deg) translateY(0.2rem);
	width: 0.8rem;
}

a.to-the-top:hover,
a.to-the-top:focus {
	background: #2f2b2a !important;
	box-shadow: 0 18px 34px rgba(62, 58, 57, 0.32), 0 3px 0 rgba(245, 109, 27, 1) !important;
	color: #fff !important;
	transform: translateY(-2px);
}

.bContent > ul > li,
article#post-99 .entry-content .bContent > ul > li {
	border: 1px solid rgba(62, 58, 57, 0.08) !important;
	box-shadow: 0 18px 38px rgba(62, 58, 57, 0.12), 0 2px 8px rgba(62, 58, 57, 0.06) !important;
	overflow: hidden;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.bContent > ul > li:hover,
article#post-99 .entry-content .bContent > ul > li:hover {
	box-shadow: 0 22px 46px rgba(62, 58, 57, 0.16), 0 4px 12px rgba(62, 58, 57, 0.08) !important;
	transform: translateY(-2px);
}

.recruit-job-nav {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0 auto 2.8rem;
	max-width: 74rem;
	padding: 0;
}

.recruit-job-nav__label {
	color: #5c6618;
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 1rem;
	text-align: center;
}

.recruit-job-nav ul {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.recruit-job-nav li {
	margin: 0;
}

.recruit-job-nav a {
	align-items: center;
	background: #f8faf4;
	border: 1px solid rgba(92, 102, 24, 0.16);
	border-radius: 0.8rem;
	color: #222 !important;
	display: flex;
	justify-content: center;
	min-height: 5.2rem;
	padding: 1.25rem 1.4rem;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.recruit-job-nav a::after {
	content: none;
}

.recruit-job-nav a:hover,
.recruit-job-nav a:focus {
	background: #fff;
	border-color: rgba(245, 109, 27, 0.42);
	box-shadow: none;
	transform: translateY(-2px);
}

.recruit-job-nav span {
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.45;
}

.recruit-job-nav small {
	display: none;
}

#job-officework,
#job-designer {
	scroll-margin-top: 10rem;
}

.cT_content .cT_FORM .cT_Btn a,
article#post-21 .btnArea input.wpcf7-submit,
article#post-21 .btnArea input.wpcf7-confirm {
	background: #3e3a39 !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 24px rgba(62, 58, 57, 0.18), 0 3px 0 rgba(245, 109, 27, 0.9) !important;
	color: #fff !important;
	display: inline-flex !important;
	font-weight: 700 !important;
	justify-content: center !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	min-width: 13rem !important;
	padding: 1.35rem 2.4rem !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	width: auto !important;
}

.cT_content .cT_FORM .cT_Btn a:hover,
.cT_content .cT_FORM .cT_Btn a:focus,
article#post-21 .btnArea input.wpcf7-submit:hover,
article#post-21 .btnArea input.wpcf7-submit:focus,
article#post-21 .btnArea input.wpcf7-confirm:hover,
article#post-21 .btnArea input.wpcf7-confirm:focus {
	background: #2f2b2a !important;
	box-shadow: 0 14px 30px rgba(62, 58, 57, 0.24), 0 3px 0 rgba(245, 109, 27, 1) !important;
	transform: translateY(-1px);
}

article#post-21 .entry-content {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 88rem !important;
	width: min(88rem, calc(100% - 4rem)) !important;
}

article#post-21 .btnArea {
	align-items: center;
	clear: both;
	display: flex;
	gap: 1.2rem;
	justify-content: flex-end;
	margin: 2.4rem 0 0 !important;
	width: 100%;
}

article#post-21 .btnArea input.wpcf7-confirm,
article#post-21 .btnArea input.wpcf7-back {
	display: none !important;
}

article#post-21 .btnArea input {
	float: none !important;
	margin: 0 !important;
	position: static !important;
}

article#post-21 .btnArea input.wpcf7-back {
	background: #fff !important;
	border: 1px solid rgba(62, 58, 57, 0.18) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #3e3a39 !important;
	min-width: 13rem !important;
	padding: 1.35rem 2.4rem !important;
	width: auto !important;
}

article#post-21 .wpcf7 {
	background: #fff;
	border: 1px solid rgba(62, 58, 57, 0.08);
	border-radius: 1.2rem;
	box-shadow: 0 18px 38px rgba(62, 58, 57, 0.08);
	margin-left: auto;
	margin-right: auto;
	max-width: 88rem;
	padding: 3.2rem;
}

.wpcf7 label {
	color: #3e3a39;
	font-size: 1.55rem;
	font-weight: 700;
	letter-spacing: 0;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
	background: #f8f8f6 !important;
	border: 1px solid rgba(62, 58, 57, 0.14) !important;
	border-radius: 0.8rem !important;
	box-shadow: none !important;
	color: #222 !important;
	font-size: 1.6rem !important;
	margin-top: 0.7rem !important;
	padding: 1.2rem 1.4rem !important;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
	width: 100% !important;
}

.wpcf7 textarea {
	min-height: 16rem;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	background: #fff !important;
	border-color: rgba(245, 109, 27, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(245, 109, 27, 0.12) !important;
	outline: none !important;
}

.contact-confirm-modal {
	align-items: center;
	background: rgba(34, 31, 30, 0.42);
	display: none;
	inset: 0;
	justify-content: center;
	padding: 2rem;
	position: fixed;
	z-index: 1000;
}

.contact-confirm-modal.is-open {
	display: flex;
}

.contact-confirm-dialog {
	background: #fff;
	border-radius: 1.2rem;
	box-shadow: 0 24px 60px rgba(34, 31, 30, 0.24);
	max-width: 58rem;
	padding: 3rem;
	width: 100%;
}

.contact-confirm-dialog h2 {
	font-size: 2.2rem;
	letter-spacing: 0;
	margin: 0 0 1.2rem;
	text-align: left;
}

.contact-confirm-note {
	color: #3e3a39;
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 0 0 1.8rem;
}

.contact-confirm-list {
	border-top: 1px solid rgba(62, 58, 57, 0.1);
	margin: 0;
}

.contact-confirm-list div {
	border-bottom: 1px solid rgba(62, 58, 57, 0.1);
	display: grid;
	gap: 1.2rem;
	grid-template-columns: 12rem 1fr;
	padding: 1.3rem 0;
}

.contact-confirm-list dt {
	color: #6d6d6d;
	font-size: 1.35rem;
	font-weight: 700;
}

.contact-confirm-list dd {
	color: #222;
	font-size: 1.45rem;
	line-height: 1.7;
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
}

.contact-mail-body {
	background: #f8faf4;
	border: 1px solid rgba(62, 58, 57, 0.12);
	border-radius: 0.8rem;
	color: #3e3a39;
	font-size: 1.3rem;
	line-height: 1.7;
	margin-top: 1.8rem;
	min-height: 15rem;
	padding: 1.2rem;
	resize: vertical;
	width: 100%;
}

.contact-copy-status {
	color: #5c6618;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0.8rem 0 0;
	min-height: 1.8rem;
}

.contact-confirm-actions {
	display: flex;
	gap: 1.2rem;
	justify-content: flex-end;
	margin-top: 2.4rem;
}

.contact-confirm-actions button {
	border-radius: 999px !important;
	font-size: 1.45rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	padding: 1.2rem 2.2rem !important;
	text-decoration: none !important;
}

.contact-confirm-cancel {
	background: #fff !important;
	border: 1px solid rgba(62, 58, 57, 0.18) !important;
	color: #3e3a39 !important;
}

.contact-copy-body {
	background: #fff !important;
	border: 1px solid rgba(92, 102, 24, 0.22) !important;
	color: #3e3a39 !important;
}

.contact-confirm-submit {
	background: #3e3a39 !important;
	border: 1px solid rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 8px 20px rgba(62, 58, 57, 0.18), 0 3px 0 rgba(245, 109, 27, 0.9) !important;
	color: #fff !important;
	text-decoration: none !important;
}

#site-footer {
	padding-bottom: 2rem !important;
	padding-top: 2rem !important;
}

#site-footer .section-inner {
	align-items: center;
	justify-content: center;
	text-align: center;
}

#site-footer .footer-credits {
	margin-left: auto;
	margin-right: auto;
}

#site-footer .footer-copyright {
	color: #3e3a39;
	font-size: 1.35rem !important;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0 !important;
}

#site-footer .footer-copyright a {
	color: inherit !important;
	text-decoration: none !important;
}

@media (max-width: 699px) {
	#site-header .tagLine {
		font-size: 1.2rem !important;
		padding: 0.45rem 1.2rem !important;
	}

	#site-header .header-inner {
		padding-bottom: 1.2rem !important;
		padding-top: 1.2rem !important;
	}

	#site-header .site-logo img {
		max-width: 13.8rem !important;
	}

	.topLead {
		padding: 2.8rem 1.8rem 2.2rem;
		text-align: left;
	}

	.topLead p {
		font-size: 1.45rem;
		line-height: 1.85;
	}

	.bContent,
	.conTact {
		padding-bottom: 4.8rem !important;
		padding-top: 4.8rem !important;
	}

	.bContent > ul,
	article#post-99 .entry-content .bContent > ul {
		gap: 2.4rem;
	}

	.bContent > ul > li,
	article#post-99 .entry-content .bContent > ul > li {
		margin-bottom: 2.4rem !important;
	}

	.recruit-job-nav {
		margin-bottom: 2.4rem;
		padding: 1.4rem;
	}

	.recruit-job-nav ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.recruit-job-nav a {
		min-height: 4.8rem;
		padding: 1.1rem 1rem;
	}

	.recruit-job-nav span {
		font-size: 1.25rem;
	}

	.cT_content .cT_TEL,
	.cT_content .cT_FORM {
		margin-bottom: 1.6rem !important;
	}

	article#post-21 .wpcf7 {
		border-radius: 1rem;
		padding: 2rem 1.6rem;
	}

	article#post-21 .entry-content {
		width: min(100%, calc(100% - 2.4rem)) !important;
	}

	article#post-21 .btnArea {
		justify-content: stretch;
		margin-top: 1.8rem !important;
	}

	article#post-21 .btnArea input.wpcf7-submit,
	article#post-21 .btnArea input.wpcf7-confirm,
	article#post-21 .btnArea input.wpcf7-back {
		width: 100% !important;
	}

	.contact-confirm-dialog {
		padding: 2.2rem 1.8rem;
	}

	.contact-confirm-list div {
		grid-template-columns: 1fr;
	}

	.contact-confirm-actions {
		flex-direction: column-reverse;
	}

	.contact-confirm-actions button {
		width: 100%;
	}

	#site-footer {
		padding-bottom: 7.2rem !important;
		padding-top: 1.6rem !important;
	}

	#site-footer .footer-copyright {
		font-size: 1.2rem !important;
	}

	a.to-the-top {
		bottom: 1.4rem !important;
		font-size: 1.15rem !important;
		min-height: 4.2rem !important;
		min-width: 8.8rem !important;
		padding: 0 1.5rem !important;
		right: 1.4rem !important;
	}
}
