@charset "UTF-8";
.locations .bigs {
		display: grid;
		align-items: flex-start;
}
.locations .bigs .search-location {
		grid-area: search;
}
.locations .bigs .list {
		grid-area: list;
		font-weight: 300;
		font-size: 16px;
		color: var(--grey900);
		letter-spacing: -0.01em;
		container-type: inline-size;
		container-name: locations-list;
}
.locations .list ul {
		list-style: none;
		margin: 0;
		padding: 0;
		column-gap: 18px;
		column-count: 4;
}
.locations .list a, .locations .others li a {
		color: var(--grey900);
}
@media (pointer:fine) {
		.locations .list a:hover, .locations .others li a:hover {
				color: var(--hover);
		}
}
.locations .list .bold {
		font-weight: 500;
}
.locations .list li, .locations .others li {
		display: inline-block;
		vertical-align: top;
		width: 100%;
		margin: 0;
		padding: 0 0 0 27px;
}
.locations .list li {
		padding-top: 9px;
		padding-bottom: 9px;
}
.locations .others li {
		padding-top: 10px;
		padding-bottom: 10px;
}
.locations .list li:before, .locations .others li:before {
		content: '—';
		display: inline-block;
		vertical-align: top;
		position: relative;
		width: 27px;
		margin: -0.125em 0 -0.3em -27px;
		text-align: left;
		padding: 0;
		color: var(--grey500);
		font-weight: 250;
		font-size: 18px;
		font-family: var(--fontg);
}
@container locations-list (max-width: 800px) {
		.locations .list ul {
				column-count: 3;
		}
}
@container locations-list (max-width: 600px) {
		.locations .list ul {
				column-count: 2;
		}
}
@container locations-list (max-width: 400px) {
		.locations .list ul {
				column-count: 1;
		}
}
.locations .bigs .map {
		grid-area: map;
		position: relative;
}
.locations .bigs .map img {
		width: 100%;
		height: auto;
}
.search-location {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 10px 15px;
		justify-content: space-between;
		container-type: inline-size;
		container-name: search-location;
}
.search-location .input {
		flex: 0 0 auto;
		width: calc(100% - 161px);
		position: relative;
}
.search-location .input input {
		padding-left: 30px;
		padding-right: 60px;
		height: 60px;
		border-radius: 30px;
		font-weight: 500;
		font-size: 15px;
		color: var(--grey800);
		text-overflow: ellipsis;
}
@media (pointer:fine) {
		.search-location .input input:not(:hover) {
				border-color: transparent;
		}
}
.search-location .input input::-webkit-input-placeholder {
		font-size: 16px;
}
.search-location .input input::-moz-placeholder {
		font-size: 16px;
}
.search-location .input input:-ms-input-placeholder {
		font-size: 16px;
}
.search-location .input svg {
		position: absolute;
		top: 50%;
		right: 30px;
		margin: -10px 0;
		width: 20px;
		height: 20px;
		fill: var(--sec-dark);
		pointer-events: none;
		transition: fill 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.search-location .input input:not(:placeholder-shown) ~ svg {
		fill: var(--grey800);
}
.search-location .btn {
		flex: 0 0 auto;
		padding: 0;
		width: 146px;
		box-shadow: none;
		font-size: 16px;
}
.search-location .btn-yellow {
		box-shadow: 0px 0.5px 1px rgba(0, 0, 0, 0.15), inset 0px -0.5px 0px rgba(186, 143, 0, 0.5);
}
@container search-location (max-width: 600px) {
		.search-location .input, .search-location .btn {
				width: 100%;
		}
}
.search-location .text {
		flex: 0 0 auto;
		width: 100%;
		font-weight: 300;
		font-size: 13px;
		letter-spacing: -0.01em;
		padding: 2px 0 2px 5px;
		color: var(--grey600);
		margin-top: 5px;
}
.locations .others {
		margin-top: 60px;
}
.locations .others h3, .locations .others .h3 {
		font: 500 18px/30px var(--fonti);
		letter-spacing: -0.01em;
		color: var(--grey800);
		margin: 0 0 25px 0;
		display: flex;
		align-items: center;
		gap: 0 15px;
}
.locations .others h3 img, .locations .others .h3 img {
		flex: 0 0 auto;
		width: 30px;
		height: 30px;
		object-fit: cover;
		object-position: center;
		border-radius: 50%;
}
.locations .others .cols {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 40px 0;
}
.locations .others .col-l, .locations .others .col-r {
		flex: 0 0 auto;
		width: 100%;
		container-type: inline-size;
		container-name: locations-others;
}
.locations .others ul.region {
		list-style: none;
		margin: 0;
		padding: 0;
		column-gap: 0;
		font-weight: 300;
		font-size: 15px;
		letter-spacing: -0.01em;
		color: var(--grey800);
}
@container locations-others (min-width: 450px) {
		.locations .others ul.region {
				column-count: 2;
		}
}
@container locations-others (min-width: 775px) {
		.locations .others ul.region {
				column-count: 3;
				column-gap: 20px;
		}
}
@container locations-others (min-width: 1040px) {
		.locations .others ul.region {
				column-count: 4;
		}
}
@container locations-others (min-width: 1305px) {
		.locations .others ul.region {
				column-count: 5;
		}
}
.locations .others li a {
		text-decoration: underline;
}
.locations .others ul.region li ul.list_town {
    padding-left: 18px;
    list-style: disc;
    display: none;
    font-size: 14px;
}
ul.region li span {
   
    border-bottom: 1px dashed #2454b4;
    cursor: pointer;
    font-size: 16px;
}
@media only screen and (max-width: 767px) {
		.locations .bigs {
				margin-top: 30px;
				gap: 20px 0;
		}
		.locations .list li, .locations .others li {
				padding-top: 0;
				padding-bottom: 0;
		}
}
@media only screen and (max-width: 1023px) {
		.locations .bigs .map {
				display: none;
				visibility: hidden;
		}
		.locations .bigs {
				grid-template-areas:
						"search"
						"list";
				grid-template-columns: 100%;
				grid-template-rows: 1fr auto;
		}
}
@media only screen and (min-width: 768px) {
		.locations .bigs {
				gap: 40px 0;
		}
		.search-location {
				padding-right: 35px;
				padding-left: 27px;
		}
		.search-location .input input {
				border-radius: 5px;
				padding-right: 15px;
				padding-left: 62px;
		}
		.search-location .input input::-webkit-input-placeholder {
				font-size: 15px;
		}
		.search-location .input input::-moz-placeholder {
				font-size: 15px;
		}
		.search-location .input input:-ms-input-placeholder {
				font-size: 15px;
		}
		.search-location .input svg {
				right: auto;
				left: 22px;
		}
		.locations .others {
				margin-top: 85px;
				margin-bottom: 30px;
		}
		.locations .others .cols {
				margin-top: 50px;
		}
		.locations h2, .locations .h2 {
				color: var(--grey700);
				letter-spacing: normal;
		}
		.locations .others .col-l {
				width: 66.666666%;
		}
		.locations .others .col-r {
				width: 33.333333%;
		}
}
@media only screen and (min-width: 1024px) {
		.locations .bigs {
				grid-template-areas:
						"list map"
						"search search";
				grid-template-columns: 56.5% 43.5%;
		}
		.locations .bigs .map {
				position: sticky;
				top: 110px;
				margin-bottom: 170px;
		}
		.locations .others .col-l {
				width: 76%;
		}
		.locations .others .col-r {
				width: 24%;
		}
}
@media only screen and (min-width: 1280px) {
		.locations .bigs {
				grid-template-areas:
						"list map"
						"search map";
		}
}