@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 2025/08/17 追加 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
.pc-bl,
.pc-fl,
.pc-in,
.pc-only,
.sp-bl,
.sp-fl,
.sp-in,
.sp-only {
	display: none !important;
}
@media (min-width: 961px) {
	.pc-only,
	.pc-bl {
		display: block !important;
	}
	.pc-fl {
		display: flex !important;
	}
	.pc-in {
		display: inline !important;
	}
	.sp-only {
		display: block !important;
	}
}
@media (max-width: 960px) {
	.sp-bl {
		display: block !important;
	}
	.sp-fl {
		display: flex !important;
	}
	.sp-in {
		display: inline !important;
	}
}
:root {
	--font-family-Serif: 'Zen Old Mincho', 'Noto Serif JP', 'ヒラギノ明朝 ProN',
		'Hiragino Mincho ProN', 'Noto Serif JP', 'Yu Mincho Light', sans-serif;
	--font-family-Gothic: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro',
		'ヒラギノ角ゴ Pro', sans-serif;
	--font-family-MaruGothic: 'Zen Maru Gothic', 'Noto Sans JP',
		'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', sans-serif;
	--font-family-en: 'Montserrat', 'Noto Sans JP', 'Hiragino Kaku Gothic Pro',
		'ヒラギノ角ゴ Pro', sans-serif;
	--font-weight-thin: 100;
	--font-weight-extralight: 200;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--font-weight-semibold: 800;
	--font-weight-black: 900;
	--color-main: #222;
	--color-point: #e95016;
	--color-red: #d92b1a;
	--color-orange: #ffa726;
	--color-yellow: #f3df12;
	--color-green: #06c655;
	--color-purple: #9f609f;
	--color-blue: #0e40d7;
	--color-turquoise: #368592;
	--color-lite-grey: #f4f5f6;
	--background-light-blue: #f1f9ff;
	--background-lemon-yellow: #fffce1;
}
.marker {
	background: linear-gradient(transparent 70%, #faf798 50%);
}
.full-screen {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	margin-bottom: 0;
}
.full-screen > img {
	width: 100%;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body a,
body p,
body li,
body td {
	font-family: var(--font-family-Gothic);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	margin-bottom: 0;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	font-family: var(--font-family-Gothic);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	margin-bottom: 0;
}
body p,
body li,
body td {
	font-family: var(--font-family-Gothic);
	font-weight: var(--font-weight-regular);
	letter-spacing: 0.05em;
	line-height: 1.6;
}
body .top p,
body .top li,
body .top td {
	font-size: min(4vw, 1.125rem);
}
a.link {
	color: var(--color-point);
	text-decoration: underline;
}
a.link:hover {
	opacity: 0.6;
}
.c-inner {
	width: 100%;
	max-width: calc(1240px + 6%);
	margin: 0 auto;
	padding: min(15vw, 150px) 3% min(15vw, 150px);
}
.c-inner.sub {
	max-width: calc(800px + 10%);
}

/*  Reset
------------------------*/
.top #content {
	padding-top: 0 !important;
}
.top .l-content {
	padding: 0 !important;
	margin: 0 auto !important;
}
.top section.wp-block-group {
	margin-bottom: 0;
}
.top .post_content h1,
.top .post_content h2,
.top .post_content h3,
.top .post_content h4,
.top .post_content h5,
.top .post_content h6 {
	margin: 0;
	padding: 0;
	border: 0;
	letter-spacing: 0.1em;
}
.top .post_content h1::after,
.top .post_content h2::after,
.top .post_content h3::after,
.top .post_content h4::after,
.top .post_content h1::before,
.top .post_content h2::before,
.top .post_content h3::before,
.top .post_content h4::before {
	content: none;
}

/*  common
------------------------*/
.p_sec-ttl-container {
	position: relative;
	margin-bottom: min(8vw, 60px);
}
.p_sec-ttl-container::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 50%;
	transform: translate(50%, 0%);
	width: 110px;
	height: 8px;
	background-image: radial-gradient(
		circle,
		var(--color-point) 4px,
		transparent 4px
	);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 14px 8px;
}
.p_sec-ttl-container h2.main {
	position: relative;
	font-size: min(7vw, 42px);
	font-weight: var(--font-weight-black);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-main);
	padding-bottom: min(7vw, calc(2rem + 8px));
}
.p_sec-ttl-container h2.main span {
	position: relative;
	font-size: min(7vw, 38px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--color-point);
	padding-bottom: min(4vw, 1.25rem);
}
.p_sec-ttl-container p.sub {
	position: relative;
	max-width: fit-content;
	margin: 0 auto 10px;
	font-size: min(5vw, 24px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
	line-height: 1;
	color: var(--color-main);
}

.p_sec-ttl-container.col-1::after {
	width: 63px;
	background: var(--color-point);
}
.p_sec-ttl-container.col-1 h2.main {
	line-height: 1.5;
}
.p_sec-ttl-container .sub.hukidashi {
	position: relative;
	padding: 0 0.8em;
}
.p_sec-ttl-container .sub.hukidashi::before,
.p_sec-ttl-container .sub.hukidashi::after {
	content: '';
	position: absolute;
	bottom: -0.5em;
	width: 0.1em;
	height: 100%;
	background: var(--color-main);
	margin: 0.5rem 0;
	align-self: stretch;
	transform: rotate(35deg);
}
.p_sec-ttl-container .sub.hukidashi::before {
	left: 0;
	transform: rotate(-35deg);
	margin-right: 1.5rem;
}
.p_sec-ttl-container .sub.hukidashi::after {
	right: 0;
}
.p_sec-ttl-container.col-2::after {
	width: 63px;
	background: #f3df12;
}

/* ----- Swell button ----- */
.l-content .swell-block-button .swell-block-button__link {
	position: relative;
	font-weight: var(--font-weight-regular);
	color: #fff;
	line-height: 1;
	padding: min(3vw, 15px) min(1vw, 15px);
	padding-right: min(4vw, 2em);
}
.swell-block-button .swell-block-button__link::before,
.swell-block-button .swell-block-button__link::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
/* .swell-block-button .swell-block-button__link::before {
	right: 0.7em;
	width: 1.3em;
	height: 1.3em;
	background: #fff;
	border-radius: 100%;
} */
.swell-block-button .swell-block-button__link::after {
	display: inline-block;
	right: 0.8em;
	width: min(2vw, 1em);
	height: 0.8em;
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/arrow-r.webp)
		no-repeat center / contain;
}
.swell-block-button .swell-block-button__link span {
	font-size: min(4vw, 25px);
	font-weight: var(--font-weight-bold);
	font-family: var(--font-family-Gothic);
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: #fff;
}
/* color */
.swell-block-button.red_ .swell-block-button__link::after {
	border-color: var(--the-btn-bg) var(--the-btn-bg) transparent transparent;
}

/* ----- LINE button ----- */
.swell-block-button.line .swell-block-button__link {
	background: var(--color-green);
}
.swell-block-button.line .swell-block-button__link span {
	position: relative;
	padding-left: 2em;
}
.swell-block-button.line .swell-block-button__link span::after {
	content: '';
	position: absolute;
	top: -0.1em;
	left: 0;
	width: 1.7em;
	height: 1.7em;
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/icon-line.webp)
		no-repeat left / contain;
}

/* ----- Contact button ----- */
.swell-block-button.mail .swell-block-button__link {
	position: relative;
	padding: 0.875rem min(4vw, 42px);
	box-shadow: 0 0 0 #fff;
}
.swell-block-button.mail .swell-block-button__link span {
	position: relative;
	padding-left: 2em;
}
.swell-block-button.mail .swell-block-button__link span::after {
	content: '';
	position: absolute;
	top: -0.1em;
	left: 0;
	width: 1.7em;
	height: 1.7em;
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/icon-mail.webp)
		no-repeat left / contain;
}
.swell-block-button.line .swell-block-button__link::after,
.swell-block-button.mail .swell-block-button__link::after {
	content: none;
}
/*  header
------------------------*/

/*  footer
------------------------*/
footer {
	padding-bottom: 100px;
}

[data-scrolled='true'] #common_fixed-menuBtn {
	position: fixed;
	z-index: 99;
	transition: opacity 0.3s, transform 0.3s, visibility 0.3s,
		-webkit-transform 0.3s;
}
/*  Tablet~SPのみで表示固定CTAボタン
------------------------*/
@media (width < 960px) {
	.p-fixBtnWrap {
		bottom: 100px;
		right: 20px;
		/* 上に戻るボタンの位置を上に */
	}
	#common_fixed-menuBtn {
		bottom: 160px;
		right: 10px;
		width: 75px;
		height: 75px;
	}
	#common_fixed-button {
		display: grid;
		grid-template-columns: 1fr 1fr;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 99;
		padding: 0;
	}
	#common_fixed-button .line,
	#common_fixed-button .mail {
		width: 100%;
	}
	#common_fixed-button .line a,
	#common_fixed-button .mail a {
		width: 100%;
		border-radius: 0;
		padding: 0.6em 0;
	}
	#common_fixed-button .swell-block-button .swell-block-button__link span {
		font-size: max(12px, 3vw);
	}

	#common_fixed-button .line a span,
	#common_fixed-button .mail a span {
		position: relative;
		display: block;
		padding: 0;
		padding-top: 1.7em;
	}
	#common_fixed-button .line a span::after {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 1.7em;
		height: 1.7em;
		background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/icon-line.webp)
			no-repeat left / contain;
	}
	#common_fixed-button .mail a span::after {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 2em;
		height: 2em;
		background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/icon-mail.webp)
			no-repeat left / contain;
	}
}
@media (width > 959px) {
	.p-fixBtnWrap {
		bottom: 7em;
		/* 上に戻るボタンの位置を上に */
	}
	#common_fixed-menuBtn {
		bottom: 11em;
		right: 0.5em;
	}
	#common_fixed-button {
		display: grid;
		grid-template-columns: 1fr 1fr;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 99;
		padding: 0;
	}
	#common_fixed-button .line,
	#common_fixed-button .mail {
		width: 100%;
	}
	#common_fixed-button .line a,
	#common_fixed-button .mail a {
		width: 100%;
		border-radius: 0;
		padding: 1.15em 1em 1em;
	}
	#common_fixed-button .swell-block-button .swell-block-button__link span {
		font-size: min(5vw, 32px);
	}
}

/*  TOP Common
------------------------*/
.p_table-container .table-column {
	width: 100%;
	margin: 0 auto;
	padding: 8px;
}
.p_table-container .table-column p {
	font-family: var(--font-family-Gothic);
	letter-spacing: 0.05em;
}
.p_table-container .table-column p.th {
	width: 40%;
	max-width: 100px;
	font-weight: var(--font-weight-bold);
	color: var(--color-point);
	text-align: left;
}
.p_table-container .table-column .td,
.p_table-container .table-column p.td,
.p_table-container .table-column ul {
	width: auto;
	letter-spacing: 0.03em;
	font-weight: var(--font-weight-regular);
}
.p_table-container .table-column .td ul {
	width: 100%;
}

/*  TOP CTA
------------------------*/
.sec-cta {
	padding: 0 !important;
}
.sec-cta .c-inner {
	max-width: calc(1206px + 6%);
	padding-top: 60px;
	padding-bottom: 60px;
}
.sec-cta .c-inner > div {
	padding: min(6vw, 30px) min(6vw, 40px);
	background: #fff;
	border-radius: min(2vw, 15px);
}
.sec-cta .p_sec-ttl-container {
	margin-bottom: 10px;
}
.sec-cta .p_sec-ttl-container::after {
	content: none;
}
.sec-cta .p_sec-ttl-container p.sub {
	font-size: min(4vw, 1.25rem);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0;
	line-height: 1.4;
	color: var(--color-point);
}
.sec-cta .p_sec-ttl-container h2.main {
	width: fit-content;
	margin: 0 auto;
	padding: 0 min(7vw, 1em);
}
.sec-cta .p_sec-ttl-container h2.main::before,
.sec-cta .p_sec-ttl-container h2.main::after {
	content: '';
	position: absolute;
	top: auto;
	bottom: -0.25em;
	width: 0.1em;
	height: 90%;
	background: var(--color-main);
	margin: 0.5rem 0;
	align-self: stretch;
	transform: rotate(35deg);
}
.sec-cta .p_sec-ttl-container h2.main::before {
	left: 0;
	transform: rotate(-35deg);
	margin-right: 1.5rem;
}
.sec-cta .p_sec-ttl-container h2.main::after {
	right: 0;
	margin-left: 1.5rem;
}
.sec-cta .p_sec-ttl-container h2.main span {
	font-size: min(6vw, 38px);
	font-weight: var(--font-weight-black);
	color: var(--color-main);
	padding: 0;
}

#cta-button-column {
	gap: 2em;
}
#cta-button-column > div {
	width: 100%;
}
#cta-button-column .swell-block-button__link {
	width: 100%;
	min-width: auto;
	padding: min(6vw, 30px) 4em min(5vw, 30px);
}
#cta-button-column .swell-block-button__link span {
	font-size: min(5vw, 40px);
}
#cta-button-column .swell-block-button .swell-block-button__link::after {
	right: 1.5em;
	width: 2em;
	height: 2em;
}
#cta-button-column p {
	transform: translateY(50%);
	z-index: 2;
}
#cta-button-column p span {
	position: relative;
	font-size: min(4vw, 1.25rem) !important;
	font-weight: var(--font-weight-bold) !important;
	letter-spacing: 0.01em;
	line-height: 1;
	color: #09a74a;
	padding: 3px 30px;
	background: #fff;
	border: 2px solid #09a74a;
	border-radius: 50vh;
	z-index: 3;
}
#cta-button-column p span::before,
#cta-button-column p span::after {
	content: '';
	position: absolute;
	bottom: -0.5em;
	left: 50%;
	transform: translate(-50%, 0);
	border-style: solid;
	border-width: 0.5em 0.4em 0 0.4em;
	border-color: #fff transparent transparent transparent;
	z-index: 1;
}
#cta-button-column p span::after {
	transform: translate(-50%, 3px);
	border-style: solid;
	border-width: 0.6em 0.5em 0 0.5em;
	border-color: #09a74a transparent transparent transparent;
	z-index: -1;
}

/* red */
#cta-button-column .swell-block-button.red_ .swell-block-button__link::after {
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/btn01-r.webp)
		no-repeat center / contain;
}
#cta-button-column .web-contents p span {
	color: var(--color-red);
	border-color: var(--color-red);
}
#cta-button-column .web-contents p span::after {
	border-color: var(--color-red) transparent transparent transparent;
}

/* green */
#cta-button-column .swell-block-button.green_ .swell-block-button__link::after {
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/btn02-r.webp)
		no-repeat center / contain;
}

.cta-bottom-text {
	justify-content: center;
	align-items: center;
	margin-top: 30px;
}
.cta-bottom-text .ttl {
	position: relative;
	background: #fff;
	border: 0;
	font-size: min(4vw, 19px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.5;
	padding: 0 min(3vw, 2em);
}
.cta-bottom-text .ttl::before,
.cta-bottom-text .ttl::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 100%;
	transform: translateY(-50%);
	width: calc(50%);
	height: 1px;
	background: var(--color-main);
}
.cta-bottom-text .ttl::after {
	right: auto;
	left: 100%;
}
.cta-bottom-text .tel a {
	position: relative;
	font-size: min(6vw, 50px);
	font-weight: var(--font-weight-black);
	letter-spacing: 0;
	line-height: 1;
	color: var(--color-main);
	padding-left: 1.5em;
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/tel.webp)
		no-repeat left bottom / contain;
	background-size: 1.5em;
}
.cta-bottom-text .caption {
	font-size: 0.875rem;
	text-align: center;
}

/*  TOP Item
------------------------*/
.sec-item .c-inner {
	max-width: 1200px;
}

.p_item-columns .swell-block-columns__inner {
	justify-content: center;
}
.p_item-columns .swell-block-columns__inner > .swell-block-column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
	padding: 0;
	border-radius: min(20px);
	overflow: hidden;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.p_item-columns .swell-block-button .swell-block-button__link {
	display: block;
	margin: 0 var(--swl-clmn-pddng);
}
.p_item-columns
	.swell-block-columns__inner
	> .swell-block-column
	.swell-block-button {
	width: 96%;
	margin-bottom: 1em !important;
}

/*  TOP line-up
------------------------*/
.sec-line-up .line-up-columns {
	margin-bottom: min(10vw, 80px);
}
.line-up-columns .swell-block-box-menu__item {
	background: var(--color-point);
	padding: 14px 11px;
	border-radius: min(1vw, 5px);
}
.line-up-columns .icon {
	max-width: 60px;
	margin: 0 auto;
}
.line-up-columns .swell-block-box-menu__link {
	padding: 0 !important;
}
.swell-block-box-menu__figure {
	margin-right: 10px !important;
}
.line-up-columns a span {
	font-size: min(3.5vw, 0.875rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.385;
	color: #fff;
}

/*  TOP area
------------------------*/
.sec-area .c-inner {
	max-width: calc(1000px + 6%);
	padding-top: 90px;
	padding-bottom: 90px;
}
.sec-area .p_sec-ttl-container {
	margin-bottom: min(26px);
}
.sec-area .box {
	padding: min(6vw, 50px);
	background: #fff;
	border: 1px solid var(--color-main);
	border-radius: min(2vw, 18px);
}
.sec-area .box p {
	font-size: min(4vw, 15px);
	margin-bottom: min(4vw, 20px);
}

/*  TOP after-service
------------------------*/
.sec-after-service .c-inner {
	max-width: calc(950px + 6%);
	padding-top: 100px;
	padding-bottom: 120px;
}
.step-contents {
}
.step-contents .step-content {
	margin-bottom: min(10vw, 60px);
}
.step-content .ttl-head {
	align-items: center;
	gap: min(4vw, 20px);
	margin-bottom: min(6vw, 40px);
}
.step-content .ttl-head .num {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: min(6vw, 36px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
	width: 50px;
	height: 50px;
	background: var(--color-point);
	border-radius: 100%;
}
.step-content .ttl-head .ttl {
	font-size: min(5.5vw, 30px);
	font-weight: var(--font-weight-black);
	letter-spacing: 0;
	line-height: 1;
}
.step-content .ttl {
	font-size: min(4.5vw, 24px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.5;
}
.step-content .box {
	width: 100%;
	max-width: 806px;
	margin: 0 auto;
	padding: min(4vw, 2em) min(4vw, 1em);
	padding-bottom: 0;
	background: var(--background-lemon-yellow);
	border-radius: min(2vw, 10px);
}
.step-content .box .ttl {
	margin-bottom: min(4vw, 20px);
}
.step-content .after-service-columns {
	margin-top: 30px;
	gap: min(4vw, 28px);
}
.after-service-columns .swell-block-columns__inner > div {
	background: var(--background-lemon-yellow);
	border-radius: min(2vw, 10px);
}
.after-service-columns figure {
	width: 60%;
	min-width: 75px;
	margin: 0 auto 20px;
}
.after-service-columns .ttl-head {
	align-items: center;
}
.after-service-columns .ttl-head .ttl-sub {
	font-size: min(4.5vw, 20px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	line-height: 1;
}
.after-service-columns .ttl-head .ttl-sub span {
	font-weight: initial;
}
.after-service-columns .ttl-head h4 {
	font-size: min(4.25vw, 22px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.7;
	text-align: center;
}
.after-service-columns .ttl-head h4 span {
	font-size: min(4.5vw, 28px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.4;
}
.step-contents .other-service-content .ttl {
	font-size: min(6vw, 42px);
	font-weight: var(--font-weight-black);
	letter-spacing: 0;
	line-height: 1;
	margin-bottom: min(6vw, 50px);
}
.other-service-content .ttl-head .ttl-sub {
	font-size: min(4.5vw, 30px);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	line-height: 1.5;
	margin-bottom: min(4vw, 20px);
}
.other-service-content .ttl-head p {
	font-size: min(4vw, 1rem);
	letter-spacing: 0;
	line-height: 1.7;
}

/*  TOP form
------------------------*/
.sec-form .c-inner {
	max-width: calc(750px + 6%);
	padding-top: 95px;
}
.cf7-form {
}
.cf7-form p {
	margin: 20px 0;
}
.cf7-form .cf7-label {
	font-size: min(5vw, 23px);
	font-weight: var(--font-weight-bold);
}
.cf7-form .wpcf7-list-item-label {
	font-size: min(3.5vw, 18px);
	font-weight: var(--font-weight-bold);
}
.cf7-form .wpcf7-list-item {
	margin: 0 0 0.5em 1em;
}
.cf7-form .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 8px;
}
.cf7-form .wpcf7-form-control-wrap[data-name='product_category'] {
	display: block;
	background: #fff;
	border: 1px solid var(--color-point);
	border-radius: 20px;
	padding: min(4vw, 25px) min(2vw, 25px);
}
.cf7-form .wpcf7-form-control-wrap[data-name='product_category'] > span {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.cf7-form .wpcf7-form-control-wrap[data-name='how_found'] .wpcf7-checkbox {
	display: flex;
	flex-direction: column;
}

.cf7-form .req {
	display: inline-block;
	font-size: min(3vw, 16px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
	padding: 3px 8px 5px;
	background: var(--color-point);
	border-radius: 2px;
}
.cf7-form .opt {
	display: inline-block;
	font-size: min(3vw, 16px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	line-height: 1;
	color: #fff;
	padding: 3px 8px 5px;
	background: var(--color-main);
	border-radius: 2px;
}
.cf7-form .small {
	font-size: min(3.5vw, 18px);
	font-weight: var(--font-weight-regular);
}
.cf7-form input[type='text'],
.cf7-form input[type='email'],
.cf7-form input[type='tel'],
.cf7-form textarea {
	display: block;
	width: 100%;
	padding: min(4vw, 20px);
	background: #fff;
	border: 1px solid var(--color-main);
	border-radius: 12px;
}
.cf7-form input[type='checkbox'] {
	width: min(5vw, 24px);
	height: min(5vw, 24px);
	border: 1px solid var(--color-main);
}
.cf7-form fieldset input[name='zip'],
.cf7-form fieldset input[name='prefecture'] {
	width: 250px;
}
.cf7-form .is-column {
	display: grid;
	align-items: center;
	grid-template-columns: 210px auto;
	margin-bottom: 20px;
}
.cf7-form .is-column p {
	letter-spacing: 0;
	margin: 0;
}
.cf7-form fieldset {
	padding: 0;
	border: 0px;
}
.cf7-form legend {
	font-size: min(5vw, 23px);
	font-weight: var(--font-weight-bold);
	margin-bottom: 20px;
}
.cf7-form p a {
	font-size: min(3.25vw, 18px);
	font-weight: var(--font-weight-regular);
	color: var(--color-main);
	text-decoration: underline;
	margin-bottom: 9px;
}
.cf7-form .wpcf7-submit {
	position: relative;
	display: block;
	width: 100%;
	font-size: min(6vw, 40px);
	font-weight: var(--font-weight-black);
	font-family: var(--font-family-Gothic);
	color: #fff;
	padding: min(4vw, 33px);
	background: var(--color-point);
	border-radius: 10px;
	border: 0px;
	box-shadow: 0 6px 0 #bf4415;
}
.cf7-form .wpcf7-spinner {
	display: none !important;
}
.cf7-form .btn {
	position: relative;
	max-width: 551px;
	margin: min(8vw, 70px) auto 0;
}
.cf7-form .btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: min(6vw, 34px);
	height: min(6vw, 34px);
	background: url(http://nishikikensou.com/sale/wp-content/uploads/2025/08/form-btn-arrow.webp)
		no-repeat center / contain;
}
/*  TOP company
------------------------*/
.sec-company .c-inner {
	max-width: calc(920px + 6%);
	padding-top: 80px;
	padding-bottom: 0;
}
.sec-company .wp-block-table td,
.sec-company .wp-block-table th {
	border-left: 0;
	border-right: 0;
	border-color: #dbdbdb;
	padding: min(5vw, 40px) 0;
}
.sec-company .wp-block-table > table td {
	font-size: min(4vw, 1rem);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.05em;
	line-height: 1.5;
}
.sec-company .wp-block-table > table th {
	font-size: min(4.5vw, 1.125rem);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.05em;
	line-height: 1.5;
	width: 30% !important;
}

@media (max-width: 960px) {
	.c-inner {
		padding-right: 3%;
		padding-left: 3%;
	}
	.p_contact-columns {
		grid-template-columns: 1fr !important;
	}
	.p_table-container .table-column p.th {
		min-width: 80px;
		max-width: max-content;
	}
	.p_sec-ttl-container h2.main {
		line-height: 1.4;
	}
	.p_item-columns .swell-block-button .swell-block-button__link {
		display: block;
		margin: 0 var(--swl-clmn-pddng);
		max-width: 96%;
		margin: 0 auto;
	}
	/*  TOP FV
  ------------------------*/
	#cta-button-column {
		flex-direction: column;
		gap: 2vw;
	}
	.cta-bottom-text .ttl::before,
	.cta-bottom-text .ttl::after {
		width: 10%;
	}
	.sec-cta .p_sec-ttl-container h2.main::before,
	.sec-cta .p_sec-ttl-container h2.main::after {
		height: 60%;
	}
	/*  TOP sec-after-service
  ------------------------*/
	.after-service-columns .swell-block-columns__inner > div {
		padding: 3vw;
	}
	.step-content .ttl-head .ttl {
		line-height: 1.6;
	}
	/*  TOP sec-form
  ------------------------*/
	.cf7-form .wpcf7-form-control-wrap[data-name='product_category'] > span {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.cf7-form .is-column {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}
@media (max-width: 601px) {
}

.grecaptcha-badge { visibility: hidden; }
