@charset "UTF-8";

/* ベース
==================================================== */
/* @import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,800;1,800&family=Noto+Sans+JP:wght@700&display=swap"); */

:root {
	--font-montserrat: 'Montserrat', var(--font-gothic-base);
	--color-main: #182341;
	--color-sub: #d8e0ee;
	--color-accent: #dff4ff;
	--color-caution: #cf2e2e;

	--color-hygiene: #16358f;
	--color-corp: #182341;
	--color-eco: #1b9844;
	--color-recruit: #00b5e2;

	--icon-arrow-white: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="none" stroke="%23ffffff" stroke-width="1.5"/><path d="M10.5 16L14 12L10.5 8" fill="none" stroke="%23ffffff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	--icon-arrow-main: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" fill="none" stroke="%23182341" stroke-width="1.5"/><path d="M10.5 16L14 12L10.5 8" fill="none" stroke="%23182341" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	--icon-tel: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="25.931" height="32" viewBox="0 0 25.931 32"><path d="M24.5,24.4a7.855,7.855,0,0,0-2.828-2.831,3.55,3.55,0,0,0-3.557.222,7.757,7.757,0,0,0-2.5,2.476,13.852,13.852,0,0,1-6.423-5.506,12.665,12.665,0,0,1-2.42-8,8.352,8.352,0,0,0,3.438-1.008A3.16,3.16,0,0,0,12,6.855a7.41,7.41,0,0,0-1.43-3.648A7.872,7.872,0,0,0,7.747.374,3.552,3.552,0,0,0,4.19.6a8.084,8.084,0,0,0-3.155,3.7A6.8,6.8,0,0,0,.627,5.566,9.4,9.4,0,0,0,.156,7.492c-.576,4.161.375,8.709,4.03,14.22s7.573,8.315,11.793,9.651a10.989,10.989,0,0,0,2.15.452,8.14,8.14,0,0,0,1.09.155,8.886,8.886,0,0,0,4.918-1.014,3.159,3.159,0,0,0,1.794-2.9A7.388,7.388,0,0,0,24.5,24.4" transform="translate(0 0)" fill="%2316358f"/></svg>');
}

p {
	line-height: 1.9;
}

strong {
	font-weight: 700;
}

/* 打ち消し
==================================================== */
.wp-block-cover,
.wp-block-cover-image {
	min-height: auto;
}
.wp-block-image {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.wp-block-cover {
		padding-left: 0;
		padding-right: 0;
	}
}

/* 余白
==================================================== */
.pt-s {
	padding-top: 3rem;
}

.pt-m {
	padding-top: 7rem;
}

.pt-l {
	padding-top: 10rem;
}

.pt-xl {
	padding-top: 15rem;
}

.pb-s {
	padding-bottom: 3rem;
}

.pb-m {
	padding-bottom: 7rem;
}

.pb-l {
	padding-bottom: 10rem;
}

.pb-xl {
	padding-bottom: 15rem;
}

.py-s {
	padding: 3rem 0;
}

.py-m {
	padding: 7rem 0;
}

.py-l {
	padding: 10rem 0;
}

.py-xl {
	padding: 15rem 0;
}

.mt-s {
	margin-top: 3rem;
}

.mt-m {
	margin-top: 7rem;
}

.mt-l {
	margin-top: 10rem;
}

.mt-xl {
	margin-top: 15rem;
}

.mb-s {
	margin-bottom: 3rem;
}

.mb-m {
	margin-bottom: 7rem;
}

.mb-l {
	margin-bottom: 10rem;
}

.mb-xl {
	margin-bottom: 15rem;
}

@media screen and (max-width: 768px) {
	.pt-s {
		padding-top: 6vw;
	}

	.pt-m {
		padding-top: 10vw;
	}

	.pt-l {
		padding-top: 13vw;
	}

	.pt-xl {
		padding-top: 18vw;
	}

	.pb-s {
		padding-bottom: 6vw;
	}

	.pb-m {
		padding-bottom: 10vw;
	}

	.pb-l {
		padding-bottom: 13vw;
	}

	.pb-xl {
		padding-bottom: 18vw;
	}

	.py-s {
		padding: 6vw 0;
	}

	.py-m {
		padding: 10vw 0;
	}

	.py-l {
		padding: 13vw 0;
	}

	.py-xl {
		padding: 18vw 0;
	}

	.mt-s {
		margin-top: 6vw;
	}

	.mt-m {
		margin-top: 10vw;
	}

	.mt-l {
		margin-top: 13vw;
	}

	.mt-xl {
		margin-top: 18vw;
	}

	.mb-s {
		margin-bottom: 6vw;
	}

	.mb-m {
		margin-bottom: 10vw;
	}

	.mb-l {
		margin-bottom: 13vw;
	}

	.mb-xl {
		margin-bottom: 18vw;
	}
}

/* 見出し
==================================================== */
h2[data-sub] {
	padding-bottom: 4.2rem;
	font-weight: 700;
	font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
}

h2[data-sub]::before {
	font-family: var(--font-montserrat);
	font-size: 275%;
	color: var(--color-hygiene);
	content: attr(data-sub);
	display: block;
	order: 1;
	opacity: 1;
}

h2[data-sub][data-sub-position='bottom']:before {
	content: attr(data-sub);
}

h2[data-sub='MESSAGE']:before,
h2[data-sub='PHILOSOPHY']:before,
h2[data-sub='MAIL FORM']:before {
	color: var(--color-white) !important;
}

h2[data-sub='PHONE']:before {
	color: var(--color-main) !important;
}

h2[data-sub]::after {
	order: 2;
	display: block;
	width: 50px;
	height: 6px;
	margin-top: 1.5rem;
	background-color: var(--color-sub);
}

h2[data-sub][data-sub-position='bottom']:after {
	content: '';
}

h3.wp-block-heading {
	position: relative;
	z-index: 1;
	line-height: 1.5;
	font-size: 150%;
	letter-spacing: 0.1em;
	font-weight: 700;
}

.common-head,
.post-content h2 {
	font-size: 150%;
	display: flex;
	align-items: center;
	margin-bottom: 1em;
	line-height: 1.5;
}

.common-head:before,
.post-content h2:before {
	height: 3rem;
	width: 8px;
	background-color: var(--color-main);
}

@media screen and (max-width: 768px) {
	h2[data-sub] {
		padding-bottom: 7.2vw;
	}

	h2[data-sub]::before {
		font-size: 200%;
	}

	h2[data-sub]::after {
		width: 50px;
		height: 4px;
		margin-top: 2vw;
	}

	.common-head,
	.post-content h2 {
		font-size: 120%;
	}

	.common-head:before,
	.post-content h2:before {
		height: 7vw;
	}
}

/* ボタン
==================================================== */
.wp-block-button,
.nav-link {
	min-width: 32rem;
	padding-top: 4.8rem;
}

.wp-block-button__link,
.cta-list__item,
.nav-link__link {
	border: 1px solid var(--color-main);
	background-color: transparent;
	font-weight: 700;
	color: var(--color-main);
	padding: 1em 2em;
	border-radius: 0;
	font-size: 110%;
	transition:
		0.2s color,
		0.2s background-color;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

.wp-block-button__link::after,
.cta-list__item::after {
	content: '';
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	flex-shrink: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: background-image 0.2s ease;
	background-image: var(--icon-arrow-main);
}

.nav-link__link--archive:after {
	content: none;
}

.nav-link__link:hover {
	opacity: 1;
}

.wp-block-button__link:focus-visible,
.cta-list__item:focus-visible,
.nav-link__link:focus-visible,
.header__contact__link:focus-visible {
	background-color: var(--color-white);
	color: var(--color-main);
}

.related .menu-item.current-menu-item a {
	background-color: var(--color-main);
	color: var(--color-white) !important;
	pointer-events: none;
}

.cta-list__item {
	display: inline-flex;
	background-color: var(--color-white);
	width: auto;
	margin-top: 4.8rem;
}

.cta-list__item__text {
	font-weight: 700;
}

@media (any-hover: hover) {
	.wp-block-button__link:hover,
	.cta-list__item:hover,
	.nav-link__link:hover,
	.header__contact__link:hover {
		background-color: var(--color-corp);
		color: var(--color-white);
	}

	.wp-block-button__link:hover::after,
	.cta-list__item:hover::after,
	.nav-link__link:hover::after,
	.header__contact__link:hover::after {
		background-image: var(--icon-arrow-white);
	}
}

@media screen and (max-width: 768px) {
	.wp-block-button,
	.nav-link,
	.cta-list__item {
		padding-top: 8vw;
		min-width: 50vw;
	}

	.wp-block-button__link,
	.cta-list__item {
		padding: 1.2em 1em;
		font-size: 90%;
	}

	.cta-list__item {
		margin-top: 8vw;
	}

	.nav-link__link {
		padding: 3.5vw 2vw;
		font-size: 86%;
		gap: 0;
	}
}

/* リスト
==================================================== */
.wp-block-list {
	line-height: 1.9;
}

.wp-block-list {
	padding-left: 1.5em;
}

ul.wp-block-list li {
	display: list-item;
	list-style-type: disc;
	list-style-position: outside;
}

ul.wp-block-list li strong {
	display: block;
}

ul.wp-block-list li br {
	display: none;
}

.wp-block-list li::marker {
	color: var(--color-main);
}

ul.wp-block-list li:last-child {
	margin-bottom: 0;
}

.wp-block-list a:after {
	top: -4px;
	position: relative;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.wp-block-list a:after {
		top: -0.4vw;
	}
}

/* テーブル
==================================================== */

/* .wp-block-table {
	max-width: 1000px;
	margin: 0 auto;
}

.wp-block-table thead {
	background-color: var(--color-sub);
	border-bottom: 1px solid var(--color-main);
}

.wp-block-table thead th {
	font-weight: 700;
}

.wp-block-table tr {
	border-bottom: 1px solid var(--color-gray);
	padding: 1em 0;
	display: flex;
}

.wp-block-table td,
.wp-block-table th {
	line-height: 1.9;
	border: none;
	padding: 0;
}

.wp-block-table th,
.wp-block-table tr > td:first-child {
	color: var(--color-main);
	width: 17rem;
	font-weight: 700;
	flex-shrink: 0;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.wp-block-table td,
	.wp-block-table th {
		padding: 0.2em;
	}

	.wp-block-table tr {
		flex-direction: column;
	}

	.wp-block-table th,
	.wp-block-table tr > td:first-child {
		width: auto;
	}

	.p-technical + .wp-block-table tr {
		flex-direction: row;
	}
} */

/* バナー
==================================================== */
.home-banner-top {
	padding: var(--padding-base) 0;
}
.home-banner-top .banner-list__item {
	border: 1px solid var(--color-sub);
}

@media screen and (max-width: 1304px) {
	.banner-list__item {
		width: calc((100% - var(--gap-base) * 3) / 4);
	}
}
@media screen and (max-width: 768px) {
	.home-banner-top {
		padding: var(--padding-mobile) 0;
	}
	.banner-list {
		gap: var(--gap-base-mobile);
	}
	.banner-list__item {
		width: calc((100% - var(--gap-base-mobile)) / 2);
	}
}

/* ヘッダー
==================================================== */
.header[data-fixed] {
	z-index: 10;
}

.header__text h1,
.header__text p {
	line-height: 1.25;
}

.menu-header-top-container .menu a {
	display: flex;
	align-items: center;
	gap: 0.5em;
	text-decoration: none;
}

.menu-header-top-container .menu a::before {
	content: '';
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	flex-shrink: 0;
	border-radius: 50%;
	background-image: var(--icon-arrow-white);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: opacity 0.3s ease;
}

.menu-header-top-container .menu a:hover::before {
	opacity: 0.7;
}
.menu-header-top-container .menu-item-home a {
	pointer-events: none;
	font-weight: 700;
}

.header__tel__text {
	gap: 0;
}

.header__tel__number,
.cta__tel__number {
	font-family: var(--font-montserrat);
	font-size: 230%;
	color: var(--color-hygiene);
	display: flex;
	align-items: center;
	text-decoration: none;
	gap: 0.2em;
}

.header__tel__number::before,
.cta__tel__number::before,
.p-tel .wp-block-group a::before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 28px;
	flex-shrink: 0;
	background-image: var(--icon-tel);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.p-tel .wp-block-group a::before {
	width: 42px;
	height: 39px;
}

.header__tel__number:hover::before,
.cta__tel__number:hover::before,
.p-tel .wp-block-group a:hover::before {
	opacity: 0.7;
	transition: opacity 0.3s ease;
}

/* #menu-header .menu-item {
	border-left: 1px solid var(--color-gray);
}

#menu-header {
	border-right: 1px solid var(--color-gray);
} */

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
}

/* フッター
==================================================== */
/* .footer__info {
	line-height: 1.9;
} */

.footer__banners h2 {
	color: var(--color-white);
	font-weight: 700;
	padding-bottom: 1em;
}

.footer__col {
	width: auto;
}

.footer__nav .footer__col:nth-of-type(1) .footer__nav-list {
	display: grid !important;
	grid-template-columns: repeat(2, 10rem);
	grid-template-rows: repeat(4, auto);
	grid-auto-flow: column;
	row-gap: 2.5em;
	column-gap: 1em;
}

.footer__nav .footer__col:nth-of-type(1) .footer__nav-list li {
	width: 10rem;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.footer__banners {
		display: none;
	}

	.footer__middle {
		margin-bottom: 0;
	}

	.footer__banners {
		padding-top: 5vw;
	}

	.footer__row--top {
		padding-top: var(--padding-mobile);
		padding-bottom: var(--padding-mobile);
	}
}

/* 下層ページヘッダー
==================================================== */
.page-title-wrap {
	background: url(https://corp.bouken7.com/wp-content/uploads/company-president.jpg)
		no-repeat top right / cover;
}
.page-title-wrap__inner {
	height: 33rem;
}
.page-title {
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}

@media screen and (max-width: 1304px) {
	.page-title {
		font-size: 3.6rem;
	}
}

@media screen and (max-width: 768px) {
	.page-title-wrap__inner {
		height: 40vw;
	}

	.page-title {
		font-size: 140%;
	}

	.page-title[data-slug]:before {
		font-size: 60%;
		font-family: var(--font-montserrat);
	}
}

/* 下層 - お問い合わせ - 電話
==================================================== */
.p-tel {
	border: 1px solid var(--color-main);
	border-radius: 10px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.p-tel .wp-block-group a {
	font-family: var(--font-montserrat);
	font-size: 330%;
	color: var(--color-main);
	font-weight: bold;
	border-bottom: 1px solid var(--color-main);
	margin-bottom: 0.5em;
}

.p-tel .wp-block-group strong {
	color: var(--color-main);
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.p-tel > .wp-block-group__inner-container {
		padding: 2rem;
	}

	.p-tel .wp-block-group a {
		font-size: 260%;
	}
}

/* 下層 - お問い合わせ - フォーム
==================================================== */
.snow-monkey-form,
.snow-monkey-form + p {
	max-width: 60rem;
	margin: 0 auto;
}

.snow-monkey-form + p {
	padding-top: 2rem;
}

.smf-item {
	margin-bottom: 4.5rem;
}

.smf-item__col--label {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	gap: 2rem;
}

.smf-item__label__text {
	font-weight: bold;
	font-size: 110%;
}

.smf-control-description {
	font-size: 80%;
	margin-top: 1em;
	color: var(--color-white);
}

.smf-item__description {
	margin-top: 0;
	background-color: var(--color-caution);
	color: var(--color-black);
	font-size: 80%;
	padding: 0.5rem 1rem;
	line-height: 1;
	color: var(--color-white);
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control,
.smf-form .smf-select-control__control {
	font-size: 100%;
	width: 100%;
	padding: 1em;
}

.smf-form .smf-checkbox-control {
	align-items: center;
	gap: 0.5em;
}

.smf-text-control__control::placeholder,
.smf-textarea-control__control::placeholder {
	color: var(--color-gray);
}

.smf-checkboxes-control__control {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 1rem;
}

.snow-monkey-form textarea {
	min-height: 24rem;
}

.smf-button-control button {
	border: 1px solid var(--color-white) !important;
	color: var(--color-main) !important;
	font-weight: 700;
	text-align: center;
	padding: 1em 2em !important;
	background-image: none !important;
	background-color: var(--color-white) !important;
	font-size: 100%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	text-decoration: none;
	transition: all 0.3s ease;
}

.smf-button-control button::after {
	content: '';
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	flex-shrink: 0;
	border-radius: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: background-image 0.3s ease;
	background-image: var(--icon-arrow-main);
}

.smf-button-control button:hover {
	background-color: var(--color-main) !important;
	color: var(--color-white) !important;
}

.smf-button-control button:hover::after {
	background-image: var(--icon-arrow-white);
}

.smf-select-control__control {
	color: var(--color-black);
}

.smf-select-control__control:invalid {
	color: var(--color-gray);
}

/* .smf-select-control__control option {
  color: var(--color-black);
} */

.smf-form .smf-select-control__toggle:before {
	border-color: var(--color-gray);
}

/* 4. （お好みで）開いた時の「都道府県を選択」という選択肢自体は「グレー」にする */
/* .smf-select-control__control option[value=""] {
  color: var(--color-gray);
} */

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.snow-monkey-form + p {
		padding: 6vw 0;
	}

	.smf-item {
		margin-bottom: 12vw;
	}

	.smf-item__col--label {
		margin-bottom: 4vw;
		gap: 2vw;
	}

	.smf-checkboxes-control__control {
		grid-template-columns: 1fr;
		gap: 4vw 0;
	}

	.smf-form .smf-text-control__control {
		padding: 4vw 2vw;
	}

	.smf-control-description {
		margin-top: 4vw;
	}

	.snow-monkey-form {
		padding: 0;
	}

	.smf-button-control__control {
		width: 100%;
		min-width: auto;
	}
}

/* 下層 - サイトマップ
==================================================== */
.sitemap-wrap {
	padding: 10rem 0;
	gap: 5rem var(--gap-base);
}

.sitemap-wrap section + section {
	margin-top: 0;
}

.sitemap-text {
	margin-bottom: 1.5em;
}

.sitemap-section .sub-menu > .menu-item::before {
	position: relative;
	bottom: 0.2em;
}

.common-head--site-corporate::before {
	background-color: var(--color-corp);
}

.common-head--site-corporate::after {
	border-bottom-color: var(--color-corp);
}

#menu-site-corporate > .menu-item::before,
#menu-site-corporate .sub-menu > .menu-item::before {
	color: var(--color-corp);
}

.common-head--site-recruit::before {
	background-color: var(--color-recruit);
}

.common-head--site-recruit::after {
	border-bottom-color: var(--color-recruit);
}

#menu-site-recruit > .menu-item::before,
#menu-site-recruit .sub-menu > .menu-item::before {
	color: var(--color-recruit);
}

.common-head--site-hygiene::before {
	background-color: var(--color-hygiene);
}

.common-head--site-hygiene::after {
	border-bottom-color: var(--color-hygiene);
}

#menu-site-hygiene > .menu-item::before,
#menu-site-hygiene .sub-menu > .menu-item::before {
	color: var(--color-hygiene);
}

.common-head--site-eco::before {
	background-color: var(--color-eco);
}

.common-head--site-eco::after {
	border-bottom-color: var(--color-eco);
}

#menu-site-eco > .menu-item::before,
#menu-site-eco .sub-menu > .menu-item::before {
	color: var(--color-eco);
}

.common-head--site-media::before {
	background-color: var(--color-gray);
}

.common-head--site-media::after {
	border-bottom-color: var(--color-gray);
}

#menu-site-media > .menu-item::before {
	color: var(--color-gray);
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.sitemap-wrap {
		grid-template-columns: 1fr;
		gap: 10vw;
		padding: 10vw 0;
	}

	.sitemap-text {
		margin-bottom: 1.5em;
	}

	.sitemap-section .sub-menu > .menu-item::before {
		bottom: 0.2em;
	}
}

/* ページネーション
==================================================== */
.pagination {
	padding-top: 10rem;
	padding-bottom: 0;
}

.pagination__link--current {
	background-color: var(--color-main);
	color: var(--color-white);
	border: 1px solid var(--color-main);
}

.pagination__link {
	border: 1px solid var(--color-main);
	min-height: 3.2rem;
}

.pagination__link:hover {
	background-color: var(--color-main);
	color: var(--color-white);
}

.pagination__link--first,
.pagination__link--prev,
.pagination__link--next,
.pagination__link--last {
	border: none;
}

.pagination__link--first:hover,
.pagination__link--prev:hover,
.pagination__link--next:hover,
.pagination__link--last:hover {
	background-color: transparent;
	color: var(--color-black);
	opacity: 0.3;
}

@media screen and (max-width: 1304px) {
	.pagination__item,
	.pagination__link {
		font-size: 1em;
	}

	.pagination {
		overflow-x: visible;
	}
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.pagination {
		padding-top: 10vw;
		padding-bottom: 0;
	}

	.pagination__link--first:after,
	.pagination__link--first:before,
	.pagination__link--last:after,
	.pagination__link--last:before,
	.pagination__link--next:after,
	.pagination__link--next:before,
	.pagination__link--prev:after,
	.pagination__link--prev:before {
		width: 0.5em;
		height: 0.5em;
	}

	.pagination__link {
		min-height: 7.5vw;
		min-width: 7.5vw;
		height: 7.5vw;
		line-height: 7.5vw;
		font-size: 3vw;
	}
}

/* 投稿一覧
==================================================== */
.post-list {
	/* gap: 1.5rem; */
}

.post-list__link {
	transition: 0.2s opacity;
	gap: 1.2rem !important;
}

.post-list__link:focus-visible {
	opacity: 0.6;
}

@media (any-hover: hover) {
	.post-list__link:hover {
		opacity: 0.6;
	}
}

.post-list__link img {
	border-radius: 1em;
}

.post-list__body {
	position: relative;
	gap: 1rem;
}

.post-list__categories {
	position: absolute;
	right: 0;
	justify-content: flex-end;
	top: -0.5rem;
}

.post-list__date {
	font-size: 75%;
	color: #333;
}

.post-list__category {
	color: var(--color-white);
	background-color: var(--color-gray2);
	padding: 0.4em 0.8em;
	border-radius: 100vmax;
	font-size: 75%;
}

.post-list__head {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--color-main);
	font-weight: 700;
	line-height: 1.7;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--color-main);
}

.post-list__excerpt {
	font-size: 75%;
}

@media screen and (max-width: 1304px) {
	.box-side {
		width: 33%;
	}

	.select-side {
		font-size: 100%;
	}
}

@media screen and (max-width: 992px) {
	.post-list {
		/* gap: 8vw 5vw; */
	}
}

@media screen and (max-width: 768px) {
	.post-list {
		padding-top: 6vw;
		gap: 4vw;
	}

	.post-list__link {
		gap: 0.2em !important;
	}

	.post-list__head {
		white-space: normal;
		padding-bottom: 2vw;
	}

	.post-list__body {
		gap: 0.7em;
	}

	.post-list__categories {
		top: -1vw;
	}

	.select-side {
		font-size: 100%;
	}
}

/* 投稿詳細
==================================================== */
.post-article {
	gap: 0;
	margin-bottom: 7rem;
}

.post-header {
	gap: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--color-main);
}

.post-header__date {
	font-size: 75%;
	color: #333;
}

.post-header__title {
	font-size: 175%;
}

.post-content {
	padding-top: 3rem;
}

.post-content h2 {
	padding-top: 3rem;
}

.post-article + div {
	padding-bottom: 7rem;
}

.post-content a {
	color: blue;
	border-bottom: blue;
}

.post-content table {
	width: 100%;
	margin-bottom: 7rem;
}

.wp-block-embed.is-type-video iframe {
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.post-container {
		padding: 6vw 0 13vw;
		row-gap: 10vw;
	}

	.post-article {
		margin-bottom: 13vw;
	}

	.post-content {
		padding-top: 6vw;
	}

	.post-header__date {
		font-size: 90%;
	}

	.post-header__title {
		font-size: 150%;
	}

	.post-content h2 {
		padding-top: 10vw;
	}

	.post-article + div {
		padding-bottom: 10vw;
	}

	.post-content table {
		margin-bottom: 10vw;
	}
}

/* CTA（コーポレート）
==================================================== */
.cta-contact {
	flex-flow: nowrap;
	align-items: flex-end;
}

.cta-contact__text p {
	font-weight: 700;
}
.cta-contact__img {
	width: calc(var(--column-base) * 6 + var(--gap-base) * 5);
}

.cta-contact__img img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.cta-list__item {
	min-width: 32rem;
	margin-top: 1.5em;
}

.cta__tel {
	margin-top: 3em;
}

.cta__tel__title {
	margin-bottom: 1em;
	font-weight: 700;
	font-size: 100%;
	letter-spacing: 0.1em;
	line-height: 1.5;
}

.cta__tel__number {
	font-family: var(--font-montserrat);
	font-size: 300%;
	color: var(--color-hygiene);
}

.cta__tel__number::before {
	width: 0.75em;
	height: 0.75em;
	fill: var(--color-hygiene);
}

@media screen and (max-width: 1304px) {
	.cta-list {
		flex-direction: column;
		align-items: center;
		gap: 4rem;
	}
}

@media screen and (max-width: 992px) {
	.cta-contact {
		flex-direction: column;
		align-items: flex-start;
	}
	.cta-contact__img {
		width: 100%;
		padding-top: 5vw;
	}
}

@media screen and (max-width: 768px) {
	.cta-list {
		flex-direction: column;
		gap: 5vw;
	}

	.cta-list__item {
		min-width: auto;
		width: 100%;
	}
	.cta__tel {
		margin-top: 7.5vw;
	}

	/* .cta-list__item:nth-child(1) {
		padding: 5vw 8vw;
		gap: 3.5vw;
		align-items: flex-start;
	}

	.cta-list__item:nth-child(1) a {
		height: 14vw;
	}

	.cta-list__item:nth-child(1) p:nth-child(1) {
		font-size: 90%;
	}

	.cta-list__item:nth-child(1) .cta-list__item__text {
		font-size: 100%;
	}

	.cta-list__item:nth-child(2) {
		height: 48vw;
	}

	.cta-list__item:nth-child(2) > .cta-list__item {
		min-height: 0;
	}

	.cta-list__item:nth-child(2) .cta-list__item__text {
		font-size: 280%;
		gap: 0.1em;
	}

	.cta-list__item:nth-child(2) .cta-list__item__text::before {
		width: 0.6em;
		height: 0.8em;
	} */
}

/* サービス一覧（衛生）
==================================================== */
.service-list {
	gap: 4rem 3rem;
}

.service-list__data-source {
	display: none;
}

.service-list__link {
	transition: 0.2s opacity;
	background-color: var(--color-white);
}

.service-list__link:focus-visible {
	opacity: 0.6;
}

@media (any-hover: hover) {
	.service-list__link:hover {
		opacity: 0.6;
	}
}

.service-list__header {
	gap: 1em 2em;
	position: relative;
	grid-template-areas: 'thumbnail title';
}

.service-list__title {
	font-size: 150%;
	position: absolute;
	line-height: 1.7;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

.service-list__price {
	font-size: 200%;
	color: var(--color-caution);
}

.service-list__overview {
	padding-bottom: 1.5em;
}

.service-list__detail {
	background-color: var(--color-main);
	width: 33rem;
	color: var(--color-white);
	text-align: center;
	padding: 0.5em;
	border-radius: 10px 0 7px 0;
}

.service-list__price__note {
	font-size: 70%;
}

.service-list__hygiene .service-list__link {
	border: 2px solid var(--color-hygiene);
}

.service-list__hygiene .service-list__detail {
	background-color: var(--color-hygiene);
}

.service-list__eco .service-list__link {
	border: 2px solid var(--color-eco);
}

.service-list__eco .service-list__detail {
	background-color: var(--color-eco);
}

.p-hygiene h2[data-sub]::before {
	color: var(--color-hygiene);
}

.p-hygiene .common-head:before {
	background-color: var(--color-hygiene);
}

.p-eco h2[data-sub]::before {
	color: var(--color-eco);
}

.p-eco .common-head:before {
	background-color: var(--color-eco);
}

@media screen and (max-width: 768px) {
	.service-list {
		gap: 10vw;
		grid-template-columns: auto;
	}

	.service-list__link {
		padding: 5vw 3vw;
	}

	.service-list__header {
		gap: 1em;
		grid-template-columns: 8em 1fr;
	}

	.service-list__thumbnail {
		width: 8em;
		height: 8em;
	}

	.service-list__title {
		font-size: 120%;
	}

	.service-list__price {
		font-size: 180%;
	}

	.service-list__overview {
		padding-bottom: 0;
	}

	.service-list__detail {
		position: relative;
		width: auto;
		border-radius: 100vmax;
		padding: 0.8em 0;
	}

	.service-list__price__note {
		font-size: 60%;
	}
}

/* トップ - 事業紹介（コーポレート）
==================================================== */
.p-business .wp-block-hsmt-heading-with-sub {
	width: 1240px;
}

.p-business .wp-block-columns {
	max-width: 1000px;
	margin: 0 auto;
}

.p-business .wp-block-columns {
	align-items: stretch !important;
}

.p-business .wp-block-column {
	display: flex !important;
	flex-direction: column;
	flex-basis: 0 !important;
	flex-grow: 1 !important;
}

.p-business .wp-block-column > .wp-block-group,
.p-business .wp-block-column .wp-block-group__inner-container {
	display: flex !important;
	flex-direction: column;
	flex-grow: 1 !important;
	height: 100% !important;
}

.p-business .wp-block-cover {
	flex-grow: 1 !important;
	height: 100% !important;
	width: 100%;
	position: relative !important;
	transition: opacity 0.3s ease;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}

.p-business .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	height: 100%;
}

.p-business
	> .wp-block-cover__inner-container
	.wp-block-cover__inner-container {
	padding-top: 20rem;
}

.p-business h3 a,
.p-business p {
	color: var(--color-white);
}

.p-business p {
	padding: 2em;
}

.p-business .wp-block-cover__inner-container,
.p-business .wp-block-cover h3,
.p-business .wp-block-cover h3 a {
	position: static !important;
	transform: none !important;
}

.p-business .wp-block-columns .wp-block-cover:hover {
	opacity: 0.7;
	cursor: pointer;
}

.p-business .wp-block-columns .wp-block-cover h3 a:hover {
	opacity: 1;
}

.p-business .wp-block-columns .wp-block-cover h3 a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
}

.p-business .wp-block-cover p,
.p-business .wp-block-button {
	position: relative;
	z-index: 9;
}

.p-business .wp-block-cover__background {
	background-color: transparent !important;
}

@media screen and (max-width: 992px) {
	.p-business .wp-container-core-columns-is-layout-9d6595d7 {
		padding-top: 4rem;
	}

	.p-business .wp-block-cover__inner-container {
		padding-top: 0;
	}

	.p-business {
		margin: 0;
	}

	.p-business .container {
		padding: 0;
	}

	.p-business p {
		padding: 1em;
	}
}

@media screen and (max-width: 768px) {
	.p-business.wp-block-cover {
		padding-right: 0;
		padding-left: 0;
	}

	.p-business .wp-container-core-columns-is-layout-9d6595d7 {
		padding-top: 4vw;
	}

	.p-business
		> .wp-block-cover__inner-container
		.wp-block-cover__inner-container {
		padding-top: 30vw;
	}

	.p-business .wp-block-cover {
		min-height: auto;
	}

	.p-business p {
		padding: 6vw;
	}
}

/* トップ - 会社情報（コーポレート）
==================================================== */

.home-mid-cover {
	padding: 0;
}

.home-2-cols {
	gap: 0;
}
.home-2-cols--company {
	flex-direction: row-reverse;
}
.home-2-cols--csr {
}
.home-2-cols__image {
	flex-basis: 50% !important;
}
.home-2-cols__image figure {
	height: 100%;
}
.home-2-cols__image img {
	height: 100% !important;
	object-fit: cover;
}
.home-2-cols__content {
	padding-left: 8vw;
	padding-right: 8vw;
	flex-basis: 50% !important;
	box-sizing: border-box;
}
.home-2-cols__content .wp-block-heading {
	margin-bottom: 1em;
	line-height: 1.75;
}

@media screen and (max-width: 1200px) {
	.home-2-cols__content {
		padding-left: 5vw;
		padding-right: 5vw;
		padding-top: 5vw;
		padding-bottom: 5vw;
	}
}
@media screen and (max-width: 992px) {
	.home-2-cols__content {
	}
}
@media screen and (max-width: 768px) {
	.home-2-cols__content {
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
}
/*
.wp-block-group:nth-of-type(2)
	.corp-flex
	.wp-container-core-columns-is-layout-9d6595d7 {
	flex-direction: row-reverse;
}

.wp-block-group
	.corp-flex
	.wp-container-core-columns-is-layout-9d6595d7
	.wp-block-column:nth-child(1) {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.wp-block-group > .wp-block-group__inner-container > .wp-block-cover {
	padding: 0;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3,
.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
	max-width: 54rem;
	width: 100%;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3 {
	padding: 0 2rem;
}

.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
	padding: 3rem 2rem 0;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 h3 {
		padding: 0 7vw;
	}

	.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 p {
		padding: 5vw 7vw 10vw;
	}

	.wp-block-group:nth-of-type(2)
		.corp-flex
		.wp-container-core-columns-is-layout-9d6595d7,
	.wp-block-group .corp-flex .wp-container-core-columns-is-layout-9d6595d7 {
		flex-direction: column-reverse;
	}
}
*/

/* CTA - リクルート（コーポレート）
==================================================== */
.section--recruit {
	background-image: url(https://corp.bouken7.com/wp-content/uploads/cta.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

.section--recruit h2[data-sub]::before {
	color: #7cffff;
}

.section--recruit h2[data-sub]::after {
	background-color: var(--color-white);
}

.section--recruit h2 {
	color: var(--color-white);
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.section--recruit {
		background-position: center;
	}
}

/* 下層 - 会社情報 - ごあいさつ（コーポレート）
==================================================== */
.p-message {
	margin-bottom: -15rem;
}

.p-message .wp-block-cover {
	height: 35rem;
}

.p-message p {
	max-width: 920px;
	margin: 0 auto;
}

.p-message h2[data-sub]::before,
.p-philosophy h2[data-sub]::before {
	color: var(--custom-secondary-color);
}

.p-message h3 {
	font-weight: 700;
	color: var(--custom-primary-color);
	font-size: 175%;
	padding-top: 2em;
}

.p-message figure {
	padding-top: 5rem;
}

.p-message strong {
	font-size: 150%;
}

.p-message .wp-block-cover + .wp-block-group {
	position: relative;
	top: -15rem;
}

.p-message h3 {
	padding-bottom: 1em;
	line-height: 1.7;
}

.p-message p + p {
	margin-top: 1em;
}

.p-message .has-text-align-right + .has-text-align-right {
	margin-top: 0;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.p-message {
		margin-bottom: -30vw;
	}

	.p-message .wp-block-cover {
		height: 55vw;
	}

	.p-message .wp-block-cover + .wp-block-group {
		top: -30vw;
	}

	.p-message figure {
		padding-top: 19vw;
	}

	.p-message figure img {
		object-fit: cover;
		object-position: right;
		height: 64vw !important;
	}

	.p-message h3 {
		text-align: left;
		font-size: 122%;
	}

	.p-message strong {
		font-size: 110%;
	}
}

/* 下層 - 会社情報 - 企業理念（コーポレート）
==================================================== */
.p-philosophy {
	padding: 0;
}

.p-philosophy .wp-block-column-is-layout-flow .wp-block-list li::before {
	background-color: var(--color-white);
}

.p-philosophy .wp-block-column-is-layout-flow p:nth-of-type(1) {
	color: var(--color-accent);
	font-size: 220%;
	line-height: 1.75;
}

.p-philosophy .wp-block-column-is-layout-flow .wp-block-heading {
	font-weight: 700;
	color: var(--color-accent);
	border-left: 6px solid var(--color-accent);
	padding-bottom: 0;
	margin-bottom: 0.8em;
	padding-left: 0.3em;
	margin-top: 6rem;
}

.p-philosophy .wp-block-list {
	padding-left: 0;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.p-philosophy .wp-block-column-is-layout-flow p:nth-of-type(1) {
		font-size: 200%;
	}

	.p-philosophy .wp-block-column-is-layout-flow .wp-block-heading {
		margin-top: 10vw;
		margin-bottom: 2vw;
	}
}

/* 下層 - 会社情報 - 技術資格（コーポレート）
==================================================== */
/* .p-technical + .wp-block-table {
	max-width: 100%;
}

.p-technical + .wp-block-table th,
.p-technical + .wp-block-table td {
	width: 25% !important;
	padding: 0 1em;
}

.p-technical + .wp-block-table td a {
	display: flex;
	align-items: center;
}

.p-technical + .wp-block-table th:nth-child(1),
.p-technical + .wp-block-table tr td:nth-child(1) {
	flex: 0 0 30% !important;
	width: 30% !important;
}

.p-technical + .wp-block-table th:nth-child(2),
.p-technical + .wp-block-table tr td:nth-child(2) {
	flex: 0 0 32% !important;
	width: 32% !important;
}

.p-technical + .wp-block-table th:nth-child(3),
.p-technical + .wp-block-table tr td:nth-child(3) {
	flex: 0 0 15% !important;
	width: 15% !important;
}

.p-technical + .wp-block-table th:nth-child(4),
.p-technical + .wp-block-table tr td:nth-child(4) {
	flex: 0 0 23% !important;
	width: 23% !important;
}

.p-technical + .wp-block-table {
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.p-technical + .wp-block-table table {
	min-width: 1240px !important;
	width: 100% !important;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
	.p-technical + .wp-block-table table {
		min-width: 1030px !important;
	}

	.p-technical + .wp-block-table th:nth-child(1),
	.p-technical + .wp-block-table tr td:nth-child(1) {
		flex: 0 0 27% !important;
		width: 27% !important;
	}
} */

/* 下層 - 会社情報 - 営業所案内（コーポレート）
==================================================== */
/* .office-list {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 2%;
}

.office-list__item {
	width: 32%;
	background-color: var(--color-white);
	padding: 0 2rem 2rem;
	border-radius: 10px;
}

.office__media {
	margin-top: 1em;
	width: 100%;
	height: 20rem;
}

.office__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.office__name {
	margin-top: 2rem;
}

.office__address p {
	font-style: normal;
}

@media screen and (max-width: 992px) {
	.office-list__item {
		width: 49%;
		background-color: var(--color-white);
	}
}

@media screen and (max-width: 768px) {
	.office-list__item {
		width: 100%;
		background-color: var(--color-white);
		padding: 0 4vw 4vw;
	}

	.office__media {
		height: 45vw;
	}
} */

/* 下層 - プライバシーポリシー（コーポレート）
==================================================== */
.page-id-3 [data-layout='1column'] {
	max-width: 900px;
	margin: 0 auto;
}

.page-id-3 ol.wp-block-list li {
	display: list-item;
	list-style-type: decimal;
	list-style-position: outside;
}

@media screen and (max-width: 992px) {
}

@media screen and (max-width: 768px) {
}
