/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 18 2026 | 18:05:18 */
/* 下層ページ */

/* サービス紹介 */
.p-service .img-area {
	position: relative;
}
.p-service .numbers {
	position: absolute;
	left: 0;
	top: 0;
	padding-left: 20px;
	padding-bottom: 20px;
	background-image: linear-gradient(to right, #fff 90%, transparent);
	width: 20%;
}
@media (max-width: 599px) {
	.p-service .numbers {
		width: 25%;
	}
}
.p-service .number {
	font-size: 30px;
}
@media (max-width: 599px) {
	.p-service .number {
		font-size: 20px;
	}
}
.p-service .icon {
	width: 40px;
}
@media (max-width: 599px) {
	.p-service .icon {
		width: 30px;
	}
}
.p-service.check h3 {
	font-size: 18px;
}
.p-service.check .legal-content .item .wp-block-group {
	padding-left: 20px;
	padding-right: 20px;
}
.p-service.check .plan-table th {
	font-weight: 500;
	background-color: #FFFAFB;
	padding-left: 20px;
}
@media (min-width: 960px) {
	.p-service.check .plan-table th {
		padding-left: 40px;
	}	
}
.p-service.check .plan-table table {
	counter-reset: plan-number;
}

.p-service.check .plan-table tbody tr {
	counter-increment: plan-number;
}

.p-service.check .plan-table th {
	position: relative;
	padding-left: 62px;
}

.p-service.check .plan-table th::before {
	content: counter(plan-number);
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-60%);

	display: flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;
	border-radius: 50%;

	color: #fff;
	background-color: var(--color_deep04);
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}
.p-service.check .plan-table th,
.p-service.check .plan-table td {
	padding-top: 20px;
	padding-bottom: 20px;
}
.p-service.check .plan-table td strong {
	letter-spacing: .05em;
}


/* 業種別サポート */
.p-industry-support h3 {
	font-size: 18px;
	font-weight: 500;
}
.p-industry-support h3 span:first-of-type {
	font-size: 1.5em;
}
.p-industry-support .h3-wrap {
	position: relative;
	width: fit-content;
}
.p-industry-support .h3-wrap::before {
	position: absolute;
	content: "";
	left: 0;
	bottom: -2px;
	height: 1px;
	width: 100%;
	background-color: #ccc;
}

/* 事務所概要 */
.p-office-greeting .img {
	position: relative;
}
.p-office-greeting .img::before {
	position: absolute;
	content: "";
	top: 15px;
	left: 15px;
	width: 100%;
	height: 100%;
	background-color: #F8E1E7;
	z-index: -1;
}
@media (max-width: 599px) {
	.p-office-greeting .img {
		width: 250px;
		margin: 0 auto;
	}
}
.p-office-greeting .text-outer {
	padding: 24px;
}
.p-office-greeting .text-wrap {
	box-shadow: inset 0 0 0 1px #F8E1E7;
	position: relative;
}
.p-office-greeting .text-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 40px solid #F8E1E7;
	border-right: 40px solid transparent;
}
.p-office-greeting .text-wrap::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 0;
	border-bottom: 40px solid #F8E1E7;
	border-left: 40px solid transparent;
}
.p-office-greeting .text-ceo {
	justify-content: flex-end;
	align-items: flex-end;
}
.p-office-greeting .text-ceo,
.p-office-greeting .text-ceo ruby {
	font-size: 18px;
	letter-spacing: .1em;
}
.p-office-greeting .text-ceo ruby {
	padding-right: 5px;
	padding-left: 10px;
}
.p-office-info th {
	font-weight: 500;
}
@media (max-width: 599px) {
	.p-office-info th {
		width: 100px!important;
	}	
}
.p-office-access .text-access img {
	transform: translatey(5px);
}

/* ご相談の流れ */
.p-flow .swell-block-step__number {
	background-color: var(--color_deep04)!important;
}
.p-flow .img-area img {
	max-width: 70px;
}
.p-flow .img-area {
	position: relative;
}
.p-flow .img-area::before {
	position: absolute;
	content: "";
	top: 0; 
	right: -20px;
	width: 1px;
	height: 100%;
	background-color: #ededed;
}

/* よくある質問 */
.p-faq .faq_a::before, 
.p-faq .faq_q::before {
	box-shadow: none;
}
.p-faq .swell-block-faq {
	counter-reset: faq-number;
}
.p-faq .swell-block-faq__item {
	counter-increment: faq-number;
	border: 4px solid rgba(199, 199, 199, 0.15);
}
@media (min-width: 600px) {
	.p-faq .swell-block-faq__item {
		padding: 2em;
	}	
}
.p-faq .faq_q,
.p-faq .faq_a {
	position: relative;
	padding-left: 70px;
}
.p-faq .faq_q {
	border-bottom: solid 1px #eee;
}
/* Q・A */
.p-faq .faq_q::before,
.p-faq .faq_a::before {
	font-family: 'Noto Serif JP', sans-serif;
	box-shadow: none;
	position: absolute;
	left: 0;
	top: 12px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
}
.p-faq .faq_a::before {
	top: 18px;
}
/* 数字 */
.p-faq .faq_q::after {
	content:counter(faq-number);
	position: absolute;
	left: 38px;
	top: 24px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}
@media (max-width: 599px) {
	.p-faq .faq_q::after {
		top: 26px;
		font-size: 14px;
	}	
}
.p-faq .faq_q::after {
	color: var(--color_deep04);
}

/* プライバシーポリシー */
.p-privacy h2 {
	font-weight: 500;
	font-size: 18px;
}
.p-privacy p {
	font-size: 15px;
}