@charset "UTF-8";

/* pg-btn */
.pg-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-24);
	padding: var(--space-16);
	padding-left: var(--space-24);
	background: var(--blue-3);
	color: var(--white);
	font-family: var(--font-family-ja);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
	text-decoration: none;
	white-space: nowrap;
	border: 0;
	border-radius: 0;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

.pg-btn::after{
	content: '';
	width: var(--space-24);
	aspect-ratio: 1 / 1;
	background: url(../img/icon-arrow-circle.svg) no-repeat center / cover;
}

.pg-btn.gray{ background: var(--gray-5); }
.pg-btn.orange{ background: var(--orange); }
.pg-btn.between{ justify-content: space-between; }

@media (hover: hover){
	.pg-btn:hover{
		background: var(--white);
		color: var(--blue-3);
		box-shadow: inset 0 0 0 2px currentColor;
	}
	.pg-btn:hover::after{ background-image: url(../img/icon-arrow-circle-blue.svg); }

	.pg-btn.gray:hover{ color: var(--gray-5); }
	.pg-btn.gray:hover::after{ background-image: url(../img/icon-arrow-circle-gray.svg); }

	.pg-btn.orange:hover{ color: var(--orange); }
	.pg-btn.orange:hover::after{ background-image: url(../img/icon-arrow-circle-orange.svg); }
}


/* pg-text-link */
.pg-text-link{
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	color: var(--black);
	font-family: var(--font-family-ja);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s ease;
}

.pg-text-link::after{
	content: '';
	width: var(--space-24);
	aspect-ratio: 1 / 1;
	background: url(../img/icon-arrow-circle-blue.svg) no-repeat center / cover;
	transition: transform .2s ease;
}

.pg-text-link.gray::after{ background-image: url(../img/icon-arrow-circle-gray.svg); }
.pg-text-link.orange::after{ background-image: url(../img/icon-arrow-circle-orange.svg); }

@media (hover: hover){
	.pg-text-link:hover,
	.pg-card:hover .pg-text-link{ color: var(--blue-3); }

	.pg-text-link:hover::after,
	.pg-card:hover .pg-text-link::after{ transform: translateX(10%); }
}


/* pg-link */
.pg-link{
	color: var(--blue-3);
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (hover: hover){
	.pg-link:hover{ text-decoration: none; }
}


/* pg-card */
.pg-card-icon{ width: var(--space-80); aspect-ratio: 1 / 1; margin-inline: auto; }
.pg-card-icon img{ width: 100%; height: 100%; object-fit: contain; display: block; }

.pg-card{
	display: flex;
	flex-direction: column;
	gap: var(--space-24);
	background: var(--gray-1);
	padding: var(--space-24);
	color: inherit;
	text-decoration: none;
}

.pg-card.no-bg{
	background: none;
	padding: 0;
}

.pg-card-thumb{
	overflow: hidden;
}

.pg-card-thumb img{
	aspect-ratio: 189 / 119;
	object-fit: cover;
	transition: transform .3s ease;
}

@media (hover: hover){
	.pg-card:hover .pg-card-thumb img{ transform: scale(1.1); }
}

.pg-card-title{
	color: var(--black);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
	transition: color .2s ease;
}

@media (hover: hover){
	.pg-card:hover .pg-card-title{ color: var(--blue-3); }
}

.pg-card-body{
	padding-bottom: var(--space-24);
	border-bottom: 1px solid var(--gray-2);
}

.pg-card-text{
	color: var(--gray-5);
	font-size: var(--fz-14);
	font-weight: 500;
	line-height: 1.5;
}

.pg-card-foot{
	display: flex;
	justify-content: flex-end;
}


/* pg-lang-card */
.pg-lang-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-16);
	background: var(--gray-1);
	padding: var(--space-16) var(--space-24);
	border-radius: var(--space-8);
}

.pg-lang-card-icon{
	width: var(--space-48);
	aspect-ratio: 1 / 1;
}

.pg-lang-card-title{
	color: var(--black);
	font-size: var(--fz-15);
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}


/* pg-feat-card */
.pg-feat-card-visual img{ width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

.pg-feat-card{
	display: flex;
	flex-direction: column;
	gap: var(--space-24);
	background: var(--white);
	padding: var(--space-30) var(--space-24);
}

.pg-feat-card-head{
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
}

.pg-feat-card-num{
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-40);
	font-weight: 700;
	line-height: 1.5;
}

.pg-feat-card-case-num{
	color: var(--blue-3);
	font-size: var(--fz-14);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
}

.pg-feat-card-title{
	color: var(--black);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-xs);
}

.pg-feat-card-text{
	color: var(--black);
	font-size: var(--fz-14);
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: var(--ls-xs);
}

@media (max-width: 768px){
	.pg-feat-card{ gap: var(--space-16); }
	.pg-feat-card-num{ font-size: var(--fz-24); }
	.pg-feat-card-title{ font-size: var(--fz-18); }
}


/* pg-region-card */
.pg-region-list{
	display: flex;
	flex-direction: column;
}

.pg-region-card{
	display: flex;
	align-items: center;
	gap: var(--space-24);
	padding: var(--space-20) var(--space-8);
	border-bottom: 1px solid var(--gray-2);
}

.pg-region-card-label{
	display: flex;
	align-items: center;
	gap: var(--space-16);
	width: var(--pg-region-label-w, 175px);
	flex-shrink: 0;
}

.pg-region-list.simple{
	--pg-region-label-w: 200px;
}

.pg-region-card-name{
	color: var(--black);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-xs);
}

.pg-region-card-count{
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-14);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-lg);
	white-space: nowrap;
}

.pg-region-card-desc{
	flex: 1;
	color: var(--black);
	font-size: var(--fz-15);
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: var(--ls-xs);
}

@media (max-width: 768px){
	.pg-region-card{
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-8);
	}
}


/* pg-subtitle */
.pg-subtitle{
	color: var(--black);
	font-size: var(--fz-24);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
}


/* pg-text */
.pg-text{
	color: var(--black);
	font-size: var(--fz-16);
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: var(--ls-xs);
}

@media (max-width: 768px){
	.pg-text{ font-size: var(--fz-14); }
}


/* pg-price-table */
.pg-price-table{
	overflow-x: auto;
}

.pg-price-table table{
	width: 100%;
	min-width: 640px;
	table-layout: fixed;
	border-collapse: collapse;
}

.pg-price-table :is(th, td){
	padding: var(--space-14) var(--space-16);
	font-size: var(--fz-16);
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
	text-align: left;
	vertical-align: top;
	border: 1px solid var(--gray-2);
}

.pg-price-table thead th{
	background: var(--blue-3);
	color: var(--white);
	font-weight: 700;
}

.pg-price-table tbody th{
	color: var(--black);
	font-weight: 700;
}

.pg-price-table tbody td{
	color: var(--black);
	font-weight: 500;
}


/* pg-faq */
.pg-faq{
	background: var(--white);
}

.pg-faq-q{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-8);
	padding: var(--space-20) var(--space-24);
	cursor: pointer;
}

.pg-faq-q-text{
	display: flex;
	align-items: flex-start;
	gap: var(--space-8);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1.5;
}

.pg-faq-q-text .q{
	color: var(--blue-3);
	font-family: var(--font-family-en);
}

.pg-faq-q-text .question{
	color: var(--black);
}

.pg-faq-icon{
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
}

.pg-faq-icon::before{ content: '＋'; }
.pg-faq.open .pg-faq-icon::before{ content: '－'; }

.pg-faq-a{
	display: none;
	gap: var(--space-8);
	align-items: flex-start;
	padding: var(--space-20) var(--space-24);
	border-top: 1px solid var(--gray-2);
	line-height: 1.5;
}

.pg-faq.open .pg-faq-a{ display: flex; }

.pg-faq-a .a{
	color: var(--orange);
	font-family: var(--font-family-en);
	font-size: var(--fz-16);
	font-weight: 700;
}

.pg-faq-a .answer{
	flex: 1;
	color: var(--black);
	font-size: var(--fz-15);
	font-weight: 500;
}


/* pg-discount */
.pg-discount{
	display: flex;
	flex-direction: column;
	gap: var(--space-16);
}

.pg-discount-title{
	color: var(--white);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-md);
	text-align: center;
}

.pg-discount-ranks{
	display: flex;
	gap: var(--space-16);
}

.pg-discount-rank{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--blue-1);
	padding: var(--space-24) var(--space-32);
}

.pg-discount-rank .cond{
	color: var(--blue-4);
	font-size: var(--fz-14);
	font-weight: 600;
	line-height: 1.5;
}

.pg-discount-rank .off{
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-24);
	font-weight: 700;
	line-height: 1.5;
}

@media (max-width: 768px){
	.pg-discount-title{ font-size: var(--fz-18); }
	.pg-discount-rank{ padding: var(--space-24) var(--space-16); }
	.pg-discount-rank .cond{ font-size: var(--fz-12); }
	.pg-discount-rank .off{ font-size: var(--fz-20); }
}


/* pg-price-table rate */
.pg-price-table.rate table{
	table-layout: auto;
	min-width: 900px;
}

.pg-price-table.rate :is(th, td){
	font-size: var(--fz-15);
}

.pg-price-table.rate thead th{
	background: var(--blue-3);
	text-align: center;
}

.pg-price-table.rate thead th:first-child{
	text-align: left;
}

.pg-price-table.rate tbody th{
	width: 240px;
}

.pg-price-table.rate tbody td{
	color: var(--blue-3);
	font-weight: 700;
	text-align: center;
}


/* pg-price-formula */
.pg-price-formula{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--space-60) var(--space-24) var(--space-40);
	border: 1px dashed var(--blue-3);
}

.pg-price-formula-badge{
	position: absolute;
	inset: 0 auto auto 50%;
	translate: -50% -50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-10);
	background: var(--blue-3);
	color: var(--white);
	padding: var(--space-16) var(--space-24);
	border-radius: 999px;
	white-space: nowrap;
}

.pg-price-formula-badge .label{
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1;
}

.pg-price-formula-badge .price{
	font-family: var(--font-family-en);
	font-weight: 700;
}

.pg-price-formula-badge .price .num{ font-size: var(--fz-32); }
.pg-price-formula-badge .price .unit{ font-size: var(--fz-16); }

.pg-price-formula-row{
	display: flex;
	align-items: center;
	gap: var(--space-8);
	width: 100%;
}

.pg-price-formula-term{
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--gray-1);
	padding: var(--space-24) var(--space-48);
	color: var(--blue-3);
	font-size: var(--fz-20);
	font-weight: 700;
	text-align: center;
}

.pg-price-formula-term.muted{ color: var(--gray-3); }

.pg-price-formula-op{
	flex-shrink: 0;
	padding: var(--space-8);
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-24);
	font-weight: 700;
}

@media (max-width: 768px){
	.pg-price-formula{ padding: var(--space-60) var(--space-16) var(--space-40); }
	.pg-price-formula-term{
		padding: var(--space-24) var(--space-8);
		font-size: var(--fz-14);
	}
}


/* pg-plan-card */
.pg-plan-card{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-16);
	background: var(--white);
	padding: var(--space-36) var(--space-16) var(--space-24);
}

.pg-plan-card-head{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-16);
	text-align: center;
}

.pg-plan-card-name{
	color: var(--blue-3);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1.5;
}

.pg-plan-card-price{
	color: var(--black);
	font-family: var(--font-family-en);
	font-weight: 700;
}

.pg-plan-card-price .num{ font-size: var(--fz-24); }
.pg-plan-card-price .unit{ font-size: var(--fz-12); }

.pg-plan-card-note{
	color: var(--gray-3);
	font-size: var(--fz-14);
	line-height: 1.5;
}

.pg-plan-card-line{
	width: 64px;
	height: 0;
	border-top: 1px solid var(--gray-2);
}

.pg-plan-card-list{ width: 100%; }

.pg-plan-card-list li{
	display: flex;
	align-items: center;
	gap: var(--space-8);
	padding-top: var(--space-16);
}

.pg-plan-card-list .check{
	flex-shrink: 0;
	width: var(--space-16);
	aspect-ratio: 1 / 1;
	background: url(../img/icon-check-mark-blue.svg) no-repeat center / contain;
}

.pg-plan-card-list .txt{
	flex: 1;
	color: var(--black);
	font-size: var(--fz-14);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-sm);
}


/* pg-step-card */
.pg-step-card{
	display: flex;
	flex-direction: column;
	gap: var(--space-24);
	background: var(--white);
	padding: var(--space-30) var(--space-24);
}

.pg-step-card-head{
	display: flex;
	align-items: flex-start;
	gap: var(--space-8);
}

.pg-step-card-num{
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--space-30);
	aspect-ratio: 1 / 1;
	background: var(--blue-3);
	color: var(--white);
	font-family: var(--font-family-en);
	font-size: var(--fz-16);
	font-weight: 700;
	line-height: 1;
}

.pg-step-card-title{
	flex: 1;
	color: var(--black);
	font-size: var(--fz-20);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: var(--ls-xs);
}

.pg-step-card-text{
	color: var(--black);
	font-size: var(--fz-14);
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: var(--ls-xs);
}


/* pg-card no-thumb */
.pg-card.no-thumb .pg-card-body{
	padding-bottom: 0;
	border-bottom: 0;
}

.pg-card.no-thumb .pg-card-foot{
	margin-top: auto;
	padding-top: var(--space-24);
	border-top: 1px solid var(--gray-2);
}

.pg-card-note{
	background: var(--white);
	padding: var(--space-8);
	border-radius: var(--space-4);
	color: var(--gray-5);
	font-size: var(--fz-14);
	line-height: 1.7;
}

.pg-card-note .label{
	display: block;
	text-align: center;
	color: var(--black);
	font-weight: 700;
}


/* pg-price-lead */
.pg-price-lead{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-8);
	text-align: center;
}

.pg-price-lead-label{
	color: var(--black);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
}

.pg-price-lead-amount{
	color: var(--blue-3);
	font-weight: 700;
	line-height: 1;
}

.pg-price-lead-amount .num{
	font-family: var(--font-family-en);
	font-size: var(--fz-64);
}

.pg-price-lead-amount .unit{
	font-size: var(--fz-32);
}

.pg-price-lead-note{
	color: var(--blue-3);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1.5;
}


/* pg-note */
.pg-note > * + *{ margin-top: var(--space-8); }

.pg-note p{
	color: var(--blue-4);
	font-size: var(--fz-14);
	font-weight: 500;
	line-height: 1.5;
}

.pg-note .label{ font-weight: 700; }


/* pg-list */
.pg-list li{
	position: relative;
	padding-left: 1.2em;
	line-height: 1.8;
}

.pg-list li + li{ margin-top: var(--space-8); }

.pg-list li::before{
	content: '・';
	position: absolute;
	inset: 0 auto auto 0;
	color: var(--blue-3);
}


/* pg-num-list */
.pg-num-list{
	counter-reset: pg-num;
	list-style: none;
	padding-left: 0;
}

.pg-num-list li{
	position: relative;
	padding-left: 1.8em;
	line-height: 1.8;
}

.pg-num-list li + li{ margin-top: var(--space-8); }

.pg-num-list li::before{
	counter-increment: pg-num;
	content: counter(pg-num) ".";
	position: absolute;
	inset: 0 auto auto 0;
	color: var(--blue-3);
	font-weight: 700;
}


/* pg-chip */
.pg-chip{
	display: inline-flex;
	align-items: center;
	background: var(--white);
	color: var(--blue-3);
	padding: var(--space-4) var(--space-12);
	font-size: var(--fz-14);
	font-weight: 500;
	line-height: 1.5;
	border: 1px solid var(--blue-3);
	border-radius: 999px;
}

.pg-card-chips{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-8);
}


/* pg-tel */
.pg-tel{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-12);
}

.pg-tel-num{
	display: inline-flex;
	align-items: center;
	gap: var(--space-12);
	color: var(--blue-3);
	font-family: var(--font-family-en);
	font-size: var(--fz-24);
	font-weight: 700;
	line-height: 1;
	letter-spacing: var(--ls-none);
	text-decoration: none;
}

.pg-tel-num::before{
	content: '';
	width: var(--space-32);
	aspect-ratio: 1 / 1;
	background: currentColor;
	-webkit-mask: url(../img/icon-tel-blue.svg) no-repeat center / contain;
	mask: url(../img/icon-tel-blue.svg) no-repeat center / contain;
	flex-shrink: 0;
}

.pg-tel-hours{
	color: var(--gray-5);
	font-size: var(--fz-14);
	line-height: 1.5;
	text-align: center;
}


/* pg-microcopy */
.pg-microcopy{
	position: relative;
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	padding: var(--space-8) var(--space-16);
	border: 1px solid var(--orange);
	border-radius: 50em;
	background: var(--white);
	color: var(--orange);
	font-size: var(--fz-14);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: var(--ls-xs);
}

.pg-microcopy::before,
.pg-microcopy::after{
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
}

.pg-microcopy::before{
	top: 100%;
	border-width: 8px 6px 0 6px;
	border-color: var(--orange) transparent transparent transparent;
}

.pg-microcopy::after{
	top: calc(100% - 1px);
	border-width: 7px 5px 0 5px;
	border-color: var(--white) transparent transparent transparent;
}


/* pg-cta */
.pg-cta{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: var(--space-40);
}

.pg-cta-action{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-8);
}

@media (max-width:768px){
	.pg-cta{ flex-direction: column-reverse; align-items: center; gap: var(--space-24); }
}


/* pg-estimate */
.pg-estimate{
	display: flex;
	gap: var(--space-40);
	align-items: flex-start;
}

.pg-estimate-cards{
	display: flex;
	flex-direction: column;
	gap: var(--space-24);
	flex: 1;
	width: 100%;
}

.pg-estimate-form{
	flex: 1;
	min-width: 300px;
	width: 100%;
}

.pg-form-ph{
	background: var(--white);
	padding: var(--space-16);
	border-radius: var(--space-4);
}

@media (max-width:1240px){
	.pg-estimate{ flex-direction: column; }
}

/* pg-tel boxed */
.pg-tel.boxed{
	width: fit-content;
	background: var(--white);
	padding: var(--space-24);
	border-radius: var(--space-8);
}

/* pg-estimate-box */
.pg-estimate-box{ color: var(--white); }
.pg-estimate-box .pg-region-card-name,
.pg-estimate-box .pg-region-card-desc{ color: var(--white); }

/* pg-field-icon */
.pg-field-icon{ width: 120px; aspect-ratio: 1 / 1; margin-inline: auto; }
.pg-field-icon img{ width: 100%; height: 100%; object-fit: contain; display: block; }

/* pg-card-lead */
.pg-card-lead{
	color: var(--blue-3);
	font-size: var(--fz-14);
	font-weight: 700;
	line-height: 1.5;
}

/* pg-cta boxed */
.pg-cta.boxed{
	background: color-mix(in srgb, var(--white) 90%, transparent);
	border-radius: var(--space-4);
	padding: var(--space-32);
}

/* pg-float（フローティングCTA・ヘルプ） */
.pg-float{
	position: fixed;
	right: var(--space-24);
	bottom: var(--space-24);
	z-index: 100;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--space-16);
}

/* スクロール表示（.show をJSで付与） */
.pg-float,
.pg-float-bar{
	opacity: 0;
	visibility: hidden;
	transform: translateY(var(--space-20));
	transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.pg-float.show,
.pg-float-bar.show{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pg-float-item{ position: relative; }

.pg-float-toggle{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-left: auto;
	border: 0;
	border-radius: 50%;
	color: var(--white);
	cursor: pointer;
	box-shadow: 2px 2px 13px color-mix(in srgb, var(--black) 14%, transparent);
}
.pg-float-toggle svg{ width: var(--space-24); height: var(--space-24); }
.pg-float-toggle .q{ font-size: var(--fz-24); font-weight: 700; line-height: 1; }
.pg-float-cta .pg-float-toggle{ background: var(--orange); }
.pg-float-help .pg-float-toggle{ background: var(--gray-5); }

.pg-float-toggle{ transition: transform .2s ease; }
.pg-float-tel{ transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
@media (hover: hover){
	.pg-float-toggle:hover{ transform: scale(1.1); }
	.pg-float-tel:hover{
		background: var(--white);
		color: var(--blue-3);
		box-shadow: inset 0 0 0 2px currentColor;
	}
}

.pg-float-panel{
	position: absolute;
	right: 0;
	bottom: calc(100% + var(--space-12));
	width: 300px;
	max-width: calc(100vw - var(--space-40));
	padding: var(--space-32) var(--space-24);
	background: var(--white);
	border-radius: var(--space-8);
	box-shadow: 2px 2px 13px color-mix(in srgb, var(--black) 14%, transparent);
	opacity: 0;
	visibility: hidden;
	transform: translateY(var(--space-10));
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.pg-float-item.open .pg-float-panel{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pg-float-close{
	position: absolute;
	top: var(--space-8);
	right: var(--space-8);
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--space-24);
	height: var(--space-24);
	border: 0;
	border-radius: 50%;
	background: var(--gray-5);
	color: var(--white);
	cursor: pointer;
}
.pg-float-close svg{ width: 12px; height: 12px; }

.pg-float-panel-icon{
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--space-48);
	height: var(--space-48);
	margin: 0 auto var(--space-16);
	border-radius: 50%;
	color: var(--white);
}
.pg-float-panel-icon svg{ width: var(--space-24); height: var(--space-24); }
.pg-float-panel-icon .q{ font-size: var(--fz-24); font-weight: 700; line-height: 1; }
.pg-float-cta .pg-float-panel-icon{ background: var(--orange); }
.pg-float-help .pg-float-panel-icon{ background: var(--gray-5); }

.pg-float-panel-title{
	color: var(--blue-5);
	font-size: var(--fz-18);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}

.pg-float-panel-text{
	margin-top: var(--space-8);
	color: var(--gray-5);
	font-size: var(--fz-14);
	line-height: 1.7;
	text-align: center;
}

.pg-float-actions{
	display: flex;
	flex-direction: column;
	gap: var(--space-12);
	margin-top: var(--space-24);
}

.pg-float-links{ margin-top: var(--space-16); }
.pg-float-links a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-16);
	padding: var(--space-16) 0;
	border-bottom: 1px solid var(--gray-2);
	color: var(--black);
	font-size: var(--fz-15);
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: .2s ease;
}
.pg-float-links a:last-child{ border-bottom: 0; }
.pg-float-links a::after{
	content: '';
	flex-shrink: 0;
	width: var(--space-24);
	aspect-ratio: 1 / 1;
	background: url(../img/icon-arrow-circle-blue.svg) no-repeat center / cover;
	transition: .2s ease;
}

@media (hover: hover){
	.pg-float-links a:hover{ color: var(--blue-3); }
	.pg-float-links a:hover::after{ transform: translateX(10%);}
}

.pg-float-bar{ display: none; }

@media (max-width: 768px){
	.pg-float{ display: none; }
	.pg-float-bar{
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
	}
	.pg-float-bar a{
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: var(--space-8);
		padding: var(--space-16);
		color: var(--white);
		font-size: var(--fz-14);
		font-weight: 700;
		line-height: 1.5;
		text-decoration: none;
	}
	.pg-float-bar .doc{ background: var(--blue-3); }
	.pg-float-bar .estimate{ background: var(--orange); }
}

/* pg-float 電話ボタン */
.pg-float-tel{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-16);
	background: var(--blue-3);
	color: var(--white);
	text-decoration: none;
}
.pg-float-tel-num{
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	font-family: var(--font-family-en);
	font-size: var(--fz-20);
	font-weight: 700;
	line-height: 1;
}
.pg-float-tel-num svg{ width: var(--space-20); height: var(--space-20); }
.pg-float-tel-hours{ font-size: var(--fz-13); line-height: 1.5; }

.pg-float-bar .tel{ background: var(--blue-3); }
.pg-float-bar a svg{ width: 16px; height: 16px; flex-shrink: 0; }

/* low-header-pr */
.low-header-pr{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-16);
	margin-top: var(--space-16);
}
.low-header-pr span{
	padding: var(--space-4) var(--space-8);
	background-color: var(--white);
	color: var(--blue-4);
	font-weight: 700;
}