/***********************
* Responsive Breakpoints
* 1025px +          PC
* 768px - 1024px    Tablet - PC
* 0px - 767px       SmartPhone
************************/

@font-face {
	font-family: "Noto Sans JP";
	src: url("fonts/NotoSansJP-VariableFont_wght.woff2") format(".woff2");
	src: url("fonts/NotoSansJP-VariableFont_wght.woff") format(".woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Serif JP";
	src: url("fonts/NotoSerifJP-VariableFont_wght.woff2") format(".woff2");
	src: url("fonts/NotoSerifJP-VariableFont_wght.woff") format(".woff");
	font-display: swap;
}

html {
	height: -webkit-fill-available;
}

body {
	min-height: 100vh;
}

/*********************
* common
***********************/
:root {
	--color-orange: rgb(255, 90, 30);
	--color-green: rgb(18, 89, 45);
	--color-purple: rgb(79, 37, 129);
	--color-bg: rgb(250, 250, 250);
	--color-bg-orange: rgb(255, 90, 30, 0.1);
	--distance: 50px;
	--distance-l: 100px;
	--distance-xl: 150px;
	--fnt-xs: 10px;
	--fnt-s: 12px;
	--fnt-m: 18px;
	--fnt-ml: 20px;
	--fnt-l: 26px;
	--fnt-xl: 38px;
	--radius: 10px;
	--radius-l: 20px;
	--radius-xl: 30px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
	:root {
		--distance: 35px;
		--distance-l: 65px;
		--distance-xl: 95px;
		--fnt-xs: 9px;
		--fnt-s: 11px;
		--fnt-m: 14px;
		--fnt-ml: 16px;
		--fnt-l: 22px;
		--fnt-xl: 30px;
		--radius: 8px;
		--radius-l: 16px;
		--radius-xl: 24px;
	}
}

@media screen and (max-width: 767px) {
	:root {
		--distance: 25px;
		--distance-l: 50px;
		--distance-xl: 75px;
		--fnt-xs: 9px;
		--fnt-s: 11px;
		--fnt-m: 16px;
		--fnt-ml: 16px;
		--fnt-l: 22px;
		--fnt-xl: 24px;
		--radius: 5px;
		--radius-l: 10px;
		--radius-xl: 15px;
	}
}

/* svg - logo */
img[src*=".svg"] {
	width: 100%;
	height: auto;
}

#masthead .site-info a img {
	width: 100%;
	max-height: 60px;
}

/* youtube & Google Map */
.youtube,
.gmap {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube iframe,
.gmap iframe {
	width: 100%;
	height: 100%;
}

/* Decoration  Other */
.b,
dt {
	font-weight: 900;
}

.pt-2 {
	padding-top: 2rem !important;
}

@media screen and (min-width: 480px) {
	.pc_center {
		text-align: center !important;
	}
}

.ml-2r {
	margin-left: 2rem !important;
}

@media screen and (max-width: 480px) {
	.ml-2r {
		margin-left: 0 !important;
	}
}

.wd800 {
	max-width: 800px !important;
}

.wp-block-group.mt0 {
	margin-top: 0 !important;
}

@media screen and (max-width: 800px) {
	.wd800 {
		max-width: 90% !important;
	}
}

.wd800 *,
.wp-block-nishiki-blocks-pro-animation {
	max-width: 100% !important;
}

.wd800 p {
	font-size: var(--fnt-m);
	line-height: 1.6;
}

.type-post .entry-content,
.type-page .entry-content .wp-block-columns:not(.office-info),
.type-page .entry-content p,
.type-page .entry-content .wp-block-list,
.type-page .entry-content .wp-block-nishiki-blocks-pro-faq,
.privacy-policy .entry-content {
	max-width: 800px !important;
	margin-right: auto;
	margin-left: auto;
	font-size: 18px;
	line-height: 1.8;
}

@media screen and (max-width: 800px) {
	.type-post .entry-content,
	.type-page .entry-content .wp-block-columns:not(.office-info),
	.type-page .entry-content p,
	.type-page .entry-content .wp-block-list,
	.type-page .entry-content .wp-block-nishiki-blocks-pro-faq,
	.privacy-policy .entry-content {
		max-width: calc(100% - 4rem) !important;
		margin-right: auto;
		margin-left: auto;
	}

	.wp-block-group.cta p {
		max-width: calc(100% - 1rem) !important;
	}

	.wd800 .wp-block-column p {
		max-width: 100% !important;
	}
}

@media screen and (max-width: 480px) {
	.type-post .entry-content,
	.type-page .entry-content .wp-block-columns:not(.office-info),
	.type-page .entry-content p,
	.type-page .entry-content .wp-block-list,
	.type-page .entry-content .wp-block-nishiki-blocks-pro-faq,
	.privacy-policy .entry-content {
		max-width: calc(100% - 2rem) !important;
		margin-right: auto;
		margin-left: auto;
	}

	.wp-block-group.cta p,
	.wp-block-group.cta .wp-block-list,
	.recruit .wp-block-column p,
	.recruit .wd800 p {
		max-width: 100% !important;
	}

	.recruit .wd800 img {
		padding-bottom: 1rem;
	}
}

/* トップページ以外でスタイルを無効化 */
body:not(.home) .articles[class*="column-"]:not([class*="has-"]) article {
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

/* common */
body {
	font-family: "Noto Sans JP", serif;
	font-size: var(--fnt-ml) !important;
	line-height: 1.6;
}

.entry-content,
.nishiki-pro-content {
	font-size: var(--fnt-ml);
}

.entry-content {
	padding-top: var(--distance);
	padding-bottom: var(--distance-l);
}

h2:not(.post-title) {
	border: none !important;
	border-bottom: var(--color-green) solid 2px;
	text-align: center;
	font-size: var(--fnt-l);
	padding-top: var(--distance);
	margin-block-end: 0;
}

.strelitzia_icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

h2:not(.post-title):not(.home h2)::before,
:not(.home) .strelitzia_icon::before {
	content: "";
	display: inline-block;
	width: 3.8rem;
	height: 2.5rem;
	background-image: url("img/icon.svg");
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 16px;
	vertical-align: middle;
}

h2:not(.home h2):not(.service-list h2) {
	padding: 3rem 0;
}

h2.post-title {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	h2:not(.post-title):not(.home h2)::before,
	:not(.home) .strelitzia_icon::before {
		width: 2.66rem;
		height: 1.75rem;
	}
}

@media screen and (max-width: 480px) {
	h2 {
		max-width: 100% !important;
	}

	.top-longtitle {
		font-size: 5vw !important;
	}

	h2:not(.home h2) {
		padding-bottom: 1rem !important;
	}

	h2:not(.post-title):not(.home h2)::before,
	:not(.home) .strelitzia_icon::before {
		width: 1.8rem;
		height: 1.18rem;
		margin-right: 5px;
	}
}

h3:not(.recruit h3) {
	text-align: center !important;
	border-bottom: 2px dotted var(--color-orange) !important;
}

h4 {
	position: relative;
	padding-left: 2rem;
}

h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 55%;
	transform: translateY(-50%);
	width: 1rem;
	height: 0.2rem;
	background-color: var(--color-orange);
}

@media screen and (max-width: 768px) {
	h3 {
		font-size: 18px;
	}

	h4 {
		font-size: 16px;
		padding-left: 24px;
	}

	h4::before {
		width: 16px;
	}
}

/*text*/
.text-container {
	font-family: "Noto Sans JP", serif;
	max-width: 800px !important;
	font-size: var(--fnt-ml);
	line-height: 1.6;
}

.wp-block-group.text-container {
	margin-top: 0;
	margin-bottom: 0;
}

/*レイアウトブロック（.service-listクラス付与）*/

.service-list {
	text-align: right;
	padding: 0 2rem 1rem 2rem;
	max-width: 900px;
}

@media screen and (max-width: 800px) {
	.service-list {
		text-align: center;
	}
}

.service-list h2 {
	line-height: 1.2;
	padding-top: 1.5rem !important;
}

.service-list .wp-block-nishiki-blocks-pro-layout-content {
	position: relative;
	padding: 0 2rem 1rem;
	z-index: 1;
	background-image: linear-gradient(
		to top,
		rgba(63, 164, 226, 0.5) 0%,
		rgba(63, 164, 226, 0.35) 15%,
		rgba(255, 255, 255, 0.8) 100%
	);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25), 0 6px 6px rgba(0, 0, 0, 0.22);
}

.wp-block-nishiki-blocks-pro-layout.service-list p {
	margin: 0.5rem 0 0 0 !important;
	max-width: 100% !important;
}

@media screen and (max-width: 768px) {
	.service-list {
		padding: 1rem;
	}

	.service-list .wp-block-nishiki-blocks-pro-layout-content {
		padding: 0 0.5rem 2rem !important;
	}

	.service-list.wp-block-nishiki-blocks-pro-layout {
		gap: 1rem;
	}
}

@media screen and (max-width: 680px) {
	.service-list .wp-block-nishiki-blocks-pro-layout-content {
		padding: 0 2rem 1rem !important;
	}
}

@media screen and (max-width: 480px) {
	.service-list {
		padding: 0.5rem;
	}

	.service-list .wp-block-nishiki-blocks-pro-layout-content {
		padding: 0 1rem 0.5rem !important;
	}
}

.service-list .wp-block-nishiki-blocks-pro-layout-content p {
	font-size: 18px;
	line-height: 1.8rem;
	padding: 0 0 1rem;
}

@media screen and (max-width: 768px) {
	.service-list .wp-block-nishiki-blocks-pro-layout-content p {
		line-height: 1.2rem;
		font-size: 16px;
	}
}

.service-list p:not(:has(a)) {
	text-align: left;
}

.service-list a {
	font-weight: bold;
	background-color: white;
	padding: 0.5rem 1rem;
	border-radius: 5px;
}

@media screen and (max-width: 780px) {
	.service-list a {
		padding: 0.5rem;
	}
}

.service-list a:hover {
	background-color: #3fa4e2;
	color: white;
}

.service-list a::before {
	content: "→";
	display: inline-block;
	margin-right: 8px;
	font-size: 16px;
	vertical-align: middle;
}

/* cta */
.cta .wp-block-list {
	max-width: 100%;
}

.cta .wp-block-list li {
	font-size: 16px !important;
}

.wp-block-group.cta {
	padding: var(--distance) 0;
}

@media screen and (max-width: 480px) {
	.wp-block-group.cta p {
		padding: 0 !important;
		max-width: 100%;
	}
}

.cta .wp-block-list {
	width: 800px;
	margin: 0 auto;
	background-color: var(--color-bg-orange);
	padding: 1rem;
	padding-left: 4rem !important;
}

@media screen and (max-width: 768px) {
	.cta .wp-block-list {
		padding-left: 2rem !important;
	}
}

/* recent_news */
.recent_news {
	margin-bottom: 2rem !important;
	border-color: var(--color-orange);
}

.recent_news .post-date {
	width: 150px;
}

/* btn */
.wp-block-nishiki-blocks-pro-button .btn {
	position: relative;
	background-color: var(--color-orange) !important;
	border: none !important;
	font-weight: bold;
	overflow: hidden;
	transition: transform 0.8s ease !important;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

.wp-block-nishiki-blocks-pro-button .btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgb(255, 255, 0), rgb(255, 100, 0));
	background-size: 150% 100%;
	background-position: left;
	opacity: 0;
	transition: opacity 0.6s ease, background-position 0.6s ease;
	z-index: -1;
}

.wp-block-nishiki-blocks-pro-button .btn:hover::before {
	background-position: right;
	opacity: 1;
}

.wp-block-nishiki-blocks-pro-button .btn:hover {
	z-index: 1;
}

.wp-block-nishiki-blocks-pro-button {
	margin-top: 0 !important;
}

@media screen and (max-width: 480px) {
	.wp-block-nishiki-blocks-pro-button .btn {
		padding: 0.7rem 1rem;
	}
}

/* drawers */
.overlay.menu-collapse.panel.mobile {
	background-color: rgba(173, 216, 230, 0.5) !important;
	background-image: url("img/bubble.svg");
	color: black;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 50%;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* post */
.post-image {
	border: 3px solid var(--color-bg-orange);
}

.post h1 {
	text-align: center;
	padding-top: var(--distance);
}

@media screen and (max-width: 768px) {
	.page-header .page-header-inner {
		padding: 3rem 0 2rem;
	}

	.post h1 {
		padding-top: 0;
		font-size: 1rem !important;
	}

	.cat {
		font-size: 0.6rem !important;
	}

	.nishiki-pro-breadcrumbs {
		padding: 0;
		font-size: var(--fnt-s);
	}

	.container.column {
		margin-top: 1rem;
	}
}

.post .related-posts {
	padding-top: var(--distance-l);
	padding-bottom: var(--distance);
}

/* フレームブロック  */
.wp-block-nishiki-blocks-pro-frame .label span {
	background-color: var(--color-orange) !important;
	font-weight: bold;
	font-size: 16px !important;
}

@media screen and (max-width: 480px) {
	wp-block-nishiki-blocks-pro-frame .label-normal span {
		padding: 0.3rem !important;
	}
}

.wp-block-nishiki-blocks-pro-frame {
	border: 2px solid #2a83a2 !important;
	position: relative;
	background: none;
}

.wp-block-nishiki-blocks-pro-frame .label {
	padding: 4px;
}

@media screen and (max-width: 768px) {
	.entry-content .wp-block-nishiki-blocks-pro-frame ul {
		padding-left: 1rem !important;
	}

	.wp-block-nishiki-blocks-pro-frame ul.wp-block-list {
		width: 100% !important;
	}
}

.wp-block-nishiki-blocks-pro-frame p,
.wp-block-nishiki-blocks-pro-frame li {
	text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px 1px 0px #fff,
		-1px 1px 0px #fff, 2px 2px 0px #fff, -2px 2px 0px #fff,
		2px -2px 0px #fff, -2px -2px 0px #fff;
	list-style: none;
	position: relative;
}

.wp-block-nishiki-blocks-pro-frame li::before {
	content: "・";
	color: #2a83a2;
	font-size: 2em;
	line-height: 1;
	position: absolute;
	left: -1em;
}

.wp-block-nishiki-blocks-pro-frame::before {
	content: "";
	position: absolute;
	left: 0;
	top: -4em;
	width: 100%;
	height: calc(120%+4rem);
	background-image: url(img/KV-BG.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	opacity: 0.3;
	pointer-events: none;
	z-index: -1;
}

/* FAQブロック */
.wp-block-nishiki-blocks-pro-faq .type {
	font-weight: bold;
	border-radius: 5px;
	border: none !important;
	color: white;
}

.type-Q .type {
	background-color: var(--color-orange);
}

.type-A .type {
	background-color: #40a4e2;
}

/* リストブロック */

/*--- 現在のブレットを非表示 */
ul[class*="is-style-nishiki-blocks-pro-list-"].is-style-nishiki-blocks-pro-list-check
	> li::before {
	content: none;
}

/* ---新しい画像を表示 */
ul[class*="is-style-nishiki-blocks-pro-list-"].is-style-nishiki-blocks-pro-list-check
	> li::before {
	content: "";
	display: inline-block;
	width: var(--fnt-l);
	height: var(--fnt-l);
	background-image: url("img/check.svg");
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: var(--fnt-ml);
	vertical-align: middle;
}

/* logo */
#masthead .site-info a img {
	width: 400px !important;
	height: auto;
	padding-top: 5px;
}

@media screen and (max-width: 480px) {
	#masthead .site-info a img {
		padding-top: 0;
	}
}

.tips_list {
	background-color: var(--color-bg-orange);
	padding: 0.5rem 3rem !important;
}

.tips-matomeflame {
	margin-top: 5rem;
}

@media screen and (max-width: 480px) {
	.tips_list {
		padding: 0.5rem 0.5rem 0.5rem 0 !important;
	}

	.tips-matomeflame {
		margin-top: 2rem;
	}
}

.wp-block-simple-definition-list-blocks-list dt {
	color: var(--color-orange);
}

.wp-block-simple-definition-list-blocks-list {
	/* border: 3px solid var(--color-bg-orange); */
	padding: 0.5rem 0;
	font-size: 18px;
}

.wp-block-simple-definition-list-blocks-list p {
	margin: 0.5rem auto 1rem;
}

/* nav */
.global-nav {
	width: 800px;
	font-family: "Noto Serif JP", serif;
	font-weight: 100;
}

.global-nav ul.menu-items {
	font-size: var(--fnt-ml);
	font-weight: bold;
	justify-content: space-between !important;
}

.global-nav ul.menu-items li {
	letter-spacing: 0.1rem !important;
}

.nishiki-pro-global-nav-style.nishiki-pro-global-nav-style-01
	.menu-collapse
	a:hover {
	background-color: transparent;
	color: black;
}

.bubble:hover::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 10%;
	width: 90%;
	height: 90%;
	background-image: url("img/bubble.svg");
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0;
	animation: float-up 0.6s ease-out forwards;
	z-index: -1;
}

#footer-nav a:hover,
#footer-nav span:hover {
	background-color: transparent !important;
	color: inherit !important;
}

#footer-nav ul li a {
	position: relative;
	display: inline-block;
	z-index: 1;
}

#footer-nav ul li a:hover::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 55px;
	height: 55px;
	background-image: url("img/bubble-s.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: 0;
	transform: translate(-50%, -50%);
	animation: float-up2 0.4s ease-out forwards;
	z-index: -1;
}

@keyframes float-up {
	0% {
		bottom: -20%;
		opacity: 0;
	}

	100% {
		bottom: 0%;
		opacity: 1;
	}
}

@keyframes float-up2 {
	0% {
		transform: translate(-50%, -5%);
		opacity: 0;
	}

	100% {
		transform: translate(-50%, -50%);
		opacity: 1;
	}
}

/* KV */
.KV-bg {
	position: relative;
	height: 520px;
}

.header-image-wrapper {
	position: relative;
	width: 100vw;
	height: auto;
	overflow: hidden;
}

.KVflame-top {
	position: absolute;
	z-index: 10;
	width: 100%;
	/*max-width: 1600px;
	left: 50%;
	transform: translateX(-50%);*/
	pointer-events: none;
	& img {
		display: block;
		max-width: 1600px;
		margin: auto;
	}
}

:not(.home) .KVflame-top {
	top: 150px;
}

.KV-copy {
	font-family: "Noto Serif JP", serif;
	font-size: var(--fnt-xl);
	font-weight: 500;
	text-shadow: 1px -1px 2px white, 1px -1px 2px white, -1px 1px 2px white,
		1px 1px 2px white, -3px -3px 4px white, 3px -3px 4px white,
		-3px 3px 4px white, 3px 3px 4px white, 0px 0px 6px white,
		0px 0px 8px white;
}

.KVflame-btm {
	position: relative;
}

.KVflame-btm img {
	position: absolute;
	z-index: 10;
	width: 140% !important;
	max-width: 2000px;
	left: 50%;
	transform: translateX(-50%) translateY(-80%);
	pointer-events: none;
}

/*********************
* TOP
***********************/

/* headline */
.home h2 {
	font-family: "Noto Sans JP", serif;
	font-size: var(--fnt-l);
}

/* section1 -浄化槽の力、知っていますか */
h2.headline1 {
	padding-top: var(--distance-xl);
}

.headline_flame1 {
	position: relative;
	height: 160px;
	top: -180px;
	margin-bottom: -100px;
}

.headline_flame1 img {
	position: absolute;
	top: -40px;
	z-index: 10;
	width: 110% !important;
	max-width: 1200px;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}

.septictank-system-img img {
	width: 600px;
	margin: 2rem 0;
	pointer-events: none;
}

/* section2 -contents */
h2.headline2 {
	padding-top: var(--distance-xl);
}

/* 知って欲しい、浄化槽 */
.headline_flame2 {
	top: -80px;
	margin-bottom: -80px;
}

.articles article header .post-title,
.post-date {
	font-weight: 400;
	font-size: var(--fnt-m) !important;
}

/* 暮らしのお役立ち情報 */
.headline_flame1 .headline_flame2_2 {
	top: -160px;
	margin-bottom: -80px;
}

/* 営業所のご案内 */
.headline_flame3 {
	top: -120px;
	margin-bottom: -120px;
}

.home .wp-block-nishiki-blocks-pro-posts {
	margin: 2rem;
}

/*office*/
.office-info {
	font-size: 22px;
	font-weight: bold;
}

.office-info p {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

.office-info .wp-block-button__link {
	padding: 0.5rem 1.5rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
	border-radius: 5px !important;
}

.office-info .wp-block-button__link:hover {
	transform: scale(1.02);
}

.office-info .wp-block-buttons {
	margin-block-start: 0.5rem;
}

.miyako p {
	color: var(--color-orange);
}

.miyako .wp-block-button__link {
	background-color: var(--color-orange);
}

.yaeyama p {
	color: var(--color-green);
}

.yaeyama .wp-block-button__link {
	background-color: var(--color-green);
}

.tomigusuku p {
	color: var(--color-purple);
}

.tomigusuku .wp-block-button__link {
	background-color: var(--color-purple);
	padding: 0.5rem 1rem;
}

/*recruit-and-news*/
.recruit-and-news {
	background-color: rgb(255, 90, 30, 0.1);
	padding: 2rem;
	margin-top: var(--distance-xl);
}

.recruit-and-news h2 {
	padding-top: var(--distance);
}

.recruit-and-news p {
	font-size: var(--fnt-m);
	padding: 0.5rem 0 !important;
	margin: 0;
}

/*********************
* 業務のご案内　services
***********************/

h2.service-list_title1,
h2.service-list_title2,
h2.service-list_title3,
h2.service-list_title4 {
	font-size: 1.4rem !important;
}

@media screen and (max-width: 1000px) {
	h2.service-list_title1,
	h2.service-list_title2,
	h2.service-list_title3,
	h2.service-list_title4 {
		font-size: 2.3vw !important;
	}
}

@media screen and (max-width: 680px) {
	h2.service-list_title1,
	h2.service-list_title2,
	h2.service-list_title3,
	h2.service-list_title4 {
		font-size: 3.5vw !important;
	}
}

@media screen and (max-width: 480px) {
	h2.service-list_title1,
	h2.service-list_title2,
	h2.service-list_title3,
	h2.service-list_title4 {
		font-size: 4.5vw !important;
	}
}

.service-message {
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-size: 20px !important;
}

/*********************
* 採用情報　recruit
***********************/

.recruit p {
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6 !important;
}

.recruit .wp-block-columns {
	padding-bottom: 1rem;
}

.recruit .wp-block-columns p {
	padding-top: 0;
}

@media screen and (max-width: 786px) and (min-width: 480px) {
	.recruit .wp-block-columns,
	.recruit p.wd800 {
		padding: 0 2rem;
	}
}

@media screen and (max-width: 480px) {
	.recruit p {
		margin-block-start: 0 !important;
	}

	.recruit .wp-block-columns {
		margin-bottom: 0 !important;
		padding-bottom: 0;
	}
}

.recruit figcaption {
	font-size: 14px;
}

@media screen and (max-width: 480px) {
	.recruit figcaption {
		font-size: 12px;
	}
}

.recruit .wp-block-button__link {
	position: relative;
	text-decoration: none;
	text-align: center;
	color: #fff;
	z-index: 0;
	padding: 1rem 2rem;
	font-weight: bold;
	border-radius: 5px;
	transition: transform 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 480px) {
	.recruit .wp-block-button__link {
		padding: 0.8rem 1rem;
	}
}

.recruit .wp-block-button__link:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	border-radius: 5px;
	transition: opacity 0.5s ease;
	background: var(--color-orange);
}

.recruit .wp-block-button__link:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	background: linear-gradient(90deg, rgb(255, 255, 0), rgb(255, 100, 0));
	border-radius: 5px;
}

.recruit .wp-block-button__link:hover:before {
	opacity: 0;
}

.recruit .wp-block-button__link:hover {
	transform: scale(1.02);
}

.cta .recruit .wp-block-button__link {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.cta .btn {
	margin: var(--distance) 0;
}

.service-message {
	font-size: var(--fnt-ml);
}

.value p {
	line-height: 1.4;
}

@media screen and (max-width: 480px) {
	.value p {
		padding-top: 0;
	}
}

/*********************
* お知らせ　news
***********************/

/*********************
* 会社概要　company
***********************/

.overview_table table tr th {
	background-color: #c1e4e9 !important;
	width: 150px;
	color: rgb(34, 34, 34) !important;
}

.overview_table table td,
.overview_table table th {
	padding: 0.7rem 1.4rem;
	font-size: 18px !important;
	line-height: 2rem;
}

/*********************
* お問い合わせ　contact
***********************/
@media screen and (max-width: 781px) {
	.office-info {
		width: 400px !important;
	}
}

@media screen and (max-width: 480px) {
	.overview_table table tr th {
		width: 100%;
	}
}

.miyako,
.yaeyama,
.tomigusuku {
	position: relative;
	display: inline-block;
}

.miyako img {
	-webkit-mask-image: url("img/mask1.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	display: block;
}

.miyako::after {
	content: "";
	position: absolute;
	left: 5px;
	bottom: 60px;
	width: 102%;
	height: 100%;
	max-width: 380px;
	background-color: yellow;
	-webkit-mask-image: url("img/mask1.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	transform: rotate(-12deg);
	z-index: -1;
}

.yaeyama img {
	-webkit-mask-image: url("img/mask2.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 95%;
	display: block;
}

.yaeyama::after {
	content: "";
	position: absolute;
	left: 0px;
	bottom: 65px;
	width: 98%;
	height: 100%;
	max-width: 380px;
	background-color: yellow;
	-webkit-mask-image: url("img/mask2.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	transform: rotate(-10deg);
	z-index: -1;
}

.tomigusuku img {
	-webkit-mask-image: url("img/mask3.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	display: block;
}

.tomigusuku::after {
	content: "";
	position: absolute;
	left: 0px;
	bottom: 65px;
	width: 102%;
	height: 100%;
	max-width: 380px;
	background-color: yellow;
	-webkit-mask-image: url("img/mask3.svg");
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 100%;
	transform: rotate(-10deg);
	z-index: -1;
}

/*********************
* プライバシーポリシー　privacy-policy
***********************/

.privacy-policy .entry-content h2 {
	padding-top: 2rem !important;
	padding-bottom: 1rem !important;
}

/*footer*/
#footer-nav .container {
	font-family: "Noto Sans JP", serif;
	font-size: 14px;
	font-weight: 500;
}

.footer-inner {
	text-align: center;
}

.footer-logo {
	padding-top: var(--distance);
	padding-bottom: var(--fnt-s);
}

.footer-logo img {
	width: 350px;
	margin: 0 auto;
}

.footer-flame {
	position: absolute;
	width: 100% !important;
	/*max-width: 1800px;
	left: 51%;
	transform: translateX(-50%);*/
	bottom: -30px;
	pointer-events: none;
	& img {
		max-width: 1800px;
	}
}

#footer-nav ul li {
	margin: 8px;
}

/*********************
* PC+
1025px +
***********************/
@media only screen and (min-width: 1025px) {
}

/*********************
* Tablet - PC
769px - 1024px
***********************/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
}

/*********************
* SmartPhone
0 - 768px
***********************/
@media only screen and (max-width: 768px) {
	.sp-left {
		text-align: left !important;
	}

	html,
	button,
	input[type="submit"] {
		font-size: 1.5rem !important;
	}

	body {
		overflow-x: hidden;
	}

	button.icon {
		border: none !important;
	}

	.KV-bg {
		width: 100%;
		height: auto;
		aspect-ratio: 8 / 3;
	}

	.wp-block-nishiki-blocks-pro-posts.articles[class*="column-"]:not(
			[class*="has-"]
		)
		article {
		border-bottom: none !important;
	}

	.page-header .page-header-inner h1 {
		font-size: 1rem;
	}

	h2:not(.post-title)::before {
		content: "";
		display: inline-block;
		width: 48px;
		height: 31.5px;
		background-image: url("img/icon.png");
		background-size: contain;
		background-repeat: no-repeat;
		margin-right: 16px;
		vertical-align: middle;
	}

	/* logo */
	#masthead .site-info a img {
		max-width: 350px !important;
	}

	/* nav */
	.global-nav {
		width: 0;
	}

	#footer-nav ul li {
		border-bottom: 1px solid #ffa484 !important;
	}

	#footer-nav ul li a:hover::before {
		animation: none;
		opacity: 0 !important;
	}

	/* kv */
	.home .KVflame-top {
		width: 100% !important;
	}

	:not(.home) .KVflame-top {
		top: auto;
	}

	.KVflame-btm img {
		width: 160% !important;
	}

	/* section1 -浄化槽の力、知っていますか */
	h2.headline1 {
		padding-top: var(--distance);
		letter-spacing: 0.001rem;
		margin-bottom: 0;
	}

	.headline_flame1 {
		display: none;
	}

	.septictank_column {
		column-gap: 0.5rem;
	}

	.septictank-system-img img {
		margin: 1rem 0;
	}

	/* section2 -contents */
	h2.headline2 {
		margin-top: 0 !important;
		padding-top: 2rem !important;
	}

	/* 暮らしのお役立ち情報 */
	h2.headline_flame2 {
		margin-top: 0;
	}

	.wp-block-nishiki-blocks-pro-posts.articles {
		padding: 0 1rem !important;
		gap: 1rem !important;
	}

	.wp-block-nishiki-blocks-pro-posts .post-title {
		font-size: var(--fnt-l) !important;
	}

	.wp-block-nishiki-blocks-pro-posts header {
		margin-bottom: 0 !important;
	}

	.office-info {
		max-width: 80% !important;
	}

	.recruit-and-news {
		padding: 0 1rem;
	}

	.recent_news,
	.recent_news .post-detail {
		margin-top: 0 !important;
		padding: 0;
	}

	.page
		.show-on-front-page
		#main
		> .container
		> *
		> *
		> *:not(.alignwide):not(.alignfull):not(.alignleft):not(
			.alignright
		):not(.is-style-wide):not(
			.author-info
		).wp-block-nishiki-blocks-pro-posts {
		max-width: 80% !important;
	}

	.recruit-and-news .wp-block-nishiki-blocks-pro-posts .post-detail {
		border-bottom: 1px dotted var(--color-orange);
	}

	.wp-block-nishiki-blocks-pro-posts.articles,
	.articles.is-list-date article {
		padding: 0 !important;
	}

	.articles.is-list-date article:last-child {
		padding-bottom: 2rem !important;
	}

	#footer-nav .container {
		padding-top: 1rem !important;
	}

	.footer-logo img {
		width: 80%;
		max-width: 350px;
	}

	.footer-flame {
		overflow: hidden;
		& img {
			width: 130%;
			margin-left: -20%;
		}
	}

	#footer-nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding-bottom: 0.5rem;
	}

	#footer-nav ul li {
		flex: 0 0 30%;
		text-align: center;
		padding: 3px;
		margin: 2px 10px;
	}
}

@media screen and (max-width: 480px) {
	#footer-nav ul li {
		flex: 0 0 calc(45% - 8px) !important;
		text-align: center;
		padding: 8px 0;
		margin-bottom: 4px;
	}
}

/*********************
* SmartPhone
0px - 580px
***********************/
@media only screen and (max-width: 580px) {
	#masthead .container {
		max-width: 100%;
		margin-left: 8px;
	}

	#masthead .site-info {
		margin-right: 0 !important;
		width: calc(100% - 60px) !important;
		position: relative;
	}

	#masthead .site-info a {
		vertical-align: top;
	}

	#masthead .site-info a img {
		width: 100% !important;
	}

	#masthead .container > :not(.site-info):not(.global-nav) {
		margin-left: 0;
	}

	.KVflame-btm img {
		width: 180% !important;
		transform: translateX(-53%) translateY(-90%);
	}

	.wp-block-list {
		/* width: 90%; */
		padding-left: 2rem !important;
	}

	.recruit.wp-block-columns {
		margin-top: 0 !important;
	}

	.office-info.pt-2 {
		padding-top: 0;
	}

	.recent_news .post-date {
		width: auto;
	}

	#footer .footer-inner {
		padding-top: 0;
		padding-bottom: 0.5rem;
	}

	.footer-logo {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		width: 75%;
		margin: 0 auto;
	}

	#footer .copyright {
		padding: 0;
	}

	#footer-nav ul li a {
		padding: 0.2rem;
	}

	.wp-block-nishiki-blocks-pro-layout-content {
		padding: 0 0.5rem;
	}

	.cta .wp-block-list {
		padding-left: 1.6rem !important;
	}

	#footer-nav ul li a:hover::before {
		height: auto;
	}

	#footer-nav ul li:nth-child(odd) {
		margin-right: 4px;
	}

	#footer-nav ul li:nth-child(even) {
		margin-left: 4px;
	}
}

/* TKHR CUSTOM */
:root :where(.wp-element-button, .wp-block-button__link) {
	background-color: unset;
}

.recruit {
	& .value {
		margin: var(--distance-l) 0 !important;
		padding: var(--distance-xl) 0 !important;
		background: #ffff00;

		& hgroup h3 {
			margin-top: 0;
			padding: 0;
			font-size: var(--fnt-l);
			color: var(--color-orange);
			line-height: 1.6 !important;
		}

		& hgroup p {
			margin: 1rem 0 !important;
			position: relative;
			padding-bottom: 0;
			color: var(--color-orange);
			font-size: var(--fnt-m);
			font-weight: 900;
			text-shadow: 3px 3px 0px rgba(255, 255, 255, 1);

			&::after {
				position: absolute;
				bottom: 0;
				left: 0;
				z-index: -1;
				width: 100%;
				height: 10px;
				display: block;
				content: "";
				background-image: repeating-linear-gradient(
					-45deg,
					var(--color-orange),
					var(--color-orange) 1px,
					transparent 2px,
					transparent 5px
				);
				background-size: 7px 7px;
				backface-visibility: hidden;
			}
		}

		& .wp-block-nishiki-blocks-pro-animation {
			margin-bottom: 4em;
			padding: 0 2rem 4rem !important;
			box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
			background: #fff;
			border-radius: var(--radius-l);
		}
	}

	& .chance {
		padding: 0 0 var(--distance) !important;

		& .wp-block-nishiki-blocks-pro-animation:nth-child(even) {
			margin-bottom: 0;

			& .text {
				border: #1658fe !important;
				background: #1658fe !important;
				color: #fff !important;
			}
		}

		& .wp-block-nishiki-blocks-pro-animation:nth-child(odd) {
			margin-top: 0;
			margin-bottom: var(--distance-l) !important;

			&:last-of-type {
				margin-bottom: 0 !important;
			}
		}

		& .text {
			margin-top: 1rem;
			margin-left: unset;
			margin-right: unset;
			max-width: 56% !important;
			font-size: var(--fnt-ml) !important;

			& strong {
				color: var(--color-orange);
			}
		}

		& img {
			max-width: unset;
			width: clamp(96px, calc(10vw + 10px), 240px);
		}
	}

	& .voice {
		& .wp-block-nishiki-blocks-pro-slider2 {
			margin: var(--distance) auto 0;
		}

		& .voiceText {
			width: 45%;
			margin-right: 0 !important;
			padding: 2rem;
			background: rgba(255, 255, 255, 0.75);

			& p:first-of-type {
				display: inline-block;
				margin: 0;
				padding: 0.5rem 1rem;
				background: var(--color-orange);
				color: #fff;
				font-size: var(--fnt-s);
				font-weight: 900;
			}

			& h3 {
				margin-top: 0;
				text-align: left;
				font-size: var(--fnt-l) !important;
				line-height: normal;
			}
		}
	}
}

.voice-01,
.voice-02,
.voice-03 {
	& .kv {
		aspect-ratio: 2 / 1;

		&.alignfull [class*="inner-container"] {
			width: 40%;
			margin-right: 10%;
			padding: var(--distance-l);
			background: rgba(255, 255, 255, 0.75);

			& p {
				display: inline-block;
				margin: 0;
				padding: 0.5rem 1rem;
				background: var(--color-orange);
				color: #fff;
				font-size: var(--fnt-s);
				font-weight: 900;
			}

			& h2 {
				padding: 0.5rem 0 !important;
				line-height: normal;
				text-align: left;

				&::before {
					display: none;
				}
			}

			& ul {
				padding: 0 !important;
				list-style-type: none;
			}
		}
	}
	& .lastMessage h3 {
		max-width: 800px !important;
		margin-right: auto;
		margin-left: auto;
	}
}

.kensa {
	& .wp-block-column {
		padding-bottom: 1rem;
		border: 1px solid var(--color-orange);
		& hgroup {
			background: var(--color-orange);
			color: #fff;
			text-align: center;
			& h5 {
				margin: 0;
				padding: 0;
			}
			& p {
				margin: 0;
			}
		}
		& p,
		& ul {
			margin: 1rem;
		}
	}
}
@media screen and (max-width: 767px) {
	.recruit {
		& .chance {
			& .wp-block-nishiki-blocks-pro-animation:nth-child(odd) {
				margin-top: 1rem;
			}

			& .text {
				margin-top: 0;
				max-width: 100%;
			}
		}

		& .voice {
			position: relative;

			& .wp-block-nishiki-blocks-pro-slider2 {
				margin: var(--distance) 0;
			}

			& .voiceText {
				position: absolute;
				bottom: 15px;
				left: 5%;
				width: 90%;
				padding: 0.5rem;

				& p:first-of-type {
					padding: 0.2rem 0.4rem;
					font-size: var(--fnt-xs);
				}

				& h3 {
					margin-bottom: 0;
					padding-top: 0.5rem;
					padding-bottom: 0.5rem;
					font-size: var(--fnt-m) !important;
				}

				& .wp-block-buttons {
					margin-top: 0;

					& .wp-block-button__link {
						padding: 0.3rem 0.5rem;
					}
				}
			}
		}
	}

	.voice-01,
	.voice-02,
	.voice-03 {
		& .kv {
			padding-bottom: var(--distance);
			aspect-ratio: 3 / 4;
			align-items: end;

			&.alignfull [class*="inner-container"] {
				width: 100%;
				margin-right: 5%;
				padding: var(--distance);

				& p {
					display: inline-block;
					padding: 0.2rem 0.3rem;
					background: var(--color-orange);
					color: #fff;
					font-size: var(--fnt-s);
					font-weight: 900;
				}

				& h2 {
					margin-top: 0;
					text-align: left !important;
					font-size: var(--fnt-m) !important;
				}

				& ul {
					font-size: var(--fnt-s);
				}
			}
		}
		& .lastMessage h3 {
			max-width: calc(100% - 2rem) !important;
			margin-left: auto;
			margin-right: auto;
		}
	}
}

@media screen and (max-width: 480px) {
	.recruit .value .wp-block-nishiki-blocks-pro-animation {
		padding: 0 1rem 1.5rem !important;
	}

	.recruit h4 {
		padding-top: 0 !important;
	}
}
