@import url(./reset.css);
@import url(./common.css);
.noto {
		font-family: "Noto Sans JP", sans-serif;
}

.primg {
		transition-timing-function: ease-out !important;
}

.kv {
		width: 100%;
		max-width: 100%;
		height: 467px;
		background-image: url(../img/contact_kv.webp);
		background-image: image-set(url(../img/contact_kv.webp) 1x, url(../img/contact_kv@2x.webp) 2x);
		background-image: -webkit-image-set(url(../img/contact_kv.webp) 1x, url(../img/contact_kv@2x.webp) 2x);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: center;
}

.kv .inner {
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		position: relative;
		height: 467px;
}

.kv .inner .ttl_bg {
		background-image: url(../img/contact_ttl_bg.webp);
		background-repeat: no-repeat;
		background-size: contain;
		position: absolute;
		top: 100px;
		right: -85px;
		width: 451px;
		height: 215px;
}

.kv .inner h1 {
		position: absolute;
		top: 275px;
		right: 0;
		font-size: 42px;
		line-height: 1;
		color: #fff;
		font-weight: 400;
		display: inline-block;
}

.s1 {
		width: 100%;
		margin: 0 auto;
		position: relative;
		z-index: 5;
		padding-bottom: 45px;
}

.s1 .pr01 {
		position: fixed;
		top: 60px;
		right: calc(50vw + 337px);
		width: 590px;
		opacity: 0.05;
		z-index: -1;
}

.s1 .pr02 {
		position: fixed;
		top: 537px;
		left: calc(50vw + 435px);
		width: 431px;
		opacity: 0.05;
		z-index: -1;
}

.s1 .inner {
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
		padding-top: 100px;
}

.s1 .inner .message {
		padding: 100px 0 330px;
}

.s1 .inner .message h5 {
		font-size: 26px;
		text-align: center;
}

.s1 .inner .caution {
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
		text-align: center;
		color: #505050;
}

.s1 .inner .bnr {
		width: 544px;
		margin: 0 auto;
		position: relative;
		z-index: 3;
		overflow: hidden;
		transition: 1s all;
		border-radius: 10px;
}

.s1 .inner .bnr img {
		max-width: 100%;
		transition: transform .6s ease;
}

.s1 .inner .bnr:hover img {
		transform: scale(1.1, 1.1);
		transition: transform .6s ease;
}

.s1:after {
		content: "";
		background-image: url(../img/common_footer_before.svg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: auto;
		width: 100%;
		height: 831px;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
}

footer {
		padding-top: 0 !important;
}

@media (max-width: 780px) {
		.kv {
				width: 100%;
				max-width: 100%;
				height: 70.25vw;
				background-image: url(../img/contact_kv-s.webp);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
				margin-top: -14vw;
		}
		.kv .inner {
				width: 100%;
				max-width: 100%;
				margin: 0 auto;
				position: relative;
				height: 70.25vw;
		}
		.kv .inner .ttl_bg {
				background-image: url(../img/contact_ttl_bg.webp);
				background-repeat: no-repeat;
				background-size: contain;
				position: absolute;
				top: 15.6vw;
				right: 0;
				width: 57.82051vw;
				height: 27.5641vw;
		}
		.kv .inner h1 {
				position: absolute;
				top: 35.128vw;
				right: 5vw;
				font-size: 5.89744vw;
				line-height: 1;
				color: #fff;
				font-weight: 400;
				display: inline-block;
		}
		.s1 {
				width: 100%;
				margin: 0 auto;
				position: relative;
				z-index: 5;
				padding-bottom: 14vw;
		}
		.s1 .pr01 {
				position: fixed;
				top: 21.9vw;
				left: -30.256vw;
				width: 75.64vw;
				opacity: 0.05;
		}
		.s1 .pr01 img {
				max-width: 100%;
		}
		.s1 .pr02 {
				position: fixed;
				top: 117.4vw;
				right: -25.64vw;
				left: inherit;
				width: 55.25641vw;
				opacity: 0.05;
		}
		.s1 .pr02 img {
				max-width: 100%;
		}
		.s1 .inner {
				width: 100%;
				max-width: 90vw;
				margin: 0 auto;
		}
		.s1 .inner .message {
				padding: 0 0 30vw;
		}
		.s1 .inner .message h5 {
				font-size: 4.10256vw;
				line-height: 1.6;
				text-align: center;
		}
		.s1 .inner .caution {
				font-size: 3.33333vw;
				font-weight: 500;
				line-height: 1.6;
				text-align: center;
				color: #505050;
		}
		.s1 .inner .bnr {
				width: 90vw;
				margin: 0 auto;
		}
		.s1 .inner .bnr img {
				max-width: 100%;
		}
		.s1:after {
				content: "";
				background-image: url(../img/common_footer_before-s.svg);
				background-repeat: no-repeat;
				background-position: center;
				background-size: contain;
				width: 100%;
				height: 59.10256vw;
				position: absolute;
				bottom: -1px;
				left: 0;
				z-index: 2;
		}
		footer {
				padding-top: 30vw !important;
		}
}
