@charset "UTF-8";

/* #price-compare (plan-compare table) */
#price-compare {
	text-align: center;
	background: var(--col-white);
	padding-bottom: 0;
	& .plan-compare__table-outer {
		max-width: var(--wrap-width);
		margin: 0 auto;
		overflow-x: auto;
	}
	& .plan-compare__table {
		min-width: 960px;
	}
	& .plan-compare__corner {
		background: var(--col-white);
		width: 375px;
	}
	& .plan-compare__head {
		width: 210px;
		padding: 0 12px 20px;
		background: var(--col-white);
		border-width: 2px;
	}
	& .compare-table thead th {
		padding-top: 0;
		background: none;
	}
	/* thead 追従クローン（JS: price.js。position:fixed で表示、本体は不動） */
	& .plan-compare__sticky {
		position: fixed;
		z-index: 20;
		overflow: hidden;
		background: var(--col-white);
		border-left: 1px solid transparent;
		pointer-events: none;
	}
	/* 追従中もボタンは押せるようにする（それ以外はクリックを下へ通す） */
	& .plan-compare__sticky a {
		pointer-events: auto;
	}
	& .plan-compare__sticky > div {
		overflow: hidden;
	}
	& .plan-compare__sticky .plan-compare__table {
		margin: 0;
		border-collapse: separate;
		border-spacing: 0;
		& th {
			border-left: none;
		}
		& .plan-compare__head--starter {
			border-left: 2px solid var(--col-teal);
		}
	}
	& .plan-compare__sticky .plan-compare__note {
		display: none;
	}
	& .plan-compare__head--starter {
		border-color: var(--col-teal);
	}
	& .plan-compare__head--basic,
	& .plan-compare__head--advance {
		border-color: var(--col-primary);
	}
	& .plan-compare__head-top {
		position: relative;
		margin: 0 -12px;
		padding: 18px 12px;
	}
	& .plan-compare__head--starter .plan-compare__head-top {
		background: var(--col-teal);
	}
	& .plan-compare__head--basic .plan-compare__head-top,
	& .plan-compare__head--advance .plan-compare__head-top {
		background: #edf9f3;
	}
	& .plan-compare__badge {
		position: absolute;
		top: 0;
		right: 0;
		transform: none;
		display: inline-flex;
		align-items: center;
		padding: 5px 10px;
		font-size: 9px;
		border-radius: 0;
	}
	& .plan-compare__name {
		font-size: 20px;
		font-weight: 700;
		letter-spacing: .04em;
		color: var(--col-white);
	}
	& .plan-compare__head--basic .plan-compare__name,
	& .plan-compare__head--advance .plan-compare__name {
		color: var(--col-primary);
	}
	& .plan-compare__tagline {
		font-size: 13px;
		font-weight: normal;
		color: var(--col-white);
		margin-top: 6px;
	}
	& .plan-compare__head--basic .plan-compare__tagline,
	& .plan-compare__head--advance .plan-compare__tagline {
		color: var(--col-primary);
	}
	& .plan-compare__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-top: 14px;
		font-size: 14px;
	}
	& .btn-outline,
	& .btn-primary {
		width: 100%;
		height: 34px;
	}
	& .plan-compare__note {
		font-size: 13px;
		font-weight: normal;
		color: var(--col-text);
		margin-top: 10px;
	}
	& .plan-compare__cat {
		width: 140px;
		font-size: 16px;
		font-weight: 700;
		color: var(--col-text);
		line-height: 1.5;
		text-align: center;
		border-right: 1px solid var(--col-border) !important;
	}
	& .plan-compare__cat--alt {
		background: #fdfffe;
	}
	& .plan-compare__row-label {
		width: 235px;
		padding: 16px 20px;
		font-size: 14px;
		font-weight: normal;
		color: var(--col-text);
		letter-spacing: .04em;
		text-align: left;
	}
	& .plan-compare__row-label--alt {
		background: #fdfffe;
	}
	& .plan-compare__num {
		font-size: 20px;
		font-weight: 700;
	}
	& .plan-compare__check {
		width: 19px;
		height: auto;
	}
	& .plan-compare__sub {
		display: block;
		font-size: 11px;
		margin-top: 4px;
	}
	& .bg-green {
		background: #efffff;
	}
}

@media screen and (max-width: 640px) {
	#price-compare {
		padding: 30px 0;
		padding-bottom: 0;
		& .plan-compare__cat {
			width: 80px;
			font-size: 14px;
			padding-left: 0;
			padding-right: 0;
		}
		& .plan-compare__row-label {
			width: 120px;
			padding: 18px 10px;
			font-size: 13px;
		}
		& .plan-compare__table {
			min-width: 740px;
		}
		& .plan-compare__name {
			font-size: 17px;
		}
		& .plan-compare__tagline {
			font-size: 12px;
		}
		& .plan-compare__btn {
			font-size: 13px;
		}
		& .plan-compare__note {
			font-size: 12px;
		}
		& .plan-compare__num {
			font-size: 18px;
		}
	}
}

/* #price-table (契約期間×プラン単価) */
#price-table {
	text-align: center;
	background: var(--col-white);
	& .price-table__ttl {
		text-align: center;
		line-height: 1.4;
	}
	& .price-table__foot {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 20px;
		max-width: var(--wrap-width);
		margin: 20px auto 0;
	}
	& .price-table__taxnote {
		flex: 0 0 auto;
		font-size: 14px;
		color: var(--col-text);
		white-space: nowrap;
	}
	& .price-table__free {
		display: flex;
		align-items: center;
		gap: 20px;
		max-width: var(--wrap-width);
		margin: 32px auto 24px;
	}
	& .price-table__free-line {
		flex: 1 1 auto;
		height: 1px;
		background: var(--col-teal);
	}
	& .price-table__free-ttl {
		flex: 0 0 auto;
		font-size: 28px;
		font-weight: 700;
		color: var(--col-primary);
		letter-spacing: .04em;
		white-space: nowrap;
	}
	& .price-table__outer {
		max-width: var(--wrap-width);
		margin: 8px auto 0;
		overflow-x: auto;
	}
	& .price-table__table {
		min-width: 960px;
	}
	& .price-table__th {
		width: 210px;
	}
	& .price-table__row-label {
		width: 140px;
		background: #fcfffd;
		font-size: 17px;
		font-weight: 700;
		color: var(--col-text);
		text-align: center;
		border-right: 1px solid var(--col-border);
	}
	& .price-table__period {
		width: 235px;
		font-size: 14px;
		color: var(--col-text);
	}
	& .price-table__num {
		color: #ff5874;
	}
	& .price-table__notes {
		text-align: left;
		font-size: 11px;
		color: var(--col-text);
		line-height: 18px;
	}
}

@media screen and (max-width: 640px) {
	#price-table {
		padding: 60px 0;
		& .price-table__foot {
			flex-wrap: wrap;
			flex-direction: column-reverse;
			gap: 14px;
		}
		& .price-table__taxnote {
			width: 100%;
			text-align: right;
			font-size: 13px;
		}
		& .price-table__free-ttl {
			font-size: 20px;
		}
		& .price-table__table {
			min-width: 740px;
		}
		& .price-table__row-label {
			font-size: 15px;
		}
		& .price-table__period {
			font-size: 13px;
		}
	}
}

/* #domain-free (対象ドメイン10種+適用条件) */
#domain-free {
	text-align: center;
	background: #e9f8ef;
	& .domain-free__ttl {
		line-height: 1.5;
	}
	& .domain-free__ttl-accent {
		color: var(--col-primary);
	}
	& .domain-free__sub-ttl {
		font-size: 28px;
		font-weight: 700;
		color: var(--col-text);
		margin-top: 40px;
		margin-bottom: 30px;
	}
	& .domain-free__sub-ttl-accent {
		color: var(--col-accent);
	}
	& .domain-free__list {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 28px 16px;
		max-width: var(--wrap-width);
		margin: 0 auto;
	}
	& .domain-free__item {
		position: relative;
		background: var(--col-white);
		border: 1px solid var(--col-border);
		border-radius: 12px;
		padding: 22px 12px;
		&:has(.domain-free__badge) {
			border-color: var(--col-primary);
		}
	}
	& .domain-free__badge {
		position: absolute;
		top: -13px;
		left: 50%;
		transform: translateX(-50%);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 94px;
		height: 26px;
		padding: 0 12px;
		font-size: 14px;
		font-weight: 700;
		color: var(--col-white);
		background: var(--col-primary);
		border-radius: 999px;
		white-space: nowrap;
	}
	& .domain-free__ext {
		font-size: 24px;
		font-weight: 700;
		color: var(--col-primary);
		letter-spacing: .04em;
	}
	& .domain-free__desc {
		font-size: 13px;
		color: var(--col-text);
		margin-top: 0;
	}
	& .domain-free__condition {
		display: flex;
		align-items: center;
		gap: 60px;
		max-width: var(--wrap-width);
		margin: 32px auto 0;
		padding: 28px 40px;
		text-align: left;
	}
	& .domain-free__condition-ttl {
		flex: 0 0 auto;
		padding-left: 20px;
		font-size: 20px;
		font-weight: 700;
		color: var(--col-text);
	}
	& .domain-free__condition-list {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding-left: 60px;
		border-left: #cedbeb 1px solid;
	}
	& .domain-free__condition-row {
		display: flex;
		align-items: center;
		gap: 20px;
		& dt {
			display: flex;
			align-items: center;
			gap: 16px;
			flex: 0 0 120px;
			font-size: 16px;
			font-weight: 700;
			color: var(--col-primary);
		}
		& dd {
			font-size: 14px;
			color: var(--col-text);
		}
	}
	& .domain-free__condition-icon {
		width: 20px;
		height: 20px;
		flex: none;
	}
}

@media screen and (max-width: 1024px) {
	#domain-free {
		& .domain-free__list {
			grid-template-columns: repeat(3, 1fr);
		}
		& .domain-free__sub-ttl {
			font-size: 24px;
		}
	}
}
@media screen and (max-width: 640px) {
	#domain-free {
		padding: 60px 0;
		& .domain-free__list {
			grid-template-columns: repeat(2, 1fr);
      gap: 18px 12px;
		}
    & .domain-free__item {
      padding: 17px 12px;
    }
		& .domain-free__sub-ttl {
			font-size: 20px;
		}
		& .domain-free__badge {
			font-size: 11px;
      width: 80px;
		}
    & .domain-free__desc {
      font-size: 12px;
      margin-top: 2px;
    }
		& .domain-free__ext {
			font-size: 20px;
		}
		& .domain-free__condition {
			flex-direction: column;
			align-items: flex-start;
			gap: 16px;
			padding: 24px;
		}
		& .domain-free__condition-ttl {
			padding-left: 0;
			font-size: 17px;
		}
		& .domain-free__condition-list {
			padding-left: 0;
			border-left: none;
		}
		& .domain-free__condition-row {
			flex-direction: column;
			align-items: flex-start;
			gap: 4px;
			padding-bottom: 10px;
			border-bottom: #d9d9d9 1px solid;
			& dt {
				flex: 0 0 auto;
				font-size: 14px;
			}
			&:last-child {
				padding-bottom: 0;
				border-bottom: none;
			}
		}
	}
}

/* #payment (支払い方法) */
#payment {
	text-align: center;
	background: var(--col-white);
	& .payment__ttl {
		line-height: 1.4;
	}
	& .payment__list {
		max-width: 718px;
		margin: 40px auto 0;
		border-top: 1px solid var(--col-teal);
	}
	& .payment__row {
		display: flex;
		align-items: center;
		gap: 40px;
		padding: 24px 0;
		border-bottom: 1px solid var(--col-teal);
		text-align: left;
	}
	& .payment__info {
		flex: 0 0 300px;
	}
	& .payment__name {
		font-size: 18px;
		font-weight: 700;
		color: var(--col-primary);
	}
	& .payment__desc {
		font-size: 13px;
		color: var(--col-text);
		line-height: 1.6;
		margin-top: 14px;
	}
	& .payment__logos-col {
		flex: 0 0 auto;
	}
	& .payment__logos {
		display: flex;
		align-items: center;
		gap: 10px;
		& img {
			height: 30px;
			width: auto;
		}
	}
	& .payment__note {
		font-size: 13px;
		margin-top: 10px;
	}
}

@media screen and (max-width: 640px) {
	#payment {
		padding: 60px 0;
		& .payment__row {
			flex-direction: column;
			align-items: flex-start;
			gap: 12px;
		}
		& .payment__info {
			flex: 0 0 auto;
		}
		& .payment__name {
			font-size: 16px;
		}
		& .payment__logos {
			flex-wrap: wrap;
      & img {
        height: 26px;
      }
		}
	}
}

/* #options (有料オプション) */
#options {
	text-align: center;
	background: #f7fbfc;
	& .options__ttl {
		line-height: 1.5;
		margin-bottom: 40px;
	}
	& .options__group-ttl {
		font-size: 28px;
		font-weight: 700;
		color: var(--col-text);
		margin-bottom: 8px;
		&:not(:first-of-type) {
			margin-top: 56px;
		}
	}
	& .options__group-note {
		display: block;
		font-size: 16px;
		font-weight: normal;
		color: var(--col-text);
		margin-top: 6px;
	}
	& .options__list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(10, auto);
		column-gap: 16px;
		row-gap: 0;
		max-width: var(--wrap-width);
		margin: 24px auto 0;
		text-align: left;
	}
	& .options__list--3col {
		grid-template-columns: repeat(3, 1fr);
	}
	& .options__card {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 2;
	}
	& .options__card-box {
		display: flex;
		flex-direction: column;
		background: var(--col-white);
		border: 1px solid var(--col-border);
		border-radius: var(--radius-lg);
		box-shadow: 0 6px 16px rgba(23, 67, 77, .06);
		overflow: hidden;
	}
	& .options__card-hd {
		display: flex;
		flex: none;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 84px;
		padding: 10px 20px;
		background: var(--col-teal);
		color: var(--col-white);
		font-size: 20px;
		font-weight: 700;
		text-align: center;
	}
	& .options__card-hd-sub {
		display: block;
		margin-top: 0;
		font-size: 13px;
		font-weight: normal;
	}
	& .options__card-price {
		padding: 10px 20px 0;
		text-align: center;
		font-size: 15px;
		color: var(--col-text);
	}
	& .options__card-num {
		font-size: 28px;
		font-weight: 700;
		color: var(--col-accent);
	}
	& .options__card-divider {
		display: block;
		height: 1px;
		margin: 14px 20px 0;
		background: var(--col-border);
	}
	& .options__card-desc {
		flex: 1 1 auto;
		padding: 18px 20px 0;
		font-size: 13px;
		color: var(--col-text);
		line-height: 1.7;
		&:last-child {
			padding-bottom: 20px;
		}
	}
	& .options__card-link {
		display: block;
    width: 100%;
		max-width: 200px;
		margin: 16px auto 20px;
		padding: 9px 0;
		border: 1px solid var(--col-logo-green);
		border-radius: 999px;
		background: var(--col-white);
		color: var(--col-logo-green);
		font-size: 13px;
		font-weight: 700;
		text-align: center;
		transition: color .2s ease, background .2s ease;
		&:hover {
			color: var(--col-white);
			background: var(--col-logo-green);
		}
	}
	& .options__card-note {
		padding: 8px 0 0;
		font-size: 12px;
		color: var(--col-text);
	}
	& .options__footnotes {
		max-width: var(--wrap-width);
		margin: 32px auto 0;
		text-align: left;
		font-size: 13px;
		color: var(--col-text);
		line-height: 20px;
		& li {
			position: relative;
			padding-left: 1.5em;
			&::before {
				content: "※";
				position: absolute;
				left: 0;
			}
		}
	}
	& .options__footnote-link {
		color: var(--col-primary);
		text-decoration: underline;
	}
}

@media screen and (min-width: 1025px) {
	#options {
		& .options__card-box {
			align-self: stretch;
		}
		& .options__card-hd {
			height: 90px;
		}
		& .options__card-divider {
			margin-top: 10px;
		}
		& .options__card-desc {
			padding-top: 16px;
			min-height: 80px;
		}
	}
}
@media screen and (max-width: 1024px) {
	#options {
		& .options__list,
		& .options__list--3col {
			grid-template-columns: repeat(2, 1fr);
		}
		& .options__group-ttl {
			font-size: 24px;
		}
	}
}
@media screen and (max-width: 640px) {
	#options {
		padding: 60px 0;
		& .options__list,
		& .options__list--3col {
			grid-template-columns: 1fr;
		}
		& .options__group-ttl {
			font-size: 20px;
		}
		& .options__group-note {
			font-size: 14px;
		}
		& .options__card-hd {
			height: auto;
			font-size: 17px;
		}
		& .options__card-num {
			font-size: 22px;
		}
	}
}

/* #simulation (料金シミュレーション・お見積り) */
#simulation {
	text-align: center;
	background: #e9f8ef;
	& .simulation__ttl {
		line-height: 1.4;
	}
	& .simulation__label {
		max-width: var(--wrap-width);
		margin: 32px auto 20px;
		text-align: left;
		font-size: 20px;
		font-weight: 700;
		color: var(--col-primary);
	}
	& .simulation__plans,
	& .simulation__periods {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
		max-width: var(--wrap-width);
		margin: 0 auto;
	}
	& .simulation__periods {
		/* 列数は conf/lib/business_price.php の selectable_months の件数と揃える。
		   2026-09-25 に1ヶ月を足して 5 → 6 にした（COLWWW-89・石崎さんの判断）。
		   ここはメディアクエリの外の既定。狭い幅は下の max-width: 1024px / 640px が列数だけを上書きする */
		grid-template-columns: repeat(6, 1fr);
	}
	& .simulation__plan-btn,
	& .simulation__period-btn {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		padding: 12px;
		background: var(--col-white);
		border: 1px solid var(--col-border);
		border-radius: 0;
		font-weight: 700;
		color: var(--col-text);
		cursor: pointer;
		transition: border-color .2s ease, background .2s ease;
		& input {
			position: absolute;
			opacity: 0;
			pointer-events: none;
		}
		&:has(input:checked) {
			background: var(--mv-green, #d4f5e0);
			border-color: var(--col-primary);
			color: var(--col-primary);
		}
	}
	& .simulation__plan-btn {
		flex-direction: row;
		height: 50px;
		gap: 8px;
	}
	& .simulation__plan-name {
		font-size: 18px;
	}
	& .simulation__period-btn {
		align-items: flex-start;
		/* 6列にすると 1025〜1065px で月額が折り返す（アドバンスの5桁）。固定だと箱の外へ出るので下限にする。
		   2026-09-25・COLWWW-89（石崎さんの判断） */
		min-height: 83px;
	}
	& .simulation__period-row {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 8px;
	}
	& .simulation__radio {
		flex: 0 0 auto;
		display: inline-block;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		background: var(--col-white);
		border: 1px solid #4d4d4d;
		position: relative;
	}
	& input:checked ~ .simulation__radio,
	& input:checked ~ .simulation__period-row .simulation__radio {
		&::after {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			width: 10px;
			height: 10px;
			border-radius: 50%;
			background: #4d4d4d;
			transform: translate(-50%, -50%);
		}
	}
	& .simulation__period-price {
		padding-left: 24px;
		font-size: 14px;
		font-weight: normal;
		color: var(--col-text);
	}
	& .simulation__result {
		max-width: var(--wrap-width);
		margin: 40px auto 0;
		padding: 0;
		text-align: left;
		overflow: hidden;
		border-color: var(--col-border);
		box-shadow: 0 6px 16px rgba(23, 67, 77, .06);
	}
	& .simulation__result-hd {
		padding: 16px 24px;
		background: var(--col-teal);
		color: var(--col-white);
		font-size: 24px;
		font-weight: 700;
		text-align: center;
	}
	& .simulation__result-body {
		max-width: 800px;
		margin: 0 auto;
		padding: 24px 0 40px;
	}
	& .simulation__result-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--col-border);
	}
	& .simulation__result-row--initial {
		padding-top: 16px;
		border-bottom: none;
		& .simulation__result-label {
			color: var(--col-text);
		}
	}
	& .simulation__result-row-hd {
		display: flex;
		gap: 12px;
	}
	& .simulation__result-tag {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		height: 24px;
		padding: 0 10px;
		font-size: 12px;
		font-weight: 700;
		color: var(--col-white);
		background: var(--col-primary);
		border-radius: 0;
	}
	& .simulation__result-label {
		font-size: 18px;
		font-weight: 700;
		color: var(--col-primary);
	}
	& .simulation__result-sub {
		font-size: 13px;
		color: var(--col-text);
		margin-top: 4px;
	}
	& .simulation__result-price {
		font-size: 26px;
		font-weight: 700;
		color: var(--col-text);
		white-space: nowrap;
	}
	& .simulation__result-unit {
		font-size: 16px;
	}
	& .simulation__result-quote {
		margin-top: 20px;
		padding: 36px 56px;
		background: #f5f5f5;
		border-radius: 0;
	}
	& .simulation__result-quote-row {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 24px;
		flex-wrap: wrap;
	}
	& .simulation__result-quote-lead {
		flex: 1 1 auto;
		font-size: 16px;
		color: var(--col-text);
		line-height: 1.7;
	}
	& .simulation__result-form {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 10px;
		flex: 0 0 auto;
	}
	& .simulation__result-fields {
		display: flex;
		gap: 8px;
	}
	& .simulation__result-input {
		width: 169px;
		height: 30px;
		padding: 0 14px;
		border: 1px solid var(--col-border);
		border-radius: 0;
		font-size: 13px;
		outline: none;
	}
	& .simulation__result-select {
		width: 77px;
		height: 30px;
		padding: 0 16px 0 10px;
		border: 1px solid var(--col-border);
		border-radius: 0;
		font-size: 13px;
	}
	& .simulation__result-submit {
		width: 254px;
		height: 36px !important;
		padding: 0 20px;
		font-size: 13px;
	}
	& .simulation__result-note {
		margin-top: 20px;
		font-size: 13px;
		color: var(--col-text);
		line-height: 1.8;
	}
	& .simulation__cta {
		display: flex;
		justify-content: center;
		margin-top: 32px;
	}
	& .simulation__cta-btn {
		width: 390px;
		max-width: 100%;
		height: 56px;
		font-size: 20px;
	}
}

@media screen and (max-width: 1024px) {
	#simulation {
		& .simulation__periods {
			grid-template-columns: repeat(3, 1fr);
		}
		& .simulation__result-body {
			padding-left: 20px;
			padding-right: 20px;
		}
		& .simulation__result-quote {
			padding-left: 20px;
			padding-right: 20px;
		}
	}
}
@media screen and (max-width: 640px) {
	#simulation {
		padding: 60px 0;
		& .simulation__plans {
			grid-template-columns: 1fr;
		}
		& .simulation__plan-name {
			font-size: 16px;
		}
		& .simulation__periods {
			grid-template-columns: 1fr;
		}
		& .simulation__period-btn {
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			height: auto;
			/* 既定を height から min-height に変えたので、height: auto だけでは戻らない。
			   これが無いと縦1列のスマホでボタンが 83px のままになる（実測 52.4 → 83px）。
			   2026-09-25・COLWWW-89（受付の差し戻し） */
			min-height: auto;
		}
		& .simulation__period-price {
			padding-left: 0;
			margin-left: auto;
			text-align: right;
		}
		& .simulation__label {
			font-size: 17px;
		}
		& .simulation__result-body {
			padding-left: 20px;
			padding-right: 20px;
		}
		& .simulation__result-row {
			flex-direction: column;
			align-items: flex-start;
			gap: 8px;
		}
		& .simulation__result-row--initial {
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			& .simulation__result-price {
				width: auto;
			}
		}
		& .simulation__result-hd {
			padding-top: 12px;
			padding-bottom: 12px;
			font-size: 18px;
		}
		& .simulation__result-row-hd {
			flex-wrap: wrap;
			gap: 10px;
		}
		& .simulation__result-label {
			font-size: 16px;
		}
		& .simulation__result-price {
			width: 100%;
			text-align: right;
			font-size: 22px;
		}
		& .simulation__result-unit {
			font-size: 14px;
		}
		& .simulation__result-quote {
			padding: 24px 16px;
		}
		& .simulation__result-quote-lead {
			width: 100%;
			text-align: center;
			font-size: 14px;
		}
		& .simulation__result-quote-row {
			flex-direction: column;
		}
		& .simulation__result-form {
			width: 100%;
			align-items: stretch;
		}
		& .simulation__result-input {
			width: auto;
			flex: 1 1 auto;
      height: 40px;
		}
    & .simulation__result-select {
      height: 40px;
    }
		& .simulation__result-submit {
			width: 100%;
		}
		& .simulation__cta-btn {
			font-size: 17px;
		}
	}
}
