@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/aquawolf04/font-awesome-pro@5cd1511/css/all.css');

.ctt_admin { display:none !important; } /* Admin Menu Disabled */

#contactWrap {
	padding-bottom:5rem;
	display:flex;
	align-items:flex-start;
}
#contactWrap article:nth-of-type(1) { width:40%; margin-right:2.5rem; }
#contactWrap article:nth-of-type(2) { width:60%; margin-left:2.5rem; }
#contactWrap article h1 {
	font-size:2rem;
	color:#000;
	font-weight:700;
	word-break:keep-all;
}
#contactWrap article p {
	font-size:1rem;
	color:#919191;
	font-weight:400;
	word-break:keep-all;
	margin-top:1rem;
}
#contactWrap article ul {
	margin-top:1rem;
	display:flex;
	flex-direction:column;
}
#contactWrap article li {
	margin-top:0.5rem;
	display:flex;
	align-items:flex-start;
}
#contactWrap article li:first-child { align-items:center; }
#contactWrap article li.addr { align-items:flex-start !important; }
#contactWrap article li span {
	min-width:70px;
	font-size:1rem;
	color:#000;
	font-weight:700;
	word-break:keep-all;
}
#contactWrap article li p {
	font-size:1rem;
	color:#000;
	font-weight:400;
	word-break:keep-all;
	margin:0;
}

#formBox {
	width:100%;
	max-width:600px;
}
#formBox .formList { position:relative; }
#formBox .formList ul {
	width:100%;
	display:flex;
	flex-direction:column;
}
#formBox .frmRow {
	width:100%;
	margin:0.5rem 0;
	display:flex;
	align-items:center;
}
#formBox .frmRow span {
	min-width:100px;
	font-size:1rem;
	color:#000;
	font-weight:400;
}
#formBox .frmRow label {
	width:100%;
	margin-top:0.6rem;
	display:flex;
	align-items:center;
}
#formBox .frmRow input.frmTel { width:30%; }
#formBox .frmRow em {
	min-width:2rem;
	font-size:1rem;
	color:#919191;
	font-weight:400;
	font-style:normal;
	padding:0 0.3rem;
	text-align:center;
}
#formBox input.frmInput {
	font-size:1rem;
	font-weight:400;
	padding:0.3rem 0;
	background-color:#fff;
	border:0;
	box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.15);
}
#formBox input.fullInput { width:100%; }
#formBox input.pointer { cursor:pointer; }
#formBox input.frmInput:focus { border:0 !important; }
#formBox textarea.frmTextarea {
	height:100px;
	font-size:1rem;
	font-weight:400;
	padding:0.6rem 0;
	background-color:#fff;
	border:1px solid rgba(0,0,0,0.15);
}
#formBox textarea.frmTextarea::placeholder {
	color:#919191;
	font-weight:300;
}
#formBox textarea.frmTextarea:focus {
	border:1px solid rgba(0,0,0,0.6) !important;
	box-shadow:none !important;
}

#formBox .agreeFrm {
	position:relative;
	margin-top:1rem;
	display:flex;
	justify-content:flex-end;
}
#formBox .agreeFrm a.privacyView {
	font-size:1rem;
	color:#424242;
	font-weight:400;
	border-bottom:1px solid transparent;
}
#formBox .agreeFrm a.privacyView:hover {
	color:#000;
	border-bottom:1px solid #000;
}
#privacy {
	position:absolute;
	left:50%;
	bottom:2rem;
	width:100%;
	max-width:600px;
	background-color:#fff;
	border:1px solid #dbdbdb;
	box-shadow:0 4px 12px -4px rgba(0, 0, 0, .15);
	transform:translateX(-50%);
	display:none;
	opacity:0;
	z-index:1;
}
#privacy.on {
	display:block;
	animation:privacyShow 0.3s ease-in-out forwards;
}
@keyframes privacyShow {
	from {
		margin-bottom:-10px;
		opacity:0;
	}
	to {
		margin-bottom:0;
		opacity:1;
	}
}
#privacy:before {
	content:"";
	position:absolute;
	bottom:-7px;
	left:50%;
	border-top:7px solid #dbdbdb;
	border-left:7px solid transparent;
	border-right:7px solid transparent;
	border-bottom:0;
	transform:translateX(-50%);
}
#privacy:after {
	content:"";
	position:absolute;
	bottom:-6px;
	left:50%;
	border-top:6px solid #fafafa;
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	border-bottom:0;
	transform:translateX(-50%);
}
#privacy textarea {
	width:100%;
	font-size:1rem;
	color:#424242;
	font-weight:400;
	padding:2rem !important;
	background-color:#fff;
	border:0;
}
#privacy textarea:focus {
	border:0 !important;
	box-shadow:none !important;
}
#privacy .privacyClose {
	position:absolute;
	top:8px;
	right:8px;
	width:40px;
	height:40px;
	font-size:2rem;
	color:#424242;
	display:flex;
	align-items:center;
	justify-content:center;
}
#privacy .privacyInfo {
	padding:2rem;
	background-color:#fafafa;
}
#privacy .privacyInfo h1 {
	font-size:1.1rem;
	color:#000;
	font-weight:700;
}
#privacy .privacyInfo p {
	font-size:0.9rem;
	color:#424242;
	font-weight:400;
}
#privacy .privacyInfo dl {
	margin-top:1rem;
	display:flex;
}
#privacy .privacyInfo dt {
	width:30%;
	background-color:#fff;
}
#privacy .privacyInfo dt:last-child { width:40%; }
#privacy .privacyInfo dt strong {
	font-size:0.9rem;
	color:#000;
	font-weight:600;
	padding:0.5rem;
	word-break:keep-all;
	border-bottom:1px solid rgba(0,0,0,0.1);
	text-align:center;
	display:block;
}
#privacy .privacyInfo dt:not(:last-child) { border-right:1px solid rgba(0,0,0,0.1); }
#privacy .privacyInfo dt span {
	font-size:0.9rem;
	color:#424242;
	font-weight:400;
	word-break:keep-all;
	padding:0.5rem;
	text-align:center;
	display:block;
}

#btnConfirm {
	margin-top:1rem;
	text-align:right;
}
#btnConfirm .button {
	font-size:1rem;
	color:#fff;
	font-weight:500;
	word-break:keep-all;
	margin-top:auto;
	margin-left:auto;
	padding:0.6rem 2rem;
	border:0;
	border-radius:0;
	outline:0;
	cursor:pointer;
	display:inline-block;
}
#btnConfirm .button.submit { background-color:#000; }

#alertBox {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	display:none;
	z-index:9;
}
#alertBox:before {
	content:"";
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
#alertBox .alert {
	position:absolute;
	top:50%;
	left:50%;
	padding:1.6rem;
	background-color:#fff;
	border:1px solid #dbdbdb;
	box-shadow:0 4px 12px -4px rgba(0, 0, 0, .15);
	transform:translate(-50%, -50%);
	z-index:1;
}
#alertBox .alert p {
	font-size:1rem;
	color:#212121;
	margin:0;
}
#alertBox .alertClose {
	position:absolute;
	top:-10px;
	right:-10px;
	width:30px;
	height:30px;
	font-size:1rem;
	color:#fff;
	background-color:#000;
	border-radius:50%;
	box-shadow:0 3px 6px -3px rgba(0, 0, 0,0.15);
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}

#map {
	width:100%;
	height:500px;
	margin-top:1rem;
	filter:grayscale(1);
}

/*
+--------------------------------------------------------------------------------------+
+ Desktop Device greater than 1201px											+
+--------------------------------------------------------------------------------------+
*/
@media all and (min-width:1201px) {

}

/*
+--------------------------------------------------------------------------------------+
+ Tablet Device Less than 769px or greater than 1200px					+
+--------------------------------------------------------------------------------------+
*/
@media all and (min-width:769px) and (max-width:1200px) {
	#contactWrap {
		padding-bottom:0;
		display:flex;
		flex-direction:column-reverse;
	}
	#contactWrap article:nth-of-type(1) {
		width:100%;
		margin:2rem 0 0 0;
		padding-top:1rem;
		border-top:1px solid #eaeaea;
	}
	#contactWrap article:nth-of-type(2) { width:100%; margin:0; }
	#contactWrap article p { font-size:0.95rem; }
	#contactWrap article li {
		margin-top:1rem;
		flex-direction:column;
	}
	#contactWrap article li span,
	#contactWrap article li p { font-size:0.95rem; }

	#formBox {
		width:100%;
		max-width:100%;
	}
	#formBox .frmRow span { font-size:0.95rem; }
	#formBox input.frmInput { margin-top:0.5rem; }
	#formBox .agreeFrm a.privacyView { font-size:0.95rem; }

	#map { height:400px; }
}

/*
+----------------------------------------------------------+
+ Mobile Device Less than 768px					+
+----------------------------------------------------------+
*/
@media all and (max-width:769px) {
	#contactWrap {
		padding-bottom:0;
		display:flex;
		flex-direction:column-reverse;
	}
	#contactWrap article:nth-of-type(1) {
		width:100%;
		margin:2rem 0 0 0;
		padding-top:1rem;
		border-top:1px solid #eaeaea;
	}
	#contactWrap article:nth-of-type(2) { width:100%; margin:0; }
	#contactWrap article p { font-size:0.9rem; }
	#contactWrap article li {
		margin-top:1rem;
		flex-direction:column;
	}
	#contactWrap article li span,
	#contactWrap article li p { font-size:0.9rem; }

	#formBox {
		width:100%;
		max-width:100%;
	}
	#formBox .frmRow {
		flex-direction:column;
		align-items:flex-start;
	}
	#formBox .frmRow span { font-size:0.9rem; }
	#formBox input.frmInput { margin-top:0.5rem; }
	#formBox .agreeFrm a.privacyView { font-size:0.9rem; }

	#privacy .privacyInfo { padding:2rem 1rem 1rem 1rem; }
	#privacy .privacyInfo dl { flex-direction:column; }
	#privacy .privacyInfo dt {
		width:100% !important;
		padding:0.5rem 1rem;
		border:0 !important;
	}
	#privacy .privacyInfo dt strong,
	#privacy .privacyInfo dt span {
		padding:0;
		border:0;
		text-align:left;
	}

	#map { height:300px; }
}