@charset "utf-8";

@media screen and (max-width : 960px ){/* 960px以下*/
	.container {
		width: 90%;
	}
	#header .header-logo,
	#header .header-logo img {
		width: 160px;
	}
	#president-message {
		width: 90%;
	}
	footer .footer-logo,
	footer .footer-logo img {
		width: 100px;
	}
}

@media screen and (max-width : 800px ){/* 800px以下*/
	#strong-point h3::after,
	#strong-point p::before {
		width: 30px;
	}
}

@media screen and (max-width : 650px ){/* 650px以下*/
	#header .header-logo {
		top: 20px;
	}
	#header .header-logo,
	#header .header-logo img {
		width: 130px;
	}
	#header .navi {
		position: absolute;
		top: 55px;
		right: -100px;
		display: block;
		opacity: 0;
		transition: .5s;
	}
	#header #hamburger {
		display: block;
		position: absolute;
		top: 25px;
		right: 0;
		width: 20px;
		height: 20px;
		cursor: pointer;
		transition: 1s;
	}
	.inner_line {
		display: block;
		position: absolute;
		right: 0;
		width: 20px;
		height: 2px;
		mix-blend-mode: difference;
		background-color: #FFF;
		transition: .5s;
		border-radius: 4px;
	}
	#line1 {
		top: 0;
	}
	#line2 {
		width: 15px;
		top: 9px;
	}
	#line3 {
		bottom: 0px;
	}
	#header .navi.in{
		display: block;
		transform: translateX(-100px);
		opacity: 1;
	}
	.line_1,.line_2,.line_3{
		background: #fff;
	}
	.line_1 {
		transform: translateY(9px) rotate(-45deg);
		top: 0;
	}
	.line_2 {
		opacity: 0;
	}
	.line_3 {
		transform: translateY(-9px) rotate(45deg);
		bottom: 0;
	}
}

@media screen and (max-width : 560px ){/* 560px以下*/
	#features .container .container_contentsBox ol,
	#contact .contact-box {
		grid-template-columns: 1fr;
	}
	#services,
	#strong-point {
		grid-template-columns: 1fr;
	}
	#strong-point h3 {
		padding: 1.5em 0 0;
		position: relative;
	}
	#strong-point h3::after {
		display: block;
		content: "";
		position: relative;
		bottom: 0;
		left: 0;
		width: 0.5px;
		height: 20px;
		margin-left: 50%;
		background-color: #FFF;
	}
	#strong-point p {
		position: relative;
		padding: 2em 1em 1em 1em;
	}
	#strong-point p::before {
		display: block;
		content: "";
		top: 0;
		transform: translateY(0);
		width: 0.5px;
		height: 20px;
		margin-left: 50%;
		border-top: none;
		background-color: #131415;
	}
	#contact .contact-box h2 {
		padding: 0.5em 0;
	}
	table.CF7_table {
		margin: 2em auto;
	}
}

@media screen and (max-width : 450px ){/* 450px以下*/
	body {
		font-size: var(--font-size-r);
		line-height: var(--line-height-r);
	}
	.sp-on {
		display: block;
	}
	.sp-no {
		display: none;
	}
	#about .container .container_contentsBox p br {
		display: none;
	}
	#features .container .container_contentsBox ol li h3,
	#services .services_cotensBox h3,
	#strong-point h3 {
		font-size: var(--font-size-l);
		line-height: var(--line-height-l);
	}
	#services .services_cotensBox ul,
	#strong-point p {
		display: block;
	}
	#message h2::after {
		height: 50px;
	}
	#message p {
		width: 100%;
		padding: 0 1em;
	}
	#president-message p {
		margin-bottom: 1em;
		padding-bottom: 1em;
	}
	#company table {
		border-collapse: separate
	}
	#company table th,
	#company table td {
		display: block;
		text-align: center;
		padding: 1em 0;
	}
	#company table td span {
		display: block;
	}
}