@charset "utf-8";

@media only screen and (max-width: 1260px) {
	header {
		background-size: 115%;
		padding: 44px 0 32px;
	}

	header ul {
		font-size: 24px;
	}

	header {
		background: url(bg.jpg) top left no-repeat;
		background-size: 110%;
		padding: 44px 0 32px;
	}

	main {
		width: 90%;
	}

	section.headbox {
		margin: 32px 0 0 5%;
		width: 60%;
	}

	section.headbox p {
		font-size: 18px;
		padding: 12px 0 18px;
		line-height: 24px;
		letter-spacing: 0;
	}

	section.headbox .smhead {
		display: none;
	}

	.box30,
	.box50,
	.box70 {
		width: 100%;
		overflow-x: hidden;
	}

	.box-wrapper {
		display: block;
	}
	.imprint {
		transform: none;
		border: 0;
		position: relative;
		top: 0;
		left: 0;
	}
	label {
		width: 15%;
	}
}

@media only screen and (max-width: 830px) {
	header {
		background-size: 110%;
		padding: 44px 0 32px;
	}
	textarea,
	input[type=email],
	input[type=text] {
		width: 100%;
	}
	section.headbox {
		margin: 0 0 0 5%;
	}

	section.headbox p {
		padding: 18px 0 32px;
	}

	button.material-symbols-outlined {
		display: block;
		z-index: 2;
		background: transparent;
	}

	.menu {
		display: none;
		transition: all 0.3s ease-out;
	}

	.menu.active {
		display: block;
		text-align: center;
		z-index: 1;
		position: absolute;
		padding-top: 111px;
		width: 100%;
		background: url(bg.jpg) -390px 0 no-repeat;
	}

	.menu.active .button {
		display: block;
		font-size: 44px;
		color: #fff;
		line-height: 77px;
		background: transparent;
	}

	header ul {
		display: block;
	}
	
	header ul li {
		margin: 0;
		border-top: 1px dotted #fff;
	}
	
	header ul li a {
		line-height: 44px;
		display: block;
	}

}

@media only screen and (max-width: 480px) {

	.box30,
	.box50,
	.box70 {
		width: 100%;
		overflow-x: hidden;
	}
	
	header ul li a {
		line-height: 77px;
	}

	h1 {
		font-size: 56px;
	}

	h2 {
		font-size: 44px;
		margin: 44px 0 18px;
	}

	h3 {
		font-size: 32px;
		margin: 32px 0 12px;
	}

	a.cert-link {
		margin-left: 0;
		display: block;
		position: static;
		line-height: 56px;
	}
	main li {
		line-height: 32px;
	}

	section.headbox {
		margin: 0 auto;
		width: 90%;
		text-align: center;
		padding: 111px 0 44px;
	}

	section.headbox .head {
		font-size: 28vw;
		line-height: 28vw;
	}

	section.headbox .subhead {
		font-size: 9.3vw;
		line-height: 9.3vw;
	}

	section.headbox .smhead {
		display: none;
	}

	header {
		background: url(bg.jpg) -390px 0 no-repeat;
		background-size: 400%;
		padding: 0;
		max-height: 805px;
	}

	section.headbox p {
		font-size: 24px;
		padding: 32px 0 44px;
		line-height: 28px;
	}

	header button {
		font-size: 44px !important;
		top: 32px;
		right: 32px;
	}

	.btn {
		width: 100%;
		padding: 0;
	}

	header ul li:last-child {
		border-bottom: 1px dotted #fff;
	}
}