@charset "UTF-8";
.contact-main {
		padding-top: 100px;
}
.contact-main .h1 {
		font-weight: 600;
		line-height: 1;
		max-width: 4.21em;
		font-size: 83px;
		text-transform: none;
		margin-bottom: 50px;
}
.contact-main .h1 > * {
		display: block;
}
.contact-main .h1 > *:not(:first-child) {
		margin-top: -0.075em;
}
@media only screen and (max-width: 390px) {
		.contact-main .h1 {
				font-size: 5.1875rem;
		}
}
.contact-main .h1 > *:last-child {
		text-align: right;
}
.contact-main .pic {
		position: relative;
		aspect-ratio: 1/1;
}
@media only screen and (max-width: 759px) {
		.contact-main .pic {
				display: none;
		}
}
.contact-main .pic video, .contact-main .pic img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.contact-main .list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 32px 0;
		font-weight: 600;
		font-size: 18px;
		line-height: 1.3;
		color: var(--white);
}
.contact-main .list > li {
		flex: 0 0 auto;
		width: calc(50% - 10px);
		margin: 0;
		padding: 0;
}
.contact-main .list > li:before {
		display: none;
}
.contact-main .list > .email, .contact-main .list > .soc {
		width: 100%;
		max-width: none;
}
.contact-main .list .h3 {
		font-weight: 500;
		font-size: 16px;
		line-height: 1.1;
		color: var(--grey);
		margin: 0 0 11px 0;
}
.contact-main .list .email {
		font-size: 52px;
		line-height: 1;
		margin-bottom: 20px;
}
@media only screen and (max-width: 390px) {
		.contact-main .email {
				font-size: 3.25rem;
		}
}
.contact-main .email .h3 {
		display: none;
}
.contact-main .email .wrap {
		position: relative;
		display: inline-block;
		vertical-align: top;
}
.contact-main .email a {
		text-decoration: none;
		color: inherit;
}
.contact-main .email .btn {
		font: inherit;
		position: absolute;
		top: 0.5em;
		transform: translate3d(0, -50%, 0);
		right: 0;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		padding: 0;
		margin: 0;
		min-width: 0;
}
.contact-main .email .btn img {
		flex: 0 0 auto;
		width: auto;
		height: auto;
		max-width: 40%;
		max-height: 40%;
}
.contact-main .list-soc {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin: 18px 0 0 0;
		padding: 0;
		gap: 8px;
}
.contact-main .list-soc li {
		flex: 0 0 auto;
		margin: 0;
		padding: 0;
}
.contact-main .list-soc li:before {
		display: none;
}
@media only screen and (max-width: 759px) {
		.contact-main .list-soc .btn {
				min-width: 0;
				padding-left: 18px;
				padding-right: 18px;
				height: 52px;
				border-radius: 26px;
		}
}
@media only screen and (min-width: 760px) {
		.contact-main .container {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
		}
		.contact-main .head {
				flex: 0 0 auto;
				width: 350px;
		}
		.contact-main .pic {
				max-width: 470px;
		}
		.contact-main .text {
				flex: 0 0 auto;
				width: calc(100% - 390px);
				min-width: 350px;
				padding-top: 43px;
		}
}
@media only screen and (min-width: 1000px) {
		.contact-main {
				padding-top: 150px;
				margin-bottom: calc((var(--vspace-small) * -1) + 30px);
		}
		.contact-main .h1 {
				font-size: 8.125rem;
				margin-bottom: 20px;
		}
		.contact-main .head {
				width: 43%;
		}
		.contact-main .text {
				width: 47%;
				min-width: 29.25rem;
				padding-top: 6.5rem; /*104px*/
		}
		.contact-main .list {
				gap: 48px;
				font-size: 1.875rem; /*30px*/
				max-width: 582px;
		}
		.contact-main .list > li:not(.email):not(.soc) {
				width: auto;
				max-width: calc(50% - 10px);
		}
		.contact-main .list .h3 {
				font-size: 20px;
				margin-bottom: 18px;
		}
		.contact-main .list .email {
				font-size: 4rem; /*64px*/
				margin-bottom: 60px;
		}
		.contact-main .list .email .btn {
				width: 50px;
				height: 50px;
				right: auto;
				left: 100%;
				top: 50%;
				margin-left: -6px;
		}
		.contact-main .list-soc {
				margin-top: 25px;
				max-width: 490px;
		}
}