/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/

.nara-lp {
	background: #f7f9fc;
	color: #1f2937;
}

.nara-lp * {
	box-sizing: border-box;
}

.nara-container {
	width: min(1100px, calc(100% - 32px));
	margin: 0 auto;
}

.nara-narrow {
	width: min(800px, 100%);
}

.nara-section {
	padding: 72px 0;
}

.nara-section--gray {
	background: #eef4f8;
}

.nara-hero {
	background: linear-gradient(135deg, #0f4c81 0%, #1d6fb8 100%);
	color: #fff;
	padding: 72px 0 64px;
}

.nara-hero__inner {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 40px;
	align-items: center;
}

.nara-badge {
	display: inline-block;
	background: #ffedd5;
	color: #9a3412;
	font-weight: 700;
	font-size: 14px;
	padding: 8px 14px;
	border-radius: 999px;
	margin-bottom: 20px;
}

.nara-hero__title {
	font-size: clamp(32px, 5vw, 54px);
	line-height: 1.15;
	margin: 0 0 20px;
	color: #fff;
}

.nara-hero__title span {
	color: #ffd166;
}

.nara-hero__lead {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 24px;
}

.nara-hero__trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
}

.nara-hero__trust li {
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.2);
	padding: 12px 14px;
	border-radius: 12px;
	font-weight: 700;
}

.nara-hero__cta,
.nara-inline-cta__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nara-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-weight: 700;
	padding: 14px 20px;
	border-radius: 999px;
	transition: .2s ease;
}

.nara-btn:hover {
	transform: translateY(-1px);
	opacity: .95;
}

.nara-btn--tel {
	background: #ff8a00;
	color: #fff;
}

.nara-btn--line {
	background: #16a34a;
	color: #fff;
}

.nara-btn--form {
	background: #fff;
	color: #0f4c81;
	border: 1px solid #cbd5e1;
}

.nara-hero__image img {
	width: 100%;
	height: auto;
	border-radius: 24px;
	display: block;
	box-shadow: 0 20px 50px rgba(0,0,0,.18);
}

.nara-empathy {
	padding: 64px 0;
	background: #fff;
}

.nara-empathy h2,
.nara-section h2,
.nara-final-cta h2 {
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.3;
	margin-bottom: 20px;
	color: #0f3d68;
}

.nara-section__lead {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 28px;
}

.nara-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.nara-step,
.nara-card,
.nara-final-cta,
.nara-price-table,
.nara-faq details,
.nara-inline-cta {
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 8px 24px rgba(15, 61, 104, 0.06);
}

.nara-step__num {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #dbeafe;
	color: #0f4c81;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	margin-bottom: 14px;
}

.nara-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.nara-card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	color: #0f3d68;
}

.nara-card a {
	font-weight: 700;
	text-decoration: none;
}

.nara-price-row {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 0;
	border-bottom: 1px solid #e5e7eb;
}

.nara-price-row:last-child {
	border-bottom: 0;
}

.nara-inline-cta {
	margin-top: 32px;
}

.nara-area-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}

.nara-area-list li {
	background: #fff;
	padding: 12px 14px;
	border-radius: 12px;
	text-align: center;
	font-weight: 700;
	box-shadow: 0 4px 14px rgba(15, 61, 104, 0.05);
}

.nara-faq {
	display: grid;
	gap: 14px;
}

.nara-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: #0f3d68;
}

.nara-faq p {
	margin: 14px 0 0;
}

.nara-final-cta {
	margin-top: 32px;
	text-align: center;
}

@media (max-width: 1024px) {
	.nara-hero__inner,
	.nara-cards,
	.nara-area-list,
	.nara-steps {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.nara-section,
	.nara-empathy,
	.nara-hero {
		padding: 48px 0;
	}

	.nara-hero__inner,
	.nara-cards,
	.nara-area-list,
	.nara-steps,
	.nara-hero__trust {
		grid-template-columns: 1fr;
	}

	.nara-btn,
	.nara-inline-cta__buttons .nara-btn,
	.nara-hero__cta .nara-btn {
		width: 100%;
	}

	.nara-price-row {
		flex-direction: column;
		gap: 6px;
	}
}

/* =========================================================
   Water Service Theme Base / GeneratePress compatibility
   ========================================================= */
:root{
  --ws-blue:#0054b8;
  --ws-blue-dark:#003f8f;
  --ws-blue-light:#eaf4ff;
  --ws-orange:#f58220;
  --ws-green:#08a045;
  --ws-text:#1f2937;
  --ws-muted:#6b7280;
  --ws-bg:#f7fbff;
  --ws-border:#d9e6f2;
  --ws-white:#fff;
  --ws-shadow:0 10px 30px rgba(0,84,184,.10);
  --ws-radius:14px;
}

.ws-template,
.ws-template *{
  box-sizing:border-box;
}

.ws-template{
  width:100%;
  overflow-x:hidden;
  color:var(--ws-text);
}

.ws-template img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}

.ws-template a{
  text-decoration:none;
}

body.page-template-page-ws-price .site-content,
body.page-template-page-ws-estimate-complete .site-content,
body.page-template-page-ws-estimate-input .site-content,
body.page-template-page-ws-article .site-content,
body.page-template-page-ws-company-lp .site-content,
body.page-template-page-ws-symptom-lp .site-content,
body.page-template-page-ws-privacy-policy .site-content,
body.page-template-page-ws-area-index .site-content,
body.page-template-page-ws-company-info .site-content,
body.page-template-page-ws-contact .site-content,
body.page-template-page-ws-area-lp .site-content,
body.page-template-page-ws-faq .site-content,
body.page-template-page-ws-estimate-confirm .site-content{
  display:block;
  padding:0;
}

body[class*="page-template-page-ws-"] .inside-article{
  padding:0;
}

body[class*="page-template-page-ws-"] .entry-header{
  display:none;
}

@media (max-width: 768px){
  body[class*="page-template-page-ws-"] .site-content{
    padding-left:0;
    padding-right:0;
  }
}

/* =========================================================
   WS Price Page v53
   ========================================================= */
body.page-template-page-ws-price .site-content{background:#fff;}
.ws-price-page{background:#fff;color:#0b2f5f;font-family:inherit;}
.ws-price-container{width:min(1180px, calc(100% - 40px));margin:0 auto;}
.ws-price-fv{background:linear-gradient(180deg,#f3f9ff 0%,#fff 100%);padding:70px 0 42px;}
.ws-price-fv__inner{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center;}
.ws-price-label{display:inline-flex;align-items:center;gap:8px;background:#eaf4ff;border:1px solid #cfe5ff;color:var(--ws-blue);border-radius:999px;padding:8px 16px;font-weight:800;margin:0 0 18px;}
.ws-price-label img{width:24px;height:24px;object-fit:contain;}
.ws-price-fv h1{font-size:clamp(36px,5vw,60px);line-height:1.18;margin:0 0 20px;color:#063267;letter-spacing:.03em;font-weight:900;}
.ws-price-fv__lead{font-size:18px;line-height:1.9;margin:0 0 28px;color:#16395f;font-weight:700;}
.ws-price-fv__badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ws-price-fv__badges div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d8e8f8;border-radius:14px;padding:14px 16px;box-shadow:0 10px 26px rgba(0,84,184,.08);font-weight:800;color:#074582;}
.ws-price-fv__badges img{width:38px;height:38px;object-fit:contain;}
.ws-price-fv__visual{border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(0,84,184,.12);background:#fff;}
.ws-price-fv__visual img{width:100%;height:390px;object-fit:cover;object-position:center right;display:block;}
.ws-price-section{padding:78px 0;}
.ws-price-section:nth-of-type(odd){background:#f7fbff;}
.ws-price-heading{text-align:center;margin:0 auto 36px;max-width:760px;}
.ws-price-heading span{display:inline-block;color:var(--ws-blue);font-size:13px;font-weight:900;letter-spacing:.14em;margin-bottom:8px;}
.ws-price-heading h2{margin:0 0 14px;font-size:clamp(28px,3vw,40px);line-height:1.35;color:#063267;font-weight:900;}
.ws-price-heading p{margin:0;color:#39516e;line-height:1.9;font-weight:600;}
.ws-price-heading--left{text-align:left;margin-left:0;}
.ws-price-base__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.ws-price-base__card{background:#fff;border:1px solid #dbe9f7;border-radius:20px;padding:30px 24px;text-align:center;box-shadow:var(--ws-shadow);}
.ws-price-base__card img{width:82px;height:82px;object-fit:contain;margin-bottom:12px;}
.ws-price-base__card h3{font-size:22px;color:#064180;margin:0 0 12px;font-weight:900;}
.ws-price-base__card p{margin:0 0 8px;color:var(--ws-orange);font-weight:900;font-size:22px;}
.ws-price-base__card p strong{font-size:42px;line-height:1;}
.ws-price-base__card span{color:#49627f;font-size:14px;font-weight:700;line-height:1.7;}
.ws-price-menu__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ws-price-menu__grid article{background:#fff;border:1px solid #dbe9f7;border-radius:18px;padding:24px;text-align:center;box-shadow:0 10px 28px rgba(0,84,184,.08);}
.ws-price-menu__grid img{width:76px;height:76px;object-fit:contain;margin:0 auto 14px;}
.ws-price-menu__grid h3{font-size:20px;color:#063267;margin:0 0 10px;font-weight:900;}
.ws-price-menu__grid p{margin:0 0 6px;color:var(--ws-blue);font-size:20px;}
.ws-price-menu__grid small{color:#526b86;font-weight:700;}
.ws-price-flow__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;}
.ws-price-flow__list article{position:relative;background:#fff;border:1px solid #dbe9f7;border-radius:18px;padding:22px 18px;text-align:center;box-shadow:0 10px 26px rgba(0,84,184,.07);}
.ws-price-flow__list img{width:62px;height:62px;object-fit:contain;margin-bottom:12px;}
.ws-price-flow__list b{display:block;color:var(--ws-blue);font-size:12px;margin-bottom:6px;}
.ws-price-flow__list h3{font-size:18px;color:#063267;margin:0 0 8px;font-weight:900;}
.ws-price-flow__list p{font-size:13px;color:#536b86;line-height:1.7;margin:0;font-weight:600;}
.ws-price-system__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;background:#f0f7ff;border:1px solid #dbe9f7;border-radius:24px;padding:44px;}
.ws-price-system__inner p{font-size:16px;line-height:1.9;color:#344f6f;font-weight:700;}
.ws-price-system__inner ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;}
.ws-price-system__inner li{position:relative;background:#fff;border-radius:12px;padding:13px 16px 13px 42px;color:#063267;font-weight:800;border:1px solid #dbe9f7;}
.ws-price-system__inner li:before{content:'✓';position:absolute;left:16px;top:12px;color:var(--ws-blue);font-weight:900;}
.ws-price-system__visual{border-radius:20px;overflow:hidden;background:#fff;}
.ws-price-system__visual img{width:100%;height:330px;object-fit:cover;object-position:center right;display:block;}
.ws-price-payment__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:stretch;}
.ws-price-attention,.ws-price-paycard{background:#fff;border:1px solid #dbe9f7;border-radius:20px;padding:28px;box-shadow:var(--ws-shadow);}
.ws-price-attention{display:flex;gap:18px;align-items:flex-start;}
.ws-price-attention img{width:74px;height:74px;object-fit:contain;flex:0 0 auto;}
.ws-price-attention h2,.ws-price-paycard h2{font-size:24px;margin:0 0 12px;color:#063267;font-weight:900;}
.ws-price-attention p,.ws-price-paycard p{margin:0;color:#425c78;line-height:1.8;font-weight:700;}
.ws-price-paycard img{width:100%;margin-top:20px;border-radius:14px;border:1px solid #e5edf5;}
.ws-price-faq-mini__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.ws-price-faq-mini details{background:#fff;border:1px solid #dbe9f7;border-radius:14px;padding:0;box-shadow:0 8px 22px rgba(0,84,184,.06);overflow:hidden;}
.ws-price-faq-mini summary{cursor:pointer;list-style:none;padding:18px 22px;color:#063267;font-weight:900;display:flex;justify-content:space-between;gap:16px;}
.ws-price-faq-mini summary::-webkit-details-marker{display:none;}
.ws-price-faq-mini summary:after{content:'+';color:var(--ws-blue);font-size:22px;line-height:1;}
.ws-price-faq-mini details[open] summary:after{content:'−';}
.ws-price-faq-mini details p{border-top:1px solid #e5edf5;margin:0;padding:18px 22px;color:#425c78;line-height:1.8;font-weight:700;}
.ws-price-bottom-cta{padding:46px 0;background:#eaf4ff;}
.ws-price-bottom-cta__inner{display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid #d8e8f8;border-radius:20px;padding:24px;box-shadow:var(--ws-shadow);}
.ws-price-bottom-cta__img{width:92px;height:92px;object-fit:cover;border-radius:16px;background:#f7fbff;}
.ws-price-bottom-cta__copy h2{font-size:26px;line-height:1.35;margin:0 0 8px;color:#063267;font-weight:900;}
.ws-price-bottom-cta__copy p{margin:0;color:#425c78;font-weight:700;}
.ws-price-bottom-cta__buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.ws-price-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 16px;border-radius:12px;color:#fff!important;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.08);}
.ws-price-btn img{width:24px;height:24px;object-fit:contain;}
.ws-price-btn--tel{background:var(--ws-orange);}
.ws-price-btn--line{background:var(--ws-green);}
.ws-price-btn--mail{background:var(--ws-blue);}
@media (max-width: 1024px){
  .ws-price-fv__inner,.ws-price-system__inner,.ws-price-payment__grid{grid-template-columns:1fr;}
  .ws-price-flow__list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .ws-price-bottom-cta__inner{grid-template-columns:90px 1fr;}
  .ws-price-bottom-cta__buttons{grid-column:1/-1;justify-content:stretch;}
  .ws-price-btn{flex:1 1 180px;}
}
@media (max-width: 767px){
  .ws-price-container{width:min(100% - 28px,1180px);}
  .ws-price-fv{padding:42px 0 30px;}
  .ws-price-section{padding:54px 0;}
  .ws-price-fv__inner{gap:26px;}
  .ws-price-fv__badges,.ws-price-base__grid,.ws-price-menu__grid,.ws-price-faq-mini__grid{grid-template-columns:1fr;}
  .ws-price-flow__list{grid-template-columns:1fr;}
  .ws-price-fv__visual img{height:auto;max-height:310px;object-fit:contain;background:#fff;}
  .ws-price-system__inner{padding:24px;}
  .ws-price-system__visual img{height:auto;}
  .ws-price-attention{display:block;text-align:center;}
  .ws-price-attention img{margin:0 auto 14px;}
  .ws-price-bottom-cta__inner{grid-template-columns:1fr;text-align:center;}
  .ws-price-bottom-cta__img{margin:0 auto;}
  .ws-price-bottom-cta__buttons{display:grid;grid-template-columns:1fr;}
  .ws-price-btn{width:100%;}
}

/* v54 price page icon visibility tuning */
body.page-template-page-ws-price .ws-price-label img,
body.page-template-page-ws-price .ws-price-fv__badges img{
  width:52px;
  height:52px;
  min-width:52px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-base__card img{
  width:96px;
  height:96px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-menu__grid img{
  width:96px;
  height:96px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-flow__list img{
  width:78px;
  height:78px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-attention img{
  width:96px;
  height:96px;
  min-width:96px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-bottom-cta__img{
  width:90px;
  height:90px;
  object-fit:contain;
  flex:0 0 90px;
}
body.page-template-page-ws-price .ws-price-btn img{
  width:28px;
  height:28px;
  min-width:28px;
  object-fit:contain;
}
@media (max-width: 767px){
  body.page-template-page-ws-price .ws-price-fv__badges img{width:44px;height:44px;min-width:44px;}
  body.page-template-page-ws-price .ws-price-menu__grid img,
  body.page-template-page-ws-price .ws-price-base__card img{width:82px;height:82px;}
  body.page-template-page-ws-price .ws-price-flow__list img{width:68px;height:68px;}
  body.page-template-page-ws-price .ws-price-attention img{width:78px;height:78px;min-width:78px;}
}

/* v55 restore original price page comp */
body.page-template-page-ws-price .ws-price-page--original{background:#fff;color:#073267;}
body.page-template-page-ws-price .ws-price-fv--original{background:linear-gradient(90deg,#fff 0%,#f4f9ff 56%,#eaf4ff 100%);padding:26px 0 0;}
body.page-template-page-ws-price .ws-price-breadcrumb{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700;color:#517092;margin:0 0 22px;}
body.page-template-page-ws-price .ws-price-breadcrumb a{color:var(--ws-blue);text-decoration:none;}
body.page-template-page-ws-price .ws-price-breadcrumb span:before{content:'›';margin-right:10px;color:#8ba6c1;}
body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;}
body.page-template-page-ws-price .ws-price-fv--original h1{font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:.02em;margin:0 0 14px;color:#073267;font-weight:900;}
body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__lead{font-size:22px;line-height:1.55;margin:0 0 24px;color:#0b2f5f;font-weight:900;}
body.page-template-page-ws-price .ws-price-fv__checks{list-style:none;margin:0 0 24px;padding:0;display:flex;gap:28px;flex-wrap:wrap;color:#073267;font-weight:800;font-size:14px;}
body.page-template-page-ws-price .ws-price-fv__checks li{position:relative;padding-left:22px;}
body.page-template-page-ws-price .ws-price-fv__checks li:before{content:'✓';position:absolute;left:0;top:0;color:var(--ws-blue);font-weight:900;}
body.page-template-page-ws-price .ws-price-fv__text,body.page-template-page-ws-price .ws-price-fv__note{font-size:16px;line-height:1.9;color:#273f5f;font-weight:700;margin:0 0 8px;}
body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__visual{box-shadow:none;border-radius:0;background:transparent;overflow:hidden;}
body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__visual img{height:360px;width:100%;object-fit:cover;object-position:center right;border-radius:0;box-shadow:none;background:transparent;}
body.page-template-page-ws-price .ws-price-feature-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid #d6e6f5;border-radius:10px;box-shadow:0 16px 40px rgba(0,47,95,.12);overflow:hidden;margin:20px 0 -42px;}
body.page-template-page-ws-price .ws-price-feature-strip article{text-align:center;padding:28px 18px;border-right:1px solid #dbe8f6;}
body.page-template-page-ws-price .ws-price-feature-strip article:last-child{border-right:none;}
body.page-template-page-ws-price .ws-price-feature-strip img{width:58px;height:58px;object-fit:contain;margin:0 auto 12px;display:block;}
body.page-template-page-ws-price .ws-price-feature-strip h2{font-size:17px;line-height:1.45;margin:0 0 8px;color:#0054b8;font-weight:900;}
body.page-template-page-ws-price .ws-price-feature-strip p{font-size:13px;line-height:1.7;margin:0;color:#344e6e;font-weight:700;}
body.page-template-page-ws-price .ws-price-section{padding:82px 0;}
body.page-template-page-ws-price .ws-price-section:nth-of-type(odd){background:#fff;}
body.page-template-page-ws-price .ws-price-heading{max-width:820px;margin:0 auto 32px;text-align:center;}
body.page-template-page-ws-price .ws-price-heading h2{position:relative;display:inline-flex;align-items:center;gap:26px;margin:0;color:#073267;font-size:clamp(28px,3vw,38px);font-weight:900;line-height:1.35;}
body.page-template-page-ws-price .ws-price-heading h2:before,body.page-template-page-ws-price .ws-price-heading h2:after{content:'';width:64px;height:2px;background:#9fc9fb;display:block;}
body.page-template-page-ws-price .ws-price-tables{padding-top:110px;background:#fff;}
body.page-template-page-ws-price .ws-price-table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
body.page-template-page-ws-price .ws-price-table-card{background:#fff;border:1px solid #cfe1f2;border-radius:10px;box-shadow:0 8px 24px rgba(0,47,95,.08);overflow:hidden;}
body.page-template-page-ws-price .ws-price-table-card__head{display:flex;gap:14px;align-items:center;padding:18px 20px 10px;}
body.page-template-page-ws-price .ws-price-table-card__head img{width:58px;height:58px;object-fit:contain;flex:0 0 58px;}
body.page-template-page-ws-price .ws-price-table-card__head h3{font-size:25px;line-height:1.25;margin:0;color:#0054b8;font-weight:900;}
body.page-template-page-ws-price .ws-price-table-card--green .ws-price-table-card__head h3{color:#08a045;}
body.page-template-page-ws-price .ws-price-table-card--orange .ws-price-table-card__head h3{color:#f06d12;}
body.page-template-page-ws-price .ws-price-table-card__head p{font-size:13px;margin:2px 0 0;color:#4c6682;font-weight:700;}
body.page-template-page-ws-price .ws-price-table-card table{width:100%;border-collapse:collapse;margin:0;}
body.page-template-page-ws-price .ws-price-table-card th{background:#eaf4ff;color:#0b2f5f;font-size:14px;padding:12px 16px;text-align:left;font-weight:900;border-top:1px solid #d6e6f5;border-bottom:1px solid #d6e6f5;}
body.page-template-page-ws-price .ws-price-table-card--green th{background:#edf9f2;}
body.page-template-page-ws-price .ws-price-table-card--orange th{background:#fff3e7;}
body.page-template-page-ws-price .ws-price-table-card td{padding:12px 16px;border-bottom:1px solid #e5edf5;font-size:15px;color:#12365c;font-weight:700;}
body.page-template-page-ws-price .ws-price-table-card td:last-child{text-align:right;color:#0054b8;font-weight:900;font-size:18px;white-space:nowrap;}
body.page-template-page-ws-price .ws-price-table-card__note{padding:12px 16px 16px;margin:0;color:#617994;font-size:13px;font-weight:700;}
body.page-template-page-ws-price .ws-price-note-center{text-align:center;color:#506a86;font-size:14px;line-height:1.8;font-weight:700;margin:24px 0 0;}
body.page-template-page-ws-price .ws-price-formula-section{padding-top:10px;padding-bottom:52px;background:#fff;}
body.page-template-page-ws-price .ws-price-formula-box{display:grid;grid-template-columns:1fr 1.25fr;gap:28px;align-items:center;border:1px solid #d5e6f7;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(0,84,184,.06);padding:28px;}
body.page-template-page-ws-price .ws-price-formula-text h2{display:flex;align-items:center;gap:12px;font-size:26px;margin:0 0 12px;color:#073267;font-weight:900;}
body.page-template-page-ws-price .ws-price-formula-text h2 img{width:42px;height:42px;object-fit:contain;}
body.page-template-page-ws-price .ws-price-formula-text p{margin:0;color:#344e6e;line-height:1.85;font-weight:700;}
body.page-template-page-ws-price .ws-price-formula-items{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;}
body.page-template-page-ws-price .ws-price-formula-items div{background:#fff;border:1px solid #d5e6f7;border-radius:8px;text-align:center;padding:16px 10px;min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
body.page-template-page-ws-price .ws-price-formula-items img{width:58px;height:58px;object-fit:contain;margin-bottom:8px;}
body.page-template-page-ws-price .ws-price-formula-items b{font-size:15px;color:#0054b8;font-weight:900;}
body.page-template-page-ws-price .ws-price-formula-items span{font-size:30px;color:#073267;font-weight:900;}
body.page-template-page-ws-price .ws-price-menu{background:#fff;padding-top:50px;}
body.page-template-page-ws-price .ws-price-menu__grid--original{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
body.page-template-page-ws-price .ws-price-menu__grid--original article{border-radius:8px;padding:20px 12px;box-shadow:none;border:1px solid #cfe1f2;}
body.page-template-page-ws-price .ws-price-menu__grid--original img{width:62px;height:62px;object-fit:contain;margin-bottom:12px;}
body.page-template-page-ws-price .ws-price-menu__grid--original h3{font-size:17px;color:#0054b8;margin-bottom:10px;}
body.page-template-page-ws-price .ws-price-menu__grid--original p{font-size:20px;margin-bottom:8px;}
body.page-template-page-ws-price .ws-price-menu__grid--original small{font-size:12px;color:#536b86;}
body.page-template-page-ws-price .ws-price-payment{background:#fff;padding:50px 0;}
body.page-template-page-ws-price .ws-price-payment__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
body.page-template-page-ws-price .ws-price-attention,body.page-template-page-ws-price .ws-price-paycard{border-radius:10px;box-shadow:none;border:1px solid #cfe1f2;padding:28px;background:#fff;}
body.page-template-page-ws-price .ws-price-attention{display:flex;gap:18px;}
body.page-template-page-ws-price .ws-price-attention img{width:42px;height:42px;object-fit:contain;}
body.page-template-page-ws-price .ws-price-attention h2,body.page-template-page-ws-price .ws-price-paycard h2{font-size:25px;color:#073267;}
body.page-template-page-ws-price .ws-price-attention ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px;}
body.page-template-page-ws-price .ws-price-attention li{position:relative;padding-left:22px;color:#344e6e;font-weight:700;line-height:1.6;}
body.page-template-page-ws-price .ws-price-attention li:before{content:'✓';position:absolute;left:0;color:#0054b8;font-weight:900;}
body.page-template-page-ws-price .ws-price-paycard img{border:none;margin-top:18px;border-radius:0;}
body.page-template-page-ws-price .ws-price-faq-mini{background:#fff;padding:46px 0 34px;}
body.page-template-page-ws-price .ws-price-faq-mini__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #cfe1f2;border-radius:8px;overflow:hidden;}
body.page-template-page-ws-price .ws-price-faq-mini details{box-shadow:none;border:none;border-bottom:1px solid #dbe8f6;border-right:1px solid #dbe8f6;border-radius:0;}
body.page-template-page-ws-price .ws-price-faq-mini details:nth-child(even){border-right:none;}
body.page-template-page-ws-price .ws-price-faq-mini summary{padding:18px 22px;font-size:15px;}
body.page-template-page-ws-price .ws-price-faq-mini summary:after{content:'›';font-size:24px;}
body.page-template-page-ws-price .ws-price-faq-mini details[open] summary:after{content:'⌄';}
body.page-template-page-ws-price .ws-price-bottom-cta--original{background:#fff5df;padding:20px 0;}
body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__inner{grid-template-columns:190px 1fr auto;background:#fffbea;border:1px solid #f6c96d;border-radius:8px;padding:18px 24px;box-shadow:none;}
body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__img{width:170px;height:118px;object-fit:cover;object-position:center top;border-radius:0;background:transparent;}
body.page-template-page-ws-price .ws-price-bottom-cta--original h2{font-size:26px;color:#073267;line-height:1.45;margin:0;}
body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__buttons{display:flex;gap:16px;flex-wrap:nowrap;}
body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-btn{min-width:210px;border-radius:6px;min-height:76px;font-size:18px;flex-direction:column;gap:3px;}
body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-btn img{width:30px;height:30px;}
body.page-template-page-ws-price .ws-price-assurance-strip{background:#0054b8;color:#fff;padding:18px 0 22px;}
body.page-template-page-ws-price .ws-price-assurance-strip__inner{display:grid;grid-template-columns:1fr 1.4fr;gap:26px;align-items:center;}
body.page-template-page-ws-price .ws-price-assurance-strip__lead{display:flex;align-items:center;gap:16px;}
body.page-template-page-ws-price .ws-price-assurance-strip__lead img{width:74px;height:74px;object-fit:cover;object-position:center top;border-radius:999px;background:rgba(255,255,255,.15);}
body.page-template-page-ws-price .ws-price-assurance-strip__lead p{margin:0;font-size:18px;line-height:1.6;font-weight:800;}
body.page-template-page-ws-price .ws-price-assurance-strip__lead strong{font-size:22px;}
body.page-template-page-ws-price .ws-price-assurance-strip ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;}
body.page-template-page-ws-price .ws-price-assurance-strip li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:13px;font-weight:900;}
body.page-template-page-ws-price .ws-price-assurance-strip li img{width:38px;height:38px;object-fit:contain;filter:brightness(0) invert(1);}
@media (max-width:1024px){
  body.page-template-page-ws-price .ws-price-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.page-template-page-ws-price .ws-price-table-grid,body.page-template-page-ws-price .ws-price-formula-box,body.page-template-page-ws-price .ws-price-payment__grid,body.page-template-page-ws-price .ws-price-assurance-strip__inner{grid-template-columns:1fr;}
  body.page-template-page-ws-price .ws-price-menu__grid--original{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__inner{grid-template-columns:140px 1fr;}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__buttons{grid-column:1/-1;}
}
@media (max-width:767px){
  body.page-template-page-ws-price .ws-price-fv--original{padding-top:22px;}
  body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__inner{grid-template-columns:1fr;gap:24px;}
  body.page-template-page-ws-price .ws-price-fv--original .ws-price-fv__visual img{height:auto;max-height:none;}
  body.page-template-page-ws-price .ws-price-fv__checks{gap:12px;display:grid;grid-template-columns:1fr 1fr;}
  body.page-template-page-ws-price .ws-price-feature-strip{grid-template-columns:1fr;margin-bottom:-28px;}
  body.page-template-page-ws-price .ws-price-feature-strip article{border-right:none;border-bottom:1px solid #dbe8f6;}
  body.page-template-page-ws-price .ws-price-tables{padding-top:82px;}
  body.page-template-page-ws-price .ws-price-heading h2{gap:12px;}
  body.page-template-page-ws-price .ws-price-heading h2:before,body.page-template-page-ws-price .ws-price-heading h2:after{width:30px;}
  body.page-template-page-ws-price .ws-price-formula-items{grid-template-columns:1fr;}
  body.page-template-page-ws-price .ws-price-formula-items span{text-align:center;}
  body.page-template-page-ws-price .ws-price-menu__grid--original,body.page-template-page-ws-price .ws-price-faq-mini__grid{grid-template-columns:1fr;}
  body.page-template-page-ws-price .ws-price-faq-mini details{border-right:none;}
  body.page-template-page-ws-price .ws-price-attention{display:block;text-align:left;}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__inner{grid-template-columns:1fr;text-align:center;}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__img{margin:0 auto;}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-bottom-cta__buttons{display:grid;grid-template-columns:1fr;}
  body.page-template-page-ws-price .ws-price-bottom-cta--original .ws-price-btn{min-width:0;width:100%;}
  body.page-template-page-ws-price .ws-price-assurance-strip ul{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* v56 price page icon corrections */
body.page-template-page-ws-price .ws-price-feature-strip img{
  width:64px;
  height:64px;
  max-width:64px;
  max-height:64px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-formula-items img{
  width:64px;
  height:64px;
  max-width:64px;
  max-height:64px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-menu__grid--original img{
  width:68px;
  height:68px;
  max-width:68px;
  max-height:68px;
  object-fit:contain;
}

/* v58 price page annotated fixes */
body.page-template-page-ws-price .ws-price-formula-section{
  padding-top:0;
  padding-bottom:44px;
}
body.page-template-page-ws-price .ws-price-menu{
  padding-top:42px;
  padding-bottom:42px;
}
body.page-template-page-ws-price .ws-price-payment{
  padding-top:36px;
  padding-bottom:42px;
}
body.page-template-page-ws-price .ws-price-formula-items img{
  width:68px;
  height:68px;
  max-width:68px;
  max-height:68px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-formula-items div{
  min-height:118px;
  padding:14px 10px;
}
body.page-template-page-ws-price .ws-price-menu__grid--original img{
  width:72px;
  height:72px;
  max-width:72px;
  max-height:72px;
  object-fit:contain;
}
body.page-template-page-ws-price .ws-price-payment__grid{
  align-items:stretch;
}
body.page-template-page-ws-price .ws-price-attention{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  min-height:0;
  padding:24px 26px;
  gap:18px;
}
body.page-template-page-ws-price .ws-price-attention img{
  width:52px;
  height:52px;
  min-width:52px;
  object-fit:contain;
  margin-top:2px;
}
body.page-template-page-ws-price .ws-price-attention h2{
  margin:0 0 12px;
  font-size:26px;
  line-height:1.35;
}
body.page-template-page-ws-price .ws-price-attention ul{
  margin:0;
  gap:8px;
  justify-items:start;
}
body.page-template-page-ws-price .ws-price-attention li{
  text-align:left;
  font-size:15px;
  line-height:1.65;
  padding-left:24px;
}
@media (max-width:767px){
  body.page-template-page-ws-price .ws-price-formula-section,
  body.page-template-page-ws-price .ws-price-menu,
  body.page-template-page-ws-price .ws-price-payment{
    padding-top:36px;
    padding-bottom:36px;
  }
  body.page-template-page-ws-price .ws-price-attention{
    display:flex;
    padding:22px 18px;
  }
}

/* Ranking card shortcode v9 */
.ws-rank-card{position:relative;margin:34px 0;padding:28px;border:1px solid #d7e5f7;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(10,77,163,.07);color:#06172f;overflow:hidden}.ws-rank-card *{box-sizing:border-box}.ws-rank-card__head{display:flex;gap:22px;align-items:flex-start;margin-bottom:24px}.ws-rank-card__badge{width:78px;min-width:78px;height:106px;background:linear-gradient(180deg,#f6b928,#d99500);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;clip-path:polygon(0 0,100% 0,100% 84%,50% 100%,0 84%);line-height:1}.ws-rank-card__badge span{font-size:42px}.ws-rank-card--rank2 .ws-rank-card__badge{background:linear-gradient(180deg,#bfc7d1,#7e8793)}.ws-rank-card--rank3 .ws-rank-card__badge{background:linear-gradient(180deg,#d68b50,#a85a2c)}.ws-rank-card__title h2{margin:0 0 12px!important;font-size:clamp(24px,3.3vw,34px);line-height:1.35;color:#07162b}.ws-rank-card__tags{display:flex;flex-wrap:wrap;gap:8px}.ws-rank-card__tags span{display:inline-flex;align-items:center;padding:5px 10px;border-radius:6px;background:#edf5ff;color:#005bbb;font-size:13px;font-weight:800}.ws-rank-card__hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);gap:24px;align-items:stretch;margin-bottom:28px}.ws-rank-card__capture{min-height:270px;border:1px solid #d9e6f5;border-radius:8px;background:#f2f7fd;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#0a4da3;font-weight:800}.ws-rank-card__capture img{width:100%;height:100%;object-fit:cover;display:block}.ws-rank-card__ratingbox{border:1px solid #dfe8f5;border-radius:10px;background:#fff;display:flex;flex-direction:column;padding:18px;box-shadow:0 4px 14px rgba(10,77,163,.05)}.ws-rank-card__rating-main{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e6edf6;padding-bottom:16px;margin-bottom:14px}.ws-rank-card__rating-main>span{font-weight:800}.ws-rank-card__stars{font-size:31px;letter-spacing:3px;line-height:1;color:#f5a400;white-space:nowrap}.ws-rank-card__rating-main b{margin-left:auto;color:#ff5a00;font-size:42px;line-height:1}.ws-rank-card__rating-main small{font-size:18px;font-weight:800;color:#101827}.ws-rank-card__score-list{display:grid;gap:11px;margin-bottom:18px}.ws-rank-card__score-row{display:grid;grid-template-columns:1fr 100px 34px;gap:12px;align-items:center;font-size:14px}.ws-rank-card__score-row>span{font-weight:700}.ws-rank-card__score-row strong{text-align:right}.ws-rank-card__bar{height:10px;border-radius:999px;background:#e2ebf8;overflow:hidden;display:block}.ws-rank-card__bar span{height:100%;display:block;border-radius:999px;background:linear-gradient(90deg,#0a4da3,#1e73e8)}.ws-rank-card__official,.ws-rank-card__bottom-link{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none!important;border-radius:7px;font-weight:900}.ws-rank-card__official{margin-top:auto;background:#ff5a00;color:#fff!important;font-size:20px;padding:15px 18px}.ws-rank-card__official:after,.ws-rank-card__bottom-link:after{content:'↗';font-size:.9em}.ws-rank-card__intro,.ws-rank-card__editor{border:1px solid #ffd3aa;border-radius:8px;background:#fffaf4;padding:22px 24px;margin:22px 0}.ws-rank-card__intro h3,.ws-rank-card__editor h3{margin:0 0 12px!important;color:#f06a00;font-size:18px}.ws-rank-card__intro p,.ws-rank-card__editor p{margin:0;line-height:1.9}.ws-rank-card__reviews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.ws-rank-card__review{border:1px solid #dfe6ef;border-radius:8px;overflow:hidden;background:#fff}.ws-rank-card__review h3{margin:0!important;padding:14px 18px;font-size:18px}.ws-rank-card__review ul{margin:0!important;padding:18px 22px 18px 38px!important}.ws-rank-card__review li{margin:0 0 10px}.ws-rank-card__review--good{border-color:#ffc8da}.ws-rank-card__review--good h3{background:#fff4f7;color:#ff3f75}.ws-rank-card__review--good li::marker{color:#ff3f75}.ws-rank-card__review--bad h3{background:#f6f7f9;color:#313842}.ws-rank-card__tables{display:grid;grid-template-columns:1fr 1.35fr;gap:20px;margin:22px 0}.ws-rank-card__table{border:1px solid #cfe0f5;border-radius:8px;overflow:hidden;background:#fff}.ws-rank-card__table h4{margin:0!important;padding:10px 14px;border-bottom:1px solid #cfe0f5;color:#005bbb;background:#f6fbff;font-size:17px}.ws-rank-card__table table{width:100%;border-collapse:collapse;margin:0!important}.ws-rank-card__table th,.ws-rank-card__table td{border-bottom:1px solid #e1ebf7;padding:9px 12px;text-align:left;vertical-align:top;font-size:14px}.ws-rank-card__table tr:last-child th,.ws-rank-card__table tr:last-child td{border-bottom:none}.ws-rank-card__table th{width:43%;background:#fbfdff;color:#0b2a55;font-weight:800}.ws-rank-card__bottom-link{border:2px solid #0a62d0;color:#005bbb!important;background:#fff;padding:13px 16px;margin-top:18px;font-size:18px}.ws-rank-card__bottom-link:hover{background:#f2f7ff}@media (max-width: 900px){.ws-rank-card{padding:20px}.ws-rank-card__head{gap:14px}.ws-rank-card__badge{width:58px;min-width:58px;height:82px}.ws-rank-card__badge span{font-size:30px}.ws-rank-card__hero{grid-template-columns:1fr}.ws-rank-card__capture{min-height:210px}.ws-rank-card__reviews,.ws-rank-card__tables{grid-template-columns:1fr}.ws-rank-card__rating-main{flex-wrap:wrap}.ws-rank-card__rating-main b{margin-left:0}.ws-rank-card__score-row{grid-template-columns:1fr 86px 34px}.ws-rank-card__stars{font-size:25px}}
@media (max-width: 600px){.ws-rank-card{margin:24px 0;padding:16px;border-radius:14px}.ws-rank-card__title h2{font-size:22px}.ws-rank-card__tags span{font-size:12px}.ws-rank-card__rating-main{display:grid;grid-template-columns:1fr auto;gap:8px 12px}.ws-rank-card__rating-main>span{grid-column:1 / -1}.ws-rank-card__rating-main b{font-size:34px}.ws-rank-card__stars{letter-spacing:1px}.ws-rank-card__score-row{grid-template-columns:1fr;gap:6px}.ws-rank-card__score-row strong{text-align:left}.ws-rank-card__bar{width:100%}.ws-rank-card__intro,.ws-rank-card__editor{padding:18px}.ws-rank-card__review ul{padding-left:32px!important}.ws-rank-card__table th,.ws-rank-card__table td{display:block;width:100%;border-bottom:none}.ws-rank-card__table tr{display:block;border-bottom:1px solid #e1ebf7}.ws-rank-card__table tr:last-child{border-bottom:none}.ws-rank-card__bottom-link,.ws-rank-card__official{font-size:16px}}

/* Ranking card v10: closer to design comp */
.ws-rank-card{
  max-width: 1120px;
  margin: 34px auto;
  padding: 28px 28px 26px;
  border: 1px solid #d8e5f6;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(10,77,163,.06);
  overflow: hidden;
}
.ws-rank-card__head{
  display: grid;
  grid-template-columns: 84px minmax(0,1fr);
  gap: 20px;
  align-items: start;
  margin-bottom: 22px;
}
.ws-rank-card__badge{
  width: 72px;
  min-width: 72px;
  height: 112px;
  margin: -16px 0 0 0;
  background: linear-gradient(180deg,#f5a900 0%,#d89100 100%);
  color:#fff;
  clip-path: polygon(0 0,100% 0,100% 84%,50% 100%,0 84%);
  box-shadow: 0 5px 14px rgba(216,145,0,.22);
}
.ws-rank-card__badge:before{
  content:'♛';
  display:block;
  font-size:18px;
  margin-bottom:3px;
}
.ws-rank-card__badge span{font-size:38px;line-height:.9;}
.ws-rank-card--rank2 .ws-rank-card__badge{background:linear-gradient(180deg,#cfd5de,#8d98a6);box-shadow:0 5px 14px rgba(142,152,166,.22)}
.ws-rank-card--rank3 .ws-rank-card__badge{background:linear-gradient(180deg,#d68a4a,#a85c2d);box-shadow:0 5px 14px rgba(168,92,45,.22)}
.ws-rank-card__title h2{
  margin: 0 0 10px!important;
  font-size: clamp(25px,3vw,34px);
  line-height: 1.3;
  letter-spacing: .01em;
  color: #0b1220;
  font-weight: 900;
}
.ws-rank-card__tags{gap:10px;}
.ws-rank-card__tags span{
  padding: 6px 12px;
  border-radius: 6px;
  background:#eaf3ff;
  color:#075bc1;
  font-size:14px;
  font-weight:800;
}
.ws-rank-card__hero{
  display:grid;
  grid-template-columns: minmax(0,1.55fr) minmax(320px,.95fr);
  gap:22px;
  align-items:stretch;
  margin-bottom:26px;
}
.ws-rank-card__capture{
  min-height: 315px;
  border:1px solid #d8e5f6;
  border-radius:8px;
  background:#f3f8ff;
  color:#0a4da3;
  font-weight:800;
}
.ws-rank-card__capture img{object-fit:cover;}
.ws-rank-card__ratingbox{
  border:1px solid #dce7f5;
  border-radius:10px;
  background:#fff;
  padding:18px 18px 16px;
  box-shadow:0 3px 12px rgba(10,77,163,.05);
}
.ws-rank-card__rating-main{
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items:center;
  padding-bottom:17px;
  margin-bottom:15px;
  border-bottom:1px solid #e3ebf6;
}
.ws-rank-card__rating-main>span{
  grid-column: 1 / -1;
  color:#0b1220;
  font-size:16px;
  font-weight:900;
}
.ws-rank-card__stars{
  justify-self:start;
  font-size:36px;
  letter-spacing:4px;
  color:#f5a400;
  text-shadow:0 1px 0 rgba(0,0,0,.04);
}
.ws-rank-card__rating-main b{
  margin-left:0;
  justify-self:end;
  color:#ff5a00;
  font-size:48px;
  font-weight:900;
  line-height:1;
}
.ws-rank-card__rating-main small{font-size:20px;font-weight:900;color:#111827;}
.ws-rank-card__score-list{gap:12px;margin:2px 0 18px;}
.ws-rank-card__score-row{
  display:grid;
  grid-template-columns: minmax(120px,1fr) 112px 34px;
  gap: 12px;
  align-items:center;
}
.ws-rank-card__score-row>span{font-size:14px;font-weight:800;color:#26364b;}
.ws-rank-card__bar{height:11px;background:#e6eef9;}
.ws-rank-card__bar span{background:repeating-linear-gradient(90deg,#0a4da3 0,#0a4da3 14px,#fff 14px,#fff 17px,#1e73e8 17px,#1e73e8 31px);}
.ws-rank-card__official{
  margin-top:auto;
  min-height:58px;
  border-radius:6px;
  background:#ff5a00;
  box-shadow:0 4px 12px rgba(255,90,0,.16);
  font-size:22px;
}
.ws-rank-card__intro,
.ws-rank-card__editor{
  border-color:#ffd0a6;
  border-radius:8px;
  background:#fffaf4;
  padding:23px 26px;
  margin:24px 0;
}
.ws-rank-card__intro h3,
.ws-rank-card__editor h3{
  color:#f06a00;
  font-weight:900;
}
.ws-rank-card__reviews{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:24px 0;
}
.ws-rank-card__review{
  min-height:180px;
  border-radius:8px;
}
.ws-rank-card__review h3{padding:15px 20px;font-size:18px;font-weight:900;}
.ws-rank-card__review--good{border-color:#ffc9da;background:#fff;}
.ws-rank-card__review--good h3{background:linear-gradient(90deg,#fff3f7,#fff);color:#ff3f75;}
.ws-rank-card__review--bad{border-color:#d7dce3;background:#fff;}
.ws-rank-card__review--bad h3{background:linear-gradient(90deg,#f5f5f5,#fff);color:#3d4652;}
.ws-rank-card__review ul{line-height:1.85;}
.ws-rank-card__tables{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:20px;
  margin:24px 0;
}
.ws-rank-card__table{border-color:#cfe0f5;border-radius:8px;}
.ws-rank-card__table h4{background:#f7fbff;color:#005bbb;font-weight:900;}
.ws-rank-card__table th,.ws-rank-card__table td{padding:10px 13px;font-size:15px;}
.ws-rank-card__bottom-link{
  border:2px solid #0b63d1;
  border-radius:5px;
  background:#fff;
  color:#005bbb!important;
  font-size:20px;
  font-weight:900;
  padding:14px 18px;
}
@media (max-width: 900px){
  .ws-rank-card{padding:22px;}
  .ws-rank-card__head{grid-template-columns:62px minmax(0,1fr);gap:14px;}
  .ws-rank-card__badge{width:58px;min-width:58px;height:86px;}
  .ws-rank-card__badge span{font-size:30px;}
  .ws-rank-card__hero{grid-template-columns:1fr;gap:18px;}
  .ws-rank-card__capture{min-height:230px;}
  .ws-rank-card__reviews,.ws-rank-card__tables{grid-template-columns:1fr;}
}
@media (max-width: 600px){
  .ws-rank-card{margin:24px 0;padding:16px;border-radius:14px;}
  .ws-rank-card__head{grid-template-columns:52px minmax(0,1fr);}
  .ws-rank-card__badge{width:48px;min-width:48px;height:74px;}
  .ws-rank-card__badge:before{font-size:14px;}
  .ws-rank-card__badge span{font-size:25px;}
  .ws-rank-card__title h2{font-size:22px;line-height:1.35;}
  .ws-rank-card__tags span{font-size:12px;padding:5px 8px;}
  .ws-rank-card__capture{min-height:200px;}
  .ws-rank-card__rating-main{grid-template-columns:1fr auto;gap:8px 12px;}
  .ws-rank-card__rating-main>span{grid-column:1 / -1;}
  .ws-rank-card__stars{font-size:28px;letter-spacing:2px;}
  .ws-rank-card__rating-main b{font-size:38px;}
  .ws-rank-card__rating-main small{font-size:16px;}
  .ws-rank-card__score-row{grid-template-columns:1fr;gap:7px;}
  .ws-rank-card__bar{width:100%;}
  .ws-rank-card__score-row strong{text-align:left;}
  .ws-rank-card__official{font-size:18px;min-height:52px;}
  .ws-rank-card__intro,.ws-rank-card__editor{padding:18px;}
  .ws-rank-card__bottom-link{font-size:17px;}
}

/* Ranking card v11: design comp fidelity fixes */
.ws-rank-card__title h2{
  font-size: clamp(19px, 2.25vw, 28px) !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
}
.ws-rank-card__hero{
  grid-template-columns: minmax(0, 1.42fr) minmax(260px, .88fr) !important;
  gap: 22px !important;
}
.ws-rank-card__ratingbox{
  padding: 16px 16px 14px !important;
}
.ws-rank-card__rating-main{
  display: grid !important;
  grid-template-columns: auto 1fr auto auto !important;
  gap: 8px 10px !important;
  align-items: center !important;
  padding-bottom: 14px !important;
  margin-bottom: 12px !important;
}
.ws-rank-card__rating-main > span{
  grid-column: 1 / -1 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
}
.ws-rank-card__stars{
  grid-column: 1 / 3 !important;
  font-size: clamp(23px, 2.7vw, 34px) !important;
  letter-spacing: 2px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.ws-rank-card__rating-main b{
  grid-column: 3 / 4 !important;
  font-size: clamp(34px, 4vw, 46px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.ws-rank-card__rating-main small{
  grid-column: 4 / 5 !important;
  font-size: clamp(14px, 1.55vw, 18px) !important;
  white-space: nowrap !important;
}
.ws-rank-card__score-row{
  grid-template-columns: minmax(92px,1fr) minmax(82px, 102px) 30px !important;
  gap: 8px !important;
}
.ws-rank-card__score-row > span{
  font-size: 12.5px !important;
  line-height: 1.32 !important;
}
.ws-rank-card__bar{
  height: 10px !important;
  border-radius: 999px !important;
  background:#e7eef9 !important;
  overflow: hidden !important;
}
.ws-rank-card__bar span{
  background:#0a63d1 !important;
  border-radius: 999px !important;
}
.ws-rank-card__score-row strong{
  font-size: 13px !important;
}
.ws-rank-card__official{
  font-size: 19px !important;
  min-height: 54px !important;
}

/* Review blocks: closer to supplied comp */
.ws-rank-card__reviews{
  gap: 18px !important;
}
.ws-rank-card__review{
  min-height: 0 !important;
  border-radius: 8px !important;
  background:#fff !important;
  overflow:hidden !important;
  position: relative !important;
}
.ws-rank-card__review h3{
  display:flex !important;
  align-items:center !important;
  gap: 8px !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
}
.ws-rank-card__review h3::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  font-size:15px;
  font-weight:900;
  flex:0 0 auto;
}
.ws-rank-card__review--good h3::before{content:'☺';border:1px solid #ff78a0;color:#ff3f75;background:#fff;}
.ws-rank-card__review--bad h3::before{content:'☹';border:1px solid #89919c;color:#3d4652;background:#fff;}
.ws-rank-card__review ul{
  margin:0 !important;
  padding: 16px 22px 18px 38px !important;
  line-height: 1.85 !important;
  background:#fff !important;
}
.ws-rank-card__review li{margin-bottom:8px !important;}
.ws-rank-card__review--good{border-color:#ffc8da !important;}
.ws-rank-card__review--good h3{background:linear-gradient(90deg,#fff2f7,#fff) !important;color:#ff3f75 !important;}
.ws-rank-card__review--good li::marker{color:#ff3f75 !important;}
.ws-rank-card__review--bad{border-color:#d8dde5 !important;}
.ws-rank-card__review--bad h3{background:linear-gradient(90deg,#f6f6f7,#fff) !important;color:#3b4450 !important;}
.ws-rank-card__review--bad li::marker{color:#111827 !important;}

/* Tables: closer to supplied comp */
.ws-rank-card__tables{
  grid-template-columns: 1fr 1.16fr !important;
  gap: 18px !important;
}
.ws-rank-card__table{
  border:1px solid #cfe0f5 !important;
  border-radius: 7px !important;
  overflow:hidden !important;
}
.ws-rank-card__table h4{
  padding: 10px 14px !important;
  color:#005bbb !important;
  background:#f4f9ff !important;
  border-bottom:1px solid #cfe0f5 !important;
  font-size:16px !important;
}
.ws-rank-card__table table{table-layout: fixed !important;}
.ws-rank-card__table th,
.ws-rank-card__table td{
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  border-bottom:1px solid #dce8f6 !important;
}
.ws-rank-card__table th{
  width:42% !important;
  background:#eaf4ff !important;
  color:#0a2f62 !important;
  font-weight:800 !important;
}
.ws-rank-card__table td{background:#fff !important;}

/* Introduction / editor comment heading accent like comp */
.ws-rank-card__intro h3,
.ws-rank-card__editor h3{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#005bbb !important;
  font-size:20px !important;
}
.ws-rank-card__intro h3::before,
.ws-rank-card__editor h3::before{
  content:'';
  width:5px;
  height:32px;
  border-radius:3px;
  background:#0a63d1;
  display:inline-block;
}
.ws-rank-card__intro,
.ws-rank-card__editor{
  background:#fffaf4 !important;
  border-color:#ffd0a6 !important;
}

@media (max-width: 900px){
  .ws-rank-card__hero{grid-template-columns:1fr !important;}
  .ws-rank-card__rating-main{
    grid-template-columns: auto 1fr auto auto !important;
  }
  .ws-rank-card__stars{font-size:30px !important;}
  .ws-rank-card__rating-main b{font-size:40px !important;}
  .ws-rank-card__reviews,.ws-rank-card__tables{grid-template-columns:1fr !important;}
}
@media (max-width: 600px){
  .ws-rank-card__title h2{font-size:19px !important;}
  .ws-rank-card__rating-main{
    grid-template-columns: 1fr !important;
    gap:8px !important;
  }
  .ws-rank-card__rating-main > span,
  .ws-rank-card__stars,
  .ws-rank-card__rating-main b,
  .ws-rank-card__rating-main small{
    grid-column:auto !important;
    justify-self:start !important;
  }
  .ws-rank-card__rating-main b,
  .ws-rank-card__rating-main small{display:inline-block !important;}
  .ws-rank-card__rating-main b{font-size:36px !important;}
  .ws-rank-card__stars{font-size:26px !important;letter-spacing:1px !important;}
  .ws-rank-card__score-row{grid-template-columns:1fr !important;}
  .ws-rank-card__bar{width:100% !important;}
  .ws-rank-card__table th,
  .ws-rank-card__table td{display:table-cell !important;width:auto !important;}
}

/* Ranking card v12: final comp fixes */
.ws-rank-card{
  max-width: 980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:24px !important;
}
.ws-rank-card__head{
  grid-template-columns:72px minmax(0,1fr) !important;
  gap:18px !important;
  margin-bottom:22px !important;
}
.ws-rank-card__title h2{
  font-size:clamp(22px,2.35vw,30px) !important;
  line-height:1.35 !important;
  color:#07162b !important;
  font-weight:900 !important;
  border-left:0 !important;
  padding-left:0 !important;
}
.ws-rank-card__title h2::before,
.ws-rank-card__intro h3,
.ws-rank-card__editor,
.ws-rank-card__editor h3,
.ws-rank-card__intro h3::before,
.ws-rank-card__editor h3::before{
  display:none !important;
  content:none !important;
}
.ws-rank-card__tags span{
  background:#eaf3ff !important;
  color:#075bc1 !important;
}
.ws-rank-card__hero{
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.95fr) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.ws-rank-card__capture{
  min-height:330px !important;
  border-radius:8px !important;
  background:#f2f7fd !important;
}
.ws-rank-card__ratingbox{
  padding:18px !important;
}
.ws-rank-card__rating-main{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  gap:10px 12px !important;
  padding-bottom:16px !important;
  margin-bottom:14px !important;
}
.ws-rank-card__rating-main > span{
  width:100% !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  color:#0b1220 !important;
  writing-mode:horizontal-tb !important;
  white-space:nowrap !important;
}
.ws-rank-card__stars{
  display:inline-flex !important;
  flex:0 0 auto !important;
  font-size:clamp(27px,3vw,36px) !important;
  letter-spacing:2px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  color:#f5a400 !important;
}
.ws-rank-card__rating-main b{
  display:inline-flex !important;
  flex:0 0 auto !important;
  margin-left:4px !important;
  font-size:clamp(38px,4.2vw,50px) !important;
  line-height:.95 !important;
  color:#ff5a00 !important;
  white-space:nowrap !important;
}
.ws-rank-card__rating-main small{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-self:center !important;
  font-size:18px !important;
  font-weight:900 !important;
  color:#111827 !important;
  white-space:nowrap !important;
}
.ws-rank-card__bar span{
  background:#0a63d1 !important;
}
.ws-rank-card__intro{
  border:1px solid #ffd0a6 !important;
  border-radius:8px !important;
  background:#fffaf4 !important;
  padding:20px 22px !important;
  margin:22px 0 !important;
}
.ws-rank-card__intro p{
  margin:0 !important;
  line-height:1.9 !important;
}
.ws-rank-card__review h3{
  border-left:0 !important;
  padding-left:18px !important;
}
.ws-rank-card__review h3::before{
  display:inline-flex !important;
}
.ws-rank-card__tables{
  grid-template-columns:1fr 1.18fr !important;
}
.ws-rank-card__table th{
  width:45% !important;
  background:#eaf4ff !important;
  color:#0a2f62 !important;
}
.ws-rank-card__row-label{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
.ws-rank-card__row-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-block;
  color:#0a63d1;
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px;
}
.ws-rank-card__row-icon--pin,
.ws-rank-card__row-icon--pincheck{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.1 7-11a7 7 0 0 0-14 0c0 5.9 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--clock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6l4 2'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--clip{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8l2 2v14H6V4h2z'/%3E%3Cpath d='M9 9h6M9 13h6M9 17h4'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--truck{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--card{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--shield{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.4 8-8 9-4.6-1-8-4-8-9V6l8-3z'/%3E%3Cpath d='M8.5 12l2.2 2.2 4.8-5'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--list{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h12'/%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--toilet{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h8v7H6zM5 11h11v3a5 5 0 0 1-5 5H9a4 4 0 0 1-4-4zM9 19h5M7 7h2'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--faucet{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7h8M12 7v5M6 12h12M18 12v3M8 12v5M7 17h4'/%3E%3Cpath d='M18 17c1.2-1 2-1.9 2-3'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--drain{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12M7 8l1 11h8l1-11M9 12h6M10 16h4M12 3v5'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--heater{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Ccircle cx='12' cy='15' r='2'/%3E%3Cpath d='M10 7h4M10 10h4'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--water{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.2 6 11a6 6 0 0 1-12 0c0-4.8 6-11 6-11z'/%3E%3C/svg%3E");}
.ws-rank-card__row-icon--yen,
.ws-rank-card__row-icon--default{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%230a63d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 5l5 7 5-7M12 12v7M8 13h8M8 16h8'/%3E%3C/svg%3E");}
@media (max-width:900px){
  .ws-rank-card{max-width:100% !important;padding:20px !important;}
  .ws-rank-card__hero{grid-template-columns:1fr !important;}
  .ws-rank-card__reviews,.ws-rank-card__tables{grid-template-columns:1fr !important;}
}
@media (max-width:600px){
  .ws-rank-card{padding:16px !important;}
  .ws-rank-card__head{grid-template-columns:52px minmax(0,1fr) !important;}
  .ws-rank-card__title h2{font-size:20px !important;}
  .ws-rank-card__capture{min-height:220px !important;}
  .ws-rank-card__rating-main{display:flex !important;}
  .ws-rank-card__stars{font-size:27px !important;}
  .ws-rank-card__rating-main b{font-size:38px !important;}
  .ws-rank-card__score-row{grid-template-columns:1fr !important;}
  .ws-rank-card__table table{table-layout:auto !important;}
  .ws-rank-card__table th,.ws-rank-card__table td{display:table-cell !important;width:auto !important;}
  .ws-rank-card__row-icon{width:20px;height:20px;flex-basis:20px;background-size:20px 20px;}
}

/* Ranking card v13: image annotation fixes */
.ws-rank-card__review{
  overflow:visible !important;
  box-shadow:none !important;
}
.ws-rank-card__review h3{
  background:transparent !important;
  border:0 !important;
  border-bottom:0 !important;
}
.ws-rank-card__review--good h3,
.ws-rank-card__review--bad h3{
  background:transparent !important;
}
.ws-rank-card__review ul{
  border:0 !important;
  box-shadow:none !important;
  background:#fff !important;
}
.ws-rank-card__review ul::before,
.ws-rank-card__review ul::after,
.ws-rank-card__review h3::after{
  content:none !important;
  display:none !important;
}
.ws-rank-card__table--price .ws-rank-card__row-label{
  gap:0 !important;
}
.ws-rank-card__table--price .ws-rank-card__row-icon{
  display:none !important;
}
.ws-rank-card__table--info .ws-rank-card__row-icon{
  display:inline-block !important;
}
.ws-rank-card__bottom-link{
  margin-top:24px !important;
  box-shadow:none !important;
  outline:none !important;
}
.ws-rank-card__bottom-link::before{
  content:none !important;
  display:none !important;
}

/* Ranking card v14: PC/SP table cleanup from annotations */
.ws-rank-card__tables{
  align-items:start !important;
}
.ws-rank-card__table{
  align-self:start !important;
}
.ws-rank-card__table table{
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}
.ws-rank-card__table th,
.ws-rank-card__table td{
  display:table-cell !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
}
.ws-rank-card__table th{
  width:46% !important;
}
.ws-rank-card__table td{
  width:54% !important;
  background:#fff !important;
}
.ws-rank-card__table--price th{
  width:48% !important;
}
.ws-rank-card__table--price td{
  width:52% !important;
}
@media (max-width:600px){
  .ws-rank-card__tables{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:start !important;
  }
  .ws-rank-card__table{
    width:100% !important;
    max-width:100% !important;
  }
  .ws-rank-card__table table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
  }
  .ws-rank-card__table tr{
    display:table-row !important;
    border-bottom:0 !important;
  }
  .ws-rank-card__table th,
  .ws-rank-card__table td{
    display:table-cell !important;
    width:auto !important;
    border-bottom:1px solid #e1ebf7 !important;
    padding:12px 14px !important;
    line-height:1.5 !important;
    vertical-align:middle !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
  }
  .ws-rank-card__table th{
    width:46% !important;
  }
  .ws-rank-card__table td{
    width:54% !important;
  }
  .ws-rank-card__table--price th{
    width:50% !important;
  }
  .ws-rank-card__table--price td{
    width:50% !important;
  }
  .ws-rank-card__table tr:last-child th,
  .ws-rank-card__table tr:last-child td{
    border-bottom:none !important;
  }
}

/* Ranking card v15: align PC column gaps and clean SP tables */
@media (min-width:901px){
  .ws-rank-card__reviews,
  .ws-rank-card__tables{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:24px !important;
    row-gap:20px !important;
  }
}

@media (max-width:600px){
  .ws-rank-card__table{
    overflow:hidden !important;
  }
  .ws-rank-card__table table,
  .ws-rank-card__table tbody{
    display:block !important;
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 !important;
  }
  .ws-rank-card__table tr{
    display:grid !important;
    grid-template-columns:minmax(118px,42%) minmax(0,1fr) !important;
    width:100% !important;
    border-bottom:1px solid #e1ebf7 !important;
  }
  .ws-rank-card__table tr:last-child{
    border-bottom:none !important;
  }
  .ws-rank-card__table th,
  .ws-rank-card__table td{
    display:flex !important;
    align-items:center !important;
    width:auto !important;
    min-width:0 !important;
    border:0 !important;
    border-bottom:0 !important;
    padding:12px 14px !important;
    line-height:1.55 !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .ws-rank-card__table th{
    background:#eaf4ff !important;
    color:#0a2f62 !important;
  }
  .ws-rank-card__table td{
    background:#fff !important;
  }
  .ws-rank-card__table--price tr{
    grid-template-columns:minmax(126px,46%) minmax(0,1fr) !important;
  }
  .ws-rank-card__table--price .ws-rank-card__row-label,
  .ws-rank-card__table--info .ws-rank-card__row-label{
    width:100% !important;
  }
}

/* Evaluation criteria shortcode v61: [ws_evaluation_criteria] */
.ws-evaluation-criteria{
  max-width:850px;
  margin:32px auto;
  padding:28px 20px 24px;
  border:1px solid #f1dba7;
  border-radius:10px;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,196,59,.18), transparent 28%),
    radial-gradient(circle at 84% 14%, rgba(255,196,59,.12), transparent 24%),
    #fffdf7;
  box-sizing:border-box;
  overflow:hidden;
}
.ws-evaluation-criteria__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
}
.ws-evaluation-criteria__head-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  font-size:26px;
  line-height:1;
  flex:0 0 auto;
}
.ws-evaluation-criteria__head h2{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  color:#073b8e;
  font-size:22px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.02em;
}
.ws-evaluation-criteria__head h2::before,
.ws-evaluation-criteria__head h2::after{
  content:none !important;
}
.ws-evaluation-criteria__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
}
.ws-evaluation-criteria__item{
  min-width:0;
  padding:24px 14px 22px;
  border:1px solid #f1dba7;
  border-radius:6px;
  background:#fff;
  text-align:center;
  box-shadow:0 8px 22px rgba(8,55,120,.04);
  box-sizing:border-box;
}
.ws-evaluation-criteria__icon{
  width:92px;
  height:92px;
  margin:0 auto 18px;
  border-radius:50%;
  background:#f2f7ff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ws-evaluation-criteria__icon svg{
  width:76px;
  height:76px;
  display:block;
}
.ws-evaluation-criteria__item h3{
  margin:0 0 16px !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  color:#071534;
  font-size:18px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.01em;
}
.ws-evaluation-criteria__item h3::before,
.ws-evaluation-criteria__item h3::after{
  content:none !important;
}
.ws-evaluation-criteria__item p{
  margin:0;
  color:#111827;
  font-size:15px;
  font-weight:500;
  line-height:1.9;
}
.ws-evaluation-criteria__lead{
  margin:20px 0 14px;
  text-align:center;
  color:#071534;
  font-size:18px;
  font-weight:800;
  line-height:1.7;
}
.ws-evaluation-criteria__button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:fit-content;
  max-width:100%;
  margin:0 auto;
  padding:12px 24px;
  border:1.5px solid #f2b01e;
  border-radius:6px;
  background:#fffefa;
  color:#0b55c9 !important;
  font-size:18px;
  font-weight:800;
  line-height:1.4;
  text-decoration:none !important;
  box-sizing:border-box;
}
.ws-evaluation-criteria__button span{
  color:#0b55c9;
  font-size:.9em;
}
.ws-evaluation-criteria__button:hover{
  background:#fff7df;
  color:#073b8e !important;
}
@media (max-width:900px){
  .ws-evaluation-criteria{
    padding:22px 16px 20px;
  }
  .ws-evaluation-criteria__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .ws-evaluation-criteria__item:last-child{
    grid-column:1 / -1;
  }
}
@media (max-width:600px){
  .ws-evaluation-criteria{
    margin:24px auto;
    padding:18px 14px 18px;
    border-radius:9px;
  }
  .ws-evaluation-criteria__head{
    align-items:flex-start;
    gap:10px;
    margin-bottom:18px;
  }
  .ws-evaluation-criteria__head-icon{
    width:28px;
    height:28px;
    font-size:22px;
  }
  .ws-evaluation-criteria__head h2{
    font-size:18px;
  }
  .ws-evaluation-criteria__grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .ws-evaluation-criteria__item,
  .ws-evaluation-criteria__item:last-child{
    grid-column:auto;
  }
  .ws-evaluation-criteria__item{
    display:grid;
    grid-template-columns:74px 1fr;
    grid-template-areas:"icon title" "icon text";
    column-gap:14px;
    align-items:center;
    text-align:left;
    padding:16px 14px;
  }
  .ws-evaluation-criteria__icon{
    grid-area:icon;
    width:68px;
    height:68px;
    margin:0;
  }
  .ws-evaluation-criteria__icon svg{
    width:38px;
    height:38px;
  }
  .ws-evaluation-criteria__item h3{
    grid-area:title;
    margin:0 0 4px !important;
    font-size:17px;
  }
  .ws-evaluation-criteria__item p{
    grid-area:text;
    font-size:14px;
    line-height:1.65;
  }
  .ws-evaluation-criteria__lead{
    margin:16px 0 12px;
    font-size:16px;
  }
  .ws-evaluation-criteria__button{
    width:100%;
    padding:11px 12px;
    font-size:15px;
  }
}


/* Evaluation criteria shortcode v62 fixes: remove title icon and rebalance desktop text */
.ws-evaluation-criteria__head-icon{
  display:none !important;
}
.ws-evaluation-criteria__head{
  gap:0 !important;
  margin-bottom:22px;
}
.ws-evaluation-criteria__grid{
  gap:6px;
}
.ws-evaluation-criteria__item{
  padding:22px 10px 20px;
}
.ws-evaluation-criteria__icon{
  width:88px;
  height:88px;
  margin-bottom:16px;
}
.ws-evaluation-criteria__icon svg{
  width:72px;
  height:72px;
}
.ws-evaluation-criteria__item h3{
  font-size:16px !important;
  line-height:1.42 !important;
  margin-bottom:12px !important;
  word-break:keep-all;
  overflow-wrap:normal;
}
.ws-evaluation-criteria__item p{
  font-size:13.5px !important;
  line-height:1.75 !important;
  letter-spacing:0;
  word-break:keep-all;
  overflow-wrap:normal;
}
.ws-evaluation-criteria__lead{
  font-size:17px;
}
.ws-evaluation-criteria__button{
  font-size:16px;
}
@media (max-width:900px){
  .ws-evaluation-criteria__item h3{
    font-size:17px !important;
  }
  .ws-evaluation-criteria__item p{
    font-size:14px !important;
  }
}
@media (max-width:600px){
  .ws-evaluation-criteria__head{
    margin-bottom:18px;
  }
  .ws-evaluation-criteria__item h3{
    font-size:16px !important;
    line-height:1.45 !important;
  }
  .ws-evaluation-criteria__item p{
    font-size:13.5px !important;
    line-height:1.65 !important;
  }
}

/* Ranking policy detail page v64: [ws_ranking_policy] / fixed page design */
.ws-ranking-policy{
  max-width:850px;
  margin:0 auto 56px;
  color:#1f2d3d;
  font-family:inherit;
}
.ws-ranking-policy *{box-sizing:border-box;}
.ws-ranking-policy-hero{
  position:relative;
  padding:34px 34px 30px;
  margin:0 0 28px;
  background:linear-gradient(135deg,#f4f9ff 0%,#ffffff 62%,#eef6ff 100%);
  border:1px solid #dbe7f8;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(20,87,217,.08);
  overflow:hidden;
}
.ws-ranking-policy-hero:before{
  content:"";
  position:absolute;
  right:-46px;
  top:-54px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(30,115,232,.08);
}
.ws-ranking-policy-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px !important;
  padding:5px 12px;
  border-radius:999px;
  background:#eaf4ff;
  color:#1457d9;
  font-weight:700;
  font-size:13px;
  letter-spacing:.04em;
}
.ws-ranking-policy-hero h1{
  margin:0 0 16px !important;
  color:#0b2f66;
  font-size:30px;
  line-height:1.42;
  font-weight:800;
  letter-spacing:.01em;
}
.ws-ranking-policy-hero p{
  margin:0 0 10px !important;
  color:#334155;
  font-size:16px;
  line-height:1.9;
}
.ws-ranking-policy-section{
  margin:26px 0;
  padding:28px 30px;
  background:#fff;
  border:1px solid #dbe7f8;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(15,45,90,.05);
}
.ws-ranking-policy-section h2{
  position:relative;
  margin:0 0 18px !important;
  padding-left:18px;
  color:#0b2f66;
  font-size:24px;
  line-height:1.5;
  font-weight:800;
  border:none !important;
}
.ws-ranking-policy-section h2:before{
  content:"";
  position:absolute;
  left:0;
  top:.42em;
  width:6px;
  height:1.25em;
  border-radius:999px;
  background:#1e73e8;
}
.ws-ranking-policy-section h3{
  margin:0 0 12px !important;
  color:#123a70;
  font-size:18px;
  line-height:1.55;
  font-weight:800;
}
.ws-ranking-policy-section p{
  margin:0 0 14px !important;
  color:#334155;
  font-size:15.5px;
  line-height:1.9;
}
.ws-ranking-policy-section--criteria .ws-evaluation-criteria{
  margin:0 !important;
  box-shadow:none !important;
}
.ws-ranking-policy-section--criteria .ws-evaluation-criteria__head{
  display:none !important;
}
.ws-ranking-policy-table-wrap{
  overflow-x:auto;
  margin-top:14px;
  border-radius:16px;
  border:1px solid #dbe7f8;
}
.ws-ranking-policy-score-table{
  width:100%;
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden;
  font-size:15px;
}
.ws-ranking-policy-score-table th,
.ws-ranking-policy-score-table td{
  padding:15px 18px !important;
  border:none !important;
  border-bottom:1px solid #e5eef9 !important;
  text-align:left;
}
.ws-ranking-policy-score-table th{
  background:#0a4da3;
  color:#fff;
  font-weight:800;
}
.ws-ranking-policy-score-table td:last-child,
.ws-ranking-policy-score-table th:last-child{
  width:140px;
  text-align:center;
  font-weight:800;
}
.ws-ranking-policy-score-table tr:last-child td{border-bottom:none !important;}
.ws-ranking-policy-score-table .is-total td{
  background:#fff7e8;
  color:#0b2f66;
  font-weight:900;
}
.ws-ranking-policy-card{
  margin:14px 0 0;
  padding:20px 22px;
  background:#f8fbff;
  border:1px solid #dbe7f8;
  border-radius:16px;
}
.ws-ranking-policy-two-col,
.ws-ranking-policy-example{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:14px;
}
.ws-ranking-policy-example > div{
  padding:20px 22px;
  background:#fff;
  border:1px solid #dbe7f8;
  border-radius:16px;
}
.ws-ranking-policy-example > div:first-child{background:#f8fbff;}
.ws-ranking-policy-example > div:last-child{background:#fffaf5; border-color:#ffe2bd;}
.ws-ranking-policy ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.ws-ranking-policy li{
  position:relative;
  margin:0 0 9px !important;
  padding-left:28px;
  color:#334155;
  font-size:15.5px;
  line-height:1.75;
}
.ws-ranking-policy li:last-child{margin-bottom:0 !important;}
.ws-ranking-policy-checklist li:before,
.ws-ranking-policy-example li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:.05em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#eaf4ff;
  color:#1457d9;
  font-size:12px;
  font-weight:900;
}
.ws-ranking-policy-nglist li:before{
  content:"−";
  position:absolute;
  left:0;
  top:.14em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#fff0df;
  color:#d97706;
  font-size:14px;
  font-weight:900;
}
.ws-ranking-policy-chiplist{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ws-ranking-policy-chiplist li{
  margin:0 !important;
  padding:8px 13px !important;
  border-radius:999px;
  background:#f4f9ff;
  border:1px solid #dbe7f8;
  color:#0b2f66;
  font-weight:700;
  font-size:14px;
}
.ws-ranking-policy-chiplist li:before{display:none;}
.ws-ranking-policy-note{
  background:#fffdf7;
  border-color:#ffe2bd;
}
.ws-ranking-policy-contact{
  text-align:center;
  background:linear-gradient(135deg,#f4f9ff 0%,#fff 100%);
}
.ws-ranking-policy-contact h2{
  display:inline-block;
  padding-left:0;
}
.ws-ranking-policy-contact h2:before{display:none;}
.ws-ranking-policy-contact-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:240px;
  margin-top:8px;
  padding:14px 26px;
  border-radius:999px;
  background:#ff8a00;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800;
  box-shadow:0 8px 18px rgba(255,138,0,.22);
  transition:transform .18s ease, box-shadow .18s ease;
}
.ws-ranking-policy-contact-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(255,138,0,.28);
}
@media (max-width:768px){
  .ws-ranking-policy{max-width:100%; margin-bottom:42px;}
  .ws-ranking-policy-hero{padding:26px 20px 24px; border-radius:18px;}
  .ws-ranking-policy-hero h1{font-size:24px; line-height:1.5;}
  .ws-ranking-policy-hero p{font-size:15px; line-height:1.85;}
  .ws-ranking-policy-section{padding:24px 18px; border-radius:18px; margin:22px 0;}
  .ws-ranking-policy-section h2{font-size:21px; padding-left:15px;}
  .ws-ranking-policy-section h3{font-size:17px;}
  .ws-ranking-policy-two-col,
  .ws-ranking-policy-example{grid-template-columns:1fr; gap:12px;}
  .ws-ranking-policy-card,
  .ws-ranking-policy-example > div{padding:18px 16px;}
  .ws-ranking-policy-score-table th,
  .ws-ranking-policy-score-table td{padding:13px 12px !important; font-size:14px;}
  .ws-ranking-policy-score-table td:last-child,
  .ws-ranking-policy-score-table th:last-child{width:104px;}
  .ws-ranking-policy-chiplist{gap:8px;}
  .ws-ranking-policy-chiplist li{font-size:13.5px; padding:7px 11px !important;}
  .ws-ranking-policy-contact-btn{width:100%; min-width:0;}
}

/* v65: CTA pattern 2 - vendor selection */
.ws-vendor-choice-cta{
  position:relative;
  max-width:850px;
  margin:34px auto;
  padding:28px 34px 24px;
  overflow:hidden;
  border:4px solid #1964d2;
  border-radius:28px;
  background:radial-gradient(circle at 78% 32%, #eaf6ff 0 20%, transparent 21%), linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);
  box-shadow:0 10px 28px rgba(20,87,217,.10);
  font-family:inherit;
}
.ws-vendor-choice-cta *{box-sizing:border-box;}
.ws-vendor-choice-cta__main{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(250px,.82fr);
  gap:24px;
  align-items:start;
}
.ws-vendor-choice-cta__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:300px;
  margin:0 0 12px 34px !important;
  padding:10px 26px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#5b91e9 0%,#1457d9 100%);
  color:#fff !important;
  font-size:21px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.03em;
}
.ws-vendor-choice-cta__badge:after{
  content:"";
  position:absolute;
  top:62px;
  left:92px;
  width:0;height:0;
  border-style:solid;
  border-width:18px 18px 0 0;
  border-color:#3779de transparent transparent transparent;
}
.ws-vendor-choice-cta__copy h2{
  margin:0 0 16px !important;
  padding:0 0 16px;
  border-bottom:2px dotted #2d7edc;
  color:#0a4da3;
  font-size:42px;
  line-height:1.15;
  letter-spacing:.04em;
  font-weight:900;
}
.ws-vendor-choice-cta__copy h2 span{color:#ff6b00;}
.ws-vendor-choice-cta__points{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.ws-vendor-choice-cta__points li{
  position:relative;
  margin:0 !important;
  padding:18px 0 18px 54px;
  border-bottom:1px dashed #c8ddf4;
  color:#1f2937;
  font-size:20px;
  line-height:1.55;
  font-weight:800;
}
.ws-vendor-choice-cta__points li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#1964d2;
  color:#fff;
  font-size:23px;
  font-weight:900;
}
.ws-vendor-choice-cta__points strong{color:#ff6b00;font-weight:900;}
.ws-vendor-choice-cta__points li:nth-child(2) strong{color:#1964d2;}
.ws-vendor-choice-cta__visual{position:relative;min-height:345px;}
.ws-vendor-choice-cta__worker{
  position:absolute;
  right:34px;
  top:12px;
  width:250px;
  max-width:100%;
  filter:drop-shadow(0 10px 18px rgba(20,87,217,.10));
}
.ws-vendor-choice-cta__worker svg{display:block;width:100%;height:auto;}
.ws-vendor-choice-cta__arrival{
  position:absolute;
  top:10px;
  right:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:142px;
  height:142px;
  border-radius:50%;
  background:#fff;
  color:#0a4da3;
  text-align:center;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  box-shadow:0 8px 24px rgba(20,87,217,.14);
}
.ws-vendor-choice-cta__arrival:before{content:"🚚";display:block;font-size:27px;line-height:1;margin-bottom:4px;}
.ws-vendor-choice-cta__arrival span{display:block;}
.ws-vendor-choice-cta__arrival strong{color:#ff6b00;font-size:28px;line-height:1;font-weight:900;}
.ws-vendor-choice-cta__faucet{
  position:absolute;
  left:4px;
  top:130px;
  color:#0a4da3;
  font-size:44px;
  opacity:.8;
}
.ws-vendor-choice-cta__features{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  width:47%;
  min-width:390px;
  margin:-76px 0 22px auto;
  border:1px solid #d8e7f8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(20,87,217,.10);
  overflow:hidden;
}
.ws-vendor-choice-cta__features > div{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:12px 14px;
  border-right:1px solid #d8e7f8;
}
.ws-vendor-choice-cta__features > div:last-child{border-right:none;}
.ws-vendor-choice-cta__features span:not(.ws-vendor-choice-cta__button-badge){
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#1964d2;
  color:#fff;
  font-size:25px;
  font-weight:900;
}
.ws-vendor-choice-cta__features p{margin:0 !important;color:#0b2f66;font-size:15px;line-height:1.25;font-weight:900;}
.ws-vendor-choice-cta__features p strong{display:block;color:#ff6b00;font-size:19px;line-height:1.25;font-weight:900;}
.ws-vendor-choice-cta__button{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  width:92%;
  min-height:98px;
  margin:0 auto 16px;
  padding:18px 88px 18px 110px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff9414 0%,#ff5f00 100%);
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 10px 0 #e35b00, 0 16px 28px rgba(255,101,0,.28);
  transition:transform .18s ease, box-shadow .18s ease;
}
.ws-vendor-choice-cta__button:hover{
  transform:translateY(2px);
  box-shadow:0 7px 0 #e35b00, 0 12px 22px rgba(255,101,0,.24);
}
.ws-vendor-choice-cta__button-badge{
  position:absolute;
  left:28px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  width:84px;
  height:84px;
  border-radius:50%;
  background:#fff471;
  color:#ff6b00;
  font-size:18px;
  line-height:1.05;
  font-weight:900;
}
.ws-vendor-choice-cta__button-badge strong{font-size:31px;line-height:1.05;}
.ws-vendor-choice-cta__button-icon{font-size:45px;line-height:1;}
.ws-vendor-choice-cta__button-label{font-size:42px;line-height:1.1;font-weight:900;letter-spacing:.04em;}
.ws-vendor-choice-cta__button-arrow{
  position:absolute;
  right:34px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#fff;
  color:#ff6b00;
  font-size:54px;
  line-height:.8;
  font-weight:700;
}
.ws-vendor-choice-cta__privacy{
  margin:0 !important;
  color:#1457d9 !important;
  text-align:center;
  font-size:14.5px;
  line-height:1.6;
  font-weight:700;
}
@media (max-width:768px){
  .ws-vendor-choice-cta{margin:26px auto;padding:22px 16px 20px;border-width:3px;border-radius:22px;}
  .ws-vendor-choice-cta__main{display:block;}
  .ws-vendor-choice-cta__badge{min-width:0;width:auto;margin:0 0 12px 0 !important;padding:9px 18px;font-size:17px;}
  .ws-vendor-choice-cta__badge:after{display:none;}
  .ws-vendor-choice-cta__copy h2{font-size:32px;line-height:1.18;margin-bottom:12px !important;padding-bottom:12px;}
  .ws-vendor-choice-cta__points li{padding:13px 0 13px 44px;font-size:16.5px;line-height:1.65;}
  .ws-vendor-choice-cta__points li:before{top:15px;width:30px;height:30px;font-size:20px;}
  .ws-vendor-choice-cta__visual{min-height:190px;margin-top:10px;}
  .ws-vendor-choice-cta__worker{right:54px;top:0;width:170px;}
  .ws-vendor-choice-cta__arrival{right:0;top:6px;width:104px;height:104px;font-size:13px;}
  .ws-vendor-choice-cta__arrival:before{font-size:20px;}
  .ws-vendor-choice-cta__arrival strong{font-size:22px;}
  .ws-vendor-choice-cta__faucet{left:10px;top:90px;font-size:32px;}
  .ws-vendor-choice-cta__features{width:100%;min-width:0;margin:10px 0 18px;grid-template-columns:1fr;}
  .ws-vendor-choice-cta__features > div{min-height:62px;border-right:none;border-bottom:1px solid #d8e7f8;justify-content:center;}
  .ws-vendor-choice-cta__features > div:last-child{border-bottom:none;}
  .ws-vendor-choice-cta__button{width:100%;min-height:78px;gap:12px;padding:14px 54px 14px 84px;box-shadow:0 7px 0 #e35b00, 0 11px 18px rgba(255,101,0,.24);}
  .ws-vendor-choice-cta__button-badge{left:12px;width:64px;height:64px;font-size:14px;}
  .ws-vendor-choice-cta__button-badge strong{font-size:24px;}
  .ws-vendor-choice-cta__button-icon{display:none;}
  .ws-vendor-choice-cta__button-label{font-size:28px;}
  .ws-vendor-choice-cta__button-arrow{right:12px;width:42px;height:42px;font-size:42px;}
  .ws-vendor-choice-cta__privacy{font-size:12.5px;}
}
@media (max-width:420px){
  .ws-vendor-choice-cta__copy h2{font-size:28px;}
  .ws-vendor-choice-cta__button-label{font-size:24px;}
  .ws-vendor-choice-cta__worker{right:38px;width:150px;}
}


/* v66 CTA pattern 2: image based stable rendering */
.ws-vendor-choice-image-cta{
  width:100%;
  max-width:860px;
  margin:36px auto;
  padding:0;
  box-sizing:border-box;
}
.ws-vendor-choice-image-cta__link{
  display:block;
  text-decoration:none!important;
  line-height:0;
  border:0!important;
  box-shadow:none!important;
}
.ws-vendor-choice-image-cta__link img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
}
@media (max-width: 768px){
  .ws-vendor-choice-image-cta{
    margin:28px auto;
  }
}

/* v67 CTA pattern 1: direct consultation image based stable rendering */
.ws-direct-image-cta{
  position:relative;
  width:100%;
  max-width:860px;
  margin:36px auto;
  padding:0;
  box-sizing:border-box;
  line-height:0;
}
.ws-direct-image-cta img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.ws-direct-image-cta__hotspot{
  position:absolute;
  display:block;
  z-index:2;
  text-indent:-9999px;
  overflow:hidden;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  text-decoration:none!important;
}
.ws-direct-image-cta__hotspot:focus-visible{
  outline:3px solid #0a4da3;
  outline-offset:3px;
  border-radius:14px;
}
/* Button areas are based on the original 1536x1024 design image */
.ws-direct-image-cta__hotspot--tel{
  left:7.4%;
  top:72.5%;
  width:27.5%;
  height:14.0%;
}
.ws-direct-image-cta__hotspot--line{
  left:36.2%;
  top:72.5%;
  width:27.5%;
  height:14.0%;
}
.ws-direct-image-cta__hotspot--estimate{
  left:64.1%;
  top:72.5%;
  width:28.4%;
  height:14.0%;
}
@media (max-width:768px){
  .ws-direct-image-cta{
    margin:28px auto;
  }
}

/* v68 CTA pattern 1: shortcode URLs + mobile vertical buttons */
.ws-direct-image-cta__image-wrap{
  position:relative;
  display:block;
}
.ws-direct-image-cta__mobile-buttons{
  display:none;
}
@media (max-width:640px){
  .ws-direct-image-cta{
    max-width:100%;
    margin:24px auto;
    line-height:1.5;
  }
  .ws-direct-image-cta__hotspot{
    display:none!important;
  }
  .ws-direct-image-cta__mobile-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:14px;
  }
  .ws-direct-image-cta__mobile-btn{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:72px;
    padding:14px 16px;
    border-radius:16px;
    color:#fff!important;
    text-decoration:none!important;
    font-weight:800;
    box-shadow:0 8px 18px rgba(10,77,163,.14);
  }
  .ws-direct-image-cta__mobile-btn--tel{
    background:linear-gradient(180deg,#ff9a1a 0%,#ff6a00 100%);
  }
  .ws-direct-image-cta__mobile-btn--line{
    background:linear-gradient(180deg,#42cf55 0%,#16a83b 100%);
  }
  .ws-direct-image-cta__mobile-btn--estimate{
    background:linear-gradient(180deg,#2b7be9 0%,#0b55c7 100%);
  }
  .ws-direct-image-cta__mobile-btn-main{
    font-size:18px;
    line-height:1.25;
    letter-spacing:.02em;
  }
  .ws-direct-image-cta__mobile-btn-note{
    display:inline-block;
    margin-top:7px;
    padding:3px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#0a4da3;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
  }
}

/* v73 CTA pattern 3: HTML button size adjustment for PC/SP */
.ws-compare-table-image-cta{
  width:100%;
  max-width:860px;
  margin:36px auto;
  padding:0;
  box-sizing:border-box;
  line-height:1.5;
}
.ws-compare-table-image-cta__image{
  display:block;
  margin:0;
  padding:0;
  line-height:0;
}
.ws-compare-table-image-cta__image img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.ws-compare-table-image-cta__button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  width:calc(100% - 96px);
  max-width:720px;
  min-height:76px;
  margin:20px auto 0;
  padding:14px 30px;
  border-radius:15px;
  background:linear-gradient(180deg,#ff8f18 0%,#ff5f00 100%);
  color:#fff!important;
  font-size:32px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 7px 0 #d84f00, 0 12px 22px rgba(255,106,0,.20);
  box-sizing:border-box;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.ws-compare-table-image-cta__button:hover{
  transform:translateY(2px);
  filter:brightness(1.03);
  box-shadow:0 5px 0 #d84f00, 0 10px 18px rgba(255,106,0,.18);
}
.ws-compare-table-image-cta__button:focus-visible{
  outline:3px solid #0a4da3;
  outline-offset:4px;
}
.ws-compare-table-image-cta__button-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  color:#ff6a00;
  font-size:27px;
  line-height:1;
  font-weight:900;
}
.ws-compare-table-image-cta__button-arrow{
  flex:0 0 auto;
  font-size:46px;
  line-height:1;
  font-weight:900;
  transform:translateY(-1px);
}
.ws-compare-table-image-cta__button-label--sp{
  display:none;
}

@media (max-width:640px){
  .ws-compare-table-image-cta{
    max-width:100%;
    margin:24px auto;
  }
  .ws-compare-table-image-cta__button{
    gap:10px;
    width:88%;
    max-width:620px;
    min-height:70px;
    margin:14px auto 0;
    padding:12px 16px;
    border-radius:14px;
    font-size:24px;
    box-shadow:0 6px 0 #d84f00, 0 9px 16px rgba(255,106,0,.18);
  }
  .ws-compare-table-image-cta__button-icon{
    flex-basis:42px;
    width:42px;
    height:42px;
    font-size:23px;
  }
  .ws-compare-table-image-cta__button-arrow{
    font-size:23px;
  }
  .ws-compare-table-image-cta__button-label--pc{
    display:none;
  }
  .ws-compare-table-image-cta__button-label--sp{
    display:inline;
  }
}
@media (max-width:374px){
  .ws-compare-table-image-cta__button{
    width:90%;
    min-height:66px;
    padding:11px 12px;
    font-size:22px;
    gap:8px;
  }
  .ws-compare-table-image-cta__button-icon{
    flex-basis:36px;
    width:36px;
    height:36px;
    font-size:20px;
  }
  .ws-compare-table-image-cta__button-arrow{
    font-size:26px;
  }
}

/* =========================================================
   ⑬ Conclusion Box / このページのポイント
   Shortcode: [ws_conclusion_box]
========================================================= */
.ws-conclusion-box{
    box-sizing:border-box;
    max-width:100%;
    margin:38px auto;
    padding:46px 48px;
    border:2px solid #d6e9ff;
    border-radius:24px;
    background:linear-gradient(180deg,#f9fcff 0%,#f2f8ff 100%);
    box-shadow:0 14px 32px rgba(12,79,170,.12);
    color:#141923;
}
.ws-conclusion-box *{box-sizing:border-box;}
.ws-conclusion-box__head{
    display:flex;
    align-items:center;
    gap:26px;
    padding-bottom:28px;
    border-bottom:4px dotted #1f67d2;
}
.ws-conclusion-box__head-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:104px;
    height:104px;
    border-radius:50%;
    background:linear-gradient(180deg,#1577ed 0%,#0157d7 100%);
    color:#fff;
    box-shadow:0 10px 18px rgba(0,77,170,.18);
}
.ws-conclusion-box__head-icon svg{
    width:42px;
    height:42px;
}
.ws-conclusion-box__title{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    color:#121722;
    font-size:clamp(28px,4.2vw,48px);
    line-height:1.35;
    font-weight:800;
    letter-spacing:.02em;
}
.ws-conclusion-box__em{
    color:#075fca;
    font-size:inherit;
    font-weight:700;
}
.ws-conclusion-box__list{
    list-style:none !important;
    margin:28px 0 0 !important;
    padding:0 !important;
    display:grid;
    gap:12px;
}
.ws-conclusion-box__item{
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-height:auto;
    padding:14px 22px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 20px rgba(9,74,161,.07);
}
.ws-conclusion-box__check{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(180deg,#1577ed 0%,#0157d7 100%);
    color:#fff;
    font-size:25px;
    line-height:1;
    font-weight:900;
}
.ws-conclusion-box__text{
    color:#141923;
    font-size:17px;
    line-height:1.65;
    font-weight:500;
    letter-spacing:.02em;
}
.ws-conclusion-box__note{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-top:18px;
    padding:16px 22px;
    border:2px solid #d3e6ff;
    border-radius:14px;
    background:linear-gradient(180deg,#eef7ff 0%,#f8fcff 100%);
}
.ws-conclusion-box__note-icon{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    background:#dcecff;
    border:4px solid #1467d8;
    color:#1467d8;
    font-size:26px;
    font-weight:900;
    line-height:1;
}
.ws-conclusion-box__note-text p{
    margin:0 !important;
    color:#141923;
    font-size:17px;
    line-height:1.65;
    font-weight:500;
}
.ws-conclusion-box__note-text p + p{
    margin-top:8px !important;
}

@media(max-width:768px){
    .ws-conclusion-box{
        margin:28px auto;
        padding:26px 18px;
        border-radius:18px;
    }
    .ws-conclusion-box__head{
        gap:14px;
        padding-bottom:18px;
        border-bottom-width:3px;
    }
    .ws-conclusion-box__head-icon{
        width:62px;
        height:62px;
    }
    .ws-conclusion-box__head-icon svg{
        width:36px;
        height:36px;
    }
    .ws-conclusion-box__title{
        font-size:26px;
        line-height:1.35;
    }
    .ws-conclusion-box__list{
        gap:10px;
        margin-top:18px !important;
    }
    .ws-conclusion-box__item{
        align-items:flex-start;
        min-height:auto;
        gap:12px;
        padding:12px 14px;
        border-radius:12px;
    }
    .ws-conclusion-box__check{
        width:32px;
        height:32px;
        margin-top:2px;
        font-size:20px;
    }
    .ws-conclusion-box__text{
        font-size:16px;
        line-height:1.65;
        font-weight:500;
    }
    .ws-conclusion-box__note{
        align-items:flex-start;
        gap:12px;
        margin-top:14px;
        padding:14px;
        border-radius:12px;
    }
    .ws-conclusion-box__note-icon{
        width:36px;
        height:36px;
        border-width:3px;
        font-size:24px;
    }
    .ws-conclusion-box__note-text p{
        font-size:16px;
        line-height:1.65;
    }
}

/* =========================================================
   v78: ⑬ 結論ボックス ヘッダー/余白/枠線 微調整
========================================================= */
.ws-conclusion-box__head{
    gap:18px !important;
    padding-bottom:22px !important;
}
.ws-conclusion-box__head-icon{
    width:74px !important;
    height:74px !important;
    box-shadow:0 8px 14px rgba(0,77,170,.14) !important;
}
.ws-conclusion-box__head-icon svg{
    width:34px !important;
    height:34px !important;
}
.ws-conclusion-box__title{
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    font-size:32px !important;
    line-height:1.35 !important;
    letter-spacing:.01em !important;
}
.ws-conclusion-box__title::before,
.ws-conclusion-box__title::after{
    content:none !important;
    display:none !important;
    border:0 !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
}
.ws-conclusion-box__list{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    padding:0 !important;
    gap:12px !important;
}
.ws-conclusion-box__item{
    border:0 !important;
    outline:0 !important;
    min-height:0 !important;
    padding:14px 22px !important;
    box-shadow:0 6px 16px rgba(9,74,161,.06) !important;
}
.ws-conclusion-box__check{
    width:40px !important;
    height:40px !important;
    font-size:24px !important;
    margin-top:0 !important;
}
.ws-conclusion-box__text{
    align-self:center !important;
}

@media(max-width:768px){
    .ws-conclusion-box__head{
        gap:12px !important;
        padding-bottom:16px !important;
    }
    .ws-conclusion-box__head-icon{
        width:54px !important;
        height:54px !important;
    }
    .ws-conclusion-box__head-icon svg{
        width:28px !important;
        height:28px !important;
    }
    .ws-conclusion-box__title{
        font-size:23px !important;
        line-height:1.35 !important;
    }
    .ws-conclusion-box__item{
        padding:12px 14px !important;
    }
    .ws-conclusion-box__check{
        width:32px !important;
        height:32px !important;
        font-size:20px !important;
    }
}

/* =========================================================
   v79: ⑬ 結論ボックス 最終微調整（アイコン縮小・余白圧縮）
========================================================= */
.ws-conclusion-box{
    padding:34px 40px !important;
}
.ws-conclusion-box__head{
    gap:12px !important;
    padding-bottom:16px !important;
    margin-bottom:0 !important;
}
.ws-conclusion-box__head-icon{
    width:56px !important;
    height:56px !important;
    box-shadow:0 6px 12px rgba(0,77,170,.12) !important;
}
.ws-conclusion-box__head-icon svg{
    width:26px !important;
    height:26px !important;
}
.ws-conclusion-box__title{
    font-size:30px !important;
    line-height:1.28 !important;
    font-weight:800 !important;
}
.ws-conclusion-box__list{
    margin-top:20px !important;
    gap:10px !important;
}
.ws-conclusion-box__item{
    align-items:center !important;
    gap:12px !important;
    padding:12px 20px !important;
    min-height:0 !important;
    border:0 !important;
    box-shadow:0 5px 14px rgba(9,74,161,.055) !important;
}
.ws-conclusion-box__check{
    width:34px !important;
    height:34px !important;
    font-size:21px !important;
    margin-top:0 !important;
}
.ws-conclusion-box__text{
    align-self:center !important;
    font-size:17px !important;
    line-height:1.55 !important;
}
.ws-conclusion-box__em{
    font-size:inherit !important;
}
.ws-conclusion-box__note{
    gap:12px !important;
    margin-top:14px !important;
    padding:14px 20px !important;
    border-radius:14px !important;
}
.ws-conclusion-box__note-icon{
    width:36px !important;
    height:36px !important;
    border-width:3px !important;
    font-size:23px !important;
    margin-top:1px !important;
}
.ws-conclusion-box__note-text p{
    font-size:17px !important;
    line-height:1.55 !important;
}
.ws-conclusion-box__note-text p + p{
    margin-top:6px !important;
}

@media(max-width:768px){
    .ws-conclusion-box{
        padding:22px 16px !important;
        border-radius:18px !important;
    }
    .ws-conclusion-box__head{
        gap:10px !important;
        padding-bottom:14px !important;
    }
    .ws-conclusion-box__head-icon{
        width:46px !important;
        height:46px !important;
    }
    .ws-conclusion-box__head-icon svg{
        width:22px !important;
        height:22px !important;
    }
    .ws-conclusion-box__title{
        font-size:22px !important;
        line-height:1.3 !important;
    }
    .ws-conclusion-box__list{
        margin-top:16px !important;
        gap:9px !important;
    }
    .ws-conclusion-box__item{
        gap:10px !important;
        padding:11px 12px !important;
        border-radius:12px !important;
    }
    .ws-conclusion-box__check{
        width:28px !important;
        height:28px !important;
        font-size:18px !important;
    }
    .ws-conclusion-box__text{
        font-size:16px !important;
        line-height:1.55 !important;
    }
    .ws-conclusion-box__note{
        gap:10px !important;
        margin-top:12px !important;
        padding:12px !important;
    }
    .ws-conclusion-box__note-icon{
        width:30px !important;
        height:30px !important;
        border-width:3px !important;
        font-size:20px !important;
    }
    .ws-conclusion-box__note-text p{
        font-size:16px !important;
        line-height:1.55 !important;
    }
}

/* =========================================================
   v80: ⑭ 注意事項 / 注意喚起ショートコード
   Shortcode: [ws_caution_box]
========================================================= */
.ws-caution-box{
    box-sizing:border-box;
    width:100%;
    margin:36px auto;
    padding:36px 40px;
    border:2px solid #ff6a1a;
    border-radius:18px;
    background:linear-gradient(135deg,#fffaf3 0%,#fffdf8 58%,#fff6e8 100%);
    box-shadow:0 10px 28px rgba(255,106,26,.08);
    color:#1c2530;
}
.ws-caution-box *{box-sizing:border-box;}
.ws-caution-box__head{
    display:flex;
    align-items:center;
    gap:18px;
    padding-bottom:18px;
    margin-bottom:24px;
    border-bottom:4px dotted #ff7a2b;
}
.ws-caution-box__head-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    flex:0 0 62px;
    border:5px solid #ff6a1a;
    border-radius:18px;
    transform:rotate(45deg);
    color:#ff6a1a;
    font-size:34px;
    font-weight:900;
    line-height:1;
}
.ws-caution-box__head-icon::before{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:18px;
}
.ws-caution-box__head-icon{
    position:relative;
}
.ws-caution-box__head-icon > *{transform:rotate(-45deg);}
.ws-caution-box__head-icon{
    text-indent:-9999px;
}
.ws-caution-box__head-icon::after{
    content:"!";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
    text-indent:0;
}
.ws-caution-box__title{
    margin:0;
    color:#ff6a1a;
    font-size:38px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.08em;
}
.ws-caution-box__lead{
    margin:0 0 24px;
    font-size:20px;
    line-height:1.85;
    font-weight:700;
}
.ws-caution-box__lead p{
    margin:0;
}
.ws-caution-box__lead p + p{
    margin-top:2px;
}
.ws-caution-box__em{
    color:#ff6a1a;
    font-weight:900;
}
.ws-caution-box__list{
    list-style:none;
    margin:0 0 24px;
    padding:16px 22px;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(255,106,26,.08);
}
.ws-caution-box__item{
    display:grid;
    grid-template-columns:52px minmax(170px,.42fr) 1fr;
    align-items:center;
    gap:18px;
    padding:14px 0;
    border-bottom:1px dashed rgba(255,106,26,.35);
}
.ws-caution-box__item:last-child{
    border-bottom:none;
}
.ws-caution-box__x{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff1e7;
    color:#ff6a1a;
    font-size:44px;
    line-height:.8;
    font-weight:500;
}
.ws-caution-box__item-label{
    color:#ff6a1a;
    font-size:20px;
    line-height:1.5;
    font-weight:900;
}
.ws-caution-box__item-text{
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}
.ws-caution-box__footer{
    display:flex;
    align-items:center;
    gap:16px;
    padding-top:22px;
    border-top:4px dotted #ff7a2b;
}
.ws-caution-box__footer-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border:4px solid #ff6a1a;
    border-radius:50%;
    color:#ff6a1a;
    font-size:28px;
    font-weight:900;
    line-height:1;
}
.ws-caution-box__footer p{
    margin:0;
    font-size:19px;
    line-height:1.7;
    font-weight:700;
}

@media(max-width:768px){
    .ws-caution-box{
        margin:28px auto;
        padding:24px 16px;
        border-radius:16px;
    }
    .ws-caution-box__head{
        gap:12px;
        padding-bottom:14px;
        margin-bottom:18px;
        border-bottom-width:3px;
    }
    .ws-caution-box__head-icon{
        width:46px;
        height:46px;
        flex-basis:46px;
        border-width:4px;
        border-radius:13px;
        font-size:26px;
    }
    .ws-caution-box__title{
        font-size:28px;
    }
    .ws-caution-box__lead{
        margin-bottom:18px;
        font-size:17px;
        line-height:1.75;
    }
    .ws-caution-box__list{
        padding:10px 14px;
        border-radius:14px;
        margin-bottom:18px;
    }
    .ws-caution-box__item{
        grid-template-columns:38px 1fr;
        gap:10px 12px;
        padding:13px 0;
    }
    .ws-caution-box__x{
        width:34px;
        height:34px;
        font-size:32px;
        grid-row:1 / span 2;
        align-self:start;
        margin-top:2px;
    }
    .ws-caution-box__item-label{
        font-size:17px;
        line-height:1.45;
    }
    .ws-caution-box__item-text{
        grid-column:2;
        font-size:16px;
        line-height:1.7;
    }
    .ws-caution-box__footer{
        gap:12px;
        padding-top:16px;
        align-items:flex-start;
        border-top-width:3px;
    }
    .ws-caution-box__footer-icon{
        width:34px;
        height:34px;
        flex-basis:34px;
        border-width:3px;
        font-size:22px;
        margin-top:2px;
    }
    .ws-caution-box__footer p{
        font-size:16px;
        line-height:1.75;
    }
}

/* =========================================================
   v84: ⑭注意喚起ボックス 余白・バランス調整
   - 全体の上下余白を圧縮
   - リード文／項目リスト／フッターの余白を詰める
   - PC/SPともに読みやすい密度へ調整
========================================================= */
.ws-caution-box{
    margin:28px auto !important;
    padding:28px 32px !important;
    border-radius:16px !important;
}
.ws-caution-box__head{
    gap:14px !important;
    padding-bottom:14px !important;
    margin-bottom:18px !important;
    border-bottom-width:3px !important;
}
.ws-caution-box__head-icon{
    width:54px !important;
    height:54px !important;
    flex:0 0 54px !important;
    border-width:4px !important;
    border-radius:15px !important;
    font-size:30px !important;
}
.ws-caution-box__title{
    font-size:32px !important;
    line-height:1.25 !important;
    letter-spacing:.04em !important;
}
.ws-caution-box__lead{
    margin:0 0 18px !important;
    font-size:18px !important;
    line-height:1.65 !important;
    font-weight:700 !important;
}
.ws-caution-box__lead p{
    margin:0 !important;
}
.ws-caution-box__lead p + p{
    margin-top:6px !important;
}
.ws-caution-box__list{
    margin:0 0 18px !important;
    padding:10px 18px !important;
    border-radius:14px !important;
}
.ws-caution-box__item{
    grid-template-columns:44px minmax(130px,.35fr) 1fr !important;
    gap:12px !important;
    padding:10px 0 !important;
}
.ws-caution-box__x{
    width:38px !important;
    height:38px !important;
    font-size:34px !important;
}
.ws-caution-box__item-label{
    font-size:18px !important;
    line-height:1.35 !important;
}
.ws-caution-box__item-text{
    font-size:17px !important;
    line-height:1.6 !important;
}
.ws-caution-box__footer{
    gap:12px !important;
    padding-top:16px !important;
    border-top-width:3px !important;
}
.ws-caution-box__footer-icon{
    width:38px !important;
    height:38px !important;
    flex:0 0 38px !important;
    border-width:3px !important;
    font-size:24px !important;
}
.ws-caution-box__footer p{
    font-size:17px !important;
    line-height:1.6 !important;
    font-weight:700 !important;
}

@media(max-width:768px){
    .ws-caution-box{
        margin:22px auto !important;
        padding:20px 14px !important;
        border-radius:15px !important;
    }
    .ws-caution-box__head{
        gap:10px !important;
        padding-bottom:12px !important;
        margin-bottom:14px !important;
    }
    .ws-caution-box__head-icon{
        width:42px !important;
        height:42px !important;
        flex-basis:42px !important;
        border-width:3px !important;
        border-radius:12px !important;
        font-size:24px !important;
    }
    .ws-caution-box__title{
        font-size:24px !important;
        line-height:1.25 !important;
    }
    .ws-caution-box__lead{
        margin-bottom:14px !important;
        font-size:16px !important;
        line-height:1.65 !important;
    }
    .ws-caution-box__list{
        padding:8px 12px !important;
        margin-bottom:14px !important;
        border-radius:12px !important;
    }
    .ws-caution-box__item{
        grid-template-columns:32px 1fr !important;
        gap:6px 10px !important;
        padding:10px 0 !important;
    }
    .ws-caution-box__x{
        width:30px !important;
        height:30px !important;
        font-size:28px !important;
        margin-top:0 !important;
    }
    .ws-caution-box__item-label{
        font-size:16px !important;
        line-height:1.35 !important;
    }
    .ws-caution-box__item-text{
        font-size:15px !important;
        line-height:1.55 !important;
    }
    .ws-caution-box__footer{
        gap:10px !important;
        padding-top:12px !important;
    }
    .ws-caution-box__footer-icon{
        width:30px !important;
        height:30px !important;
        flex-basis:30px !important;
        border-width:3px !important;
        font-size:20px !important;
        margin-top:1px !important;
    }
    .ws-caution-box__footer p{
        font-size:15px !important;
        line-height:1.6 !important;
    }
}

/* v85 caution adjustments */
.ws-caution-box__head{gap:12px!important;padding-bottom:14px!important;margin-bottom:18px!important;}
.ws-caution-box__head:before,.ws-caution-box__head-divider,.ws-caution-box__title:before{display:none!important;content:none!important;}
.ws-caution-box__head-icon{width:52px!important;height:52px!important;flex:0 0 52px!important;font-size:28px!important;}
.ws-caution-box__title{color:#ff6a1a!important;margin:0!important;font-size:36px!important;}
.ws-caution-box__bottom{display:flex!important;align-items:center!important;gap:16px!important;}
.ws-caution-box__bottom-icon{margin:0!important;align-self:center!important;}
.ws-caution-box__bottom-text{margin:0!important;line-height:1.5!important;}

/* =====================================
   v91 対応エリアページ・町名一覧
===================================== */
.ws-service-area-page,
.ws-nara-area-list{
    max-width: 860px;
    margin: 0 auto;
}
.ws-service-area-hero{
    background: linear-gradient(180deg,#f4f9ff 0%,#ffffff 100%);
    border: 2px solid #dbeafe;
    border-radius: 28px;
    padding: 34px 32px;
    margin: 24px 0 28px;
    box-shadow: 0 10px 28px rgba(10,77,163,.08);
}
.ws-service-area-hero__label{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0a4da3;
    color: #fff;
    border-radius: 999px;
    padding: 7px 16px;
    font-weight: 700;
    font-size: 15px;
    margin: 0 0 14px;
}
.ws-service-area-hero h1{
    color: #0a4da3;
    font-size: 34px;
    line-height: 1.35;
    margin: 0 0 14px;
}
.ws-service-area-hero p{
    font-size: 17px;
    line-height: 1.9;
    margin: 0 0 14px;
}
.ws-service-area-hero__badges{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.ws-service-area-hero__badges span{
    display: inline-flex;
    background: #fff7ed;
    color: #d35400;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 700;
}
.ws-service-area-cards{
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin: 22px 0 30px;
}
.ws-service-area-cards span{
    background: #fff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    color: #0a4da3;
    padding: 14px 10px;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 5px 16px rgba(10,77,163,.06);
}
.ws-service-area-popular,
.ws-service-area-note{
    background: #fff;
    border: 1px solid #dbeafe;
    border-radius: 20px;
    padding: 22px 24px;
    margin: 24px 0;
}
.ws-service-area-popular h2{
    font-size: 24px;
    color: #0a4da3;
    margin: 0 0 10px;
}
.ws-service-area-popular p,
.ws-service-area-note p{
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}
.ws-nara-area-list{
    margin-top: 30px;
}
.ws-nara-area-list__head{
    margin-bottom: 18px;
}
.ws-nara-area-list__head h2{
    font-size: 28px;
    color: #0a4da3;
    margin: 0 0 8px;
}
.ws-nara-area-list__head p{
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}
.ws-nara-area-list__nav{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 24px;
}
.ws-nara-area-list__nav a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 8px 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    color: #0a4da3;
    font-weight: 700;
    text-decoration: none;
}
.ws-nara-area-list__group{
    background: #fff;
    border: 1px solid #dbeafe;
    border-radius: 20px;
    padding: 22px;
    margin: 18px 0;
}
.ws-nara-area-list__group h3{
    display: inline-flex;
    align-items: center;
    background: #0a4da3;
    color: #fff;
    border-radius: 999px;
    padding: 7px 16px;
    font-size: 18px;
    margin: 0 0 16px;
}
.ws-nara-area-list__grid{
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
}
.ws-nara-area-list__tag{
    display: flex;
    align-items: center;
    min-height: 42px;
    background: #f8fbff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    padding: 9px 12px;
    color: #1f2937;
    font-size: 14px;
    line-height: 1.4;
}
.ws-nara-area-list__tag::before{
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 8px;
    border-radius: 50%;
    background: #1e73e8;
    flex: 0 0 auto;
}
.ws-service-area-note{
    background: #fff7ed;
    border-color: #fed7aa;
}
.ws-service-area-note strong{
    display: block;
    color: #d35400;
    margin-bottom: 8px;
}
.ws-service-area-cta{
    background: linear-gradient(180deg,#0a4da3,#1e73e8);
    color: #fff;
    border-radius: 24px;
    padding: 28px 24px;
    margin: 32px 0;
    text-align: center;
}
.ws-service-area-cta p{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    margin: 0 0 18px;
}
.ws-service-area-cta__buttons{
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.ws-service-area-cta__buttons a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 52px;
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 800;
    text-decoration: none;
}
.ws-service-area-cta__tel{
    background: #ff8a00;
    color: #fff;
    box-shadow: 0 5px 0 #c85f00;
}
.ws-service-area-cta__link{
    background: #fff;
    color: #0a4da3;
}
@media (max-width: 768px){
    .ws-service-area-hero{
        padding: 24px 18px;
        border-radius: 20px;
    }
    .ws-service-area-hero h1{
        font-size: 27px;
    }
    .ws-service-area-hero p{
        font-size: 16px;
    }
    .ws-service-area-cards{
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
    .ws-nara-area-list__head h2{
        font-size: 24px;
    }
    .ws-nara-area-list__group{
        padding: 18px 14px;
    }
    .ws-nara-area-list__grid{
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 8px;
    }
    .ws-nara-area-list__tag{
        min-height: 40px;
        font-size: 13px;
        padding: 8px 9px;
    }
    .ws-service-area-cta__buttons{
        display: grid;
        grid-template-columns: 1fr;
    }
    .ws-service-area-cta__buttons a{
        width: 100%;
    }
}

/* =========================================================
   v99 FV image based redesign - faithful PC/SP reproduction
   ========================================================= */
body.home .ws-top-hero,
body.page-template-page-ws-top .ws-top-hero,
body.home .ws-top-contactbar,
body.page-template-page-ws-top .ws-top-contactbar{
  display:none !important;
}
.ws-top-fv-image{
  width:100%;
  margin:0;
  padding:0;
  background:#fff;
  overflow:hidden;
}
.ws-top-fv-image__wrap{
  position:relative;
  width:100%;
  max-width:none;
  margin:0 auto;
  line-height:0;
  overflow:hidden;
  background:#eaf8ff;
}
.ws-top-fv-image__img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
}
.ws-top-fv-image__hotspot{
  position:absolute;
  display:block;
  z-index:5;
  border-radius:14px;
  text-indent:-9999px;
  overflow:hidden;
}
.ws-top-fv-image__hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:-6px;
  box-shadow:0 0 0 5px rgba(0,78,180,.55);
}
@media (min-width: 768px){
  .ws-top-fv-image__hotspot--tel{left:7.4%; bottom:3.1%; width:29.0%; height:13.0%;}
  .ws-top-fv-image__hotspot--line{left:37.2%; bottom:3.1%; width:26.7%; height:13.0%;}
  .ws-top-fv-image__hotspot--form{left:64.8%; bottom:3.1%; width:29.0%; height:13.0%;}
}
@media (max-width: 767px){
  .ws-top-fv-image__wrap{background:#fff;}
  .ws-top-fv-image__hotspot{left:3.5%;width:93%;height:9.1%;border-radius:18px;}
  .ws-top-fv-image__hotspot--tel{top:68.2%;}
  .ws-top-fv-image__hotspot--line{top:79.1%;}
  .ws-top-fv-image__hotspot--form{top:89.9%;}
}

/* =========================================================
   v100 FV hybrid redesign
   - 背景・人物・コピーは画像
   - 赤枠部分（4つの特徴 / CTA）はHTMLで上書き表示
   ========================================================= */
.ws-top-fv-image__hotspot{display:none !important;}
.ws-top-fv-markup,
.ws-top-fv-markup *{box-sizing:border-box;}
.ws-top-fv-markup{position:absolute;inset:0;z-index:6;pointer-events:none;line-height:1.4;}
.ws-top-fv-markup a{pointer-events:auto;text-decoration:none !important;}

/* 4つの特徴 */
.ws-top-fv-markup__feature{
  position:absolute;
  left:7.9%;
  top:55.8%;
  width:46.6%;
  height:22.9%;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:stretch;
  overflow:hidden;
  background:rgba(255,255,255,.96);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(0,84,184,.10);
  border:1px solid rgba(198,220,242,.95);
}
.ws-top-fv-markup__feature-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  padding:14px 10px 12px;
  text-align:center;
  color:#061d45;
}
.ws-top-fv-markup__feature-item:not(:last-child){border-right:1px solid #d8e5f4;}
.ws-top-fv-markup__feature-item img{
  width:52px;
  height:52px;
  object-fit:contain;
  display:block;
}
.ws-top-fv-markup__feature-item strong{
  display:block;
  margin:0;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.02em;
}
.ws-top-fv-markup__feature-item span{
  display:block;
  color:#ff5f00;
  white-space:normal;
}
.ws-top-fv-markup__feature-item em{
  display:block;
  color:#061d45;
  font-style:normal;
}

/* CTA */
.ws-top-fv-markup__cta{
  position:absolute;
  left:6.55%;
  bottom:1.85%;
  width:86.9%;
  height:15.8%;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:16px;
  padding:16px 20px;
  background:#fff;
  border-radius:20px;
  box-shadow:0 16px 34px rgba(0,40,100,.14);
}
.ws-top-fv-markup__btn{
  display:flex;
  align-items:center;
  min-width:0;
  height:100%;
  border-radius:12px;
  padding:11px 18px;
  color:#fff !important;
  overflow:hidden;
}
.ws-top-fv-markup__btn img{
  width:46px;
  height:46px;
  object-fit:contain;
  flex:0 0 auto;
  margin-right:16px;
  filter:brightness(0) invert(1);
}
.ws-top-fv-markup__btn span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  flex:1 1 auto;
  color:#fff;
}
.ws-top-fv-markup__btn b{
  display:block;
  color:#fff;
  font-size:17px;
  font-weight:900;
  line-height:1.25;
  white-space:nowrap;
}
.ws-top-fv-markup__btn strong{
  display:block;
  color:#fff;
  font-size:28px;
  font-weight:900;
  line-height:1.15;
  white-space:nowrap;
  letter-spacing:.02em;
}
.ws-top-fv-markup__btn em{
  display:flex;
  align-items:center;
  justify-content:center;
  width:76px;
  height:58px;
  min-width:76px;
  margin-left:12px;
  border-radius:8px;
  background:#fff;
  font-style:normal;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
}
.ws-top-fv-markup__btn--tel{background:linear-gradient(180deg,#ff8e15 0%,#ff6400 100%);}
.ws-top-fv-markup__btn--line{background:linear-gradient(180deg,#0fb83e 0%,#069934 100%);}
.ws-top-fv-markup__btn--form{background:linear-gradient(180deg,#075ece 0%,#003caa 100%);}
.ws-top-fv-markup__btn--tel em{color:#ff5f00;}
.ws-top-fv-markup__btn--line em{color:#0b9a37;}
.ws-top-fv-markup__btn--form em{color:#064bb7;}
.ws-top-fv-markup__btn--line strong,
.ws-top-fv-markup__btn--form strong{font-size:21px;}

@media (min-width: 1280px){
  .ws-top-fv-markup__feature-item img{width:58px;height:58px;}
  .ws-top-fv-markup__feature-item strong{font-size:20px;}
  .ws-top-fv-markup__btn b{font-size:18px;}
  .ws-top-fv-markup__btn strong{font-size:31px;}
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{font-size:23px;}
}

@media (max-width: 767px){
  .ws-top-fv-markup__feature{
    left:3.2%;
    top:42.4%;
    width:93.6%;
    height:13.7%;
    border-radius:18px;
    box-shadow:0 9px 24px rgba(0,84,184,.12);
  }
  .ws-top-fv-markup__feature-item{
    gap:6px;
    padding:11px 4px 9px;
  }
  .ws-top-fv-markup__feature-item img{
    width:48px;
    height:48px;
  }
  .ws-top-fv-markup__feature-item strong{
    font-size:18px;
    line-height:1.22;
  }
  .ws-top-fv-markup__cta{
    left:3.2%;
    bottom:2.2%;
    width:93.6%;
    height:24.2%;
    display:grid;
    grid-template-columns:1fr;
    gap:13px;
    padding:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
  }
  .ws-top-fv-markup__btn{
    height:100%;
    border-radius:15px;
    padding:12px 18px 12px 26px;
    box-shadow:0 6px 14px rgba(0,35,90,.12);
  }
  .ws-top-fv-markup__btn img{
    width:58px;
    height:58px;
    margin-right:20px;
  }
  .ws-top-fv-markup__btn b{
    font-size:22px;
    line-height:1.25;
  }
  .ws-top-fv-markup__btn strong,
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{
    font-size:32px;
    line-height:1.18;
  }
  .ws-top-fv-markup__btn em{
    width:92px;
    height:74px;
    min-width:92px;
    margin-left:auto;
    font-size:21px;
    border-radius:10px;
  }
}

@media (max-width: 420px){
  .ws-top-fv-markup__feature-item img{width:42px;height:42px;}
  .ws-top-fv-markup__feature-item strong{font-size:15px;}
  .ws-top-fv-markup__btn{padding-left:18px;}
  .ws-top-fv-markup__btn img{width:46px;height:46px;margin-right:14px;}
  .ws-top-fv-markup__btn b{font-size:17px;}
  .ws-top-fv-markup__btn strong,
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{font-size:25px;}
  .ws-top-fv-markup__btn em{width:70px;height:58px;min-width:70px;font-size:16px;}
}


/* =========================================================
   v101 FV hybrid markup adjustment
   - 赤枠指示反映：特徴4つはHTML/CSSのまま維持
   - CTA右側の白い補足バッジ（24時間対応/簡単相談/いつでもOK）を削除
   - PC/SPともにボタン内テキストを自然に中央配置
   ========================================================= */
.ws-top-fv-markup__btn em{
  display:none !important;
}
.ws-top-fv-markup__btn{
  justify-content:center;
  gap:14px;
  padding:11px 22px !important;
}
.ws-top-fv-markup__btn img{
  margin-right:0 !important;
}
.ws-top-fv-markup__btn span{
  flex:0 1 auto;
  text-align:left;
}
.ws-top-fv-markup__cta{
  gap:18px;
}
.ws-top-fv-markup__btn--tel strong{
  font-size:30px;
}
.ws-top-fv-markup__btn--line strong,
.ws-top-fv-markup__btn--form strong{
  font-size:23px;
}
.ws-top-fv-markup__feature{
  z-index:7;
}
.ws-top-fv-markup__feature-item img{
  filter:none !important;
}
.ws-top-fv-markup__feature-item strong{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  white-space:normal !important;
  word-break:keep-all;
}
.ws-top-fv-markup__feature-item span,
.ws-top-fv-markup__feature-item em{
  writing-mode:horizontal-tb !important;
  white-space:normal !important;
}

@media (min-width: 1280px){
  .ws-top-fv-markup__btn--tel strong{font-size:32px;}
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{font-size:24px;}
}

@media (max-width: 767px){
  .ws-top-fv-markup__cta{
    gap:12px;
  }
  .ws-top-fv-markup__btn{
    justify-content:flex-start;
    padding:12px 24px !important;
  }
  .ws-top-fv-markup__btn span{
    text-align:left;
    flex:1 1 auto;
  }
  .ws-top-fv-markup__btn--tel strong,
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{
    font-size:32px;
  }
}

@media (max-width: 420px){
  .ws-top-fv-markup__btn--tel strong,
  .ws-top-fv-markup__btn--line strong,
  .ws-top-fv-markup__btn--form strong{
    font-size:25px;
  }
}

/* =========================================================
   v102 FV feature/CTA faithful markup fix
   - 赤枠部分は画像ではなくHTML/CSSで表示
   - 背景画像側に残る旧アイコン・旧文字を完全に覆う
   ========================================================= */
.ws-top-fv-markup__feature{
  background:#fff !important;
  border:1px solid #d7e7f7 !important;
  box-shadow:0 10px 26px rgba(0,70,150,.10) !important;
  overflow:hidden !important;
  opacity:1 !important;
}
.ws-top-fv-markup__feature::before{
  content:"";
  position:absolute;
  inset:-8px;
  background:#fff;
  z-index:-1;
  border-radius:22px;
}
.ws-top-fv-markup__feature-item{
  background:#fff !important;
  justify-content:center !important;
  gap:9px !important;
  padding:12px 8px 11px !important;
}
.ws-top-fv-markup__feature-item:not(:last-child){
  border-right:1px solid #dce8f5 !important;
}
.ws-top-fv-markup__feature-item img,
.ws-top-fv-markup__feature-icon{
  width:54px !important;
  height:54px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin:0 auto !important;
  object-fit:contain;
  opacity:1 !important;
}
.ws-top-fv-markup__feature-icon{
  color:#0757bd;
  font-weight:900;
  line-height:1;
  font-size:22px;
}
.ws-top-fv-markup__feature-icon--yen{
  border:5px solid #0757bd;
  border-radius:999px;
  font-size:26px;
  letter-spacing:-.06em;
}
.ws-top-fv-markup__feature-icon--truck{
  position:relative;
  width:62px !important;
  font-size:0;
}
.ws-top-fv-markup__feature-icon--truck::before{
  content:"🚚";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-size:42px;
  line-height:1;
  background:none;
  width:auto;
  height:auto;
  box-shadow:none;
}
.ws-top-fv-markup__feature-icon--truck::after{
  content:"¥0";
  position:absolute;
  right:4px;
  top:4px;
  width:34px;
  height:34px;
  border-radius:6px;
  background:#0757bd;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:900;
  line-height:1;
}
.ws-top-fv-markup__feature-item strong{
  display:block !important;
  margin:0 !important;
  font-size:20px !important;
  line-height:1.28 !important;
  font-weight:900 !important;
  letter-spacing:.02em;
  text-align:center !important;
}
.ws-top-fv-markup__feature-item strong span,
.ws-top-fv-markup__feature-item strong em{
  display:block !important;
  line-height:1.28 !important;
  text-align:center !important;
  word-break:keep-all !important;
  white-space:normal !important;
}
.ws-top-fv-markup__feature-item strong span{color:#ff5f00 !important;}
.ws-top-fv-markup__feature-item strong em{color:#071d42 !important;font-style:normal !important;}

@media (min-width:768px){
  .ws-top-fv-markup__feature{
    left:7.7% !important;
    top:57.4% !important;
    width:46.7% !important;
    height:19.8% !important;
    border-radius:18px !important;
  }
  .ws-top-fv-markup__cta{
    left:6.55% !important;
    bottom:1.7% !important;
    width:86.9% !important;
    height:13.9% !important;
    padding:14px 20px !important;
    background:#fff !important;
    border-radius:18px !important;
  }
  .ws-top-fv-markup__btn{
    border-radius:12px !important;
  }
}

@media (max-width:767px){
  .ws-top-fv-markup__feature{
    background:#fff !important;
    left:3.2% !important;
    top:50.8% !important;
    width:93.6% !important;
    height:12.4% !important;
    border-radius:17px !important;
  }
  .ws-top-fv-markup__feature-item{
    gap:5px !important;
    padding:9px 3px 7px !important;
  }
  .ws-top-fv-markup__feature-item img,
  .ws-top-fv-markup__feature-icon{
    width:44px !important;
    height:44px !important;
  }
  .ws-top-fv-markup__feature-icon--yen{
    border-width:4px;
    font-size:21px;
  }
  .ws-top-fv-markup__feature-icon--truck{width:50px !important;}
  .ws-top-fv-markup__feature-icon--truck::before{left:2px;top:14px;width:34px;height:19px;}
  .ws-top-fv-markup__feature-icon--truck::after{right:1px;top:1px;width:29px;height:29px;font-size:13px;}
  .ws-top-fv-markup__feature-item strong{
    font-size:16px !important;
    line-height:1.24 !important;
  }
}

@media (max-width:420px){
  .ws-top-fv-markup__feature-item img,
  .ws-top-fv-markup__feature-icon{
    width:38px !important;
    height:38px !important;
  }
  .ws-top-fv-markup__feature-icon--yen{font-size:18px;border-width:3px;}
  .ws-top-fv-markup__feature-item strong{font-size:13.5px !important;}
}



/* v106: FV 出張費無料アイコンを指定画像に差し替え */
.ws-top-fv-markup__feature-img--truck{
  width:72px !important;
  height:54px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto 8px !important;
}
@media (max-width: 767px){
  .ws-top-fv-markup__feature-img--truck{
    width:58px !important;
    height:40px !important;
    margin-bottom:6px !important;
  }
}

/* =========================================================
   v107 FV truck icon size adjustment
   - 出張費無料のトラックアイコンを他アイコンの見た目サイズに揃える
   ========================================================= */
.ws-top-fv-markup__feature-item img.ws-top-fv-markup__feature-img--truck{
  width:72px !important;
  height:54px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
@media (max-width: 767px){
  .ws-top-fv-markup__feature-item img.ws-top-fv-markup__feature-img--truck{
    width:64px !important;
    height:48px !important;
  }
}
@media (max-width: 420px){
  .ws-top-fv-markup__feature-item img.ws-top-fv-markup__feature-img--truck{
    width:56px !important;
    height:42px !important;
  }
}

/* =========================================================
   v108 FV phone CTA overflow fix
   - 電話番号がボタン内で切れないようにサイズ調整
   ========================================================= */
@media (min-width:768px){
  .ws-top-fv-markup__btn--tel{
    padding-left:18px !important;
    padding-right:18px !important;
    gap:12px !important;
  }
  .ws-top-fv-markup__btn--tel img{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }
  .ws-top-fv-markup__btn--tel b{
    font-size:16px !important;
    line-height:1.2 !important;
  }
  .ws-top-fv-markup__btn--tel strong{
    font-size:26px !important;
    line-height:1.05 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
  }
}

@media (min-width:768px) and (max-width:1279px){
  .ws-top-fv-markup__btn--tel strong{
    font-size:23px !important;
  }
  .ws-top-fv-markup__btn--tel b{
    font-size:14px !important;
  }
  .ws-top-fv-markup__btn--tel img{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
}

/* =========================================================
   v109 SP FV optimization
   - SPではPC用の絶対配置を解除
   - FV画像は上部（コピー・人物）だけを表示し、特徴/CTAはHTMLで表示
   - 特徴は2列、CTAは縦並びで崩れを防止
   ========================================================= */
@media (max-width: 767px){
  body.home .ws-top-fv-image,
  body.page-template-page-ws-top .ws-top-fv-image{
    background:#fff !important;
    overflow:visible !important;
  }

  body.home .ws-top-fv-image__wrap,
  body.page-template-page-ws-top .ws-top-fv-image__wrap{
    position:relative !important;
    width:100% !important;
    overflow:visible !important;
    background:#fff !important;
    line-height:1.4 !important;
  }

  /* 画像内に焼き込まれている特徴・CTA部分をSPではトリミング */
  body.home .ws-top-fv-image__wrap picture,
  body.page-template-page-ws-top .ws-top-fv-image__wrap picture{
    display:block !important;
    width:100% !important;
    height:78vw !important;
    max-height:430px !important;
    min-height:300px !important;
    overflow:hidden !important;
    background:#eaf8ff !important;
  }

  body.home .ws-top-fv-image__img,
  body.page-template-page-ws-top .ws-top-fv-image__img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
  }

  body.home .ws-top-fv-markup,
  body.page-template-page-ws-top .ws-top-fv-markup{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    z-index:1 !important;
    display:block !important;
    pointer-events:auto !important;
    padding:0 18px 26px !important;
    margin-top:-4px !important;
    background:#fff !important;
    line-height:1.4 !important;
  }

  body.home .ws-top-fv-markup__feature,
  body.page-template-page-ws-top .ws-top-fv-markup__feature{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    margin:0 auto 18px !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid #d7e7f7 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 10px 26px rgba(0,70,150,.10) !important;
  }

  body.home .ws-top-fv-markup__feature::before,
  body.page-template-page-ws-top .ws-top-fv-markup__feature::before{
    display:none !important;
  }

  body.home .ws-top-fv-markup__feature-item,
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item{
    min-height:122px !important;
    padding:18px 8px 16px !important;
    gap:8px !important;
    background:#fff !important;
    border-right:0 !important;
    border-bottom:1px solid #dce8f5 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body.home .ws-top-fv-markup__feature-item:nth-child(odd),
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item:nth-child(odd){
    border-right:1px solid #dce8f5 !important;
  }
  body.home .ws-top-fv-markup__feature-item:nth-last-child(-n+2),
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item:nth-last-child(-n+2){
    border-bottom:0 !important;
  }

  body.home .ws-top-fv-markup__feature-item img,
  body.home .ws-top-fv-markup__feature-icon,
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item img,
  body.page-template-page-ws-top .ws-top-fv-markup__feature-icon{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }

  body.home .ws-top-fv-markup__feature-item img.ws-top-fv-markup__feature-img--truck,
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item img.ws-top-fv-markup__feature-img--truck{
    width:58px !important;
    height:44px !important;
    max-width:58px !important;
  }

  body.home .ws-top-fv-markup__feature-item strong,
  body.page-template-page-ws-top .ws-top-fv-markup__feature-item strong{
    font-size:17px !important;
    line-height:1.28 !important;
    letter-spacing:.02em !important;
  }

  body.home .ws-top-fv-markup__cta,
  body.page-template-page-ws-top .ws-top-fv-markup__cta{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding:0 !important;
    margin:0 auto !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  body.home .ws-top-fv-markup__btn,
  body.page-template-page-ws-top .ws-top-fv-markup__btn{
    width:100% !important;
    min-height:82px !important;
    height:auto !important;
    border-radius:16px !important;
    padding:14px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:16px !important;
    box-shadow:0 8px 18px rgba(0,35,90,.14) !important;
    overflow:hidden !important;
  }

  body.home .ws-top-fv-markup__btn img,
  body.page-template-page-ws-top .ws-top-fv-markup__btn img{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    margin:0 !important;
  }

  body.home .ws-top-fv-markup__btn span,
  body.page-template-page-ws-top .ws-top-fv-markup__btn span{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    text-align:left !important;
  }

  body.home .ws-top-fv-markup__btn b,
  body.page-template-page-ws-top .ws-top-fv-markup__btn b{
    font-size:17px !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }

  body.home .ws-top-fv-markup__btn strong,
  body.home .ws-top-fv-markup__btn--line strong,
  body.home .ws-top-fv-markup__btn--form strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--line strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--form strong{
    font-size:25px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    letter-spacing:0 !important;
  }

  body.home .ws-top-fv-markup__btn--tel strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--tel strong{
    font-size:28px !important;
    letter-spacing:-.02em !important;
  }
}

@media (max-width: 380px){
  body.home .ws-top-fv-image__wrap picture,
  body.page-template-page-ws-top .ws-top-fv-image__wrap picture{
    height:82vw !important;
    min-height:288px !important;
  }
  body.home .ws-top-fv-markup,
  body.page-template-page-ws-top .ws-top-fv-markup{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  body.home .ws-top-fv-markup__btn strong,
  body.home .ws-top-fv-markup__btn--line strong,
  body.home .ws-top-fv-markup__btn--form strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--line strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--form strong{
    font-size:22px !important;
  }
  body.home .ws-top-fv-markup__btn--tel strong,
  body.page-template-page-ws-top .ws-top-fv-markup__btn--tel strong{
    font-size:24px !important;
  }
}

/* =========================================================
   v111 SP FV final optimization
   - PC版は現状維持
   - SP版のみ専用画像をそのまま表示し、重なり・余白崩れを解消
   ========================================================= */
@media (max-width: 767px){
  body.home .ws-top-fv-image,
  body.page-template-page-ws-top .ws-top-fv-image{
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.home .ws-top-fv-image__wrap,
  body.page-template-page-ws-top .ws-top-fv-image__wrap{
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  body.home .ws-top-fv-image__wrap picture,
  body.page-template-page-ws-top .ws-top-fv-image__wrap picture{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#fff !important;
  }

  body.home .ws-top-fv-image__img,
  body.page-template-page-ws-top .ws-top-fv-image__img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:contain !important;
  }

  /* SPではFV画像内にデザイン済みの訴求・CTAを使うため、HTML重ね要素を非表示 */
  body.home .ws-top-fv-markup,
  body.page-template-page-ws-top .ws-top-fv-markup{
    display:none !important;
  }

  body.home .ws-troubles,
  body.page-template-page-ws-top .ws-troubles{
    margin-top:0 !important;
    padding-top:34px !important;
  }
}

/* =========================================================
   v112 SP/PC FV split final
   - PC FV keeps existing hybrid layout
   - SP FV uses a dedicated full visual to avoid overlap/spacing issues
   ========================================================= */
.ws-top-fv-sp-only{
  display:none;
}

@media (min-width: 768px){
  body.home .ws-top-fv-pc,
  body.page-template-page-ws-top .ws-top-fv-pc{
    display:block !important;
  }
  body.home .ws-top-fv-sp-only,
  body.page-template-page-ws-top .ws-top-fv-sp-only{
    display:none !important;
  }
}

@media (max-width: 767px){
  body.home .ws-top-fv-pc,
  body.page-template-page-ws-top .ws-top-fv-pc{
    display:none !important;
  }

  body.home .ws-top-fv-sp-only,
  body.page-template-page-ws-top .ws-top-fv-sp-only{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.home .ws-top-fv-sp-only__wrap,
  body.page-template-page-ws-top .ws-top-fv-sp-only__wrap{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
    background:#fff !important;
  }

  body.home .ws-top-fv-sp-only__img,
  body.page-template-page-ws-top .ws-top-fv-sp-only__img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.home .ws-top-fv-sp-only__hotspot,
  body.page-template-page-ws-top .ws-top-fv-sp-only__hotspot{
    position:absolute !important;
    left:3.4% !important;
    width:93.2% !important;
    display:block !important;
    z-index:5 !important;
    text-indent:-9999px !important;
    overflow:hidden !important;
    border-radius:16px !important;
  }
  body.home .ws-top-fv-sp-only__hotspot--tel,
  body.page-template-page-ws-top .ws-top-fv-sp-only__hotspot--tel{
    top:74.0% !important;
    height:8.0% !important;
  }
  body.home .ws-top-fv-sp-only__hotspot--line,
  body.page-template-page-ws-top .ws-top-fv-sp-only__hotspot--line{
    top:83.0% !important;
    height:8.0% !important;
  }
  body.home .ws-top-fv-sp-only__hotspot--form,
  body.page-template-page-ws-top .ws-top-fv-sp-only__hotspot--form{
    top:92.0% !important;
    height:7.2% !important;
  }

  body.home .ws-troubles,
  body.page-template-page-ws-top .ws-troubles{
    margin-top:0 !important;
    padding-top:34px !important;
  }
}

/* =========================================================
   v113 FV CTA flat color cleanup
   - Remove subtle texture/noise from large CTA buttons
   ========================================================= */
.ws-top-fv-markup__btn,
.ws-top-fv-markup__btn::before,
.ws-top-fv-markup__btn::after,
.ws-top-fv-sp-only__hotspot,
.ws-top-fv-sp-only__hotspot::before,
.ws-top-fv-sp-only__hotspot::after{
  background-image:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  mix-blend-mode:normal !important;
}
.ws-top-fv-markup__btn--line{
  background:#08a83c !important;
}
.ws-top-fv-markup__btn--tel{
  background:#ff7a13 !important;
}
.ws-top-fv-markup__btn--form{
  background:#0054bd !important;
}

/* =========================================================
   v114 SP FV CTA rebuild
   - SPの大きいCTAは画像を廃止し、HTML/CSSのみで表示
   - 背景ノイズ・透かし・フィルターを完全除去
   - PC版は現状維持
   ========================================================= */
@media (max-width: 767px){
  body.home .ws-top-fv-sp-only,
  body.page-template-page-ws-top .ws-top-fv-sp-only{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 0 22px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  body.home .ws-top-fv-sp-only__wrap,
  body.page-template-page-ws-top .ws-top-fv-sp-only__wrap{
    position:relative !important;
    width:100% !important;
    margin:0 !important;
    padding:0 18px !important;
    background:#fff !important;
    line-height:1.4 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  /* 画像はFV上部だけを使用。ボタン・安心バナー部分はトリミングして非表示 */
  body.home .ws-top-fv-sp-only__visual,
  body.page-template-page-ws-top .ws-top-fv-sp-only__visual{
    position:relative !important;
    width:calc(100% + 36px) !important;
    height:92vw !important;
    max-height:780px !important;
    min-height:420px !important;
    margin:0 -18px !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#eaf8ff !important;
    line-height:0 !important;
  }

  body.home .ws-top-fv-sp-only__img,
  body.page-template-page-ws-top .ws-top-fv-sp-only__img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:top center !important;
  }

  /* 4特徴：HTML/CSS表示 */
  body.home .ws-top-fv-sp-only__features,
  body.page-template-page-ws-top .ws-top-fv-sp-only__features{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch !important;
    width:100% !important;
    margin:-6px auto 20px !important;
    padding:0 !important;
    background:#fff !important;
    border:1px solid #dbe7f7 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 8px 22px rgba(0,42,96,.12) !important;
  }

  body.home .ws-top-fv-sp-only__feature,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:112px !important;
    padding:14px 4px 12px !important;
    background:#fff !important;
    border-right:1px solid #dce8f5 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }
  body.home .ws-top-fv-sp-only__feature:last-child,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature:last-child{
    border-right:0 !important;
  }

  body.home .ws-top-fv-sp-only__feature img,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature img{
    display:block !important;
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    margin:0 auto 8px !important;
    object-fit:contain !important;
    filter:none !important;
    opacity:1 !important;
  }
  body.home .ws-top-fv-sp-only__feature img.ws-top-fv-sp-only__truck,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature img.ws-top-fv-sp-only__truck{
    width:68px !important;
    height:54px !important;
    max-width:68px !important;
  }

  body.home .ws-top-fv-sp-only__yen,
  body.page-template-page-ws-top .ws-top-fv-sp-only__yen{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:56px !important;
    height:56px !important;
    margin:0 auto 8px !important;
    border:5px solid #0757bd !important;
    border-radius:999px !important;
    color:#ff5f00 !important;
    background:#fff !important;
    font-size:25px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:-.06em !important;
    box-sizing:border-box !important;
  }

  body.home .ws-top-fv-sp-only__feature strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature strong{
    display:block !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
  }
  body.home .ws-top-fv-sp-only__feature strong span,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature strong span{
    display:block !important;
    color:#ff5f00 !important;
  }
  body.home .ws-top-fv-sp-only__feature strong em,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature strong em{
    display:block !important;
    color:#071d42 !important;
    font-style:normal !important;
  }

  /* 安心バナー */
  body.home .ws-top-fv-sp-only__notice,
  body.page-template-page-ws-top .ws-top-fv-sp-only__notice{
    display:flex !important;
    align-items:center !important;
    gap:20px !important;
    width:100% !important;
    margin:0 auto 18px !important;
    padding:20px 24px !important;
    background:#eef6ff !important;
    background-image:none !important;
    border:1px solid #d9e9fb !important;
    border-radius:18px !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }
  body.home .ws-top-fv-sp-only__shield,
  body.page-template-page-ws-top .ws-top-fv-sp-only__shield{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
    border:5px solid #0757bd !important;
    border-radius:999px !important;
    color:#0757bd !important;
    background:#fff !important;
    font-size:30px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
  }
  body.home .ws-top-fv-sp-only__notice p,
  body.page-template-page-ws-top .ws-top-fv-sp-only__notice p{
    margin:0 !important;
    color:#0757bd !important;
    font-size:22px !important;
    line-height:1.45 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
  }

  /* CTA：画像・フィルター・透かしなし。完全HTML/CSS */
  body.home .ws-top-fv-sp-only__cta,
  body.page-template-page-ws-top .ws-top-fv-sp-only__cta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    border:0 !important;
  }
  body.home .ws-top-fv-sp-only__btn,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-height:92px !important;
    width:100% !important;
    padding:16px 18px !important;
    border-radius:16px !important;
    color:#fff !important;
    text-decoration:none !important;
    background-image:none !important;
    filter:none !important;
    backdrop-filter:none !important;
    mix-blend-mode:normal !important;
    box-shadow:0 6px 14px rgba(0,35,90,.12) !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body.home .ws-top-fv-sp-only__btn::before,
  body.home .ws-top-fv-sp-only__btn::after,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn::before,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn::after{
    content:none !important;
    display:none !important;
  }
  body.home .ws-top-fv-sp-only__btn--tel,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--tel{
    background:#ff7a13 !important;
  }
  body.home .ws-top-fv-sp-only__btn--line,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line{
    background:#08a83c !important;
  }
  body.home .ws-top-fv-sp-only__btn--form,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form{
    background:#0054bd !important;
  }

  body.home .ws-top-fv-sp-only__btn-icon,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:72px !important;
    min-width:72px !important;
    margin-right:18px !important;
    color:#fff !important;
    font-size:48px !important;
    line-height:1 !important;
    font-weight:900 !important;
    background:none !important;
    border:0 !important;
    font-family:Arial, sans-serif !important;
  }
  body.home .ws-top-fv-sp-only__btn-icon--line,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-icon--line{
    width:74px !important;
    min-width:74px !important;
    height:60px !important;
    border:4px solid #fff !important;
    border-radius:999px !important;
    font-size:19px !important;
    letter-spacing:-.04em !important;
  }

  body.home .ws-top-fv-sp-only__btn-text,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-width:0 !important;
    flex:1 1 auto !important;
    color:#fff !important;
  }
  body.home .ws-top-fv-sp-only__btn-text b,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text b{
    display:block !important;
    color:#fff !important;
    font-size:22px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }
  body.home .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text strong{
    display:block !important;
    color:#fff !important;
    font-size:35px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
  }
  body.home .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.home .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong{
    font-size:34px !important;
  }

  body.home .ws-top-fv-sp-only__badge,
  body.page-template-page-ws-top .ws-top-fv-sp-only__badge{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:92px !important;
    min-width:92px !important;
    height:70px !important;
    margin-left:12px !important;
    border-radius:10px !important;
    background:#fff !important;
    background-image:none !important;
    box-shadow:none !important;
    filter:none !important;
    color:#ff5f00 !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
    text-align:center !important;
  }
  body.home .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__badge,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__badge{
    color:#08a83c !important;
  }
  body.home .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__badge,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__badge{
    color:#0054bd !important;
  }

  body.home .ws-troubles,
  body.page-template-page-ws-top .ws-troubles{
    margin-top:0 !important;
    padding-top:34px !important;
  }
}

@media (max-width: 420px){
  body.home .ws-top-fv-sp-only__wrap,
  body.page-template-page-ws-top .ws-top-fv-sp-only__wrap{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body.home .ws-top-fv-sp-only__visual,
  body.page-template-page-ws-top .ws-top-fv-sp-only__visual{
    width:calc(100% + 32px) !important;
    height:93vw !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
    min-height:390px !important;
  }
  body.home .ws-top-fv-sp-only__features,
  body.page-template-page-ws-top .ws-top-fv-sp-only__features{
    margin-bottom:17px !important;
  }
  body.home .ws-top-fv-sp-only__feature,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature{
    min-height:104px !important;
    padding:12px 3px 10px !important;
  }
  body.home .ws-top-fv-sp-only__feature img,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature img{
    width:48px !important;
    height:48px !important;
  }
  body.home .ws-top-fv-sp-only__feature img.ws-top-fv-sp-only__truck,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature img.ws-top-fv-sp-only__truck{
    width:60px !important;
    height:46px !important;
  }
  body.home .ws-top-fv-sp-only__yen,
  body.page-template-page-ws-top .ws-top-fv-sp-only__yen{
    width:48px !important;
    height:48px !important;
    font-size:21px !important;
    border-width:4px !important;
  }
  body.home .ws-top-fv-sp-only__feature strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__feature strong{
    font-size:16px !important;
  }
  body.home .ws-top-fv-sp-only__notice,
  body.page-template-page-ws-top .ws-top-fv-sp-only__notice{
    gap:14px !important;
    padding:17px 18px !important;
  }
  body.home .ws-top-fv-sp-only__shield,
  body.page-template-page-ws-top .ws-top-fv-sp-only__shield{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
    font-size:25px !important;
    border-width:4px !important;
  }
  body.home .ws-top-fv-sp-only__notice p,
  body.page-template-page-ws-top .ws-top-fv-sp-only__notice p{
    font-size:18px !important;
  }
  body.home .ws-top-fv-sp-only__btn,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn{
    min-height:80px !important;
    padding:13px 14px !important;
  }
  body.home .ws-top-fv-sp-only__btn-icon,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-icon{
    width:58px !important;
    min-width:58px !important;
    margin-right:13px !important;
    font-size:40px !important;
  }
  body.home .ws-top-fv-sp-only__btn-icon--line,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-icon--line{
    width:58px !important;
    min-width:58px !important;
    height:48px !important;
    font-size:15px !important;
    border-width:3px !important;
  }
  body.home .ws-top-fv-sp-only__btn-text b,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text b{
    font-size:18px !important;
  }
  body.home .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text strong{
    font-size:30px !important;
  }
  body.home .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.home .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong{
    font-size:28px !important;
  }
  body.home .ws-top-fv-sp-only__badge,
  body.page-template-page-ws-top .ws-top-fv-sp-only__badge{
    width:76px !important;
    min-width:76px !important;
    height:62px !important;
    font-size:17px !important;
    margin-left:8px !important;
  }
}

/* =========================================================
   v115 SP top redline fix
   - FV画像内の重複アイコン列・画像CTA部分を削除した専用画像を使用
   - SP CTA右側の白いバッジを削除
   - SPのみ上書き。PCは変更なし
   ========================================================= */
@media (max-width: 767px){
  body.home .ws-top-fv-sp-only__visual,
  body.page-template-page-ws-top .ws-top-fv-sp-only__visual{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 -18px 0 !important;
    background:#eaf8ff !important;
  }
  body.home .ws-top-fv-sp-only__img,
  body.page-template-page-ws-top .ws-top-fv-sp-only__img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:top center !important;
  }
  body.home .ws-top-fv-sp-only__features,
  body.page-template-page-ws-top .ws-top-fv-sp-only__features{
    margin:0 auto 20px !important;
  }
  body.home .ws-top-fv-sp-only__badge,
  body.page-template-page-ws-top .ws-top-fv-sp-only__badge{
    display:none !important;
  }
  body.home .ws-top-fv-sp-only__btn,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn{
    padding-right:18px !important;
    justify-content:flex-start !important;
  }
  body.home .ws-top-fv-sp-only__btn-text,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 92px) !important;
  }
  body.home .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text strong{
    white-space:nowrap !important;
    overflow:visible !important;
  }
  body.home .ws-top-fv-sp-only__btn--tel .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--tel .ws-top-fv-sp-only__btn-text strong{
    font-size:32px !important;
    letter-spacing:-.04em !important;
  }
  body.home .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.home .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong{
    font-size:32px !important;
  }
}
@media (max-width: 420px){
  body.home .ws-top-fv-sp-only__visual,
  body.page-template-page-ws-top .ws-top-fv-sp-only__visual{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-left:-16px !important;
    margin-right:-16px !important;
  }
  body.home .ws-top-fv-sp-only__btn-text,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn-text{
    max-width:calc(100% - 72px) !important;
  }
  body.home .ws-top-fv-sp-only__btn--tel .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--tel .ws-top-fv-sp-only__btn-text strong{
    font-size:27px !important;
  }
  body.home .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.home .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--line .ws-top-fv-sp-only__btn-text strong,
  body.page-template-page-ws-top .ws-top-fv-sp-only__btn--form .ws-top-fv-sp-only__btn-text strong{
    font-size:27px !important;
  }
}


/* 記事本文内の図解・イラスト
--------------------------------------------- */
.ws-entry-content .wp-block-image {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.ws-entry-content .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .ws-entry-content .wp-block-image {
    width: 100%;
  }
}