/*PC*/

h1,
h2,
h3,
h4,
p,
th,
td,
ul {
	color: #353535;
}

body {
	overflow: hidden;
}

@media all {
	/*contactフォーム7*/
	.wpcf7-response-output,
	.wpcf7-spinner {
		display: none !important;
	}
	.wpcf7-select {
		border: 1px solid #707070;
		padding: 10px;
	}
	.wpcf7-not-valid-tip {
		font-size: 1.2rem !important;
		margin-top: 10px;
	}

	/*反転カラー*/
	::selection {
		background: black;
		color: #fff;
	}

	::-moz-selection {
		background: black;
		color: #fff;
	}

	html,
	body {
		background-color: #fff !important;
		font-size: 62.5%;
	}

	.br_768,
	.br_600 {
		display: none;
	}

	.sanserif {
		font-family: "Noto Sans JP";
	}

	ul {
		list-style: none;
	}

	table {
		border-collapse: collapse;
	}

	header {
		.sp_menu {
			display: none;
		}
	}

	h2 {
		font-size: 3rem;
		color: #314a88;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 50px;
		span {
			display: block;
			font-size: 1.7rem;
			color: #314a88;
		}
	}

	.h2_sub {
		font-size: 1.8rem;
		text-align: center;
		margin: -35px 0px 60px;
	}

	.button {
		font-size: 1.4rem;
		padding: 18px 30px;
		margin: auto;
		display: flex;
		align-items: center;
		background: linear-gradient(90deg, rgba(51, 82, 147, 1) 0%, rgba(93, 141, 194, 1) 100%);
		width: fit-content;
		color: #fff !important;
		transition: all 0.25s;
		& img {
			margin-left: 20px;
		}
		&:hover {
			padding: 18px 40px;
		}
	}

	.all_header {
		position: sticky;
		height: 300px;
		width: 100vw;
		left: 0;
		margin-left: calc(50% - 50vw);
		margin-bottom: 100px;
		figure {
			height: 100%;
			& img {
				object-fit: cover;
				object-position: center;
				width: 100%;
				height: 100%;
			}
		}
		h1 {
			position: absolute;
			bottom: 50px;
			left: 50%;
			transform: translateX(-50%);
			color: #fff;
			font-size: 3rem;
			text-align: center;
			text-wrap: nowrap;
			span {
				display: block;
				font-size: 1.3rem;
				padding-top: 5px;
			}
		}
	}

	.all_plr {
		padding: 0px 50px !important;
	}

	.all_mb {
		margin-bottom: 150px !important;
	}

	.all_company {
		background-color: #ecf5fb;
		figure {
			width: 100%;
			& img {
				width: 100%;
				height: auto;
			}
		}
		article {
			max-width: 90%;
			width: 100%;
			padding: 60px;
			margin: -8% auto 0px;
			background-color: #fff;
			position: sticky;
			table {
				width: 100%;
				th {
					background-color: #eaf3f9;
					text-align: center;
					padding: 30px 0px;
					width: 20%;
					border-bottom: 2px solid #fff;
					border-right: 2px solid #fff;
				}
				td {
					background-color: #fafafa;
					padding: 30px 50px;
					width: 80%;
					border-bottom: 2px solid #fff;
				}
			}
		}
	}

	.all_blog {
		background-color: #ecf5fb;
		padding: 100px 50px;
		article {
			display: flex;
			flex-wrap: wrap;
			gap: 60px 40px;
			max-width: 1000px;
			margin: 0 auto 50px;
			& a {
				width: calc((100% - 80px) / 3);
				figure {
					position: relative;
					overflow: hidden;
					aspect-ratio: 3 / 2;
					width: 100%;
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
						cursor: pointer;
						transition: all 0.25s;
					}
				}
				&:hover {
					& img {
						transform: scale(1.07);
					}
				}
				div {
					background-color: #fff;
					padding: 20px;
					time {
						font-size: 1.4rem;
						margin-bottom: 5px;
						display: block;
					}
					h3 {
						font-size: 1.5rem;
						margin-bottom: 5px;
					}
					p {
						font-size: 1.4rem;
					}
				}
			}
		}
	}

	#header {
		width: 100%;
		z-index: 999;
		position: fixed;
		top: 0;
		transition: all 0.25s;
		color: #fff;
		.header_wrapper {
			max-width: 1260px;
			padding: 0px 30px;
			height: 95px;
			margin: auto;
			display: flex;
			align-items: center;
			justify-content: space-between;
			figure {
				display: flex;
				align-items: center;
				font-size: 10px;
				& img {
					width: 80px;
					height: auto;
				}
			}
			nav {
				font-size: 1.5rem;
				display: flex;
				align-items: center;
				z-index: 2;
				& a {
					margin-right: 35px;
					transition: all 0.25s;
					&:last-child {
						padding: 8px 20px;
						margin-right: 0px;
						border: 1px solid #fff;
					}
					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
	}

	.header-scrolled {
		color: #333333 !important;
		.header_wrapper {
			figure {
				& img {
					filter: invert(100%);
				}
			}
			nav {
				& a {
					&:last-child {
						border: 1px solid #333333 !important;
					}
				}
			}
		}
	}

	#trigger {
		position: absolute;
		top: 200px;
		height: 0;
		width: 100%;
		pointer-events: none;
		opacity: 0;
	}

	#top {
		.mv {
			width: 100%;
			margin: 0px auto 150px;
			background-color: #314a88;
			position: relative;
			figure {
				max-width: 2000px;
				margin: auto;
				& img {
					width: 100%;
					height: auto;
				}
			}
			.mv_text {
				position: absolute;
				text-wrap: nowrap;
				top: 21%;
				left: 50%;
				transform: translateX(-50%);
				color: #fff;
				font-size: 3.6rem;
				display: flex;
				align-items: center;
				letter-spacing: 0.2em;
				font-weight: 200 !important;
				span {
					font-size: 3rem;
					color: #fff;
				}
			}

			article {
				background-color: rgba(255, 255, 255, 0.85);
				padding: 15px 30px 25px;
				max-width: 520px;
				width: 100%;
				position: absolute;
				left: 55%;
				bottom: 45px;
				text-align: center;
				h2 {
					margin-bottom: 10px;
					font-size: 2.6rem;
				}
				h3 {
					margin-bottom: 10px;
				}
				p {
					font-size: 2.2rem;
					margin-bottom: 20px;
					&:last-of-type {
						font-size: 1.6rem;
						margin-bottom: 20px;
					}
				}
			}
		}

		.services {
			padding: 100px 50px;
			background: linear-gradient(to left, #fff 0%, #fff 10%, #ecf5fb 10%, #ecf5fb 100%);
			.wrapper_01 {
				max-width: 950px;
				margin: auto;
				article {
					display: flex;
					position: relative;
					margin-bottom: 180px;
					&:nth-child(even) {
						flex-direction: row-reverse;
						figure {
							left: 0;
						}
					}
					div {
						max-width: 680px;
						width: 100%;
						background-color: rgba(255, 255, 255, 0.85);
						padding: 40px;
						z-index: 1;
						h3 {
							font-size: 2.1rem;
							margin-bottom: 20px;
						}
						.wrapper_02 {
							background-color: #eaf3f9;
							padding: 15px;
							margin-bottom: 20px;
							h4 {
								font-size: 1.7rem;
								color: #314a88;
								margin-bottom: 15px;
							}
							ul {
								text-indent: -1em;
								padding-left: 1em;
								font-size: 1.4rem;
								li {
									margin-bottom: 10px;
									&:last-of-type {
										margin-bottom: 0px;
									}
								}
							}
						}
						.button {
							margin: 0 0 0 auto;
							font-size: 1.2rem;
						}
					}
					figure {
						position: absolute;
						max-width: 540px;
						width: 100%;
						right: 0;
						bottom: -90px;
						& img {
							width: 100%;
							height: auto;
						}
					}
				}
			}
		}

		.news {
			padding: 100px 50px;
			div {
				max-width: 1000px;
				width: fit-content;
				margin: 0 auto 50px;
				& a {
					display: flex;
					align-items: center;
					margin: 30px 0px;
					time {
						margin-right: 15px;
						font-size: 1.6rem;
						font-weight: 200;
					}
				}
			}
		}

		.recruit {
			background-color: #ecf5fb;
			padding: 90px 50px;
			article {
				max-width: 1000px;
				margin: auto;
				display: flex;
				figure {
					max-width: 44%;
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
					}
				}
				div {
					background: linear-gradient(90deg, rgba(51, 82, 147, 1) 0%, rgba(93, 141, 194, 1) 100%);
					max-width: 56%;
					padding: 40px;
					h2 {
						margin-bottom: 20px;
						text-align: left;
						color: #fff;
					}
					p {
						color: #fff;
						margin-bottom: 30px;
					}
					.button {
						margin: 0 0 0 auto;
						font-size: 1.2rem;
						background: unset;
						border: 1px solid #fff;
					}
				}
			}
		}
	}

	#about {
		.mvv {
			max-width: 1000px;
			margin: auto;
			width: 100%;
			article {
				margin-bottom: 60px;
				h2 {
					font-size: 2.6rem;
					color: #314a88;
					margin-bottom: 20px;
				}
				p {
					font-size: 3.5rem;
					text-align: center;
					span {
						font-size: 3rem;
					}
				}
				div {
					margin-top: 50px;
					article {
						width: 100%;
						padding: 20px 0px;
						border-top: 1px solid #ebebeb;
						margin-bottom: 0px;
						&:last-of-type {
							border-bottom: 1px solid #ebebeb;
						}
						h3 {
							font-size: 2.2rem;
							margin-bottom: 10px;
							font-weight: 500;
						}
						ul {
							font-size: 1.8rem;
							text-indent: -1.1em;
							padding-left: 1em;
						}
					}
				}
			}
			.values {
				p {
					font-size: 2rem;
					text-align: center;
				}
				h3 {
					font-size: 2rem;
					color: #314a88;
				}
				ul {
					font-size: 1.6rem;
				}
			}
		}

		.message {
			width: 100%;
			padding: 100px 50px;
			background: linear-gradient(to right, #fff 0%, #fff 10%, #ecf5fb 10%, #ecf5fb 100%);
			.wrapper_01 {
				max-width: 960px;
				margin: auto;
				.greeting {
					display: flex;
					align-items: center;
					margin-bottom: 60px;
					figure {
						width: 300px;
						min-width: 300px;
						margin-right: 40px;
						& img {
							width: 100%;
							height: auto;
						}
					}
					div {
						p {
							font-size: 1.5rem;
							margin-bottom: 20px;
							&:last-of-type {
								margin-bottom: 0px;
								text-align: right;
								font-size: 2rem;
								span {
									font-size: 1.4rem;
									margin-right: 5px;
								}
							}
						}
					}
				}

				.profile {
					background-color: #fff;
					padding: 30px;
					h3 {
						font-size: 2rem;
						margin-bottom: 10px;
						span {
							font-size: 1.6rem;
							&:first-child {
								margin-right: 5px;
							}
						}
					}
					p {
						font-size: 1.4rem;
						margin-bottom: 20px;
						&:last-of-type {
							font-size: 1.3rem;
							margin-bottom: 0px;
							line-height: 2;
						}
					}
				}
			}
		}

		.all_company {
			background-color: unset;
			article {
				padding: 100px 0px;
				margin: 0px auto;
			}
		}
	}

	#services {
		.content {
			max-width: 1100px;
			margin: auto;
			article {
				margin-bottom: 80px;
				&:last-of-type {
					margin-bottom: 0px;
				}
				h2 {
					color: #353535;
				}
				article {
					display: flex;
					align-items: center;
					flex-wrap: wrap;
					figure {
						width: 45%;
						margin-right: 20px;
						& img {
							width: 100%;
							height: auto;
						}
					}
					div {
						width: calc(100% - 45% - 20px);
						h3 {
							font-size: 1.9rem;
							margin-bottom: 10px;
							color: #314a88;
						}
						ul {
							text-indent: -0.6em;
							padding-left: 1em;
							font-size: 1.4rem;
							li {
								margin-bottom: 10px;
								&:last-of-type {
									margin-bottom: 0px;
								}
							}
						}
					}
					.case {
						width: fit-content;
						margin: 50px auto 0px;
						border: 4px solid #eaf3f9;
						padding: 30px 40px;
						h4 {
							margin-bottom: 20px;
							background-color: #314a88;
							color: white;
							width: fit-content;
							font-size: 1.7rem;
							line-height: 1.2;
							padding: 3px 10px;
							font-weight: 400;
						}
						ul {
							font-size: 1.6rem;
							text-indent: -1.6em;
							padding-left: 1em;
							li {
								line-height: 2;
								&::before {
									content: "\f058";
									font-family: "Font Awesome 5 Free";
									font-weight: 900;
									margin-right: 5px;
									color: #335293;
								}
							}
						}
					}
				}
			}
		}

		.voices {
			width: 100%;
			max-width: 1100px;
			margin: auto;
			div {
				display: flex;
				gap: 20px;
				article {
					width: calc((100% - 40px) / 3);
					padding: 20px;
					background-color: #f7f7f7;
					figure {
						display: flex;
						align-items: center;
						margin-bottom: 15px;
						p {
							margin-left: 15px;
						}
					}
					p {
						font-size: 1.4rem;
						line-height: 2;
					}
				}
			}
		}
	}

	#home {
		article {
			max-width: 1000px;
			width: 100%;
			margin: 0 auto 60px;
			& a {
				display: flex;
				align-items: center;
				border-bottom: 1px solid #dddddd;
				padding: 30px 0px;
				&:hover img {
					transform: scale(1.07);
					transition: all 0.25s;
				}
				figure {
					margin-right: 30px;
					width: 130px;
					aspect-ratio: 3 / 2;
					position: relative;
					overflow: hidden;
					& img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
						cursor: pointer;
						transition: all 0.25s;
					}
				}
				time {
					margin-right: 15px;
					font-size: 1.6rem;
				}
				p {
					font-size: 1.8rem;
				}
			}
		}
	}

	#blog {
		.all_blog {
			background-color: unset;
			article {
				margin-bottom: 100px;
				& a {
					div {
						padding: 20px 0px 0px 0px;
					}
				}
			}
		}
	}

	#recruit {
		.message {
			max-width: 1000px;
			margin: auto;
			h2 {
				font-size: 3.6rem;
				border-bottom: 1px solid black;
				text-align: left;
				width: fit-content;
			}
			p {
				font-size: 1.5rem;
				&:last-of-type {
					margin-top: 30px;
					text-align: right;
					font-size: 2.2rem;
					span {
						font-size: 1.6rem;
						margin-right: 10px;
					}
				}
			}
		}

		.job {
			max-width: 1000px;
			width: 100%;
			margin: auto;
			h2 {
				color: #353535;
			}
			nav {
				gap: 20px;
				display: flex;
				margin-bottom: 60px;
				& a {
					font-size: 1.6rem;
					width: calc((100% - 40px) / 4);
					border: 1px solid #707070;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: 20px 0px;
					span {
						font-size: 1.4rem;
					}
				}
			}
			article {
				margin-bottom: 80px;
				&:last-of-type {
					margin-bottom: 0px;
				}
				h3 {
					text-align: center;
					margin-bottom: 50px;
					padding-top: 50px;
					font-size: 1.9rem;
					span {
						font-size: 1.7rem;
					}
				}
				table {
					width: 100%;
					margin-bottom: 50px;
					th {
						background-color: #eaf3f9;
						text-align: center;
						padding: 30px;
						width: 20%;
						border-bottom: 2px solid #fff;
					}
					td {
						width: 80%;
						border-bottom: 2px solid #ebebeb;
						padding: 30px;
						span {
							font-size: 1.3rem;
							display: block;
						}
					}
				}
			}
		}
	}

	#privacy {
		.privacy {
			max-width: 1000px;
			margin: auto;
			p {
				max-width: 1000px;
				margin-bottom: 80px;
			}
			article {
				margin-bottom: 60px;
				h3 {
					font-size: 2rem;
					margin-bottom: 10px;
				}
				p {
					margin-bottom: 10px !important;
				}
				ul {
					text-indent: -1em;
					padding-left: 1em;
				}
				&:last-of-type {
					margin-bottom: 0px;
				}
			}
		}
	}

	.page-id-46,
	.page-id-17,
	.page-id-56,
	.page-id-54 {
		footer {
			.contact {
				display: none;
			}
		}
	}

	footer {
		width: 100%;
		.contact {
			padding: 60px 0px;
			background: linear-gradient(90deg, rgba(51, 82, 147, 1) 0%, rgba(93, 141, 194, 1) 100%);
			text-align: center;
			h2 {
				color: #fff;
			}
			.h2_sub {
				color: #fff;
				margin-bottom: 30px;
			}
			.button {
				background: unset;
				border: 1px solid #fff;
			}
		}

		.footer_wrapper {
			padding: 50px 50px 80px;
			background: #333333;
			color: #fff;
			display: flex;
			align-items: center;
			justify-content: space-between;
			figure {
				& img {
					width: 80px;
					height: auto;
				}
				p {
					font-size: 1rem;
					margin-top: 10px;
					color: #fff;
				}
			}
			nav {
				font-size: 1.2rem;
				display: flex;
				align-items: center;
				& a {
					margin-right: 25px;
					transition: all 0.25s;
					&:last-child {
						margin-right: 0px;
					}
					&:hover {
						opacity: 0.7;
					}
				}
			}
		}
	}

	#single {
		max-width: 1000px;
		margin: auto;
		article {
			.title {
				font-size: 3rem;
				margin-bottom: 10px;
			}
			time {
				font-size: 1.6rem;
				margin-bottom: 40px;
				display: block;
			}
			figure {
				width: 100%;
				& img {
					width: 100%;
					height: auto;
				}
			}
			.button_sns {
				width: 100%;
				display: flex;
				margin-bottom: 100px;
				& a {
					color: white;
					width: 25%;
					padding: 8px 0px;
					display: flex;
					align-items: center;
					justify-content: center;
					&:nth-of-type(1) {
						background-color: #000000;
					}
					&:nth-of-type(2) {
						background-color: #1877f2;
					}
					&:nth-of-type(3) {
						background-color: #ef4157;
					}
					&:nth-of-type(4) {
						background-color: #00b900;
					}
					i {
						font-size: 2rem;
					}
				}
			}

			h1 {
				border-left: 3px solid #314a88;
				font-size: 2.4rem;
				padding-left: 10px;
				line-height: 1.2;
				margin: 50px 0px 20px;
			}

			h2 {
				width: 100%;
				font-size: 2.2rem;
				text-align: left;
				border-bottom: 1px solid #314a88;
				color: #314a88;
				margin: 50px 0px 20px;
			}

			h3 {
				font-size: 2rem;
				color: #314a88;
				margin: 50px 0px 20px;
			}

			figure {
				margin-bottom: -1px;
			}

			.wp-block-image {
				margin-bottom: 30px;
			}
		}
		.single_pn {
			max-width: 500px;
			display: flex !important;
			justify-content: space-between;
			align-items: center;
			font-size: 1.6rem !important;
			margin: 80px auto 0px;
			padding: 20px 20px;
			transition: all 0.25s;
			p {
				margin-bottom: 0px !important;
			}
			.fa-angle-left {
				margin-right: 5px;
			}
			.fa-angle-right {
				margin-left: 5px;
			}
			& a:hover {
				opacity: 0.8;
				transition: all 0.25s;
			}
		}
	}

	#blog {
		max-width: 1200px;
		margin: auto;
		.wrapper_blog {
			max-width: 1000px;
			margin: auto;
			padding: 100px 0px;
			&::after {
				content: "";
				display: block;
				width: 31%;
			}
			article {
				margin-bottom: 50px;
			}
		}
	}

	#contact {
		p {
			&:nth-of-type(1) {
				text-align: center;
				margin-bottom: 30px;
			}
			&:nth-of-type(2) {
				font-size: 1.4rem;
				text-align: center;
				margin-bottom: 80px;
			}
		}
		table {
			max-width: 1000px;
			width: 100%;
			margin: 0px auto 50px;
			th,
			td {
				width: 100%;
				display: block;
			}
			th {
				margin: 30px 0px 5px;
			}
			.form {
				border: 1px solid #dddddd;
				padding: 5px 10px;
				width: 100%;
			}
		}

		.required {
			font-size: 1.1rem;
			color: #be4843;
			border: 1px solid #be4843;
			padding: 4px 10px;
			line-height: 1;
			margin-left: 5px;
			text-wrap: nowrap;
			display: inline-block;
		}

		.choice {
			.wpcf7-form-control-wrap {
				width: 100%;
				max-width: 1000px;
				margin: 0 auto 30px;
				display: block;
			}

			input[type="radio"] {
				display: none;
			}

			.wpcf7-list-item {
				width: calc(100% / 3);
				margin: 0;
				span {
					display: inline-block;
					padding: 25px 15px;
					cursor: pointer;
					background-color: #eaf3f9;
					width: 100%;
					text-align: center;
					font-size: 1.4rem;
					border-radius: 0;
					border: none;
					transition:
						background-color 0.25s,
						color 0.25s;
				}
			}

			span.wpcf7-form-control.wpcf7-radio.check {
				width: 100%;
				display: inline-flex;
			}

			input[type="radio"]:checked + .wpcf7-list-item-label {
				background-color: #314a88;
				color: #fff;
			}
		}

		.check {
			width: 100%;
			max-width: 1000px;
			margin: 50px auto 0px;
			article {
				font-size: 1.4rem;
				display: flex;
				align-items: center;
				align-items: first baseline;
				margin: 20px 0px;
				& a {
					border-bottom: 1px solid black;
					margin-left: 10px;
				}
			}
			.wpcf7-list-item {
				margin: 0;
			}
		}
	}

	.page {
		width: 100%;
		display: block;
		.page-numbers {
			display: flex;
			justify-content: center;
			font-size: 2.2rem;
			padding: 5px 7px;
			& a {
				color: lightgray !important;
				transition: all 0.25s;
				&:hover {
					color: #141414 !important;
					transition: all 0.25s;
				}
			}
		}
	}
}

.page-id-54 {
	.pp {
		display: none !important;
	}
	.flex {
		width: fit-content;
		margin: auto;
		display: flex;
		.button {
			margin: 0px 15px;
		}
	}
}

@media screen and (min-width: 1400px) {
	#top {
		.mv {
			article {
				top: 40%;
				bottom: unset;
			}
		}
	}
}

@media screen and (max-width: 1160px) {
	#top {
		.mv {
			.mv_text {
				top: 18%;
			}
			article {
				right: 50px;
				bottom: 30px;
				left: unset;
			}
		}
	}

}

@media screen and (max-width: 1080px) {
	#top {
		.mv {
			.mv_text {
				top: 26%;
			}
			article {
				bottom: -90px;
			}
		}
	}

}

/*ipad*/
@media screen and (max-width: 1024px) {
	img {
		backface-visibility: hidden;
	}
}


@media screen and (max-width: 890px) {
	#top {
		.mv {
			article {
				bottom: -150px;
			}
		}
		.services {
			.wrapper_01 {
				article {
					div {
						max-width: 580px;
						padding: 30px;
					}
					figure {
						max-width: 450px;
						bottom: -130px;
					}
				}
			}
		}
	}

	#recruit {
		& .job {
			& nav {
				& a {
					flex-wrap: wrap;
					flex-direction: column;
					span {
						margin-top: 10px;
					}
				}
			}
		}
	}
}

@media screen and (max-width: 850px) {
	.all_blog {
		article {
			gap: 60px 30px;
			& a {
				width: calc((100% - 60px) / 3);
			}
		}
	}

	.services {
		.wrapper_01 {
			article {
				figure {
					max-width: 450px;
					bottom: -130px;
				}
			}
		}
	}

	.recruit {
		article {
			figure {
				max-width: 47%;
			}
			div {
				max-width: 53%;
				padding: 30px;
			}
		}
	}

	#contact {
		.choice {
			.wpcf7-list-item {
				span {
					padding: 20px 10px;
					font-size: 1.3rem;
				}
			}
		}
	}
}

/*ipadmini*/
@media screen and (max-width: 768px) {
	.br_768 {
		display: block;
	}

	.all_header {
		height: 250px;
	}

	.all_mb {
		margin-bottom: 100px !important;
	}

	.all_company {
		article {
			padding: 40px;
			table {
				th {
					padding: 20px 0px;
				}
				td {
					padding: 20px 30px;
				}
			}
		}
	}

	#header {
		.header_wrapper {
			nav {
				& a {
					margin-right: 30px;
				}
			}
		}
	}

	#top {
		.mv {
			margin: 0px auto 100px;
		}
		.services,
		.news {
			padding: 50px;
		}
		.recruit {
			article {
				div {
					padding: 25px;
				}
			}
		}
	}

	#services {
		.content {
			article {
				article {
					flex-direction: column;
					figure {
						width: 80%;
						margin: 0px 0px 30px 0px;
					}
					div {
						width: 80%;
					}
					.case {
						width: 80%;
						margin: 30px auto 0px;
					}
				}
			}
		}
	}

	#recruit {
		.job {
			article {
				table {
					th,
					td {
						padding: 20px;
					}
				}
			}
		}
	}

	#single {
		article {
			.title {
				font-size: 2.6rem;
			}
		}
	}
}

/*スマホ*/
@media screen and (min-width: 600px) {
	/*電話番号発信スマホのみ*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 599px) {

	.sp_none {
		display: none;
	}

	.br_600 {
		display: block;
	}

	.all_header {
		height: 220px;
		margin-bottom: 60px;
		h1 {
			font-size: 2.6rem;
		}
	}

	.all_plr {
		padding: 0px 20px !important;
	}

	.all_blog {
		padding: 50px 20px;
		article {
			gap: 30px;
			& a {
				width: 100%;
			}
		}
	}

	.all_company {
		figure {
			& img {
				height: 200px;
				object-fit: cover;
				object-position: left;
			}
		}
		article {
			padding: 30px;
			table {
				th,
				td {
					display: block;
					width: 100%;
					padding: 15px;
				}
			}
		}
	}

	h2 {
		font-size: 2.6rem;
		span {
			font-size: 1.6rem;
		}
	}

	.h2_sub {
		font-size: 1.6rem;
		padding: 0px;
	}

	#header {
		.header_wrapper {
			height: 80px;
			figure {
				position: fixed;
				z-index: 5;
				& img {
					width: 100px;
				}
			}
			nav {
				display: none;
			}
		}
	}

	header {
		.sp_menu {
			display: block;
			position: fixed;
			z-index: 1000;
			@keyframes bugfix {
				from {
					padding: 0;
				}
				to {
					padding: 0;
				}
			}
			@-webkit-keyframes bugfix {
				from {
					padding: 0;
				}
				to {
					padding: 0;
				}
			}
			#overlay-button {
				position: fixed;
				right: 9px;
				top: 13px;
				padding: 26px 11px;
				z-index: 999;
				cursor: pointer;
				user-select: none;
				span {
					height: 1px;
					width: 35px;
					border-radius: 2px;
					background-color: black;
					position: relative;
					display: block;
					transition: all 0.2s ease-in-out;
					&::before {
						top: -10px;
						visibility: visible;
					}
					&::after {
						top: 10px;
					}
					&::before,
					&::after {
						height: 1px;
						width: 35px;
						border-radius: 2px;
						background-color: black;
						position: absolute;
						content: "";
						transition: all 0.2s ease-in-out;
					}
				}
			}

			input[type="checkbox"] {
				display: none;
			}

			input[type="checkbox"]:checked ~ #overlay {
				visibility: visible;
			}

			input[type="checkbox"]:checked ~ #overlay-button:hover span,
			input[type="checkbox"]:checked ~ #overlay-button span {
				background: transparent;
			}
			input[type="checkbox"]:checked ~ #overlay-button span:before {
				transform: rotate(45deg) translate(7px, 7px);
				background: white;
			}
			input[type="checkbox"]:checked ~ #overlay-button span:after {
				transform: rotate(-45deg) translate(7px, -7px);
				background: white;
			}

			#overlay {
				height: 100vh;
				width: 100vw;
				background: linear-gradient(90deg, rgba(51, 82, 147, 1) 0%, rgba(93, 141, 194, 1) 100%);
				z-index: 2;
				visibility: hidden;
				position: fixed;
				top: 0;
				ul {
					display: flex;
					justify-content: center;
					align-items: center;
					flex-direction: column;
					text-align: center;
					height: 100vh;
					padding-left: 0;
					list-style-type: none;
					li {
						line-height: 3.5;
						color: #fff;
						font-size: 1.6rem;
						&:first-of-type {
							margin-bottom: 30px;
						}
					}
				}
			}
		}
	}

	footer {
		.contact {
			padding: 40px 0px;
		}
		.footer_wrapper {
			padding: 35px 20px;
			flex-direction: column;
			align-items: flex-start;
			figure {
				margin-bottom: 20px;
				display: flex;
				align-items: center;
				& img {
					width: 100px;
				}
			}
			nav {
				flex-direction: column;
				align-items: flex-start;
				font-size: 1.6rem;
				line-height: 2.4;
				& a {
					margin-right: 0px;
				}
			}
		}
	}

	#top {
		.mv {
			margin: 0px auto;
			.mv_text {
				display: block;
				top: 13%;
				font-size: 2.4rem;
				span {
					font-size: 1.9rem;
				}
			}
			article {
				padding: 50px 20px;
				position: unset;
				p {
					font-size: 2rem;
					&:last-of-type {
						margin-bottom: 30px;
					}
				}
			}
		}

		.services {
			padding: 50px 20px;
			background: #ecf5fb;
			.wrapper_01 {
				article {
					flex-direction: column-reverse;
					margin-bottom: 80px;
					&:nth-child(even) {
						flex-direction: column-reverse;
					}
					div {
						padding: 20px;
					}
					figure {
						position: unset;
					}
				}
			}
		}

		.news {
			padding: 50px 30px;
			div {
				& a {
					flex-direction: column;
					align-items: flex-start;
					time {
						margin: 0px 0px 10px 0px;
					}
				}
			}
		}
		.recruit {
			padding: 50px 20px;
			article {
				flex-direction: column;
				figure {
					max-width: 100%;
				}
				div {
					max-width: 100%;
				}
			}
		}
	}

	#about {
		.mvv {
			article {
				p {
					font-size: 2rem;
					span {
						font-size: 2.1rem;
					}
				}
				div {
					article {
						h3 {
							font-size: 1.8rem;
						}
						ul {
							font-size: 1.6rem;
						}
					}
				}
			}
		}

		.message {
			padding: 50px 30px;
			background: linear-gradient(to right, #fff 0%, #fff 20%, #ecf5fb 20%, #ecf5fb 100%);
			.wrapper_01 {
				.greeting {
					flex-direction: column;
					figure {
						margin: 0px 0px 30px 0px;
					}
					div {
						p {
							font-size: 1.6rem;
						}
					}
				}

				.profile {
					padding: 20px;
					h3 {
						margin-bottom: 30px;
					}
					p {
						&:last-of-type {
							font-size: 1.4rem;
						}
					}
				}
			}
		}

		.all_company {
			article {
				padding: 50px 0px;
			}
		}
	}

	#services {
		.content {
			article {
				margin-bottom: 60px;
				article {
					figure {
						width: 100%;
					}
					div {
						width: 100%;
					}
					.case {
						width: 100%;
						padding: 25px;
					}
				}
			}
		}

		.voices {
			div {
				gap: 20px;
				flex-direction: column;
				article {
					width: 100%;
				}
			}
		}
	}

	#home {
		article {
			a {
				padding: 25px 0px;
				flex-direction: column;
				align-items: flex-start;
				figure {
					width: 100%;
					margin: 0px 0px 30px 0px;
					& img {
						width: 100%;
						height: auto;
					}
				}
				time {
					margin: 0px 0px 5px 0px;
				}
			}
		}
	}

	#recruit {
		.message {
			h2 {
				font-size: 2.8rem;
			}
		}

		.job {
			nav {
				flex-direction: column;
				& a {
					width: 80%;
					margin: auto;
				}
			}

			article {
				table {
					th,
					td {
						display: block;
						width: 100%;
						border-top: 1px solid #f7f7f7;
						border-right: 1px solid #f7f7f7;
						border-bottom: 1px solid #f7f7f7;
						border-left: 1px solid #f7f7f7;
					}
				}
			}
		}
	}

	#single {
		article {
			.title {
				font-size: 2.3rem;
			}
		}
	}

	#contact {
		.check {
			margin: 0px;
			article {
				flex-direction: column;
				line-height: 2;
				.required {
					margin: 10px 0px 0px 0px;
				}
				& a {
					margin-left: 0px;
				}
			}
		}

		.choice {
			span.wpcf7-form-control.wpcf7-radio.check {
				flex-direction: column;
			}
			.wpcf7-list-item {
				width: 100%;
			}
		}
	}
}
