* {
	text-decoration: none;
}
:root {
	--main-color: #757575;
	--sub-color: #F9FBE7;
	--accent-color: #004D40;
}
html {
	margin: 0px !important;
}
body {
	margin: 0px;
}
header {
	background-color: var(--accent-color);
	padding: 0px 11% 0px 20%;
	height: 70px;
}
header div {
	padding-top: 7px;
}
header span {
	color: #E5E5E5;
	font-size: 36px;
}
header ul {
	float: right;
	padding: 0px;
}
header ul.main {
	display: block;
}
header ul.res {
	display: none;
	margin: 0px;
}
header ul.res span {
	font-size: 40px;
	font-weight: bold;
	margin: 0px 20px 0px 0px;
}
header li {
	position: relative;
	list-style: none;
	font-weight: bold;
	display: inline;
	margin: 0px 6px;
	padding: 0px 6px;
}
header li::after {
	content: '';
	position: absolute;
	top: 22px;
	left: 0px;
	width: 101%;
	height: 2px;
	background: var(--sub-color);
	transition: all .3s;
	transform: scale(0, 1);
	transform-origin: left top;
}
header li:hover::after {
	transform: scale(1, 1);
}
header a {
	color: #E5E5E5;
}
@media (max-width: 768px) {
	/* header ul.main {
		display: none;
	}
	header ul.res {
		display: block;
	} */
}
.grecaptcha-badge {
	display: none;
}

/* ↑ヘッター　↓ボディ */
.dpoqb_top {
	background-color: var(--sub-color);
	color: var(--accent-color);
	padding: 16px 18%;
}
.dpoqb_top h1 {
	margin-bottom: 100px;
	text-align: center;
}
.dpoqb_top h1 li {
	list-style: none;
	display: inline-block;
	animation: top_wave 0.6s linear 0s infinite alternate;
}
.dpoqb_top h1 li:nth-of-type(10n+1) {
	animation-delay: 0.0s;
}
.dpoqb_top h1 li:nth-of-type(10n+2) {
	animation-delay: 0.1s;
}
.dpoqb_top h1 li:nth-of-type(10n+3) {
	animation-delay: 0.2s;
}
.dpoqb_top h1 li:nth-of-type(10n+4) {
	animation-delay: 0.3s;
}
.dpoqb_top h1 li:nth-of-type(10n+5) {
	animation-delay: 0.4s;
}
.dpoqb_top h1 li:nth-of-type(10n+6) {
	animation-delay: 0.5s;
}
.dpoqb_top h1 li:nth-of-type(10n+7) {
	animation-delay: 0.6s;
}
.dpoqb_top h1 li:nth-of-type(10n+8) {
	animation-delay: 0.7s;
}
.dpoqb_top h1 li:nth-of-type(10n+9) {
	animation-delay: 0.8s;
}
@keyframes top_wave {
	0% {
		transform: translate(0px, 0px);
	}
	100% {
		transform: translate(0px, -12px);
	}
}
.dpoqb_top button {
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0%);
	width: 25%;
	margin-top: -66px;
	background-color: var(--sub-color);
	border: 4px solid var(--accent-color);
	border-radius: 28px;
	padding: 12px;
	font-size: 16px;
	font-weight: bold;
}
.dpoqb_top button::before {
	display: inline-block;
	content: "→";
	animation: top_arrow 0.4s linear 0s infinite alternate;
}
@keyframes top_arrow {
	0% {
		transform: translate(-4px, -2px);
	}
	100% {
		transform: translate(-14px, -2px);
	}
}
.dpoqb_top button:hover {
	animation: top_contact_jump 0.2s linear 0s;
}
@keyframes top_contact_jump {
	0% {
		transform: translate(-50%, 0px);
	}
	50% {
		transform: translate(-50%, -6px);
	}
	100% {
		transform: translate(-50%, 0px);
	}
}
.dpoqb_top .services {
	margin-top: -41px;
	margin-bottom: 38px;
	border: 4px solid var(--accent-color);
	border-radius: 28px;
	padding: 16px 12px 24px 12px;
}
.dpoqb_top .services p {
	margin: 20px 0px 6px 0px;
	font-weight: bold;
	color: var(--main-color);
}
.dpoqb_top .service {
	display: inline-block;
	width: 29%;
	margin: 0px 4px 16px 4px;
	background-color: var(--accent-color);
	border: 4px solid var(--accent-color);
	border-radius: 12px;
	padding: 4px;
}
.dpoqb_top .service:hover {
	animation: top_jump 0.2s linear 0s;
}
@keyframes top_jump {
	0% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-6px);
	}
	100% {
		transform: translateY(0px);
	}
}
.dpoqb_top .service .icon {
	width: 96%;
	background-color: var(--sub-color);
	border: 4px solid var(--accent-color);
	border-radius: 8px;
	aspect-ratio: 1/1;
}
.dpoqb_top .service img {
	width: 70%;
	height: 100%;
	display: block;
	margin: auto;
	border-radius: 8px;
}
.dpoqb_top .service p {
	text-align: center;
	font-weight: bold;
	background-color: var(--accent-color);
	color: var(--sub-color);
	margin: 6px 0px 0px 0px;
}
@media screen and (max-width:1100px) {
	.dpoqb_top {
		padding: 16px 8%;
	}
	.dpoqb_top .service {
		padding: 16px 1%;
	}
}
@media screen and (max-width:844px) {
	.dpoqb_top {
		font-size: 12px;
		padding: 16px 4%;
	}
	.dpoqb_top h1 {
		margin-bottom: 86px;
	}
	.dpoqb_top h1 ul {
		padding: 0px;
	}
	.dpoqb_top button {
		width: 56%;
	}
	.dpoqb_top .service {
		width: 43%;
		margin: 0px 2px 16px 2px;
	}
	.dpoqb_top .services {
		padding: 16px 8px 24px 8px;
	}
}

/* ↓カテゴリ一覧↓ */
.dpoqb_category_list {
	background-color: var(--sub-color);
	color: var(--accent-color);
	padding: 16px 12% 34px 12%;
}

.dpoqb_category_list img {
	width: 300px;
	height: 200px;
}

/* ↓実績一覧↓ */
.dpoqb_history .excerpt p {
	width: 304px;
	margin: 0px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ↓プロフィール一覧↓ */
.dpoqb_profile .tag {
	color: var(--sub-color);
	background-color: var(--main-color);
	margin: 0px 4px;
	border-radius: 50px;
	padding: 0px 12px;
}

/* ↑ボディ　↓フッター */
footer {
	background-color: var(--accent-color);
	color: #E5E5E5;
	width: 100%;
	height: 70px;
	display: table;
}
footer span {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}
