@media (min-width: 1500px){
footer.footer {
--grid-template: max-content max-content max-content / max-content 1fr max-content;
--justify-content: space-between;
--column-gap: 50px;
--row-gap: 30px;
--logo-width: 140px;
}
.footer-map {
--map-height: 570px;
--box-top: 120px;
--box-width1: 400px;
--box-width2: 350px;
--grid-template: var(--map-height) / 1fr;
--area-map: 1 / 1 / 2 / 2;
}
aside.footer {
--grid-template: min-content / 1fr 1fr;
--justify-content: stretch;
--row-gap: 0px;
--copy-justify: start;
--copy-align: left;
--design-justify: end;
--design-align: right;
}
}

@media (min-width: 1200px) and (max-width: 1499px){
footer.footer {
--grid-template: max-content max-content max-content / max-content 1fr max-content;
--justify-content: space-between;
--column-gap: 30px;
--row-gap: 30px;
--logo-width: 130px;
}
.footer-map {
--map-height: 560px;
--box-top: 120px;
--box-width1: 350px;
--box-width2: 350px;
--grid-template: var(--map-height) / 1fr;
--area-map: 1 / 1 / 2 / 2;
}
aside.footer {
--grid-template: min-content / 1fr 1fr;
--justify-content: stretch;
--row-gap: 0px;
--copy-justify: start;
--copy-align: left;
--design-justify: end;
--design-align: right;
}
}

@media (min-width: 992px) and (max-width: 1199px){
footer.footer {
--grid-template: max-content max-content max-content / max-content 1fr max-content;
--justify-content: space-between;
--column-gap: 10px;
--row-gap: 20px;
--logo-width: 120px;
}
.footer-map {
--map-height: 540px;
--box-top: 120px;
--box-width1: 300px;
--box-width2: 320px;
--grid-template: var(--map-height) / 1fr;
--area-map: 1 / 1 / 2 / 2;
}
aside.footer {
--grid-template: min-content / 1fr 1fr;
--justify-content: stretch;
--row-gap: 0px;
--copy-justify: start;
--copy-align: left;
--design-justify: end;
--design-align: right;
}
}

@media (min-width: 768px) and (max-width: 991px){
footer.footer {
--grid-template: max-content max-content max-content max-content max-content / 1fr;
--justify-content: stretch;
--column-gap: 20px;
--row-gap: 40px;
--logo-width: 120px;
}
.footer-map {
--map-height: 400px;
--grid-template: max-content var(--map-height) / 1fr 1fr;
--area-map: 2 / 1 / 3 / 3;
--area-fr-1: 1 / 1 / 2 / 2;
--area-fr-2: 1 / 2 / 2 / 3;
}
aside.footer {
--grid-template: min-content / 1fr 1fr;
--justify-content: stretch;
--row-gap: 0px;
--copy-justify: start;
--copy-align: left;
--design-justify: end;
--design-align: right;
}
}

@media (min-width: 576px) and (max-width: 767px){
footer.footer {
--grid-template: max-content max-content max-content max-content max-content / 1fr;
--justify-content: stretch;
--column-gap: 20px;
--row-gap: 40px;
--logo-width: 120px;
}
.footer-map {
--map-height: 400px;
--grid-template: max-content max-content var(--map-height) / 1fr;
--area-map: 3 / 1 / 4 / 2;
--area-fr-1: 1 / 1 / 2 / 2;
--area-fr-2: 2 / 1 / 3 / 2;
}
aside.footer {
--grid-template: min-content / 1fr 1fr;
--justify-content: stretch;
--row-gap: 0px;
--copy-justify: start;
--copy-align: left;
--design-justify: end;
--design-align: right;
}
}

@media (max-width: 575px){
footer.footer {
--grid-template: max-content max-content max-content max-content max-content / 1fr;
--justify-content: center;
--column-gap: 0px;
--row-gap: 40px;
--logo-width: 110px;
}
.footer-map {
--map-height: 400px;
--grid-template: max-content max-content var(--map-height) / 1fr;
--area-map: 3 / 1 / 4 / 2;
--area-fr-1: 1 / 1 / 2 / 2;
--area-fr-2: 2 / 1 / 3 / 2;
}
aside.footer {
--grid-template: min-content min-content / 1fr;
--justify-content: stretch;
--row-gap: 5px;
--copy-justify: center;
--copy-align: center;
--design-justify: center;
--design-align: center;
}
}


footer.footer {
	min-width: var(--min-width);
	color: var(--color-9);
	background-color: var(--color-4);
	font-size: var(--font-low-size);
}
footer.footer .footer-grid {
	display: grid;
	grid-template: var(--grid-template);
	justify-content: var(--justify-content);
	row-gap: var(--row-gap);
	column-gap: var(--column-gap);
}
footer.footer .h {
	font-size: var(--font-size);
	margin-bottom: 3.5em;
}
footer.footer .e1 .h {
	margin-bottom: 1em;
}
footer.footer address {
	font-style: normal;
}
footer.footer a {
	color: var(--color-9);
	text-decoration: none;
}
footer.footer a:hover {
	color: var(--color-10);
}
footer.footer .logo > img {
	width: var(--logo-width);
}
footer.footer p {
	line-height: 1.5em;
	margin-bottom: 1em;
}
footer.footer p:last-child {
	margin-bottom: 0;
}
footer.footer .logo {
	margin-bottom: 2.5em;
}
footer.footer p a {
	font-weight: 700;
}
footer.footer ul {
	list-style: none;
	margin: 0;
}
footer.footer ul > li {
	text-align: left;
}
footer.footer ul > li::marker {
	content: '';
}
footer.footer .footer-menu-grid {
	display: grid;
	grid-template: 1fr / max-content max-content;
	justify-content: stretch;
	column-gap: calc(var(--column-gap) * 2);
}
footer.footer .footer-menu-2 {
	display: grid;
	justify-content: left;
	column-gap: calc(var(--column-gap) * 0.75);
	grid-auto-flow: column;
	font-size: calc(var(--font-low-size) - 1px);
}
footer.footer .footer-menu-2 li {
	margin-bottom: 0;
}
footer.footer .footer-menu-2 a {
	color: var(--color-2);
}
footer.footer .footer-menu-2 a:hover {
	color: var(--color-9);
}
footer.footer .e1 .h br {
	display: none;
}

@media (min-width: 992px) and (max-width: 1199px){
footer.footer .e1 span {
	display: none;
}
footer.footer .e1 .h br {
	display: inline;
}
}

footer.footer .e5 {
	color: var(--color-a-2-3);
	font-size: calc(var(--font-low-size) - 1px);
}


@media (min-width: 992px){
footer.footer .e1 {
	grid-area: 1 / 1 / 2 / 2;
	place-self: start start;
}
footer.footer .e1 p {
	text-align: left;
}
footer.footer .e2 {
	grid-area: 1 / 2 / 2 / 3;
	place-self: start center;
	text-align: left;
}
footer.footer .e2 p {
	text-align: left;
}
footer.footer .e3 {
	grid-area: 1 / 3 / 2 / 4;
	place-self: start end;
	text-align: left;
}
footer.footer .e3 p {
	text-align: left;
}
footer.footer .e4 {
	grid-area: 2 / 1 / 3 / 4;
	place-self: start stretch;
	text-align: left;
}
footer.footer .e5 {
	grid-area: 3 / 1 / 4 / 3;
	place-self: start start;
	text-align: left;
}
}

@media (max-width: 991px){
footer.footer .e1 {
	grid-area: 1 / 1 / 2 / 2;
	place-self: start center;
}
footer.footer .e1 p {
	text-align: center;
}
footer.footer .e2 {
	grid-area: 2 / 1 / 3 / 2;
	place-self: start stretch;
	text-align: center;
}
footer.footer .e2 p {
	text-align: center;
}
footer.footer .e3 {
	grid-area: 3 / 1 / 4 / 2;
	place-self: start center;
	text-align: center;
}
footer.footer .e3 p {
	text-align: center;
}
footer.footer .e4 {
	grid-area: 4 / 1 / 5 / 2;
	place-self: start center;
	text-align: left;
}
footer.footer .e5 {
	grid-area: 5 / 1 / 6 / 2;
	place-self: start stretch;
	text-align: center;
}
footer.footer .h {
	margin-bottom: 1.2em;
}
.address-icon {
	justify-content: center;
}
footer.footer .footer-menu-grid {
	justify-content: space-around;
}
footer.footer ul:first-child > li {
	text-align: left;
}
footer.footer ul:last-child > li {
	text-align: right;
}
footer.footer ul.e4 > li {
	text-align: center;
}
footer.footer .logo {
	margin-bottom: 1.5em;
}
}

@media (max-width: 575px){
footer.footer .footer-menu-grid {
	display: grid;
	grid-template: max-content max-content / 1fr;
	justify-content: center;
	column-gap: 0px;
	row-gap: 1em;
}
footer.footer ul:first-child > li {
	text-align: center;
}
footer.footer ul:last-child > li {
	text-align: center;
}
footer.footer .footer-menu-2 {
	column-gap: 0px;
	grid-auto-flow: row;
	row-gap: 1em;
}
}

aside.footer {
	background-color: var(--color-4);
	color: var(--color-a-2-3);
	font-size: calc(var(--font-low-size) - 1px);
	font-weight: 400;
	padding: 2em 0 2em 0;
}
aside.footer a {
	color: var(--color-2);
	font-weight: 500;
}
aside.footer a:hover {
	color: var(--color-9);
	text-decoration: none;
}
aside.footer .grid {
	display: grid;
	grid-template: var(--grid-template);
	justify-content: var(--justify-content);
	row-gap: var(--row-gap);
	align-items: center;
}
aside.footer .copy {
	justify-self: var(--copy-justify);
	text-align: var(--copy-align);
	line-height: 1.3em;
	grid-area: var(--copy-area);
}
aside.footer .design {
	justify-self: var(--design-justify);
	text-align: var(--design-align);
	line-height: 1.3em;
	grid-area: var(--design-area);
}


.footer-map {
	position: relative;
	display: grid;
	grid-template: var(--grid-template);
	place-items: stretch stretch;
	background-color: var(--color-9);
}
.footer-map > iframe {
	grid-area: var(--area-map);
}
.footer-map .icon {
	position: absolute;
	top: calc(0px - ((60px / var(--main-ratio)) / 2));
	left: calc(50% - ((60px / var(--main-ratio)) / 2));
	background-color: var(--color-4);
	display: grid;
	grid-template: calc(60px / var(--main-ratio)) / calc(60px / var(--main-ratio));
	place-items: center center;
	border-radius: 100%;
	box-shadow: 3px 3px 3px 0 var(--color-a-4-1);
}
.footer-map .icon > img {
	width: 60%;
}
.footer-map .frame {
	background-color: var(--color-8);
	border-radius: 5px;
	box-shadow: 10px 10px 0 0 rgba(204,201,197,0.5);
	padding: calc(3% + ((60px / var(--main-ratio)) / 2)) 5% calc(5% + ((40px / var(--main-ratio)) / 2)) 5%;
}
.footer-map .frame > * {
	text-align: center;
	margin-bottom: calc(10px / var(--main-ratio));
}
.footer-map .frame > *:last-child {
	margin-bottom: 0px;
}
.footer-map .frame > *:first-child {
	font-variant-caps: small-caps;
	letter-spacing: 1px;
}
.footer-map .frame > p:not([text-low]) {
	font-size: calc(var(--font-size) - 3px );
}
.footer-map .frame > p.text-low {
	font-size: calc(var(--font-low-size) - 1px );
}
.footer-map .frame > h6 {
	font-size: var(--font-size);
}
.footer-map .control {
	position: absolute;
}
.footer-map .control > .button {
	border-radius: 100%;
	padding: 0;
	grid-template: calc(40px / var(--main-ratio)) / calc(40px / var(--main-ratio));
}
.footer-map form > div {
	position: relative;
	background-color: var(--color-2);
	border-radius: 10px;
	padding: 0px 10px 0px 10px;
	display: grid;
	grid-template: calc(60px / var(--main-ratio)) / 1fr;
	place-items: center start;
	margin: 20px 20px 20px 0px;
}
.footer-map form .form-button {
	right: calc(0px - ((40px / var(--main-ratio)) / 2));
}
.footer-map form .form-button > .button:hover > div {
	transform: translateX(5px);
}
.footer-map form input[type="text"] {
	font-size: var(--font-size);
	font-family: inherit;
	font-weight: 600;
	line-height: 1.3em;
	color: var(--color-4);
	width: 100%;
	margin: 0;
	grid-area: 1 / 1 / 2 / 2;
}
.footer-map form label {
	font-size: var(--font-size);
	font-weight: 600;
	line-height: 1.3em;
	color: var(--color-4);
	transition: all var(--transition-duration) var(--transition-timing) 0s;
	cursor: pointer;
	grid-area: 1 / 1 / 2 / 2;
	opacity: 1;
	width: 100%;
	text-align: left;
}
.footer-map form input[type="text"]:not([value=""]) + label, .footer-map form input[type="text"]:focus + label {
	transform: scaleX(0);
	transform-origin: left center;
}
.footer-map .close-button {
	transform: rotate(180deg);
	bottom: calc(0px - ((40px / var(--main-ratio)) / 2));
	left: calc(50% - ((40px / var(--main-ratio)) / 2));
	transition: transform var(--transition-duration) var(--transition-timing) 0s;
}
.footer-map .close-button > .button:hover > div {
	transform: translateY(5px);
}

@media (min-width: 992px){
.footer-map > .fr {
	position: absolute;
	top: var(--box-top);
	z-index: 1;
	grid-area: 1 / 1 / 2 / 2;
}
.footer-map .frame {
	max-height: 2000px;
	transition: max-height var(--transition-duration) var(--transition-timing) 0s;
	overflow: hidden;
}
.footer-map > .fr-1 {
	left: var(--container-param-left);
	width: var(--box-width1);
}
.footer-map > .fr-2 {
	right: var(--container-param-right);
	width: var(--box-width2);
}
.footer-map .icon {
	transform: scale(1);
	transition: transform var(--transition-duration) var(--transition-timing) 0s, padding var(--transition-duration) var(--transition-timing) 0s;
}
.footer-map.hidden .frame {
	max-height: 0px;
	padding: 0%;
}
.footer-map.hidden .icon {
	transform: scale(0);
}
.footer-map.hidden .close-button {
	transform: rotate(0deg);
}
}

@media (max-width: 991px){
.footer-map {
	column-gap: calc(60px / var(--main-ratio));
	row-gap: calc(60px / var(--main-ratio));
	padding-top: calc(60px / var(--main-ratio));
}
.footer-map > .fr {
	position: relative;
	display: grid;
	grid-template: 1fr / 1fr;
	place-items: stretch stretch;
}
.footer-map > .fr-1 {
	grid-area: var(--area-fr-1);
}
.footer-map > .fr-2 {
	grid-area: var(--area-fr-2);
}
.footer-map .close-button {
	display: none;
}
}

@media (min-width: 768px) and (max-width: 991px){
.footer-map > .fr-1 {
	margin-left: var(--container-param-left);
}
.footer-map > .fr-2 {
	margin-right: var(--container-param-right);
}
}

@media (max-width: 767px){
.footer-map > .fr {
	margin-left: var(--container-param-left);
	margin-right: var(--container-param-right);
}
}

.footer-caption {
	background-color: var(--color-4);
}
.footer-caption > div > * {
	color: var(--color-10);
}