@charset "UTF-8";
.service-phone-group {
  display: block;
  line-height: 1.4;
}

.service-phone-entry {
  display: inline-block;
  vertical-align: top;
  line-height: 1.4;
}

.service-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  white-space: nowrap;
  vertical-align: middle;
}

a.service-phone-link img.service-phone-icon {
  display: inline-block;
  width: 1.8em;
  height: auto;
  margin: 0;
  flex-shrink: 0;
}

.service-phone-note {
  display: block;
  margin: 0;
  line-height: 1.4;
  color: #000;
  font-size: 0.8em;
  font-weight: 400;
}

.service-page a[href^="tel:"],
.service-shop-single a[href^="tel:"],
.service-shop-section a[href^="tel:"] {
  text-decoration: none;
}

/* Emergency contact */
.emergency-contact-page .emergency-contact-primary,
.emergency-contact-page .emergency-contact-reason {
  width: min(100%, 1120px);
  margin: 0 auto 4rem;
}
.emergency-contact-page .emergency-contact-primary > h2,
.emergency-contact-page .emergency-contact-reason > h2 {
  margin: 0;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid #009b84;
}
.emergency-contact-page .emergency-contact-primary > p {
  margin: 1rem 0 1.5rem;
}
.emergency-contact-page .emergency-contact-phone-list {
  width: 100%;
  max-width: none;
  margin: 0;
}
.emergency-contact-page .emergency-contact-availability {
  margin: 2.25rem 0 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  color: #333;
  font-size: var(--lower-section-heading-text) !important;
  font-weight: 600 !important;
  line-height: 1.6;
  text-align: center;
}
.emergency-contact-page .emergency-contact-availability span {
  display: inline-block;
}
.emergency-contact-page .emergency-contact-reason > p {
  margin: 1.25rem 0;
}
.emergency-contact-page .emergency-contact-reason > p span {
  display: inline-block;
}
.emergency-contact-page .emergency-contact-reason > h3 {
  margin: 2rem 0 1rem;
}
.emergency-contact-page .emergency-contact-reason > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  margin: 0 0 1.5rem;
  padding: 1.25rem;
  background: #f4f4f4;
  list-style: none;
}
.emergency-contact-page .emergency-contact-reason li {
  min-height: 3.25rem;
  padding: 0.75rem 1rem;
  border-radius: 4px;
  background: #fff;
}
.emergency-contact-page .emergency-contact-recover-button {
  display: inline-block;
  width: min(100%, 22rem);
  padding: 0.85rem 1.5rem;
  border-radius: 999px;
  background: #d9232e;
  color: #fff !important;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
}
.emergency-contact-page .emergency-contact-recover-button:hover {
  background: #b91d27;
}

.corrosion-page .corrosion-example > h2 {
  margin-bottom: 1.4rem;
}

.corrosion-page .corrosion-progress-figure {
  width: min(100%, 800px);
  margin: 0 auto 1.8rem;
}

.corrosion-page .corrosion-progress-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.corrosion-page .corrosion-case {
  display: grid;
  grid-template-columns: minmax(0, 44%) minmax(0, 56%);
  align-items: center;
  width: min(100%, 800px);
  margin-inline: auto;
  border: 1px solid #d5d5d5;
  background: #fff;
}

.corrosion-page .corrosion-case figure {
  padding: 1rem;
}

.corrosion-page .corrosion-case figure img {
  display: block;
  width: 100%;
  height: auto;
}

.corrosion-page .corrosion-case-text {
  padding: 1.3rem 1.5rem 1.3rem 0.5rem;
}

.corrosion-page .corrosion-case-text h3 {
  margin-bottom: 0.75rem;
  color: #009983;
  font-size: 1rem;
}

.corrosion-page .corrosion-case-text dl {
  margin-bottom: 0.8rem;
}

.corrosion-page .corrosion-case-text dl > div {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  padding: 0.4rem 0;
  border-bottom: 1px solid #d7d7d7;
}

.corrosion-page .corrosion-case-text dt {
  font-weight: 700;
}

.corrosion-page .corrosion-case-text p {
  font-size: 0.86rem;
  line-height: 1.7;
}

.corrosion-page .corrosion-replacement {
  text-align: center;
}

.corrosion-page .corrosion-replacement > h2 {
  margin-bottom: 1.4rem;
  font-size: clamp(1.2rem, 2.3vw, 1.55rem);
  line-height: 1.5;
}

.corrosion-page .corrosion-caution {
  position: relative;
  width: min(100%, 390px);
  margin: 0 auto 2rem;
  padding: 0.8rem 1rem;
  background: #f39800;
  color: #fff;
  font-weight: 700;
}

.corrosion-page .corrosion-caution::after {
  position: absolute;
  top: 100%;
  left: 50%;
  border: 0.7rem solid transparent;
  border-top-color: #f39800;
  content: "";
  transform: translateX(-50%);
}

.corrosion-page .corrosion-pipe-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  text-align: left;
}

.corrosion-page .corrosion-pipe-card {
  border: 1px solid #d5d5d5;
  background: #fff;
}

.corrosion-page .corrosion-pipe-card h3 {
  margin: 0;
  padding: 0.8rem 0.5rem;
  background: #eaf6f3;
  color: #222;
  font-size: 0.95rem;
  text-align: center;
}

.corrosion-page .corrosion-pipe-card figure {
  display: flex;
  align-items: center;
  min-height: 105px;
  padding: 0.9rem 0.65rem;
  border-bottom: 1px solid #e0e0e0;
}

.corrosion-page .corrosion-pipe-card figure img {
  display: block;
  width: 100%;
  height: auto;
}

.corrosion-page .corrosion-pipe-card ul {
  margin: 0;
  padding: 1rem 1.2rem 1.1rem;
  list-style: none;
  font-size: 0.86rem;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .corrosion-page .corrosion-progress-figure {
    margin-bottom: 1.2rem;
  }
  .corrosion-page .corrosion-case {
    grid-template-columns: 1fr;
  }
  .corrosion-page .corrosion-case figure {
    padding: 0.8rem;
  }
  .corrosion-page .corrosion-case-text {
    padding: 0.5rem 1rem 1.2rem;
  }
  .corrosion-page .corrosion-pipe-grid {
    grid-template-columns: 1fr;
  }
  .corrosion-page .corrosion-pipe-card figure {
    min-height: 0;
  }
}
/* マイ大多喜ガス */
.sotsu-fit-page {
  width: 100%;
  margin: 0 auto;
  padding: 3.75rem 0 5rem;
  background: transparent;
  color: #222;
  font-size: 1rem;
  line-height: 1.85;
}
.sotsu-fit-page > h1 {
  position: relative;
  margin: 0 0 5rem;
  padding: 2rem 4% 1.4rem;
  border-bottom: 2px solid #eef7f7;
  background: #fff;
  font-size: 1.6rem;
  text-align: center;
}
.sotsu-fit-page > h1::after {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 38%;
  width: 24%;
  height: 4px;
  background: #13a49e;
}

.sotsu-fit-cover {
  display: block;
  width: min(92%, 1040px);
  height: auto;
  margin: 0 auto 5rem;
}

.sotsu-fit-section {
  width: min(92%, 1040px);
  margin: 0 auto 5rem;
}
.sotsu-fit-section > h2 {
  margin-bottom: 1.8rem;
  padding-bottom: 0.4rem;
  border-bottom: 4px solid #13a49e;
  font-size: 1.4rem;
  text-align: center;
}
.sotsu-fit-section > h2 span {
  display: inline-block;
}
.sotsu-fit-section > p + p {
  margin-top: 1rem;
}

.sotsu-fit-table-wrap {
  margin-top: 1.75rem;
  overflow-x: auto;
}

.sotsu-fit-table-wrap table {
  width: 100%;
  min-width: 650px;
  border-collapse: collapse;
}

.sotsu-fit-table-wrap th,
.sotsu-fit-table-wrap td {
  padding: 0.85rem 1rem;
  border: 1px solid #bbb;
}

.sotsu-fit-table-wrap th {
  border-color: #097e79;
  background: #eef7f7;
  color: #222;
  text-align: center;
}

.sotsu-fit-table-wrap td {
  border-color: #097e79;
  background: #fff;
}

.sotsu-fit-table-wrap td:nth-child(2) {
  text-align: right;
  white-space: nowrap;
}

.sotsu-fit-note {
  margin-top: 0.75rem;
  font-size: 0.85rem;
}

.sotsu-fit-simulation {
  padding: 4%;
  border: 2px solid #13a49e;
  border-radius: 16px;
  text-align: center;
}

.sotsu-fit-simulation img {
  display: block;
  width: min(100%, 860px);
  margin: 0 auto;
}

.sotsu-fit-account {
  width: min(92%, 1040px);
  margin: 0 auto 5rem;
  padding: 3.75rem 4%;
  background: #eef7f7;
  text-align: center;
}

.sotsu-fit-account p span,
.sotsu-fit-apply p span {
  display: inline-block;
}

.sotsu-fit-account > a,
.sotsu-fit-apply > a {
  display: block;
  width: min(100%, 650px);
  margin: 1rem auto;
  padding: 0.85rem 1rem;
  border-radius: 7px;
  background: #009983;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.sotsu-fit-account small {
  display: block;
}

.sotsu-fit-account .sotsu-fit-faq {
  margin-top: 2rem;
  background: #fff;
  box-shadow: inset 0 0 0 1px #009983;
  color: #007d6b;
}

.sotsu-fit-apply {
  width: min(92%, 1040px);
  margin: 0 auto;
  padding: 3rem 4%;
  border: 1px solid #ddd;
  background: #fff;
  text-align: center;
}

.sotsu-fit-apply > h2 {
  margin-bottom: 1.5rem;
  font-size: 1.6rem;
}

.sotsu-fit-apply .sotsu-fit-terms {
  background: #fff;
  box-shadow: inset 0 0 0 1px #009983;
  color: #007d6b;
}

.sotsu-fit-apply .sotsu-fit-web {
  margin-top: 2rem;
}

.sotsu-fit-support {
  margin-top: 2rem;
}

.sotsu-fit-support strong,
.sotsu-fit-support a {
  display: block;
}

.sotsu-fit-support a {
  margin-top: 0.4rem;
  color: #007d6b;
  font-size: 1.5rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .sotsu-fit-page {
    width: 100%;
    padding: 1.25rem 0 3.75rem;
    font-size: 0.92rem;
  }
  .sotsu-fit-page > h1 {
    margin-bottom: 2.5rem;
    padding: 2rem 4% 1.2rem;
    font-size: 1.2rem;
  }
  .sotsu-fit-cover {
    margin-bottom: 2.5rem;
  }
  .sotsu-fit-section {
    margin-bottom: 3rem;
  }
  .sotsu-fit-simulation,
  .sotsu-fit-account,
  .sotsu-fit-apply {
    padding: 1.25rem;
  }
  .sotsu-fit-table-wrap th,
  .sotsu-fit-table-wrap td {
    padding: 0.65rem;
  }
}
/* サービスショップ個別ページ */
.service-shop-article {
  display: grid;
  gap: 28px;
}

.service-shop-single .gas-hero--detail .gas-hero--inner {
  padding-top: 1.35rem;
  padding-bottom: 0.9rem;
}
.service-shop-single .gas-hero--detail h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  font-weight: 500;
  line-height: 1.35;
}

.service-shop-overview > h1 {
  margin: 0 0 clamp(28px, 4vw, 44px);
  padding-bottom: 14px;
  border-bottom: 2px solid #00a18a;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 800;
  line-height: 1.45;
}

.service-shop-attention-title,
.service-shop-attention,
.service-shop-note,
.service-shop-footnote {
  margin: 0.65em 0;
  font-size: 0.95rem;
  line-height: 1.8;
  text-align: center;
}

.service-shop-attention-title {
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 700;
}

.service-shop-attention {
  color: #b83b35;
}

.service-shop-attention--strong {
  font-size: 1rem;
  font-weight: 700;
}

.service-shop-text-links,
.service-shop-external-links {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.service-shop-text-links a,
.service-shop-external-links a {
  color: #007d6b;
  font-size: 0.95rem;
  font-weight: 700;
}

.service-shop-gallery {
  display: grid;
  gap: 18px;
  margin-top: 34px;
}
.service-shop-gallery figure {
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
  background: #f3f3f3;
}
.service-shop-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 230px;
  max-height: 410px;
  -o-object-fit: cover;
     object-fit: cover;
}

.service-shop-gallery--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-shop-gallery--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-shop-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  gap: 28px;
  align-items: stretch;
  margin-top: 32px;
}

.service-shop-details--single {
  grid-template-columns: 1fr;
}

.service-shop-info-table {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin-top: 0;
}
.service-shop-info-table th {
  width: 35%;
}

.service-shop-details .service-shop-info-table {
  margin: 0;
}

.service-shop-details .table-scroll {
  overflow: visible;
}

.service-shop-map {
  min-height: 360px;
  overflow: hidden;
}
.service-shop-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

.service-shop-footnote {
  margin-top: 22px;
}

.service-shop-business > h2 {
  margin: 0 0 36px;
  padding-bottom: 12px;
  border-bottom: 2px solid #00a18a;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem) !important;
  font-weight: 700 !important;
  text-align: left;
}
.service-shop-business .service-shop-business-content {
  margin: 0 0 18px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.9;
}
.service-shop-business .service-shop-business-content ul {
  margin: 0;
  padding-left: 1.4em;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.75;
}
.service-shop-business .service-shop-business-content p:last-child {
  margin-bottom: 0;
}

.service-shop-external-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 34px;
}
.service-shop-external-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  min-width: min(100%, 420px);
  padding: 13px 24px;
  border: 1px solid #00a18a;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
}

.service-shop-topics > h2,
.service-shop-calendar > h2 {
  margin: 0 0 26px;
  padding-bottom: 12px;
  border-bottom: 2px solid #00a18a;
  font-size: clamp(1.1rem, 1.8vw, 1.3rem) !important;
  font-weight: 700 !important;
  text-align: left;
}

.service-shop-calendar {
  padding-right: 0;
  padding-left: 0;
  border: 0;
}

.service-shop-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.service-shop-topic-card {
  font-size: 0.95rem;
  text-align: center;
}
.service-shop-topic-card a {
  display: block;
  color: #007d6b;
  font-weight: 700;
  text-decoration: none;
}
.service-shop-topic-card img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.service-shop-calendar-embed {
  max-width: 100%;
  overflow-x: auto;
}
.service-shop-calendar-embed iframe {
  display: block;
  width: 100%;
  height: 885px !important;
  min-height: 0;
  border: 0;
}

@media (max-width: 767px) {
	.service-shop-external-links a {
		position: relative;
		width: 100%;
		min-width: 0;
		padding: 14px 46px 14px 20px;
		line-height: 1.7;
	}
	.service-shop-external-link-label {
		text-align: center;
		text-wrap: balance;
	}
	.service-shop-external-link-icon {
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
	}
  .service-shop-gallery--two,
  .service-shop-gallery--three,
  .service-shop-details,
  .service-shop-topic-grid {
    grid-template-columns: 1fr;
  }
  .service-shop-gallery img {
    min-height: 0;
    max-height: none;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .service-shop-map,
  .service-shop-map iframe {
    min-height: 280px;
  }
  .service-shop-calendar-embed iframe {
    height: 760px !important;
  }
  .service-shop-info-table th {
    width: auto;
  }
  .service-shop-info-table {
    display: block;
    width: 100%;
    min-width: 0;
    margin-top: 0;
    border: 0;
  }
  .service-shop-info-table tbody {
    display: grid;
    gap: 16px;
    width: 100%;
  }
  .service-shop-info-table tr {
    display: block;
    width: 100%;
    overflow: hidden;
    border: 1px solid #d7d7d7;
  }
  .service-shop-info-table th,
  .service-shop-info-table td {
    display: block;
    box-sizing: border-box;
    width: 100%;
    border: 0;
    white-space: normal;
  }
  .service-shop-info-table th {
    padding: 12px 14px;
    background: #f1f1f1;
  }
  .service-shop-info-table td {
    padding: 14px;
    border-top: 1px solid #e2e2e2;
  }
}
.lp-simulation-page .price-intro h1 {
  margin: 0 0 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.65rem, 3vw, 2rem);
  line-height: 1.5;
}

.error404-main {
  padding-bottom: clamp(56px, 8vw, 96px);
}

.error404-content {
  width: min(92%, 960px);
  margin: clamp(32px, 6vw, 64px) auto 0;
  padding: clamp(32px, 6vw, 64px);
  border: 1px solid #d7ddda;
  background: #fff;
  text-align: center;
}
.error404-content h1 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
}
.error404-content > p:not(.error404-code) {
  margin: 0.4rem 0;
  line-height: 1.8;
}

.error404-code {
  margin: 0 0 0.35rem;
  color: #008f79;
  font-size: clamp(4.5rem, 12vw, 8rem);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
}

.error404-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}
.error404-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 52px;
  padding: 0.75rem 1.5rem;
  border: 1px solid #008f79;
  border-radius: 999px;
  background: #fff;
  color: #007d6b;
  font-weight: 700;
  text-decoration: none;
}
.error404-actions a:hover, .error404-actions a:focus-visible {
  background: #f0f7f5;
  color: #006c5b;
  text-decoration: none;
}
.error404-actions .error404-primary {
  background: #008f79;
  color: #fff;
}
.error404-actions .error404-primary:hover, .error404-actions .error404-primary:focus-visible {
  background: #006f60;
  color: #fff;
}

.error404-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 2.5rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid #d7ddda;
  list-style: none;
}
.error404-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0.65rem 1rem;
  border: 1px solid #d7ddda;
  color: #26332f;
  font-weight: 600;
  text-decoration: none;
}
.error404-links a::after {
  content: "›";
  color: #008f79;
  font-size: 1.25rem;
}
.error404-links a:hover, .error404-links a:focus-visible {
  border-color: #8eaaa2;
  background: #f8fbfa;
  text-decoration: none;
}

@media (max-width: 680px) {
  .error404-content {
    width: 92%;
    padding: 2rem 1rem;
  }
  .error404-content > p:not(.error404-code) {
    font-size: 0.9rem;
    text-align: left;
  }
  .error404-actions {
    flex-direction: column;
  }
  .error404-actions a {
    width: 100%;
  }
  .error404-links {
    grid-template-columns: 1fr;
    padding-top: 1rem;
  }
}
.lp-simulation-form-section,
.lp-simulation-result,
.lp-comparison-reference {
  padding: clamp(1.25rem, 3.5vw, 2.25rem);
  border: 1px solid #d7ddda;
  background: #fff;
}
.lp-simulation-form-section > h2,
.lp-simulation-result > h2,
.lp-comparison-reference > h2 {
  margin: 0 0 1.5rem;
  padding-bottom: 0.7rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.25rem, 2.4vw, 1.65rem);
  text-align: center;
}

.lp-simulation-form {
  display: grid;
  gap: 0;
  max-width: 850px;
  margin: auto;
  border: 1px solid #d7ddda;
}
.lp-simulation-form > label {
  display: grid;
  grid-template-columns: minmax(240px, 42%) 1fr;
  align-items: center;
  border-bottom: 1px solid #d7ddda;
}
.lp-simulation-form > label > span:first-child {
  align-self: stretch;
  padding: 1.1rem 1.25rem;
  background: #edf7f4;
  font-weight: 700;
  line-height: 1.65;
}
.lp-simulation-form select,
.lp-simulation-form input {
  width: 100%;
  min-height: 3rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #aeb9b5;
  border-radius: 5px;
  background: #fff;
  font: inherit;
  font-size: 16px;
}
.lp-simulation-form > label > select {
  width: calc(100% - 2rem);
  margin: 1rem;
}
.lp-simulation-form small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.78rem;
  font-weight: 400;
}
.lp-simulation-form button {
  width: min(90%, 420px);
  margin: 1.5rem auto;
  padding: 1rem 1.5rem;
  border: 0;
  border-radius: 3px;
  background: #009b7b;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.lp-simulation-form button:hover, .lp-simulation-form button:focus-visible {
  background: #007f65;
}

.lp-input-with-unit {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem;
}
.lp-input-with-unit b {
  min-width: 2rem;
}

.lp-simulation-error {
  margin-bottom: 1rem;
  padding: 0.8rem 1rem;
  border: 1px solid #db9696;
  background: #fff1f1;
  color: #a62222;
}

.lp-result-summary {
  padding: 1.5rem;
  background: #edf7f4;
  text-align: center;
}
.lp-result-summary p {
  margin: 0 0 0.5rem;
}
.lp-result-summary strong {
  display: block;
  color: #d45100;
  font-size: clamp(1.7rem, 4vw, 2.5rem);
}
.lp-result-summary .is-saving {
  display: block;
  margin-top: 0.7rem;
  font-weight: 700;
}

.lp-result-table-wrap {
  overflow-x: auto;
  margin-top: 1.5rem;
}
.lp-result-table-wrap > p {
  margin: 0 0 0.5rem;
  text-align: right;
  font-size: 0.85rem;
}

.lp-result-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.lp-result-table th,
.lp-result-table td {
  padding: 0.9rem 0.8rem;
  border: 1px solid #ccd4d1;
  text-align: center;
}
.lp-result-table thead th {
  background: #e8f4f1;
}
.lp-result-table tbody th {
  background: #f5f7f6;
}

.lp-result-conditions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 1.25rem 0 0;
  border: 1px solid #d7ddda;
}
.lp-result-conditions div {
  padding: 0.85rem 1rem;
}
.lp-result-conditions div + div {
  border-left: 1px solid #d7ddda;
}
.lp-result-conditions dt {
  font-size: 0.82rem;
  font-weight: 700;
}
.lp-result-conditions dd {
  margin: 0.25rem 0 0;
}

.lp-simulation-retry {
  display: block;
  width: min(90%, 380px);
  margin: 1.5rem auto 0;
  padding: 0.9rem 1.25rem;
  border: 1px solid #009b7b;
  border-radius: 3px;
  color: #007f65;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.lp-simulation-retry:hover, .lp-simulation-retry:focus-visible {
  background: #eef7f5;
  color: #006d57;
  text-decoration: none;
}

.lp-result-panels {
  display: grid;
  gap: 2rem;
  width: min(100%, 850px);
  margin: 0 auto;
}

.lp-result-detail-table {
  width: 100%;
  border-collapse: collapse;
}
.lp-result-detail-table caption {
  padding: 0.65rem 1rem;
  background: #009b7b;
  color: #fff;
  font-weight: 700;
  text-align: center;
}
.lp-result-detail-table th,
.lp-result-detail-table td {
  padding: 0.95rem 1.1rem;
  border: 1px solid #009b7b;
  line-height: 1.55;
}
.lp-result-detail-table th {
  width: 63%;
  background: #edf7f4;
  color: #008f78;
  text-align: left;
}
.lp-result-detail-table td {
  background: #fff;
}

.lp-calculation-method {
  margin-top: 3rem;
}
.lp-calculation-method > h3 {
  margin: 0 0 1.5rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #009b7b;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
}
.lp-calculation-method > ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: lp-calculation-step;
}
.lp-calculation-method > ol > li {
  counter-increment: lp-calculation-step;
}
.lp-calculation-method > ol > li + li {
  margin-top: 2.3rem;
}
.lp-calculation-method h4 {
  position: relative;
  margin: 0 0 0.75rem;
  padding-left: 2rem;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  font-weight: 700;
  line-height: 1.5;
}
.lp-calculation-method h4::before {
  content: counter(lp-calculation-step);
  position: absolute;
  top: 0.12rem;
  left: 0;
  display: grid;
  place-items: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #009b7b;
  color: #fff;
  font-size: 0.82rem;
  line-height: 1;
}
.lp-calculation-method p {
  margin: 0.65rem 0 0;
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.75;
}

.lp-calculation-formula {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  padding: 1.3rem;
  background: #edf7f4;
  font-size: 0.95rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.6;
}
.lp-calculation-formula b {
  flex: none;
  font-size: 1.2rem;
}
.lp-calculation-formula--charge {
  gap: 0.8rem;
}

.lp-calculation-note {
  margin-top: 0.65rem;
  padding: 1.1rem;
  background: #edf7f4;
  font-size: 0.9rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.8;
}

.lp-calculation-link {
  display: block;
  width: min(100%, 340px);
  margin-top: 0.8rem;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  border: 1px solid #009b7b;
  color: #00826e;
  font-size: 0.95rem;
  text-align: center;
  text-decoration: none;
}

.lp-comparison-notes {
  margin: 1.5rem 0 0;
  padding-left: 1.5rem;
  list-style: disc outside;
  font-size: 0.86rem;
  line-height: 1.75;
}
.lp-comparison-notes li {
  display: list-item;
}
.lp-comparison-notes li + li {
  margin-top: 0.35rem;
}

@media (max-width: 680px) {
  .lp-simulation-page .price-intro h1 {
    font-size: 1.45rem;
  }
  .lp-simulation-form > label {
    grid-template-columns: 1fr;
  }
  .lp-simulation-form > label > select {
    width: calc(100% - 1.5rem);
    margin: 0.75rem;
  }
  .lp-input-with-unit {
    padding: 0.75rem;
  }
  .lp-result-conditions {
    grid-template-columns: 1fr;
  }
  .lp-result-conditions div + div {
    border-top: 1px solid #d7ddda;
    border-left: 0;
  }
  .lp-result-detail-table th,
  .lp-result-detail-table td {
    padding: 0.8rem 0.7rem;
    font-size: 0.88rem;
  }
  .lp-result-detail-table th {
    width: 62%;
  }
  .lp-calculation-method {
    margin-top: 2.3rem;
  }
  .lp-calculation-method > h3 {
    font-size: 1.2rem;
  }
  .lp-calculation-method h4 {
    padding-left: 1.85rem;
    font-size: 0.98rem;
  }
  .lp-calculation-method p {
    font-size: 0.9rem;
  }
  .lp-calculation-formula {
    flex-direction: column;
    gap: 0.45rem;
    padding: 1rem 0.75rem;
    font-size: 0.9rem;
  }
  .lp-calculation-formula b {
    font-size: 1rem;
  }
  .lp-calculation-note {
    font-size: 0.85rem;
  }
}
.my-otakigas-main {
  background: #fff;
}

.my-otakigas-page {
  width: min(92%, 1040px);
  margin: 0 auto;
  padding: 2.5rem 0 5rem;
  color: #222;
  font-size: 1rem;
  line-height: 1.85;
}
.my-otakigas-page > h1 {
  margin-bottom: 2rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.6rem, 3vw, 2rem);
}

.my-otakigas-intro {
  display: grid;
  grid-template-columns: 32% minmax(0, 1fr);
  gap: 2rem;
  align-items: center;
}
.my-otakigas-intro img {
  display: block;
  width: 100%;
  height: auto;
}
.my-otakigas-intro p + p {
  margin-top: 1rem;
}

.my-otakigas-note {
  margin-top: 1.25rem;
  font-size: 0.82rem;
  line-height: 1.7;
}

.my-otakigas-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4%;
  padding-top: 3.75rem;
}
.my-otakigas-benefits section {
  padding: 2.5rem;
  border: 2px solid #009983;
  border-radius: 16px;
  text-align: center;
}
.my-otakigas-benefits img {
  display: block;
  width: auto;
  height: 56px;
  margin: 0 auto;
}
.my-otakigas-benefits p {
  padding-top: 1.25rem;
  font-weight: 700;
}
.my-otakigas-benefits span {
  display: inline-block;
}

.my-otakigas-notices {
  margin: 0;
  padding: 2.5rem 0 0 1.5rem;
  list-style: disc;
}
.my-otakigas-notices li {
  padding-bottom: 0.6rem;
}
.my-otakigas-notices a {
  border-bottom: 0;
  color: #007d6b;
}

.my-otakigas-login {
  margin-top: 3.75rem;
  padding: 2.5rem;
  background: #f0faf8;
  text-align: center;
}
.my-otakigas-login a {
  display: block;
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
  border-radius: 8px;
  background: #009983;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.my-otakigas-login a:hover,
.my-otakigas-login a:focus-visible {
  background: #fff;
  box-shadow: inset 0 0 0 2px #009983;
  color: #007d6b;
}

.my-otakigas-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.25rem;
  background: #f0faf8;
}
.my-otakigas-links a {
  display: block;
  padding: 0.85rem 1rem;
  border: 1px solid #009983;
  border-radius: 6px;
  background: #fff;
  color: #007d6b;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.my-otakigas-links a:hover,
.my-otakigas-links a:focus-visible {
  background: #009983;
  color: #fff;
}

@media (max-width: 600px) {
  .my-otakigas-page {
    padding: 2rem 0 3.5rem;
    font-size: 0.92rem;
  }
  .my-otakigas-intro {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .my-otakigas-intro img {
    width: 64%;
    margin: 0 auto;
  }
  .my-otakigas-benefits {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding-top: 2rem;
  }
  .my-otakigas-benefits section {
    padding: 2rem 1rem;
  }
  .my-otakigas-benefits img {
    height: 48px;
  }
  .my-otakigas-login {
    margin-top: 2.5rem;
    padding: 1.25rem;
  }
  .my-otakigas-links {
    grid-template-columns: 1fr;
  }
}
/* 都市ガス警報器 */
.alarm-page .alarm-main-visual,
.alarm-page .alarm-video-section {
  width: min(92%, 995px);
  margin: 0 auto 2rem;
}
.alarm-page .alarm-main-visual {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}
.alarm-page .alarm-main-visual picture,
.alarm-page .alarm-main-visual img {
  display: block;
  width: 100%;
}
.alarm-page .alarm-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 1.2rem;
}
.alarm-page .alarm-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.2rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: #009983;
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}
.alarm-page .alarm-video-section video {
  display: block;
  width: min(100%, 760px);
  margin: auto;
  border-radius: 8px;
}
.alarm-page .alarm-apply-section {
  text-align: center;
}
.alarm-page .alarm-apply-section > h2 {
  border-bottom: 0;
  text-align: center;
}
.alarm-page .alarm-apply-section > p {
  margin-top: 0.5rem;
  font-weight: 700;
}
.alarm-page .alarm-apply-section .alarm-actions {
  max-width: 48rem;
  margin: 1.2rem auto 0;
  padding: 0;
}
.alarm-page .alarm-apply-section .alarm-button {
  gap: 0.65rem;
}
.alarm-page .alarm-apply-section .alarm-button img {
  width: 1.6rem;
  height: 1.6rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0) invert(1);
}
.alarm-page .alarm-section-lead {
  margin-bottom: 1.2rem;
  color: #007f6c;
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
}
.alarm-page .alarm-details-list {
  display: grid;
  gap: 0.75rem;
  margin: 1.4rem 0;
}
.alarm-page details {
  border: 1px solid #d7dfdc;
  border-radius: 7px;
  background: #fff;
}
.alarm-page details summary {
  position: relative;
  padding: 1rem 3rem 1rem 1.2rem;
  color: #222;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.alarm-page details summary::-webkit-details-marker {
  display: none;
}
.alarm-page details summary::after {
  content: "+";
  position: absolute;
  right: 1.2rem;
  color: #009983;
  font-size: 1.5rem;
  line-height: 1;
}
.alarm-page details[open] summary::after {
  content: "−";
}
.alarm-page details > p {
  padding: 0 1.2rem 1.2rem;
}
.alarm-page .alarm-point-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.alarm-page .alarm-point-grid > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  padding: 1.4rem;
  border: 3px solid #656363;
  border-radius: 10%;
  background: #fff;
  text-align: center;
}
.alarm-page .alarm-point-grid h3 {
  margin: 0 0 0.75rem;
  color: #009983;
  font-size: 1.25rem;
  line-height: 1.4;
}
.alarm-page .alarm-point-grid p {
  font-size: 0.9rem;
  line-height: 1.7;
}
.alarm-page .alarm-points {
  background: #f0faf8;
}
.alarm-page .alarm-points > h2 {
  border-bottom: 0;
  text-align: center;
}
.alarm-page .alarm-products > details {
  margin-top: 1rem;
}
.alarm-page .alarm-products > details > summary {
  background: #e9f6f2;
  font-size: 1.15rem;
}
.alarm-page .alarm-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 0 1.2rem 1.2rem;
}
.alarm-page .alarm-product-grid section {
  padding: 1rem;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.alarm-page .alarm-product-grid h3 {
  margin-bottom: 0.8rem;
  text-align: center;
}
.alarm-page .alarm-product-grid img {
  display: block;
  width: min(100%, 220px);
  height: 150px;
  margin: 0 auto 0.8rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.alarm-page .alarm-product-images {
  display: flex;
  justify-content: center;
}
.alarm-page .alarm-product-grid dl,
.alarm-page .alarm-product-single dl {
  margin-top: 1rem;
  border-top: 1px solid #ddd;
}
.alarm-page .alarm-product-grid dl div,
.alarm-page .alarm-product-single dl div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid #ddd;
}
.alarm-page .alarm-product-grid dl dt,
.alarm-page .alarm-product-single dl dt {
  font-weight: 600;
}
.alarm-page .alarm-product-grid dl dd,
.alarm-page .alarm-product-single dl dd {
  text-align: right;
}
.alarm-page .alarm-product-single {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 1.5rem;
  align-items: center;
  padding: 0 1.2rem 1.2rem;
}
.alarm-page .alarm-product-single img {
  display: block;
  width: 100%;
  max-height: 180px;
  -o-object-fit: contain;
     object-fit: contain;
}
.alarm-page .alarm-obligation {
  display: grid;
  gap: 0.45rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 2px solid #ed8b00;
  border-radius: 8px;
  text-align: center;
}
.alarm-page .alarm-obligation strong {
  color: #c54c00;
  font-size: 1.1rem;
}
.alarm-page .alarm-emergency {
  scroll-margin-top: 2rem;
}
.alarm-page .alarm-emergency-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
}
.alarm-page .alarm-emergency-grid section {
  padding: 0;
  border: 0;
  background: transparent;
}
.alarm-page .alarm-emergency-grid h3 {
  margin-bottom: 0.4rem;
  padding: 0 0 0 0.8rem;
  border: 0;
  border-left: 4px solid #009983;
}
.alarm-page .alarm-emergency-grid ol,
.alarm-page .alarm-emergency-grid section > p,
.alarm-page .alarm-emergency-grid section > ul {
  margin: 0;
  padding: 0.85rem 1.25rem;
  background: #f0faf8;
}
.alarm-page .alarm-emergency-grid ol {
  padding-left: 2.7rem;
}
.alarm-page .alarm-emergency-grid section > ul {
  padding-left: 2.7rem;
  list-style: disc;
}
.alarm-page .alarm-fire-notes {
  margin-top: 0.25rem;
}
.alarm-page .alarm-emergency-grid .alarm-fire-notes p {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: 0.88rem;
  line-height: 1.55;
}
.alarm-page .alarm-emergency-grid .alarm-no-fire {
  margin-top: 0.5rem;
}
.alarm-page .alarm-emergency-grid .alarm-no-fire h3 {
  display: inline-block;
  margin-bottom: 0.5rem;
  padding: 0.45rem 1.25rem;
  border: 0;
  border-radius: 7px;
  background: #5c5656;
  color: #fff;
}
.alarm-page .alarm-emergency-grid .alarm-no-fire > ol,
.alarm-page .alarm-emergency-grid .alarm-no-fire > ul {
  padding-top: 0;
  padding-bottom: 0;
  background: #fff;
}
.alarm-page .alarm-danger {
  margin-top: 1rem;
  padding: 1rem;
  background: #fff0f0;
  color: #a7161d;
  font-weight: 700;
}
.alarm-page .alarm-warning-callout {
  margin: 1rem 0;
  color: #c0272d;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
}
.alarm-page .alarm-warning-callout span {
  display: inline-block;
}
.alarm-page .alarm-warning h3 {
  margin: 1.5rem 0 0.6rem;
}
.alarm-page .alarm-warning ul {
  padding-left: 1.3rem;
}
.alarm-page .alarm-warning-box {
  margin-top: 1.5rem;
  padding: 1.5rem 2rem;
  background: #ffeeee;
}
.alarm-page .alarm-warning-box h3 {
  margin-top: 0;
}

@media (max-width: 767px) {
  .alarm-page .alarm-actions,
  .alarm-page .alarm-point-grid,
  .alarm-page .alarm-product-grid,
  .alarm-page .alarm-product-single {
    grid-template-columns: 1fr;
  }
  .alarm-page .alarm-main-visual {
    width: 92%;
  }
  .alarm-page .alarm-actions {
    gap: 0.7rem;
    padding: 1rem;
  }
  .alarm-page .alarm-button {
    font-size: 0.9rem;
  }
  .alarm-page .alarm-point-grid {
    gap: 0.75rem;
  }
  .alarm-page .alarm-point-grid > div {
    aspect-ratio: auto;
    min-height: 11rem;
    border-radius: 1rem;
  }
  .alarm-page .alarm-warning-box {
    padding: 1.2rem;
  }
  .alarm-page .alarm-product-images {
    flex-wrap: wrap;
  }
  .alarm-page .alarm-product-single img {
    width: min(100%, 180px);
    margin: auto;
  }
  .alarm-page details summary {
    padding-left: 1rem;
    font-size: 0.95rem;
  }
}
/* 都市ガス警報器：移植元デザイン準拠 */
.alarm-main {
  background: #fff;
}

.alarm-page {
  width: min(92%, 1120px);
  margin: 0 auto;
  padding: 2.2rem 0 5rem;
  background: #fff;
  font-size: 16px;
  line-height: 1.8;
}
.alarm-page .alarm-page-title {
  margin: 0 0 2rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 700;
}
.alarm-page .alarm-main-visual,
.alarm-page .alarm-video-section,
.alarm-page .price-section {
  width: 100%;
}
.alarm-page .alarm-main-visual {
  position: relative;
  margin-bottom: 5rem;
  border-radius: 0;
}
.alarm-page .alarm-main-visual .alarm-actions {
  position: absolute;
  bottom: 5%;
  left: 50%;
  width: 90%;
  padding: 0;
  transform: translateX(-50%);
}
.alarm-page .alarm-video-section {
  margin-bottom: 5rem;
}
.alarm-page .alarm-video-section video {
  width: 80%;
  border-radius: 0;
}
.alarm-page .price-section {
  margin: 0 0 5rem;
  padding: 0;
  border: 0;
  background: transparent;
}
.alarm-page .alarm-necessity > h2,
.alarm-page .alarm-points > h2,
.alarm-page .alarm-apply-section > h2 {
  margin: 0 0 1.8rem;
  padding: 0;
  border: 0;
  font-size: 1.4rem;
  line-height: 1.55;
  text-align: center;
}
.alarm-page .alarm-conclusion {
  font-weight: 700;
  text-align: left;
}
.alarm-page .alarm-details-list {
  gap: 1.25rem;
  margin: 1.8rem 0;
}
.alarm-page .alarm-necessity .alarm-details-list details {
  overflow: hidden;
  border: 0;
  border-radius: 20px;
}
.alarm-page .alarm-necessity .alarm-details-list details summary {
  padding: 1rem 3.5rem 1rem 1.5rem;
  border-radius: 20px;
  background: #65605e;
  color: #fff;
  text-align: center;
}
.alarm-page .alarm-necessity .alarm-details-list details summary::after {
  right: 2rem;
  color: #fff;
}
.alarm-page .alarm-necessity .alarm-details-list details[open] summary {
  border-radius: 20px 20px 0 0;
}
.alarm-page .alarm-necessity .alarm-details-list details > p {
  padding: 1.4rem 1.5rem;
  border: 2px solid #65605e;
  border-top: 0;
  border-radius: 0 0 20px 20px;
}
.alarm-page .alarm-points {
  position: relative;
  padding: 2rem 0 3rem;
  background: transparent;
}
.alarm-page .alarm-points::before {
  content: "";
  position: absolute;
  inset: 0 50%;
  z-index: -1;
  width: 100vw;
  margin-left: -50vw;
  background: #f0faf8;
}
.alarm-page .alarm-point-grid {
  gap: 0.95rem 1.55rem;
  max-width: 1000px;
  margin: 0 auto;
}
.alarm-page .alarm-point-grid > div {
  padding: 1.5rem;
  border: 3px solid #656363;
  border-radius: 10%;
}
.alarm-page .alarm-point-grid h3 {
  font-size: clamp(1.15rem, 2.2vw, 1.75rem);
}
.alarm-page .alarm-apply-section > p {
  margin-top: -1.4rem;
}
.alarm-page .alarm-apply-section .alarm-actions {
  max-width: 100%;
  margin-top: 1.4rem;
}
.alarm-page .alarm-button {
  transition: background 0.2s ease, color 0.2s ease;
}
.alarm-page .alarm-button {
  font-size: 18px;
  line-height: 1.5;
}
.alarm-page .alarm-button:hover,
.alarm-page .alarm-button:focus-visible {
  background: #fff;
  box-shadow: inset 0 0 0 2px #009983;
  color: #009983;
}
.alarm-page .alarm-button:hover img,
.alarm-page .alarm-button:focus-visible img {
  filter: none;
}
.alarm-page .alarm-warning-box {
  background: #ffeeee;
}
.alarm-page .alarm-products > details {
  overflow: hidden;
  margin-top: 1.8rem;
  border: 1px solid #dbdbdb;
  border-radius: 10px;
  background: #fff;
}
.alarm-page .alarm-products > details > summary {
  padding: 1.1rem 3.2rem 1.1rem 1.25rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #000;
  font-size: 1rem;
  text-align: left;
}
.alarm-page .alarm-products > details > summary::after {
  color: #009983;
}
.alarm-page .alarm-products > details[open] > summary {
  border-bottom: 1px solid #dbdbdb;
}
.alarm-page .alarm-products .alarm-section-lead {
  padding-top: 1.5rem;
}
.alarm-page .alarm-products .alarm-product-grid,
.alarm-page .alarm-products .alarm-product-single {
  padding: 1.5rem;
}
.alarm-page .alarm-obligation {
  margin-top: 5rem;
  padding: 1.8rem;
  background: #ffeeee;
}
.alarm-page .alarm-faq .alarm-details-list {
  gap: 0;
}
.alarm-page .alarm-faq .alarm-details-list details {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.alarm-page .alarm-faq .alarm-details-list summary {
  display: flex;
  align-items: center;
  padding: 0.8rem 2.5rem 0.8rem 0.6rem;
  border-bottom: 2px solid #5c5656;
  border-radius: 0;
  background: transparent;
  color: #000;
  text-align: left;
}
.alarm-page .alarm-faq .alarm-details-list summary::before {
  content: "Q";
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin-right: 0.65rem;
  border-radius: 50%;
  background: #5c5656;
  color: #fff;
  place-items: center;
}
.alarm-page .alarm-faq .alarm-details-list summary::after {
  content: "";
  top: 50%;
  right: 0.8rem;
  width: 0.65rem;
  height: 0.65rem;
  border-right: 2px solid #5c5656;
  border-bottom: 2px solid #5c5656;
  transform: translateY(-70%) rotate(45deg);
}
.alarm-page .alarm-faq .alarm-details-list details[open] summary::after {
  transform: translateY(-20%) rotate(225deg);
}
.alarm-page .alarm-faq .alarm-details-list details > p {
  position: relative;
  padding: 1.2rem 1.2rem 1.2rem 3.7rem;
  border: 0;
  border-radius: 0;
  background: #f0faf8;
}
.alarm-page .alarm-faq .alarm-details-list details > p::before {
  content: "A";
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #f85b5b;
  color: #fff;
  place-items: center;
}

@media (max-width: 767px) {
  .alarm-page {
    padding: 2rem 0 3rem;
  }
  .alarm-page .alarm-main-visual {
    margin-bottom: 3.5rem;
  }
  .alarm-page .alarm-main-visual .alarm-actions {
    bottom: 2%;
    gap: 0.4rem;
  }
  .alarm-page .alarm-main-visual .alarm-button {
    min-height: 2.6rem;
    padding: 0.45rem;
    font-size: 0.76rem;
  }
  .alarm-page .alarm-video-section,
  .alarm-page .price-section {
    margin-bottom: 3.5rem;
  }
  .alarm-page .alarm-video-section video {
    width: 100%;
  }
  .alarm-page .alarm-point-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .alarm-page .alarm-point-grid > div {
    min-height: 0;
    aspect-ratio: 1/1;
    border-radius: 30px;
    padding: 1rem;
  }
  .alarm-page .alarm-point-grid p {
    font-size: 0.78rem;
    line-height: 1.55;
  }
}
@media (max-width: 450px) {
  .alarm-page .alarm-point-grid {
    grid-template-columns: 1fr;
  }
  .alarm-page .alarm-point-grid > div {
    aspect-ratio: 2/1;
  }
}
/* 警報器設置義務化の背景 */
.alarm-background-page .alarm-background-intro {
  text-align: center;
}
.alarm-background-page .alarm-background-intro > img {
  display: block;
  width: min(100%, 490px);
  margin: 1.5rem auto;
}
.alarm-background-page .alarm-background-intro > p:last-child {
  text-align: left;
}
.alarm-background-page .alarm-background-catch {
  display: grid;
  gap: 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.alarm-background-page .alarm-background-catch strong {
  color: #e66522;
  font-size: 1.65rem;
}
.alarm-background-page .alarm-damage-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}
.alarm-background-page .alarm-damage-list section {
  padding: 1.2rem;
  border: 1px solid #d7dfdc;
  border-radius: 8px;
  background: #fff;
}
.alarm-background-page .alarm-damage-list section > div {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 3.5rem;
}
.alarm-background-page .alarm-damage-list span {
  flex: none;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: #009983;
  color: #fff;
  font-weight: 700;
}
.alarm-background-page .alarm-damage-list h3 {
  font-size: 1rem;
  line-height: 1.45;
}
.alarm-background-page .alarm-damage-list img {
  display: block;
  width: min(100%, 220px);
  margin: 1rem auto;
}
.alarm-background-page .alarm-damage-list p {
  font-size: 0.9rem;
  line-height: 1.75;
}
.alarm-background-page .alarm-effect-section > h3 {
  margin: 1rem 0;
  color: #007f6c;
  font-size: 1.15rem;
  text-align: center;
}
.alarm-background-page .alarm-effect-section figure,
.alarm-background-page .alarm-mandatory-section figure {
  margin: 1.5rem auto;
  text-align: center;
}
.alarm-background-page .alarm-effect-section img {
  width: min(100%, 490px);
}
.alarm-background-page .alarm-mandatory-section img {
  width: min(100%, 440px);
}
.alarm-background-page .alarm-mandatory-section {
  padding: 2.4rem clamp(1.25rem, 4vw, 3rem);
  border: 2px solid #ed8b00;
}
.alarm-background-page .alarm-mandatory-section > p:not(.alarm-mandatory-title):not(.button-row) {
  max-width: 54rem;
  margin-right: auto;
  margin-left: auto;
  line-height: 1.85;
}
.alarm-background-page .alarm-mandatory-section .button-row {
  display: flex;
  justify-content: center;
  margin: 1.8rem 0 0;
  text-align: center;
}
.alarm-background-page .alarm-mandatory-title {
  display: grid;
  gap: 0.25rem;
  margin-bottom: 1.2rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
}
.alarm-background-page .alarm-mandatory-title strong {
  color: #c54c00;
  font-size: 1.65rem;
}

/* ガス栓・ガスコード等の取り替え */
.cock-page .cock-main-section {
  max-width: 900px;
  margin-inline: auto;
}
.cock-page .cock-main-section > h1 {
  margin-bottom: 2.4rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid #00a58e;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
}
.cock-page .cock-main-section > h2 {
  margin-bottom: 1rem;
  padding: 0;
  border: 0;
  font-size: clamp(1.3rem, 2.4vw, 1.65rem);
}
.cock-page .cock-lead {
  line-height: 2;
}
.cock-page .cock-image-layout {
  width: min(100%, 476px);
  margin: 2rem auto 0;
}
.cock-page .cock-image-layout img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}
.cock-page .cock-image-wide {
  margin-inline: auto;
}
.cock-page .cock-image-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 230px));
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}
.cock-page .cock-contact {
  margin-top: 2.5rem;
  text-align: center;
}
.cock-page .cock-contact p {
  margin-bottom: 1rem;
  font-weight: 700;
}
.cock-page .cock-contact .underground-login-button {
  margin-inline: auto;
}

@media (max-width: 767px) {
  .cock-page .cock-main-section > h1 {
    margin-bottom: 1.8rem;
  }
  .cock-page .cock-image-row {
    gap: 0.6rem;
    margin-top: 0.6rem;
  }
}
@media (max-width: 767px) {
  .alarm-background-page .alarm-damage-list {
    grid-template-columns: 1fr;
  }
  .alarm-background-page .alarm-background-catch {
    font-size: 1.05rem;
  }
  .alarm-background-page .alarm-background-catch strong,
  .alarm-background-page .alarm-mandatory-title strong {
    font-size: 1.3rem;
  }
  .alarm-background-page .alarm-damage-list section > div {
    min-height: 0;
  }
  .alarm-background-page .alarm-mandatory-section {
    padding: 1.6rem 1rem;
  }
  .alarm-background-page .alarm-mandatory-section .button-row {
    margin-top: 1.35rem;
  }
  .alarm-background-page .alarm-mandatory-section .underground-login-button {
    width: 100%;
    min-width: 0;
  }
}
.corporate-page .price-section {
  width: min(100%, 1120px);
  border: 0;
  padding: 3rem 0;
}

.corporate-message-section {
  border-bottom: 1px solid #ddd !important;
}

.corporate-message-section > h1 {
  margin: 0 0 1.45rem;
  padding-bottom: 0.55rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  font-weight: 700;
  line-height: 1.35;
}

.corporate-message-section p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
}

.corporate-message {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 2.5rem;
  align-items: start;
}
.corporate-message p:first-child {
  margin-top: 0;
}

.corporate-message--text {
  max-width: 46rem;
}

.corporate-message--photo {
  margin: 0;
  padding: 0.75rem;
  background: #f7f7f7;
}
.corporate-message--photo img {
  display: block;
  width: 100%;
  height: auto;
}
.corporate-message--photo figcaption {
  margin-top: 0.65rem;
  font-size: 0.9rem;
  line-height: 1.5;
  text-align: center;
}
.corporate-message--photo strong {
  margin-left: 0.35em;
  font-weight: 600;
}

.corporate-link-section {
  margin-top: 0;
}
.corporate-link-section > h2 {
  margin-bottom: 1.35rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: clamp(1.45rem, 2.1vw, 1.8rem);
  text-align: left;
}

.corporate-index-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.corporate-index-list a {
  min-height: 4.25rem;
  background: #f7f7f7;
  box-shadow: none;
}

@media (max-width: 768px) {
  .corporate-page .price-section {
    padding: 2rem 0;
  }
  .corporate-message {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.4rem;
  }
  .corporate-message--photo {
    max-width: 260px;
    margin-inline: auto;
  }
  .corporate-index-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .corporate-index-list a {
    min-height: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .emergency-contact-page .emergency-contact-primary,
  .emergency-contact-page .emergency-contact-reason {
    margin-bottom: 2.75rem;
  }
  .emergency-contact-page .emergency-contact-reason > ul {
    grid-template-columns: minmax(0, 1fr);
    padding: 1rem;
  }
}
.lower-main .js-reveal {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.lower-main .js-reveal.is-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .lower-main .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.gas-hero {
  background: #f2f2f2;
}
.gas-hero--inner {
  width: min(100%, 995px);
  margin: 0 auto;
  padding: 3.2rem 4% 0;
}
.gas-hero h2 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.2;
}
.gas-hero p {
  margin-top: 1.1rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.9;
}

.city-menu {
  padding: 3.2rem 4%;
  background: #fff;
}
.city-menu--procedures {
  margin-top: -0.1rem;
  padding: 0 4% 3rem;
  background: #f2f2f2;
}
.city-menu--procedures .city-menu--wrap {
  padding: 1.2rem 1.8% 1.1rem;
}
.city-menu--wrap {
  width: min(100%, 995px);
  margin: 0 auto;
  padding: 2rem 1.6%;
  border: 1px solid #ddd;
  background: #fff;
}
.city-menu--wrap > h2 {
  color: #009983;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}
.city-menu--wrap > p {
  margin-top: 0.3rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #bdbdbd;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.55;
  text-align: center;
}
.city-menu--overview {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.city-menu a.city-menu--overview-link {
  display: inline-flex;
  justify-content: center;
  width: min(100%, 20rem);
  min-height: 2.8rem;
  padding: 0.65rem 2.7rem 0.65rem 1.5rem;
  border: 1px solid #009983;
  border-radius: 999px;
  background: #009983;
  box-shadow: none;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}
.city-menu a.city-menu--overview-link:hover, .city-menu a.city-menu--overview-link:focus-visible {
  background: #007d6b;
  color: #fff;
  box-shadow: none;
}
.city-menu--procedures .city-menu--wrap {
  border-top: 0;
}
.city-menu--procedures h2 {
  margin-bottom: 0.75rem;
  color: #333;
}
.city-menu--grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1.6rem;
  margin-top: 1.2rem;
}
.city-menu--grid-2 {
  margin-top: 0;
}
.city-menu--procedures .city-menu--grid-2 {
  gap: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #ddd;
}
.city-menu--procedures .city-menu--grid-2 a {
  min-height: 3.7rem;
  padding: 0.7rem 3rem 0.7rem 1.25rem;
  border-bottom: 0;
  background: #fff;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04);
  color: #000;
  font-weight: 600;
}
.city-menu--procedures .city-menu--grid-2 a img {
  width: 2.35rem;
  height: 2.35rem;
}
.city-menu--procedures .city-menu--grid-2 a::after {
  background: #009983;
}
.city-menu--procedures .city-menu--grid-2 a:hover, .city-menu--procedures .city-menu--grid-2 a:focus-visible {
  background: #fff;
  color: #e58400 !important;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(243, 152, 0, 0.28);
}
.city-menu--procedures .city-menu--grid-2 a, .city-menu--procedures .city-menu--grid-2 a:visited {
  color: #f39800 !important;
}
.city-menu a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.15rem;
  padding: 0.65rem 2.5rem 0.65rem 1rem;
  border-bottom: 1px solid #cfcfcf;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.07);
  color: #000;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.25s ease, background 0.25s ease;
}
.city-menu a img {
  width: 2.2rem;
  height: 2.2rem;
  margin-right: 0.8rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: sepia(1) saturate(5) hue-rotate(315deg);
}
.city-menu a::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.city-menu a::before {
  content: "";
  position: absolute;
  right: 1.32rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.2rem solid transparent;
  border-bottom: 0.2rem solid transparent;
  border-left: 0.28rem solid #fff;
  transform: translateY(-50%);
}
.city-menu a:hover, .city-menu a:focus-visible {
  background: #fff;
  color: #000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.lpgas-index-page .city-menu a.lpgas-emergency-link,
.lpgas-index-page .city-menu a.lpgas-emergency-link:hover,
.lpgas-index-page .city-menu a.lpgas-emergency-link:focus-visible {
  color: #d94b40;
}
.lpgas-index-page .city-menu a.lpgas-emergency-link::after,
.lpgas-index-page .city-menu a.lpgas-emergency-link:hover::after,
.lpgas-index-page .city-menu a.lpgas-emergency-link:focus-visible::after {
  background: #d94b40;
}

.city-band {
  margin-top: 0;
  padding: 3rem 4%;
  background: #d8f3ee;
}
.city-band--wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem;
  width: min(100%, 995px);
  margin: 0 auto;
}
.city-band a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.2rem;
  padding: 0.65rem 2.5rem 0.65rem 1.2rem;
  background: #fff;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
  color: #000;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}
.city-band a::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.city-band a::before {
  content: "";
  position: absolute;
  right: 1.32rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.2rem solid transparent;
  border-bottom: 0.2rem solid transparent;
  border-left: 0.28rem solid #fff;
  transform: translateY(-50%);
}
.city-band a:hover, .city-band a:focus-visible {
  color: #000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.gas-town {
  position: relative;
  display: block;
  min-height: 8.2rem;
  margin-top: 2.2rem;
}
.gas-town span {
  display: none;
}
.gas-town::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/gas/cover.png") center bottom/contain no-repeat;
}

.lpgas-intro {
  padding: 3.2rem 4%;
  background: #fff;
}
.lpgas-intro--wrap {
  width: min(100%, 995px);
  margin: 0 auto;
}
.lpgas-intro h2 {
  margin-bottom: 0.45rem;
  color: #000;
  font-size: clamp(1.35rem, 2.5vw, 1.9rem);
  font-weight: 700;
  line-height: 1.45;
}
.lpgas-intro--lead {
  margin-bottom: 1.2rem;
  color: #009983;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 700;
  line-height: 1.55;
}
.lpgas-intro--text {
  display: grid;
  gap: 0.9rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
}
.lpgas-intro--note {
  display: grid;
  gap: 0.55rem;
  margin-top: 1.6rem;
  padding: 1.25rem 1.4rem;
  border-left: 4px solid #009983;
  background: #f4f4f4;
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.8;
}
.lpgas-intro--note p:first-child {
  color: #009983;
  font-weight: 700;
}

.lpgas-index-page .gas-town {
  min-height: clamp(10rem, 18vw, 14rem);
}
.lpgas-index-page .gas-town::after {
  background-image: url("../img/gas/lpgas/cover.png");
  background-position: center 58%;
  background-size: cover;
}

.lpgas-business-page .payment-section > section {
  margin-top: 1.5rem;
}

.lpgas-business-figures {
  display: grid;
  gap: 1.2rem;
  margin-top: 1.6rem;
}
.lpgas-business-figures figure {
  padding: 1rem;
  border: 1px solid #ddd;
  background: #fff;
}
.lpgas-business-figures figcaption {
  margin-bottom: 0.75rem;
  color: #333;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.lpgas-business-figures img {
  display: block;
  width: 100%;
  height: auto;
}

.lpgas-business-figures--flow figure {
  padding-top: 0;
  overflow: hidden;
}
.lpgas-business-figures--flow figcaption {
  margin: 0 -1rem 1rem;
  padding: 0.8rem 1rem 0.75rem;
  border-bottom: 1px solid #bfdfd9;
  background: #eaf5f2;
  color: #007b68;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
}

@media (max-width: 680px) {
  .lpgas-business-figures--flow figcaption {
    padding: 0.7rem 0.75rem 0.65rem;
    font-size: 1.05rem;
  }
}
.lpgas-business-message {
  display: grid;
  gap: 0.35rem;
  margin-top: 1.35rem;
  padding: 1rem 1.2rem;
  background: #f4f4f4;
  color: #009983;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}

.gas-procedures {
  margin-top: -0.1rem;
  background: #f2f2f2;
}
.gas-procedures--inner {
  display: grid;
  grid-template-columns: clamp(10.5rem, 15vw, 12.5rem) minmax(0, 1fr);
  gap: 1.2rem;
  width: min(100%, 995px);
  margin: 0 auto;
  padding: 1.6rem 4% 2.6rem;
  background: #f7f7f7;
}
.gas-procedures h2 {
  align-self: center;
  color: #f39800;
  font-size: clamp(1.15rem, 1.85vw, 1.55rem);
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}
.gas-procedures ul {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.75rem;
}
.gas-procedures a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 9rem;
  padding: 0.8rem 0.5rem 2.25rem;
  border-radius: 7px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.gas-procedures a img {
  width: 2.6rem;
  height: 2.6rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.gas-procedures a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1.1rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #f39800;
  box-shadow: inset 0 0 0 0.28rem #f39800;
  transform: translateX(-50%);
}
.gas-procedures a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1.38rem;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.22rem solid transparent;
  border-bottom: 0.22rem solid transparent;
  border-left: 0.32rem solid #fff;
  transform: translateX(-38%);
  pointer-events: none;
}
.gas-procedures a:hover, .gas-procedures a:focus-visible {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  transform: translateY(-2px);
}

.gas-index {
  padding: 3rem 4% 5rem;
  background: #fff;
}
.gas-index > h2 {
  margin-bottom: 2.2rem;
  font-size: clamp(1.35rem, 2.7vw, 2rem);
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}
.gas-index--cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  width: min(100%, 995px);
  margin: 0 auto;
}

.gas-index-card {
  border: 1px solid #d7d7d7;
  border-top: 5px solid #009983;
  background: #fff;
}
.gas-index-card--lp {
  border-top-color: #0075bb;
}
.gas-index-card--head {
  color: #000;
  text-decoration: none;
  display: block;
  min-height: clamp(14.5rem, 21vw, 17rem);
  padding: 1.5rem 45% 1.5rem 1.5rem;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.82) 48%, rgba(255, 255, 255, 0) 100%), url("../img/gas/city-gas.png") center/cover;
  transition: filter 0.25s ease;
}
.gas-index-card--head:hover, .gas-index-card--head:focus-visible {
  color: #000;
  filter: brightness(1.06);
  box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.06);
}
.gas-index-card--head > div {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: calc(clamp(14.5rem, 21vw, 17rem) - 3rem);
}
.gas-index-card--head p {
  color: #009983;
  font-size: 0.8rem;
  font-weight: 700;
}
.gas-index-card--head h3 {
  margin-top: 0.1rem;
  color: #009983;
  font-size: clamp(1.45rem, 2.6vw, 2.05rem);
  font-weight: 800;
  line-height: 1.15;
}
.gas-index-card--head span {
  display: block;
  margin-top: 0.55rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.55;
}
.gas-index-card--head .gas-index-card--phrase {
  display: inline-block;
  margin-top: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.gas-index-card--more {
  align-self: end;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.85rem;
  margin-top: 0.8rem;
  padding: 0.35rem 1.8rem 0.35rem 0.95rem;
  border-radius: 999px;
  background: #009983;
  color: #fff !important;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
}
.gas-index-card--more::after {
  background: transparent;
  right: 0.78rem;
  width: 0;
  height: 0;
  border-radius: 0;
  border-top: 0.22rem solid transparent;
  border-bottom: 0.22rem solid transparent;
  border-left: 0.32rem solid #fff;
}
.gas-index-card--more::before {
  display: none;
}
.gas-index-card--more:hover, .gas-index-card--more:focus-visible {
  background: #007d6c;
  color: #fff !important;
}
.gas-index-card--lp .gas-index-card--head {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.82) 48%, rgba(255, 255, 255, 0) 100%), url("../img/gas/lpgas.png") center/cover;
}
.gas-index-card--lp .gas-index-card--head p,
.gas-index-card--lp .gas-index-card--head h3 {
  color: #0075bb;
}
.gas-index-card--head:hover p, .gas-index-card--head:focus-visible p, .gas-index-card--head:hover h3, .gas-index-card--head:focus-visible h3 {
  color: #009983;
}
.gas-index-card--lp .gas-index-card--head:hover p, .gas-index-card--lp .gas-index-card--head:focus-visible p, .gas-index-card--lp .gas-index-card--head:hover h3, .gas-index-card--lp .gas-index-card--head:focus-visible h3 {
  color: #0075bb;
}
.gas-index-card--head:hover span:not(.gas-index-card--more), .gas-index-card--head:focus-visible span:not(.gas-index-card--more) {
  color: #000;
}
.gas-index-card ul {
  padding: 0.8rem 1.5rem 1.5rem;
}
.gas-index-card li {
  border-bottom: 1px solid #cfcfcf;
}
.gas-index-card ul a {
  position: relative;
  display: block;
  padding: 0.8rem 2rem 0.8rem 0;
  color: #000;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.35;
  transition: color 0.25s ease;
}
.gas-index-card ul a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
  transition: background 0.25s ease, right 0.25s ease;
}
.gas-index-card ul a::before {
  content: "";
  position: absolute;
  right: 0.37rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.22rem solid transparent;
  border-bottom: 0.22rem solid transparent;
  border-left: 0.3rem solid #fff;
  transform: translateY(-50%);
  transition: right 0.25s ease;
}
.gas-index-card ul a:hover, .gas-index-card ul a:focus-visible {
  color: #000;
  background: #f4f4f4;
}
.gas-index-card ul a:hover::after, .gas-index-card ul a:focus-visible::after {
  right: -0.15rem;
  background: #666;
}
.gas-index-card ul a:hover::before, .gas-index-card ul a:focus-visible::before {
  right: 0.22rem;
}
.gas-index-card--lp ul a::after {
  background: #0075bb;
}
.gas-index-card--lp .gas-index-card--more {
  background: #0075bb;
}
.gas-index-card--lp .gas-index-card--more:hover, .gas-index-card--lp .gas-index-card--more:focus-visible {
  background: #005f98;
  color: #fff !important;
}
.gas-index-card--lp .gas-index-card--more::after {
  background: transparent;
}
.gas-index-card--lp ul a:hover, .gas-index-card--lp ul a:focus-visible {
  color: #000;
}
.gas-index-card--lp ul a:hover::after, .gas-index-card--lp ul a:focus-visible::after {
  background: #666;
}
.gas-index-card .gas-index-card--more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 1.7rem;
  margin-top: 0.75rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background: #009983;
  color: #fff !important;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
}
.gas-index-card .gas-index-card--more::before, .gas-index-card .gas-index-card--more::after {
  display: none;
}
.gas-index-card .gas-index-card--more:hover, .gas-index-card .gas-index-card--more:focus-visible {
  background: #007d6c;
  color: #fff !important;
}
.gas-index-card--head:hover .gas-index-card--more, .gas-index-card--head:focus-visible .gas-index-card--more {
  background: #007d6c;
}
.gas-index-card--lp .gas-index-card--more {
  background: #0075bb;
}
.gas-index-card--lp .gas-index-card--more:hover, .gas-index-card--lp .gas-index-card--more:focus-visible {
  background: #005f98;
}
.gas-index-card--lp .gas-index-card--head:hover .gas-index-card--more, .gas-index-card--lp .gas-index-card--head:focus-visible .gas-index-card--more {
  background: #005f98;
}

.procedure-index-page .gas-index-card--city .gas-index-card--head {
  background: #fff;
}
.procedure-index-page .gas-index-card--lp .gas-index-card--head {
  background: #fff;
}

.gas-hero--detail .gas-hero--inner {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  grid-template-areas: "title town" "label town";
  align-items: end;
  -moz-column-gap: 2.6rem;
       column-gap: 2.6rem;
  padding: 2.55rem 4% 1.2rem;
  border-bottom: 1px solid #cfcfcf;
}
.gas-hero--detail h2 {
  grid-area: title;
  font-size: clamp(2.2rem, 3.7vw, 3rem);
  line-height: 1.08;
}
.gas-hero--detail .gas-hero--label {
  grid-area: label;
  margin-top: 0;
  color: #000;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 700;
  line-height: 1.45;
}
.gas-hero--detail .gas-town {
  grid-area: town;
  position: relative;
  min-height: 7.05rem;
  margin-top: 0;
  padding-top: 0;
}
.gas-hero--detail .gas-town::after {
  inset: auto 0 -0.12rem auto;
  width: min(100%, 41rem);
  height: 8.35rem;
  background-position: right bottom;
  background-size: contain;
}

.gas-hero--lpgas .gas-town::after {
  background-image: url("../img/gas/lpgas/cover.png");
}

.gas-hero--moving .gas-town::after {
  background-image: url("../img/moving/cover.png");
}

.gas-hero--denki .gas-town::after {
  background-image: url("../img/denki/cover.png");
}

.gas-hero--detail + .price-page {
  padding-top: 2.2rem;
}

.price-page {
  padding: 0 4% 5rem;
  background: #fff;
}

.price-guide-page .price-intro {
  margin-bottom: 2rem;
}
.price-guide-page .price-guide-menu {
  margin: 0 auto 1.5rem;
  padding: 0;
  background: transparent;
}
.price-guide-page .price-guide-menu .city-menu--wrap {
  width: min(100%, 995px);
  padding: 1.8rem 3%;
}
.price-guide-page .price-guide-menu .city-menu--wrap > h2 {
  color: #222;
  font-size: 1.2rem;
}
.price-guide-page .price-guide-menu .city-menu--grid {
  margin-top: 1rem;
}

.price-section {
  width: min(100%, 995px);
  margin: 0 auto 3.4rem;
  padding: 2.6rem 4%;
  border: 1px solid #ddd;
  background: #fff;
}
.price-section > h2 {
  margin-bottom: 0.7rem;
  color: #009983;
  font-size: clamp(1.25rem, 2.3vw, 1.7rem);
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

.price-intro {
  padding: 2.1rem 0 0;
  border: 0;
}
.price-intro > h2 {
  margin-bottom: 0.7rem;
  color: #000;
  font-size: 1.65rem;
  text-align: left;
}
.price-intro p.small {
  padding-top: 0.6rem;
  font-size: 0.9rem;
}

.price-lead,
.price-section--text {
  max-width: 46rem;
  margin: 0 auto;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
}

.price-intro .price-lead {
  max-width: none;
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
  line-height: 1.8;
  text-align: left;
}

.price-intro-subtitle {
  margin: 2rem 0 0.8rem;
  padding-bottom: 0.45rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: clamp(1.25rem, 2.3vw, 1.7rem);
  font-weight: 600;
  line-height: 1.4;
}

/* 一般料金シミュレーション */
.gas-simulation-form-section,
.gas-simulation-result {
  box-sizing: border-box;
  width: min(100%, 760px);
  padding: 2.2rem 3%;
  overflow: hidden;
}

.gas-simulation-form-section > h2,
.gas-simulation-result > h2 {
  margin-bottom: 1.2rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid #009983;
  color: #222;
  font-size: 1.4rem;
  text-align: center;
}

.gas-simulation-form {
  overflow: hidden;
  border: 1px solid #d5d5d5;
}

.gas-simulation-field {
  display: grid;
  grid-template-columns: minmax(15rem, 42%) minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  border-bottom: 1px solid #d5d5d5;
}

.gas-simulation-field > label {
  display: flex;
  align-items: center;
  padding: 1.25rem 1.35rem;
  background: #eaf6f3;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
}

.gas-simulation-field > select,
.gas-simulation-meter-input {
  align-self: center;
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  margin: 1rem 1.35rem;
}

.gas-simulation-field select,
.gas-simulation-field input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 3rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #aaa;
  border-radius: 0;
  background: #fff;
  color: #222;
  font: inherit;
}

.gas-simulation-field > select {
  width: calc(100% - 2.7rem);
  max-width: calc(100% - 2.7rem);
}

.gas-simulation-meter-input {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
}

.gas-simulation-meter-input span {
  font-size: 1rem;
  font-weight: 600;
  white-space: nowrap;
}

.gas-simulation-form > button,
.gas-simulation-retry {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100% - 2rem, 24rem);
  min-height: 3.3rem;
  margin: 1.35rem auto;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 0;
  background: #009983;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.gas-simulation-form > button:hover,
.gas-simulation-form > button:focus-visible,
.gas-simulation-retry:hover,
.gas-simulation-retry:focus-visible {
  background: #007d6b;
  color: #fff;
}

.gas-simulation-error {
  margin-bottom: 1rem;
  padding: 0.8rem 1rem;
  border-left: 4px solid #c62828;
  background: #fff0f0;
  color: #b71c1c;
}

.gas-simulation-total {
  margin-bottom: 2rem;
  padding: 1.1rem 1rem;
  background: #eaf6f3;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 600;
}

.gas-simulation-total strong {
  margin: 0 0.25rem;
  color: #d95200;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1;
}

.gas-simulation-result > h3 {
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
  font-weight: 600;
}

.gas-simulation-result dl {
  margin: 0;
  border-top: 1px solid #d5d5d5;
}

.gas-simulation-result dl > div {
  display: grid;
  grid-template-columns: 35% minmax(0, 1fr);
  border-bottom: 1px solid #d5d5d5;
}

.gas-simulation-result dt,
.gas-simulation-result dd {
  margin: 0;
  padding: 0.85rem 1rem;
}

.gas-simulation-result dt {
  background: #eaf6f3;
  font-weight: 600;
}

@media (max-width: 640px) {
  .gas-simulation-form-section,
  .gas-simulation-result {
    padding: 1.5rem 1rem;
  }
  .gas-simulation-field {
    grid-template-columns: 1fr;
  }
  .gas-simulation-field > label {
    padding: 0.85rem 1rem;
  }
  .gas-simulation-field > select,
  .gas-simulation-meter-input {
    margin: 0.85rem 1rem;
  }
  .gas-simulation-result dl > div {
    grid-template-columns: 1fr;
  }
  .gas-simulation-result dd {
    padding-top: 0.65rem;
    padding-bottom: 0.85rem;
  }
}
.contact-note {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 1rem;
  padding: 0.7rem 1rem;
  background: #f4f4f4;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.65;
}
.contact-note span {
  color: #009983;
  font-weight: 600;
}

.price-formula {
  margin-top: 1.25rem;
  padding: 0.95rem 1.15rem 0.85rem;
  border: 2px solid #66c9bd;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 153, 131, 0.16);
}
.price-formula > p {
  font-size: 0.76rem;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
}
.price-formula ul {
  display: grid;
  gap: 0.25rem;
  margin-top: 0.65rem;
  padding-top: 0.7rem;
  border-top: 1px solid #ddd;
  color: #009983;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
}
.price-formula ul li::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.9rem;
  height: 0.9rem;
  margin-right: 0.35rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.64rem;
  line-height: 1;
  vertical-align: 0.08rem;
}

.price-formula--note {
  margin-top: 0.55rem;
  font-size: 0.7rem !important;
  font-weight: 400;
  line-height: 1.6;
}

.price-formula--row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) auto minmax(0, 1.85fr) auto minmax(0, 1.05fr);
  align-items: center;
  gap: 0.9rem;
  margin-top: 0.85rem;
}
.price-formula--row b {
  color: #009983;
  font-size: 1.15rem;
  line-height: 1;
}

.price-formula--row-lpgas {
  grid-template-columns: minmax(12rem, 1.2fr) auto minmax(0, 1.4fr) auto minmax(0, 1.1fr);
}

.price-formula--item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 2.7rem;
  padding: 0.45rem 0.65rem;
  border-radius: 0;
  background: #dff5f1;
  color: #006c5e;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}
.price-formula--item span {
  display: block;
  margin-top: 0.05rem;
  font-size: 0.68rem;
  font-weight: 500;
}

.price-formula--row-lpgas .price-formula--item {
  font-size: 0.94rem;
}

.price-formula--row-lpgas .price-formula--item-main {
  font-size: 1.25rem;
}

.price-formula--total {
  background: #009983;
  color: #fff;
}

.price-area-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 1rem;
}
.price-area-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 2.6rem;
  border: 1px solid #009983;
  border-radius: 5px 5px 0 0;
  color: #009983;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;
}
.price-area-tabs a + a {
  border-left: 0;
}
.price-area-tabs a.is-active, .price-area-tabs a:hover, .price-area-tabs a:focus-visible {
  background: #009983;
  color: #fff;
}

.price-area-note {
  margin-top: 1rem;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.7;
  text-align: left;
}

.price-rate-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.9rem;
}

.price-rate-card {
  border: 1px solid #abdcd6;
  background: #fff;
  text-align: center;
}
.price-rate-card h3 {
  padding: 0.7rem;
  background: #bfe3dd;
  color: #009983;
  font-size: 1.02rem;
  font-weight: 800;
}
.price-rate-card p {
  min-height: 3.2rem;
  padding: 0 0.7rem 0.75rem;
  background: #bfe3dd;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.55;
}
.price-rate-card dl {
  border-top: 0;
}
.price-rate-card div {
  display: grid;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  align-items: center;
  min-height: 5.9rem;
  margin: 0 0.7rem;
  border-bottom: 1px solid #d7d7d7;
}
.price-rate-card div:last-child {
  border-bottom: 0;
}
.price-rate-card dt,
.price-rate-card dd {
  padding: 0.55rem 0;
  font-weight: 800;
  line-height: 1.35;
}
.price-rate-card dt {
  background: transparent;
}
.price-rate-card dd {
  text-align: left;
}
.price-rate-card dd em {
  display: block;
  font-style: normal;
  font-size: 0.72rem;
}
.price-rate-card dd small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.58rem;
  font-weight: 700;
}
.price-rate-card dd strong {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.35rem;
  line-height: 1.15;
}

.price-rate-section {
  padding: 0;
  border: 0;
  box-shadow: none;
}
.price-rate-section > h2 {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: 1.35rem;
  text-align: left;
}
.price-rate-section .price-section--text {
  max-width: none;
  margin-top: 0.55rem;
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: left;
}

.price-pdf-links {
  display: grid;
  gap: 0.08rem;
  margin-top: 0.35rem;
  padding: 0;
}
.price-pdf-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 1rem;
  line-height: 1.25;
  padding-right: 1.2rem;
  color: #009983;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 800;
}
.price-pdf-links a .price-pdf-links--note {
  margin-left: 0.7rem;
  color: #222;
  font-size: inherit;
  font-weight: inherit;
}
.price-pdf-links a::after {
  content: ">";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.75rem;
  height: 0.75rem;
  margin-left: 0.35rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.55rem;
  line-height: 1;
}
.price-pdf-links a:hover, .price-pdf-links a:focus-visible {
  color: #009983;
}
.price-pdf-links a:hover .price-pdf-links--label, .price-pdf-links a:focus-visible .price-pdf-links--label {
  text-decoration: underline;
}

.price-rate-panel {
  margin-top: 1rem;
  /*border: 1px solid #abdcd6;*/
  background: #fff;
  /*box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);*/
}

.price-rate-icon {
  display: block;
  position: relative;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 50%;
  background: #d6f0ec;
}
.price-rate-icon::before {
  display: none;
}
.price-rate-icon::after {
  content: "";
  position: absolute;
  inset: 0.82rem;
  background: url("../img/gas/icon_price02.svg") center/contain no-repeat;
}

.price-rate-icon--unit::after {
  inset: 0.78rem;
  background-image: url("../img/gas/icon_price01.svg");
}

.price-example {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid #333;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: left;
}
.price-example small {
  font-size: 0.65rem;
  font-weight: 700;
}
.price-example b {
  color: #009983;
  font-size: 1.5rem;
  line-height: 1;
}

.price-rate-notes {
  margin-top: 0.5rem;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.55;
}

.price-simulation {
  margin: -0.8rem -4% 3.4rem;
  padding: 1.35rem 4%;
  background: #f4f4f4;
}

.price-simulation--inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  width: min(100%, 995px);
  margin: 0 auto;
  padding: 0.95rem 1.55rem;
  background: transparent;
}
.price-simulation--inner a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 14rem;
  min-height: 2.45rem;
  padding: 0.55rem 2.2rem 0.55rem 1.5rem;
  border: 2px solid #009983;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18);
  color: #009983;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.3;
  position: relative;
}
.price-simulation--inner a::after {
  content: ">";
  position: absolute;
  right: 0.9rem;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.58rem;
  line-height: 1;
  transform: translateY(-50%);
}
.price-simulation--inner a:hover, .price-simulation--inner a:focus-visible {
  background: #f7fffd;
  color: #009983;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.price-simulation--text {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.price-simulation--text p {
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.55;
}
.price-simulation--text strong {
  display: block;
  color: #009983;
  font-size: 0.98rem;
  line-height: 1.45;
}
.price-simulation--text small {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.62rem;
  font-weight: 700;
}

.price-simulation--icon {
  position: relative;
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #d6f0ec;
}
.price-simulation--icon::before {
  content: "";
  position: absolute;
  inset: 0.8rem;
  background: url("../img/gas/icon_price03.svg") center/contain no-repeat;
}
.price-simulation--icon::after {
  display: none;
}

.price-link-list {
  margin-top: 1.5rem;
}
.price-link-list li {
  border-bottom: 1px solid #cfcfcf;
}
.price-link-list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.4rem;
  padding: 0.75rem 2.5rem 0.75rem 0;
  color: #000;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
}
.price-link-list a span {
  color: #666;
  font-size: 0.78rem;
  white-space: nowrap;
}
.price-link-list a::after {
  content: "";
  position: absolute;
  right: 0.2rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.price-link-list a::before {
  content: "";
  position: absolute;
  right: 0.54rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.2rem solid transparent;
  border-bottom: 0.2rem solid transparent;
  border-left: 0.28rem solid #fff;
  transform: translateY(-50%);
}
.price-link-list a:hover, .price-link-list a:focus-visible {
  background: #fff;
  color: #000;
  box-shadow: inset 0 -2px 0 rgba(0, 153, 131, 0.25);
}

.price-contracts {
  padding: 0;
  border: 0;
}
.price-contracts > h2 {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: 1.35rem;
  text-align: left;
}

.price-contracts--lead {
  margin-top: 0.55rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.55;
}

.payment-section {
  padding: 0;
  border: 0;
}
.payment-section > h2 {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: 1.35rem;
  text-align: left;
}
.payment-section > h3 {
  margin-bottom: 0.85rem;
  color: #000;
  font-size: 1.3rem;
  line-height: 1.45;
  text-align: left;
}
.payment-section > h4 {
  color: #000;
  font-size: 1.2rem;
  line-height: 1.2;
  text-align: left;
  font-weight: 600;
}
.payment-section > h4 span {
  font-size: 1rem;
  font-weight: 500;
}
.payment-section > h5 {
  margin-top: 1.2rem;
  font-size: 1.1rem;
  font-weight: 500;
  border-bottom: dotted 1px #ccc;
  padding-bottom: 0.3rem;
}
.payment-section p {
  margin-top: 0.75rem;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.85;
}
.payment-section p + h3,
.payment-section .content-list + p {
  margin-top: 1.55rem;
}
.payment-section h3 + .content-list {
  margin-top: 1.05rem;
}
.payment-section > section {
  margin-top: 2rem;
}
.payment-section > section + section {
  margin-top: 2.1rem;
  padding-top: 1.45rem;
}
.payment-section > section > h3 {
  margin: 0 0 0.75rem;
  color: #000;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.45;
}
.payment-section > section > p + p {
  margin-top: 0.9rem;
}
.payment-section h4 + P,
.payment-section h5 + P {
  margin: 0.2rem 0 1.2rem;
}

.payment-section--lead {
  max-width: none;
}

.info-table {
  width: 100%;
  margin-top: 1.1rem;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.75;
}
.info-table th,
.info-table td {
  padding: 0.85rem 1rem;
  border: 1px solid #d7d7d7;
  vertical-align: top;
}
.info-table th {
  width: 12rem;
  background: #f4f4f4;
  color: #000;
  font-weight: 600;
  text-align: left;
}
.info-table td {
  background: #fff;
  font-weight: 400;
}

.media-box {
  margin-top: 1.35rem;
  padding: 1.45rem 1.6rem;
  background: #f4f4f4;
}
.media-box > div {
  max-width: 46rem;
}
.media-box h3 {
  margin: 0 0 0.7rem;
  color: #009983;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.45;
}
.media-box p {
  margin-top: 0.55rem;
}

.content-list {
  display: grid;
  gap: 0.62rem;
  margin: 1rem 0 0;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.8;
}
.content-list li {
  position: relative;
  padding-left: 1.15rem;
}
.content-list li::before {
  content: "";
  position: absolute;
  top: 0.78em;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}

.content-list--alert li::before {
  background: #d2212b;
}

.emergency-hero .gas-hero--inner {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title" "label";
  align-items: end;
  padding-top: 1.75rem;
}

.emergency-index-hero .gas-hero--inner {
  grid-template-areas: "title";
  align-items: center;
}

.emergency-index-list.construction-index-list a::after {
  background: #d2212b;
}
.emergency-index-list.construction-index-list a:hover, .emergency-index-list.construction-index-list a:focus-visible {
  background: #faf7f7;
}

.emergency-unavailable-alert {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(19rem, 0.95fr);
  gap: 1rem;
  align-items: center;
  width: min(100%, 1120px);
  margin: 0 auto 2.8rem;
  padding: 1.5rem 3rem;
  border: 0;
  border-top: 5px solid #d2212b;
  background: #f4f4f4;
}
.emergency-unavailable-alert h2 {
  margin: 0.2rem 0 1rem;
  color: #b91f27;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.35;
}
.emergency-unavailable-alert p {
  line-height: 1.9;
}
.emergency-unavailable-alert .button-row {
  margin-top: 1.25rem;
}
.emergency-unavailable-alert span {
  display: inline-block;
}
.emergency-unavailable-alert figure {
  margin: 0;
}
.emergency-unavailable-alert img {
  width: min(100%, 30rem);
  height: auto;
  margin-right: auto;
  margin-left: 0;
  display: block;
}

.emergency-unavailable-red-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15rem;
  padding: 0.8rem 2.2rem;
  border-radius: 999px;
  background: #d2212b;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 3px 0 rgba(130, 0, 8, 0.22);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.emergency-unavailable-red-button:hover, .emergency-unavailable-red-button:focus-visible {
  background: #b91f27;
  color: #fff;
  transform: translateY(1px);
  box-shadow: 0 2px 0 rgba(130, 0, 8, 0.2);
}

.emergency-unavailable-checks {
  width: min(100%, 1120px);
  padding: 0;
  border: 0;
  background: transparent;
}

.emergency-unavailable-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
}

.emergency-unavailable-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 34%);
  grid-template-areas: "head image" "body image";
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 1rem;
  align-items: center;
  padding: 2.2rem 3rem;
  border: 0;
  border-bottom: 1px solid #d8d8d8;
  background: #fff;
}

.emergency-unavailable-card--head {
  grid-area: head;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.emergency-unavailable-card--head::before {
  content: "";
  flex: 0 0 auto;
  width: 0.25rem;
  height: 2rem;
  margin-top: 0.1rem;
  background: #ff6b6f;
}
.emergency-unavailable-card--head span {
  flex: 0 0 auto;
  color: #333;
  font-size: 1.35rem;
  font-weight: 700;
}
.emergency-unavailable-card--head span::after {
  content: ".";
}
.emergency-unavailable-card--head h3 {
  margin: 0;
  color: #333;
  font-size: 1.35rem;
  line-height: 1.55;
}

.emergency-unavailable-card figure {
  grid-area: image;
  margin: 0;
  background: transparent;
}
.emergency-unavailable-card figure img {
  display: block;
  width: min(100%, 24rem);
  height: auto;
  margin-right: auto;
  margin-left: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.emergency-unavailable-card .emergency-unavailable-card--icon {
  display: grid;
  place-items: center;
  min-height: 10.5rem;
  background: #f7f7f7;
}
.emergency-unavailable-card .emergency-unavailable-card--icon img {
  width: 6.5rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.emergency-unavailable-card--body {
  grid-area: body;
}
.emergency-unavailable-card--body p {
  margin: 0.7rem 0 0;
  line-height: 1.85;
}
.emergency-unavailable-card--body p:first-child {
  margin-top: 0;
}
.emergency-unavailable-card--body span {
  display: inline-block;
}
.emergency-unavailable-card--body a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 24rem);
  margin-top: 0.8rem;
  padding: 0.85rem 1.4rem;
  border: 1px solid #ff6b6f;
  color: #ff6b6f;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.emergency-unavailable-card--body a::after {
  content: ">";
  margin-left: auto;
  color: inherit;
}
.emergency-unavailable-card--body a:hover, .emergency-unavailable-card--body a:focus-visible {
  border-color: #d2212b;
  background: #fffafa;
  color: #d2212b;
}

.emergency-unavailable-contact {
  width: min(100%, 995px);
  margin: 0 auto 4rem;
  padding: 2rem;
  border: 1px solid #e0e0e0;
  background: #f7f7f7;
  text-align: center;
}
.emergency-unavailable-contact p {
  margin: 0;
  line-height: 1.85;
}
.emergency-unavailable-contact span {
  display: inline-block;
}
.emergency-unavailable-contact .button-row {
  margin-top: 1.2rem;
}

.emergency-smell-lead,
.emergency-smell-actions,
.emergency-smell-contact {
  width: min(100%, 1120px);
  margin-right: auto;
  margin-left: auto;
}

.emergency-smell-lead {
  margin-bottom: 2.5rem;
  padding: 1.5rem 2rem;
  border-top: 5px solid #d2212b;
  background: #f4f4f4;
}
.emergency-smell-lead p {
  margin: 0;
  line-height: 1.9;
}
.emergency-smell-lead span {
  display: inline-block;
}

.emergency-smell-actions {
  margin-bottom: 3rem;
}

.emergency-smell-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 42%);
  gap: 3rem;
  align-items: center;
  padding: 2.3rem 3rem;
  border-bottom: 1px solid #d8d8d8;
}
.emergency-smell-action:first-child {
  border-top: 1px solid #d8d8d8;
}
.emergency-smell-action h2 {
  margin: 0 0 1.1rem;
  padding-left: 1rem;
  border-left: 0.25rem solid #d2212b;
  color: #333;
  line-height: 1.45;
}
.emergency-smell-action p {
  margin: 0.5rem 0 0;
  line-height: 1.9;
}
.emergency-smell-action span {
  display: inline-block;
}
.emergency-smell-action ul {
  margin: 1rem 0 0;
  padding-left: 1.5rem;
  line-height: 1.9;
  list-style: disc;
}
.emergency-smell-action figure {
  margin: 0;
}
.emergency-smell-action figure img {
  display: block;
  width: min(100%, 28rem);
  max-height: 18rem;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.emergency-smell-action--images {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: center;
}
.emergency-smell-action--images figure img {
  max-height: 18rem;
}

.emergency-smell-contact {
  margin-bottom: 3rem;
  padding: 2rem;
  border-top: 5px solid #d2212b;
  background: #f4f4f4;
}
.emergency-smell-contact > h2 {
  margin: 0 0 1.5rem;
  color: #b91f27;
  text-align: center;
}
.emergency-smell-contact > h2 span {
  display: inline-block;
}
.emergency-smell-contact--title {
  margin: 0 0 1rem;
  font-weight: 600;
  text-align: center;
}
.emergency-smell-contact--title span {
  display: inline-block;
}
.emergency-smell-contact table {
  width: 100%;
  min-width: 48rem;
  border-collapse: collapse;
  background: #fff;
}
.emergency-smell-contact th,
.emergency-smell-contact td {
  padding: 1rem 1.1rem;
  border: 1px solid #d6d6d6;
  color: #222;
  font-size: var(--lower-action-text);
  text-align: left;
}
.emergency-smell-contact th {
  width: 54%;
  font-weight: 500;
}
.emergency-smell-contact td:last-child {
  white-space: nowrap;
  font-size: var(--lower-subheading-text);
}
.emergency-smell-contact td:last-child a {
  color: #222;
  font-weight: 600;
  text-decoration: none;
}

@media (max-width: 767px) {
  .emergency-smell-lead {
    margin-bottom: 1.5rem;
    padding: 1.2rem 1rem;
  }
  .emergency-smell-action {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    padding: 1.6rem 1rem;
  }
  .emergency-smell-action figure img {
    max-height: none;
  }
  .emergency-smell-action--images {
    grid-template-columns: 1fr;
  }
  .emergency-smell-contact {
    padding: 1.4rem 1rem;
  }
  .emergency-smell-contact .table-scroll {
    overflow: visible;
    background: transparent;
  }
  .emergency-smell-contact table,
  .emergency-smell-contact tbody {
    display: block;
    min-width: 0;
    background: transparent;
  }
  .emergency-smell-contact--title span {
    display: block;
  }
  .emergency-smell-contact tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid #d6d6d6;
    background: #fff;
  }
  .emergency-smell-contact tr:last-child {
    margin-bottom: 0;
  }
  .emergency-smell-contact th,
  .emergency-smell-contact td {
    display: flex;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 0;
    border-bottom: 1px solid #e3e3e3;
  }
  .emergency-smell-contact th {
    background: #f7f7f7;
    font-weight: 600;
  }
  .emergency-smell-contact td::before {
    flex: 0 0 6rem;
    content: attr(data-label);
    color: #666;
    font-size: var(--lower-small-text);
    font-weight: 500;
  }
  .emergency-smell-contact td:last-child {
    align-items: baseline;
    border-bottom: 0;
    white-space: normal;
  }
}
.emergency-recover-intro,
.emergency-recover-section {
  width: min(100%, 1120px);
  margin-right: auto;
  margin-left: auto;
}

.emergency-recover-intro {
  margin-bottom: 3rem;
  padding: 2rem 2.5rem;
  border-top: 5px solid #d2212b;
  background: #f4f4f4;
}
.emergency-recover-intro h2 {
  margin: 0 0 1.5rem;
  text-align: center;
}
.emergency-recover-intro h2 span {
  display: inline-block;
}
.emergency-recover-intro ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 0.75rem 2rem;
  margin: 0;
  padding: 0;
  counter-reset: recover-condition;
  list-style: none;
}
.emergency-recover-intro li {
  display: flex;
  align-items: center;
  padding: 0.8rem 1rem;
  border-radius: 4px;
  background: #fff;
}

.emergency-recover-section {
  margin-bottom: 3.5rem;
}
.emergency-recover-section > h2,
.emergency-recover-section .emergency-recover-heading h2 {
  margin: 0;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid #009b84;
}

.emergency-recover-heading {
  margin-bottom: 1.5rem;
}
.emergency-recover-heading a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.75rem 0 0 auto;
  color: #008f7a;
  font-weight: 600;
}

.emergency-recover-notes {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.emergency-recover-notes li {
  position: relative;
  padding: 1.25rem 1.5rem 1.25rem 3.8rem;
  background: #f4f4f4;
}
.emergency-recover-notes li::before {
  position: absolute;
  top: 1.2rem;
  left: 1.35rem;
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background: #d2212b;
  color: #fff;
  content: "!";
  font-weight: 700;
  place-items: center;
}
.emergency-recover-notes li span {
  display: block;
}
.emergency-recover-notes li span + span {
  margin-top: 0.75rem;
}

.emergency-recover-meter {
  margin: 2rem auto 2.5rem;
  text-align: center;
}
.emergency-recover-meter img {
  width: min(100%, 40rem);
  height: auto;
}

.emergency-recover-steps {
  margin: 0;
  padding: 0;
  counter-reset: recover-step;
  list-style: none;
}
.emergency-recover-steps > li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(16rem, 38%) minmax(0, 1fr);
  gap: 3rem;
  align-items: center;
  min-height: 20rem;
  padding: 2rem 2rem 2rem 4.5rem;
  border-top: 1px solid #d8d8d8;
  counter-increment: recover-step;
}
.emergency-recover-steps > li:last-child {
  border-bottom: 1px solid #d8d8d8;
}
.emergency-recover-steps > li::before {
  position: absolute;
  top: 2rem;
  left: 1rem;
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: #555;
  color: #fff;
  content: counter(recover-step);
  font-weight: 600;
  place-items: center;
}
.emergency-recover-steps figure {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  text-align: center;
}
.emergency-recover-steps figure img {
  display: block;
  width: min(100%, 24rem);
  max-height: 19rem;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.emergency-recover-step--text {
  grid-column: 2;
  grid-row: 1;
}
.emergency-recover-step--text p {
  margin: 0;
}
.emergency-recover-step--text span {
  display: inline-block;
}

.emergency-recover-cautions {
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: #f4f4f4;
}
.emergency-recover-cautions p {
  margin: 0;
}
.emergency-recover-cautions p + p {
  margin-top: 0.6rem;
}

@media (max-width: 767px) {
  .emergency-recover-intro {
    margin-bottom: 2rem;
    padding: 1.5rem 1rem;
  }
  .emergency-recover-intro ol {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .emergency-recover-section {
    margin-bottom: 2.5rem;
  }
  .emergency-recover-heading a {
    margin-top: 0.65rem;
  }
  .emergency-recover-notes li {
    padding: 1rem 1rem 1rem 3.25rem;
  }
  .emergency-recover-notes li::before {
    top: 0.95rem;
    left: 0.9rem;
  }
  .emergency-recover-meter {
    margin: 1.5rem auto 2rem;
  }
  .emergency-recover-steps > li {
    grid-template-columns: 1fr;
    gap: 1rem;
    min-height: 0;
    padding: 3.6rem 1rem 1.5rem;
  }
  .emergency-recover-steps > li::before {
    top: 1rem;
    left: 1rem;
  }
  .emergency-recover-steps figure,
  .emergency-recover-step--text {
    grid-column: 1;
  }
  .emergency-recover-steps figure {
    grid-row: 1;
  }
  .emergency-recover-step--text {
    grid-row: 2;
  }
  .emergency-recover-steps figure img {
    max-height: 15rem;
  }
}
.emergency-broken-checks,
.emergency-broken-repair {
  width: min(100%, 1120px);
  margin-right: auto;
  margin-left: auto;
}

.emergency-broken-checks {
  margin-bottom: 4rem;
  padding: 1.75rem 2rem 0;
  border-top: 4px solid #d9232e;
  background: #fff;
}

.emergency-broken-checks > h2 {
  margin: 0 0 0.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #d8d8d8;
  text-align: left;
}

.emergency-broken-checks > h2 span {
  display: inline-block;
}

.emergency-broken-check-list {
  margin: 0;
  padding: 0;
  counter-reset: broken-check;
  list-style: none;
}

.emergency-broken-check-list > li {
  position: relative;
  padding: 1.5rem 1rem 1.65rem 4.75rem;
  border-bottom: 1px solid #d8d8d8;
  background: #fff;
  counter-increment: broken-check;
}

.emergency-broken-check-list > li::before {
  position: absolute;
  top: 1.35rem;
  left: 1.5rem;
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 50%;
  background: #555;
  color: #fff;
  content: counter(broken-check);
  font-weight: 600;
  place-items: center;
}

.emergency-broken-check-list h3 {
  margin: 0 0 0.8rem;
}

.emergency-broken-check-list ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.emergency-broken-check-list ul li {
  position: relative;
  padding-left: 1.15rem;
}

.emergency-broken-check-list ul li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: #777;
  content: "";
}

.emergency-broken-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}

.emergency-broken-actions > div {
  display: flex;
  min-height: 11rem;
  flex-direction: column;
  gap: 1.35rem;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem;
  border: 1px solid #ff666b;
  border-radius: 8px;
  background: #fff;
}

.emergency-broken-actions p {
  margin: 0;
  text-align: center;
}

.emergency-broken-actions p span {
  display: inline-block;
}

.emergency-broken-actions a {
  position: relative;
  display: block;
  width: min(100%, 22rem);
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  border: 0;
  border-radius: 3px;
  background: #ff666b;
  color: #fff;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.emergency-broken-actions a:hover {
  background: #e95359;
  color: #fff;
}

.emergency-broken-actions a::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: ">";
  transform: translateY(-50%);
}

.emergency-broken-repair {
  margin-bottom: 4rem;
}

.emergency-broken-repair > h2 {
  margin: 0;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid #009b84;
}

.emergency-broken-repair--lead {
  margin: 1rem 0 2.5rem;
}

.emergency-broken-repair--lead span {
  display: inline-block;
}

.emergency-broken-repair > h3 {
  margin: 0 0 1rem;
}

.emergency-broken-service-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin: 0 0 1rem;
  padding: 0;
  background: transparent;
  list-style: none;
}

.emergency-broken-service-legend li {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  padding: 0;
  color: #555;
  font-size: var(--lower-small-text);
}

.emergency-broken-service-legend img {
  width: 1rem;
  height: 1rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.emergency-broken-shop-table {
  overflow-x: visible;
}

.emergency-broken-shop-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.emergency-broken-shop-table th,
.emergency-broken-shop-table td {
  padding: 0.85rem 1rem;
  border: 1px solid #d7d7d7;
  font-size: var(--lower-action-text) !important;
  line-height: 1.65;
  vertical-align: middle;
  text-align: left;
}

.emergency-broken-shop-table th {
  font-weight: 600 !important;
}

.emergency-broken-shop-table td {
  font-weight: 400 !important;
}

.emergency-broken-shop-table thead th {
  background: #f1f1f1;
  font-weight: 600;
}

.emergency-broken-shop-table thead th:nth-child(1) {
  width: 12%;
}

.emergency-broken-shop-table thead th:nth-child(2) {
  width: 34%;
}

.emergency-broken-shop-table thead th:nth-child(3) {
  width: 38%;
}

.emergency-broken-shop-table thead th:nth-child(4) {
  width: 14%;
}

.emergency-broken-shop-table tbody th {
  background: #fff;
  font-weight: 600;
}

.emergency-broken-shop-table td[rowspan] {
  background: #fafafa;
  font-weight: 600 !important;
  vertical-align: middle;
}

.emergency-broken-shop-table a {
  color: #008f7a;
  font-size: inherit !important;
  font-weight: 600;
}

.emergency-broken-shop-table a[href^="tel:"] {
  color: #000;
  text-decoration: none;
  font-weight: 400;
}

.emergency-broken-shop-table td:last-child span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0.1rem 0.45rem 0.1rem 0;
  padding: 0.2rem;
  background: transparent;
  font-size: 0;
}

.emergency-broken-shop-table td:last-child img {
  width: 1.5rem;
  height: 1.5rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.emergency-broken-shop-table td:last-child .is-unavailable {
  opacity: 0.22;
}

.service-page {
  padding-top: 2.2rem;
}

.service-support-center h2 small {
  display: inline-block;
  margin-left: 0.35rem;
  color: inherit;
  font-size: 0.72em;
  font-weight: 500;
}
.service-support-center > p {
  margin-top: 0.75rem;
}

.service-support-hours {
  color: #008f7a;
  font-weight: 600;
}

.service-support-table th {
  width: auto;
}
.service-support-table th:last-child,
.service-support-table td:last-child {
  width: 30%;
  white-space: nowrap;
}
.service-support-table a {
  color: #000;
  font-weight: 400;
  text-decoration: none;
}

.service-shop-section {
  margin-top: 0;
}
.service-shop-section #near-shop {
  scroll-margin-top: 140px;
}
.service-shop-section .emergency-broken-service-legend {
  margin-top: 1.25rem;
}

.service-showroom-section {
  scroll-margin-top: 140px;
}
.service-showroom-section a {
  color: #008f7a;
  font-weight: 600;
}

.service-showroom-table th {
  width: auto;
}

@media (max-width: 767px) {
  .emergency-broken-checks {
    margin-bottom: 2.75rem;
    padding: 1.25rem 0.75rem 0;
  }
  .emergency-broken-checks > h2 {
    margin-bottom: 1rem;
  }
  .emergency-broken-check-list > li {
    padding: 3.75rem 0.25rem 1.35rem;
  }
  .emergency-broken-check-list > li::before {
    top: 1rem;
    left: 1rem;
  }
  .emergency-broken-actions {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .emergency-broken-actions > div {
    min-height: 0;
    padding: 1.5rem 1rem;
  }
  .emergency-broken-actions a {
    width: 100%;
  }
  .emergency-broken-repair {
    margin-bottom: 3rem;
  }
  .emergency-broken-service-legend {
    display: flex;
  }
  .emergency-broken-shop-table table,
  .emergency-broken-shop-table tbody {
    display: block;
  }
  .emergency-broken-shop-table thead {
    display: none;
  }
  .emergency-broken-shop-table tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid #d7d7d7;
    background: #fff;
  }
  .emergency-broken-shop-table tr::before {
    display: block;
    padding: 0.65rem 1rem;
    background: #f1f1f1;
    content: attr(data-region);
    font-weight: 600;
  }
  .emergency-broken-shop-table td[rowspan] {
    display: none;
  }
  .emergency-broken-shop-table th,
  .emergency-broken-shop-table td {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 0;
    border-bottom: 1px solid #e2e2e2;
  }
  .emergency-broken-shop-table tr > :last-child {
    border-bottom: 0;
  }
  .emergency-broken-shop-table td::before {
    display: block;
    margin-bottom: 0.25rem;
    color: #666;
    content: attr(data-label);
    font-size: 0.82em;
    font-weight: 500;
  }
  .service-support-center h2 small {
    display: block;
    margin: 0.2rem 0 0;
  }
}
.emergency-contact-box {
  padding: 1.35rem 1.5rem 1.5rem;
  border: 2px solid #d2212b;
  background: #fffafa;
}
.emergency-contact-box h2 {
  margin-top: 0;
  border-color: #d2212b;
  color: #d2212b;
}
.emergency-contact-box .info-table {
  margin-top: 1rem;
}
.emergency-contact-box .info-table th {
  background: #fff0f0;
}
.emergency-contact-box .info-table td {
  color: #d2212b;
  font-weight: 600;
}

.lpgas-inquiry-page .emergency-contact-box {
  padding: 0;
  border: 0;
  background: transparent;
}
.lpgas-inquiry-page .emergency-contact-box h2 {
  color: #222;
}
.lpgas-inquiry-page .emergency-contact-box h2 span {
  margin-right: 0.25em;
  color: #d2212b;
  font-size: 0.72em;
}
.lpgas-inquiry-page .emergency-contact-box .info-table {
  border: 2px solid #d2212b;
}
.lpgas-inquiry-page .emergency-contact-box .info-table th,
.lpgas-inquiry-page .emergency-contact-box .info-table td {
  border: 1px solid #d2212b;
}
.lpgas-inquiry-page .emergency-contact-box .info-table td,
.lpgas-inquiry-page .emergency-contact-box .info-table td a {
  color: #222;
  font-weight: 400;
}
.lpgas-inquiry-page .emergency-contact-box .info-table a[href^="tel:"] {
  text-decoration: none;
}

.lpgas-inquiry-page .info-table a[href^="tel:"] {
  text-decoration: none;
}

.lpgas-safe-page a {
  text-decoration: none;
}
.lpgas-emergency-content .payment-section:has(> .content-list--alert) h2,
.lpgas-safe-page .lpgas-safe-alert h2,
.lpgas-safe-page .lpgas-safe-contact h2 {
  border-bottom-color: #d2212b;
  color: #222;
}
.lpgas-emergency-content .content-list--alert,
.lpgas-safe-page .content-list--alert {
  gap: 0.55rem;
  padding: 1.4rem 1.65rem;
  background: #fff1f1;
  color: #000;
  font-size: 1.0625rem;
  font-weight: 600;
}
.lpgas-emergency-content .content-list--alert li,
.lpgas-safe-page .content-list--alert li {
  padding-left: 1.35rem;
}
.lpgas-emergency-content .content-list--alert li::before,
.lpgas-safe-page .content-list--alert li::before {
  top: 0.9em;
  width: 0.42rem;
  height: 0.42rem;
  background: #d2212b;
}
.lpgas-emergency-content .content-list--alert li::after,
.lpgas-safe-page .content-list--alert li::after {
  content: none;
}
.lpgas-safe-page .lpgas-safe-contact .info-table {
  border: 2px solid #d2212b;
}
.lpgas-safe-page .lpgas-safe-contact .info-table th,
.lpgas-safe-page .lpgas-safe-contact .info-table td {
  border-color: #d2212b;
}
.lpgas-safe-page .lpgas-safe-contact .info-table th {
  background: #fff1f1;
  text-align: center;
}
.lpgas-safe-page .lpgas-safe-contact .info-table a[href^="tel:"] {
  color: inherit;
  font-weight: 400;
  text-decoration: none;
}

@media (max-width: 680px) {
  .lpgas-emergency-content .content-list--alert,
  .lpgas-safe-page .content-list--alert {
    padding: 1rem;
    font-size: 1rem;
  }
  .lpgas-safe-page .lpgas-safe-contact .info-table {
    display: table;
  }
  .lpgas-safe-page .lpgas-safe-contact .info-table tbody {
    display: table-row-group;
  }
  .lpgas-safe-page .lpgas-safe-contact .info-table tr {
    display: table-row;
  }
  .lpgas-safe-page .lpgas-safe-contact .info-table th,
  .lpgas-safe-page .lpgas-safe-contact .info-table td {
    display: table-cell;
    width: auto;
    padding: 0.75rem 0.65rem;
  }
  .lpgas-safe-page .lpgas-safe-contact .info-table th {
    width: 48%;
  }
}
.lpgas-moving-contact {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  width: 80%;
  margin: 2rem auto 0;
  padding: 1.5rem;
  border: 1px solid #d7e2df;
  border-radius: 0.75rem;
  background: #f5f8f7;
  box-shadow: 0 0.25rem 0.8rem rgba(29, 70, 61, 0.07);
  text-align: center;
}
.lpgas-moving-contact section {
  margin: 0;
}
.lpgas-moving-contact h3 {
  margin: 0;
  color: #222;
  font-size: 1.35rem;
  line-height: 1.3;
}
.lpgas-moving-contact p {
  margin: 0;
  line-height: 1.4;
}

.lpgas-moving-contact__web,
.lpgas-moving-contact__phone {
  padding: 0;
}

.lpgas-moving-contact__phone {
  display: block;
  width: min(100%, 44rem);
  margin: 0 auto !important;
  padding-top: 1.5rem;
  border-top: 1px solid #d7e2df;
}

.lpgas-moving-contact__web a {
  display: block;
  width: min(100%, 32rem);
  margin: 0.55rem auto 0;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: #007f65;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}
.lpgas-moving-contact__web a:hover, .lpgas-moving-contact__web a:focus-visible {
  background: #00644f;
}

.lpgas-moving-contact__notice + a {
  margin-top: 1.55rem;
}

.lpgas-moving-contact .lpgas-moving-contact__notice {
  width: min(100%, 44rem);
  margin: 1.15rem auto 0;
  color: #333;
  font-size: 0.9rem;
  line-height: 1.7;
  text-align: left;
}
.lpgas-moving-contact .lpgas-moving-contact__notice span {
  display: block;
}

.lpgas-moving-contact__phone a {
  display: block;
  width: min(100%, 16rem);
  margin: 0.75rem auto 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid #008a70;
  border-radius: 999px;
  background: #fff;
  color: #00745e;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.lpgas-moving-contact__phone a:hover, .lpgas-moving-contact__phone a:focus-visible {
  background: #eaf5f2;
}

@media (max-width: 680px) {
  .lpgas-moving-contact {
    width: 100%;
    gap: 1rem;
    padding: 1rem;
    border-radius: 0.65rem;
  }
  .lpgas-moving-contact h3 {
    font-size: 1.25rem;
  }
  .lpgas-moving-contact__web a {
    font-size: 1rem;
    line-height: 1.45;
  }
  .lpgas-moving-contact__web,
  .lpgas-moving-contact__phone {
    padding: 0.5rem 0;
  }
  .lpgas-moving-contact__phone {
    display: block;
    width: 100%;
    margin-top: 0;
    padding-top: 1.25rem;
  }
  .lpgas-moving-contact__phone a {
    width: min(100%, 16rem);
    margin: 0.75rem auto 0;
  }
}
.step-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1rem;
}
.step-image-grid + h4 {
  margin-top: 2rem;
}
.step-image-grid img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}

.payment-method-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1.15rem;
}
.payment-method-list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 3.3rem;
  box-sizing: border-box;
  padding: 0.7rem 2.6rem 0.75rem 1.4rem;
  border-radius: 999px;
  background: #009983;
  color: #fff;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.16);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.payment-method-list a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #fff;
  color: #009983;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
}
.payment-method-list a:hover, .payment-method-list a:focus-visible {
  background: #00856f;
  color: #fff;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.payment-invoice-guide {
  box-sizing: border-box;
  margin-top: 1.8rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.payment-invoice-guide h3 {
  margin-bottom: 0.35rem;
  font-size: 1.05rem;
  font-weight: 600;
}
.payment-invoice-guide p {
  margin: 0;
}
.payment-invoice-guide a {
  display: flex;
  width: min(100%, 40rem);
  margin: 1rem auto 0 !important;
  white-space: normal;
}

.construction-index-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.15rem;
}
.construction-index-list a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.2rem;
  padding: 1rem 3rem 1rem 1.15rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.14);
  color: #000;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.construction-index-list a::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.construction-index-list a::before {
  content: "";
  position: absolute;
  right: 1.27rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.17rem solid transparent;
  border-bottom: 0.17rem solid transparent;
  border-left: 0.24rem solid #fff;
  transform: translate(10%, -50%);
}
.construction-index-list a:hover, .construction-index-list a:focus-visible {
  border-color: #bcbcbc;
  background: #f8f8f8;
  color: #000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.16);
  transform: translateY(-1px);
}
.construction-index-list strong {
  display: block;
  color: #111;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.construction-index-list span {
  display: block;
  margin-top: 0.35rem;
  color: #555;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.55;
}

.construction-index-list--single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 36rem;
}

.comfortable-index-list a {
  min-height: 4.2rem;
}

.comfortable-pdf-links {
  gap: 0;
  margin-top: 0.9rem;
}
.comfortable-pdf-links li {
  border-bottom: 1px solid #e1e1e1;
}
.comfortable-pdf-links a {
  display: flex;
  width: 100%;
  padding: 0.72rem 1.4rem 0.72rem 0;
  text-decoration: none;
}
.comfortable-pdf-links a:hover, .comfortable-pdf-links a:focus-visible {
  color: #006f60;
  background: #f7f7f7;
}

.meter-notice-figure {
  max-width: 34rem;
  margin: 1.4rem auto 0;
  padding: 0.75rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.meter-notice-figure img {
  display: block;
  width: min(100%, 46rem);
  height: auto;
  margin-inline: auto;
}

.meter-flow-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: 1.4rem;
  padding: 0;
  counter-reset: meter-flow;
}
.meter-flow-list li {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-height: 10rem;
  padding: 1.15rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  list-style: none;
}
.meter-flow-list li:not(:last-child)::after {
  content: ">";
  position: absolute;
  right: -1.1rem;
  top: 50%;
  z-index: 1;
  width: 1.1rem;
  color: #b6b6b6;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  transform: translateY(-50%);
}
.meter-flow-list h3 {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0;
  color: #009983;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.meter-flow-list h3 span {
  color: #009983;
  font-size: 0.78rem;
}
.meter-flow-list h3 strong {
  color: #111;
  font-size: 1rem;
  font-weight: 600;
}
.meter-flow-list p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
  text-align: center;
}
.meter-flow-list p span {
  display: inline-block;
}

.meter-confirm-box {
  margin-top: 1rem;
  padding: 1rem 1.2rem;
  border: 1px solid #d7d7d7;
  background: #f7f7f7;
}
.meter-confirm-box h4 {
  margin: 0;
  color: #111;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.meter-confirm-box p {
  margin-top: 0.45rem;
}

.breakdown-notice-box {
  margin-top: 1.1rem;
  padding: 1rem 1.15rem;
  background: #f7f7f7;
}
.breakdown-notice-box p {
  margin-top: 0;
}
.breakdown-notice-box ol {
  display: grid;
  gap: 0.3rem;
  margin: 0.65rem 0 0;
  padding-left: 1.35rem;
  font-size: 0.92rem;
  line-height: 1.75;
}

.breakdown-main-figure {
  margin: 1.15rem 0 0;
  text-align: center;
}
.breakdown-main-figure img {
  display: block;
  width: min(100%, 46rem);
  height: auto;
  margin-inline: auto;
}

.breakdown-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.15rem;
}
.breakdown-image-grid figure {
  margin: 0;
  padding: 0.85rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.breakdown-image-grid img {
  display: block;
  width: 100%;
  height: auto;
}
.breakdown-image-grid figcaption {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.75;
}

.breakdown-service-action {
  display: flex;
  justify-content: center;
  margin-top: 0 !important;
}

.check-alert-text {
  color: #d71920;
  font-weight: 600;
}

.check-emergency-note {
  padding: 0.85rem 1rem;
  border: 1px solid #d71920;
  color: #d71920;
  font-weight: 500;
  line-height: 1.8;
}
.check-emergency-note a {
  color: inherit;
  text-decoration-color: currentColor;
}
.check-emergency-note span {
  color: #000;
}

.check-image-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.2rem;
}
.check-image-grid figure {
  margin: 0;
  padding: 0.85rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.check-image-grid img {
  display: block;
  width: 100%;
  height: auto;
}
.check-image-grid figcaption {
  margin-top: 0.7rem;
  color: #111;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.65;
}
.check-image-grid figcaption span {
  display: inline-block;
  white-space: nowrap;
}

.check-image-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.paint-image-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.35rem;
  width: 96%;
  max-width: 800px;
  margin: 1.35rem auto 0;
}
.paint-image-grid figure {
  margin: 0;
  text-align: center;
}
.paint-image-grid img {
  display: block;
  width: 100%;
  height: auto;
}

.paint-warning-text {
  color: #d71920;
  font-weight: 500;
  line-height: 1.8;
}

.paint-contact-table th,
.paint-contact-table td {
  font-weight: 500;
}
.paint-contact-table tbody th {
  width: 18rem;
}
.paint-contact-table tbody td {
  width: auto;
}
.paint-contact-table tbody td a {
  text-decoration: none;
  color: #000;
}
.paint-contact-table tbody td:first-of-type {
  width: auto;
}
.paint-contact-table tbody td:last-child {
  width: 13rem;
  white-space: nowrap;
}
.paint-contact-table a {
  color: #111;
  font-weight: 500;
  text-decoration: none;
}

.transfer-bank-table.paint-contact-table tr:nth-child(even) td {
  background: #fff;
}

.check-side-card {
  display: grid;
  grid-template-columns: minmax(13rem, 0.42fr) minmax(0, 1fr);
  gap: 1.2rem;
  align-items: center;
  margin-top: 1.2rem;
  padding: 0.9rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.check-side-card figure {
  margin: 0;
}
.check-side-card img {
  display: block;
  width: 100%;
  height: auto;
}
.check-side-card p {
  margin-top: 0;
}

.check-device-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 1.6rem;
}
.check-device-list section {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  grid-template-areas: "title text" "image text";
  gap: 1rem 2.2rem;
  align-items: start;
  min-height: 14rem;
  padding: 0 0 1.8rem;
  border-bottom: 1px solid #d7d7d7;
  background: transparent;
}
.check-device-list section + section {
  padding-top: 1.8rem;
}
.check-device-list figure {
  grid-area: image;
  margin: 0;
}
.check-device-list img {
  display: block;
  width: min(100%, 12rem);
  height: auto;
}
.check-device-list h4 {
  grid-area: title;
  margin: 0;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10.5rem;
  padding: 0.45rem 1.1rem;
  background: #009983;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.check-device-list p {
  grid-area: text;
  margin-top: 2.9rem;
  font-size: var(--lower-text);
  line-height: 1.9;
}

.research-image-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.35rem;
}
.research-image-list figure {
  margin: 0;
  padding: 0.85rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.research-image-list img {
  display: block;
  width: 100%;
  height: auto;
}
.research-image-list figcaption {
  margin-top: 0.65rem;
  color: #333;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45;
}

.research-change-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid #d7d7d7;
  background: #f7f7f7;
  list-style: none;
  counter-reset: research-change;
}
.research-change-list li {
  position: relative;
  padding-left: 2rem;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.65;
  counter-increment: research-change;
}
.research-change-list li::before {
  content: counter(research-change);
  position: absolute;
  left: 0;
  top: 0.24rem;
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.72rem;
  line-height: 1;
}

.research-staff-figure {
  width: min(100%, 24rem);
  margin: 1.2rem auto 0;
  padding: 0.85rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.research-staff-figure img {
  display: block;
  width: 100%;
  height: auto;
}
.research-staff-figure figcaption {
  margin-top: 0.65rem;
  color: #333;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.45;
}

.research-table {
  margin-top: 1rem;
  overflow-x: auto;
}
.research-table table {
  width: 100%;
  min-width: 42rem;
  border-collapse: collapse;
  border-top: 1px solid #d7d7d7;
  border-left: 1px solid #d7d7d7;
  background: #fff;
}
.research-table th,
.research-table td {
  padding: 0.85rem 1rem;
  border-right: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  font-size: 0.95rem;
  line-height: 1.65;
  text-align: left;
}
.research-table th {
  width: 10rem;
  background: #f2f2f2;
  color: #000;
  font-weight: 600;
  white-space: nowrap;
}

.sns-policy-link {
  margin-top: 1.25rem;
}

.sns-page a {
  text-decoration: none;
}

.sns-page a:hover,
.sns-page a:focus-visible {
  color: #007f70;
}

.sns-policy-link a,
.sns-terms-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 600;
}

.sns-policy-link a::before,
.sns-terms-link::before {
  content: "PDF";
  display: inline-grid;
  place-items: center;
  min-width: 2.25rem;
  height: 1.5rem;
  padding: 0 0.3rem;
  border-radius: 0.2rem;
  background: #d84b45;
  color: #fff;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
}

.sns-account-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.sns-account-card {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  align-items: center;
  gap: 1.15rem;
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  background: #fff;
}
.sns-account-card > img {
  width: 5rem;
  height: 5rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.sns-account-card h3 {
  margin: 0 0 0.45rem;
  color: #333;
  font-size: 1.1rem;
  line-height: 1.4;
}
.sns-account-card p {
  margin: 0.3rem 0 0;
}

.related-links {
  width: min(100%, 1120px);
  margin-top: 2.5rem;
  margin-right: auto;
  margin-left: auto;
  padding: 1.15rem;
  background: #f4f4f4;
}
.related-links h2 {
  margin: 0 0 0.75rem;
  color: #555;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
}

.lower-main > .related-links {
  width: min(90%, 1120px);
  margin-right: auto;
  margin-left: auto;
}

.related-links--list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
}
.related-links--list a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 2.9rem;
  padding: 0.6rem 2.35rem 0.6rem 0.85rem;
  border: 0;
  border-radius: 0.45rem;
  background: #fff;
  color: #000;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.related-links--list a::after {
  content: "";
  position: absolute;
  right: 0.8rem;
  top: 50%;
  width: 0.68rem;
  height: 0.68rem;
  border-radius: 50%;
  background: #f39800;
  transform: translateY(-50%);
}
.related-links--list a::before {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.13rem solid transparent;
  border-bottom: 0.13rem solid transparent;
  border-left: 0.19rem solid #fff;
  transform: translate(10%, -50%);
}
.related-links--list a:hover, .related-links--list a:focus-visible {
  background: #fafafa;
  color: #000;
  transform: translateY(-1px);
}
.related-links--list span {
  display: block;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.45;
}

.city-lp-index-list {
  margin-top: 1.35rem;
}

.lp-merit-reasons {
  display: grid;
  gap: 1rem;
  margin-top: 1.1rem;
}
.lp-merit-reasons section {
  padding: 1.15rem 1.25rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.lp-merit-reasons h3 {
  margin: 0 0 0.55rem;
  color: #009983;
  font-size: 1.06rem;
  font-weight: 600;
  line-height: 1.45;
}
.lp-merit-reasons p {
  margin: 0;
}

.lp-merit-action {
  margin-top: 1rem !important;
  text-align: center;
}

.lp-qa-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.1rem;
}
.lp-qa-list details {
  border: 1px solid #d7d7d7;
  background: #fff;
}
.lp-qa-list summary {
  position: relative;
  display: block;
  padding: 1rem 3rem 1rem 1.15rem;
  color: #111;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
  cursor: pointer;
  list-style: none;
}
.lp-qa-list summary::-webkit-details-marker {
  display: none;
}
.lp-qa-list summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.lp-qa-list summary::before {
  content: "";
  position: absolute;
  right: 1.27rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.17rem solid transparent;
  border-bottom: 0.17rem solid transparent;
  border-left: 0.24rem solid #fff;
  transform: translate(10%, -50%) rotate(90deg);
  transition: transform 0.2s ease;
}
.lp-qa-list details[open] summary {
  border-bottom: 1px solid #d7d7d7;
}
.lp-qa-list details[open] summary::before {
  transform: translate(10%, -50%) rotate(-90deg);
}
.lp-qa-list details > div {
  padding: 1rem 1.15rem 1.15rem;
}
.lp-qa-list h3 {
  margin: 0.9rem 0 0.35rem;
  color: #009983;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.5;
}
.lp-qa-list h3:first-child {
  margin-top: 0;
}
.lp-qa-list p {
  margin: 0.35rem 0 0 !important;
}

.lp-cost-figure {
  margin: 3rem 0;
  text-align: center;
}
.lp-cost-figure img {
  display: block;
  width: 100%;
  max-width: 62rem;
  height: auto;
  margin: 0 auto;
}

.lp-cost-formula {
  display: grid;
  grid-template-columns: minmax(12rem, 1.1fr) 1.6rem repeat(2, minmax(0, 1fr) 1.6rem) minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
  margin-top: 1.45rem;
}

.lp-cost-formula--base,
.lp-cost-formula--item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.4rem;
  padding: 0.85rem 0.9rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}

.lp-cost-formula--base {
  border: 2px solid #ff6b73;
  background: #fff;
  color: #ff6b73;
}

.lp-cost-formula--item {
  position: relative;
  background: var(--cost-color);
  color: #fff;
}
.lp-cost-formula--item span {
  position: absolute;
  left: -0.85rem;
  top: -0.85rem;
  background: #fff;
  color: var(--cost-color);
  border: 2px solid var(--cost-color);
}
.lp-cost-formula--item strong {
  font-weight: 600;
}

.lp-cost-formula--mark {
  color: #333;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.lp-cost-formula--item span,
.lp-cost-detail h2 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--cost-color);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
}

.lp-cost-formula--a,
.lp-cost-detail--a {
  --cost-color: #4f83c4;
  --cost-bg: #e8f6f3;
}

.lp-cost-formula--b,
.lp-cost-detail--b {
  --cost-color: #56a64a;
  --cost-bg: #eaf5fb;
}

.lp-cost-formula--c,
.lp-cost-detail--c {
  --cost-color: #c54f91;
  --cost-bg: #fff4e8;
}

.lp-cost-detail-list {
  display: grid;
  gap: 1rem;
}

.lp-cost-detail {
  padding: 1.15rem 1.25rem;
  border: 1px solid #d7d7d7;
  border-top: 4px solid var(--cost-color);
  background: #fff;
}
.lp-cost-detail h2 {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.75rem;
  padding: 0;
  border: 0;
  color: #111;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.45;
}
.lp-cost-detail p {
  margin: 0 !important;
}
.lp-cost-detail p + p {
  margin-top: 0.55rem !important;
}

.lp-cost-bottom {
  margin-top: 1.45rem !important;
}

.ownership-figure {
  margin: 1.2rem 0 1rem;
  padding: 0;
}
.ownership-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.ownership-link {
  margin-top: 1.1rem !important;
  text-align: center;
}

.ownership-figure-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 14rem;
  margin-top: 1.2rem;
  border: 1px dashed #c9c9c9;
  background: #f7f7f7;
  color: #666;
  text-align: center;
}
.ownership-figure-placeholder p {
  margin: 0 !important;
  font-size: 1.05rem !important;
}

.construction-flow-list {
  display: grid;
  gap: 1.45rem;
  margin-top: 1.2rem;
  counter-reset: construction-flow;
}
.construction-flow-list > li {
  position: relative;
  display: block;
  padding: 1.25rem 1.4rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.construction-flow-list > li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.05rem;
  width: 0.8rem;
  height: 0.8rem;
  border-right: 3px solid #b8b8b8;
  border-bottom: 3px solid #b8b8b8;
  background: #fff;
  transform: translateX(-50%) rotate(45deg);
}
.construction-flow-list h3 {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0;
  color: #111;
  line-height: 1.45;
}
.construction-flow-list h3 span {
  display: block;
  color: #009983;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.2;
}
.construction-flow-list h3 strong {
  display: block;
  font-size: 1.12rem;
  font-weight: 600;
}
.construction-flow-list h3 + div {
  margin-top: 0.85rem;
}
.construction-flow-list p {
  margin: 0 !important;
}
.construction-flow-list p + p,
.construction-flow-list p + ul {
  margin-top: 0.7rem !important;
}
.construction-flow-list ul.roadworks {
  font-size: 0.96rem;
  list-style: circle;
  padding-left: 1.6rem;
}

.construction-flow-action,
.construction-flow-bottom {
  text-align: center;
}

.construction-flow-action {
  margin-top: 1.45rem !important;
}

.construction-flow-list .construction-flow-action {
  margin-top: 1.45rem !important;
}

.construction-flow-reference {
  margin-top: 0.65rem !important;
  margin-bottom: 0 !important;
  font-weight: 600;
}

.construction-flow-list .construction-flow-reference + .construction-flow-pdf-links {
  margin-top: 0 !important;
}

.construction-flow-bottom {
  margin-top: 1.4rem !important;
}

.construction-flow-pdf-links {
  grid-template-columns: minmax(0, 1fr);
  max-width: none;
  margin-top: 0 !important;
  gap: 0.12rem;
}
.construction-flow-pdf-links a {
  justify-content: flex-start;
  min-height: auto;
  padding-top: 0.18rem;
  padding-bottom: 0.18rem;
  line-height: 1.35;
}

.area__top_text {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1.35rem;
}
.area__top_text p {
  margin: 0 !important;
}

.hidamari__menu_wrap {
  margin: 1.4rem 0 2rem;
}

.hidamari-table-block {
  margin-top: 1.4rem;
}
.hidamari-table-block + .hidamari-table-block {
  margin-top: 1.9rem;
}
.hidamari-table-block h3 {
  margin: 0 0 0.35rem;
  color: #111;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.45;
}
.hidamari-table-block p {
  margin: 0 0 0.75rem !important;
  font-size: 0.96rem;
}

.hidamari-page .payment-section-subtitle {
  margin-top: 0;
  margin-bottom: 0.85rem;
  font-size: 1.15rem;
}

.hidamari-rate-table {
  min-width: 980px;
  table-layout: fixed;
}
.hidamari-rate-table--col-label {
  width: 30%;
}
.hidamari-rate-table--col-price {
  width: 14%;
}
.hidamari-rate-table th,
.hidamari-rate-table td {
  padding: 0.9rem 0.8rem;
  text-align: center;
  vertical-align: middle;
}
.hidamari-rate-table thead th {
  background: #f4f4f4;
  color: #111;
  font-weight: 600;
  text-align: left;
}
.hidamari-rate-table tbody th {
  background: #f4f4f4;
  color: #111;
  font-weight: 600;
  text-align: left;
}
.hidamari-rate-table th span {
  display: inline-block;
  color: #111;
  font-size: 0.82rem;
  font-weight: 500;
  line-height: 1.45;
}
.hidamari-rate-table td {
  background: #fff;
  font-weight: 600;
  white-space: nowrap;
}

.congene-action {
  margin-top: 1.1rem !important;
  text-align: center;
}

.congene-price-note {
  margin-top: 1rem;
  margin-bottom: 1.4rem;
  padding: 1.15rem 1.3rem 1.2rem;
  border-top: 4px solid #009983;
}
.congene-price-note p {
  margin: 0 !important;
}
.congene-price-note p + p {
  margin-top: 0.35rem !important;
}
.congene-price-note--main {
  color: #009983;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
.congene-price-note--main span {
  display: inline-block;
}
.congene-price-note--sub {
  font-size: 0.86rem !important;
  line-height: 1.65 !important;
}
.congene-price-note--sub span {
  display: inline-block;
  white-space: nowrap;
}

.congene-rate-table {
  min-width: 900px;
}
.congene-rate-table .hidamari-rate-table--col-label {
  width: 32%;
}
.congene-rate-table .hidamari-rate-table--col-price {
  width: 17%;
}

.hidamari-benefit-grid,
.hidamari-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.15rem;
}
.hidamari-benefit-grid > div,
.hidamari-compare-grid > div {
  border: 1px solid #d7d7d7;
  background: #fff;
  padding: 1.15rem;
}
.hidamari-benefit-grid h3,
.hidamari-compare-grid h3 {
  margin: 0 0 0.65rem;
  color: #009983;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.45;
}

.hidamari-benefit-grid strong {
  color: #c96b1c;
  font-weight: 600;
}
.hidamari-benefit-grid figure {
  margin: 0.9rem 0 0;
}
.hidamari-benefit-grid img {
  display: block;
  width: 100%;
  height: auto;
}

.hidamari-compare-grid ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hidamari-compare-grid li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e0e0e0;
  padding-bottom: 0.55rem;
}
.hidamari-compare-grid span,
.hidamari-compare-grid strong {
  display: inline-block;
}
.hidamari-compare-grid strong {
  color: #c96b1c;
  font-weight: 600;
  white-space: nowrap;
}

@media (min-width: 901px) {
  .hidamari-compare-grid li > span {
    font-size: 0.92rem;
    white-space: nowrap;
  }
}

.payment-info-box {
  margin-top: 1.25rem;
  padding: 1rem 1.15rem;
  background: #f4f4f4;
}
.payment-info-box h3 {
  margin: 0 0 0.55rem;
  color: #555;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.45;
}

.payment-info-box.congene-price-note {
  margin-top: 1.25rem;
  margin-bottom: 1.65rem;
  padding: 1.55rem 1.4rem 1.6rem;
  border-top: 4px solid #009983;
  text-align: center;
}
.payment-info-box.congene-price-note .congene-price-note--main {
  color: #009983;
  font-size: 1.32rem !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
.payment-info-box.congene-price-note .congene-price-note--sub {
  font-size: 0.82rem !important;
  line-height: 1.65 !important;
}
.payment-info-box.congene-price-note .congene-price-note--sub span {
  display: inline-block;
  white-space: nowrap;
}

.hidamari-contract-list h3 span {
  font-size: 0.95rem;
}

.hidamari-qa-list summary {
  font-size: 0.98rem;
}

.area__menu {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
  padding: 0;
  list-style: none;
}
.area__menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #009983;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.area__menu a:hover, .area__menu a:focus-visible {
  border-color: #bdbdbd;
  background: #f8f8f8;
  color: #009983;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.14);
}

.area__content {
  padding-top: 1.35rem;
}
.area__content + .area__content {
  margin-top: 1.5rem;
}
.area__content .h2__title {
  margin: 0;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  color: #111;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.45;
}

.area__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 0.75rem;
  padding: 0;
  border-top: 1px solid #e2e2e2;
  border-left: 1px solid #e2e2e2;
  list-style: none;
}
.area__list li {
  min-height: 2.35rem;
  padding: 0.45rem 0.75rem;
  border-right: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
  background: #fff;
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.45;
}

.payment-note {
  color: #333;
  font-size: 0.78rem !important;
  line-height: 1.7 !important;
}
.payment-note a {
  color: #009983;
  font-weight: 600;
}

.procedure-step-list {
  display: grid;
  gap: 1.1rem;
  margin-top: 1.15rem;
  padding: 0;
  list-style: none;
}
.procedure-step-list > li {
  padding: 1.2rem 1.35rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.procedure-step-list h3 {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  margin: 0;
  color: #009983;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.procedure-step-list h3 span {
  color: #009983;
  font-size: 0.86rem;
  font-weight: 700;
}
.procedure-step-list h4 {
  margin: 0;
  color: #000;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.45;
}
.procedure-step-list p,
.procedure-step-list ul {
  margin-top: 0.65rem;
}

.procedure-area-box,
.procedure-note-box {
  margin-top: 0.85rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.procedure-area-box h2,
.procedure-note-box h2 {
  margin: 0 0 0.65rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  font-size: var(--lower-section-heading-text);
}
.procedure-area-box p,
.procedure-note-box p {
  margin-top: 0.45rem;
}

.procedure-electric-guide {
  margin-top: 1.2rem;
}
.procedure-electric-guide h3 {
  margin: 1rem 0 0;
  color: #000;
  font-size: var(--lower-text);
  font-weight: 700;
  line-height: 1.5;
}
.procedure-electric-guide p {
  margin-top: 0.55rem;
  font-size: var(--lower-text) !important;
  font-weight: 400 !important;
  line-height: 1.8;
}
.procedure-electric-guide .text-caution {
  color: #d94b40;
}

.procedure-info-grid,
.procedure-application-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0.9rem;
}
.procedure-info-grid > section,
.procedure-application-grid > section {
  padding: 1rem 1.05rem;
  background: #f4f4f4;
}
.procedure-info-grid h4,
.procedure-application-grid h4 {
  margin: 0 0 0.55rem;
  color: #000;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.5;
}

.procedure-cancel-page .procedure-info-grid {
  grid-template-columns: 1fr;
}

.procedure-application-grid > section {
  display: flex;
  flex-direction: column;
}
.procedure-application-grid .procedure-action {
  margin-top: auto !important;
  padding-top: 1rem;
}
.procedure-application-grid .underground-login-button {
  min-width: min(100%, 18rem);
  min-height: 2.85rem;
  padding-right: 1.8rem;
  padding-left: 1.8rem;
  font-size: 0.95rem;
}

.procedure-action {
  margin-top: 1rem !important;
  text-align: center;
}

.procedure-final-action {
  margin-top: 3rem;
  text-align: center;
}
.procedure-final-action .underground-login-button {
  min-width: min(100%, 28rem);
  min-height: 3.35rem;
  padding-right: 2rem;
  padding-left: 2rem;
  font-size: 1rem;
}

.process-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
  counter-reset: process-flow;
}
.process-flow li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 7.2rem;
  padding: 1.05rem 0.8rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.process-flow li::before {
  counter-increment: process-flow;
  content: counter(process-flow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  margin-bottom: 0.55rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
}
.process-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.68rem;
  top: 50%;
  z-index: 1;
  width: 0.85rem;
  height: 0.85rem;
  border-top: 3px solid #b8b8b8;
  border-right: 3px solid #b8b8b8;
  background: #fff;
  transform: translateY(-50%) rotate(45deg);
}
.process-flow span {
  color: #009983;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.35;
}
.process-flow strong {
  margin-top: 0.18rem;
  color: #111;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.45;
}
.process-flow small {
  display: block;
  margin-top: 0.45rem;
  color: #333;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.55;
}

.underground-action-box {
  margin-top: 1rem;
  padding: 1.25rem 1.4rem;
  background: #f3f3f3;
}
.underground-action-box .payment-section-subtitle {
  text-align: center;
}

.underground-action-list {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  max-width: 44rem;
  margin-top: 0.95rem;
  margin-right: auto;
  margin-left: auto;
}

.common-action-button,
.underground-login-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 21rem);
  min-height: 3.05rem;
  padding: 0.7rem 2.7rem 0.75rem;
  border-radius: 999px;
  background: #009983;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.16);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.common-action-button:hover, .common-action-button:focus-visible,
.underground-login-button:hover,
.underground-login-button:focus-visible {
  background: #00856f;
  color: #fff;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.underground-pdf-link {
  margin: 0 !important;
  text-align: center;
}
.underground-pdf-link a {
  color: #009983;
  font-weight: 600;
}

.underground-flow {
  grid-template-columns: 1fr;
  max-width: none;
  margin-right: auto;
  margin-left: auto;
  gap: 1.65rem;
}
.underground-flow li {
  align-items: flex-start;
  min-height: 0;
  padding: 1.25rem 1.45rem;
  text-align: left;
}
.underground-flow li::before {
  display: none;
}
.underground-flow li:not(:last-child)::after {
  right: 50%;
  top: auto;
  bottom: -1.18rem;
  width: 0.85rem;
  height: 0.85rem;
  border-top: 0;
  border-right: 3px solid #b8b8b8;
  border-bottom: 3px solid #b8b8b8;
  transform: translateX(50%) rotate(45deg);
}
.underground-flow h3 {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  margin: 0 0 0.65rem;
  color: #111;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
}
.underground-flow span {
  color: #009983;
  font-size: 0.9rem;
  font-weight: 700;
}
.underground-flow strong {
  margin-top: 0;
  font-size: 1.05rem;
  font-weight: 600;
}
.underground-flow small {
  margin-top: 0;
  font-size: 0.92rem;
  line-height: 1.75;
}

.underground-step-link {
  display: inline-block;
  margin-top: 0.75rem;
  color: #009983;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: underline;
}
.underground-step-link:hover, .underground-step-link:focus-visible {
  color: #00856f;
}

.certificate-contact {
  margin-top: 0.9rem;
  padding: 1rem 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.certificate-contact dl {
  display: grid;
  gap: 0;
}
.certificate-contact div {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid #e5e5e5;
}
.certificate-contact div:last-child {
  border-bottom: 0;
}
.certificate-contact dt,
.certificate-contact dd {
  font-size: 0.96rem;
  font-weight: 500;
  line-height: 1.55;
}
.certificate-contact dt {
  color: #009983;
  font-weight: 600;
}
.certificate-contact a {
  color: #009983;
  font-weight: 700;
  text-decoration: none;
}

.reading-meter {
  max-width: 34rem;
  margin: 1rem auto 0;
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.reading-meter img {
  display: block;
  width: 100%;
  height: auto;
}

.reading-calc {
  margin-top: 1.1rem;
  padding: 1rem;
  border: 1px solid #009983;
  background: #fff;
}

.reading-calc--row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
}

.reading-calc--item {
  min-height: 5.4rem;
  padding: 0.85rem;
  background: #e0f3ef;
  text-align: center;
}
.reading-calc--item span {
  display: block;
  color: #111;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.45;
}
.reading-calc--item strong {
  display: block;
  margin-top: 0.35rem;
  color: #009983;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.15;
}

.reading-calc--total {
  background: #009983;
}
.reading-calc--total span,
.reading-calc--total strong {
  color: #fff;
}

.reading-calc--row > b {
  color: #009983;
  font-size: 1.4rem;
  font-weight: 700;
}

.viewpoint-main-image {
  max-width: 56rem;
  margin: 1.2rem auto 0;
  padding: 0.8rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.viewpoint-main-image img {
  display: block;
  width: 100%;
  height: auto;
}

.viewpoint-detail-list {
  display: grid;
  gap: 1.4rem;
  margin-top: 1.2rem;
}

.viewpoint-detail {
  --viewpoint-color: #009983;
  display: grid;
  grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.05fr);
  gap: 1.35rem;
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}

.viewpoint-detail--blue {
  --viewpoint-color: #3f79c7;
}

.viewpoint-detail--green {
  --viewpoint-color: #46a646;
}

.viewpoint-detail--orange {
  --viewpoint-color: #cf741d;
}

.viewpoint-detail--purple {
  --viewpoint-color: #c34a9b;
}

.viewpoint-detail--pink {
  --viewpoint-color: #e05b66;
}

.viewpoint-detail--wide {
  margin-top: 1rem;
}

.viewpoint-detail--image {
  align-self: start;
}
.viewpoint-detail--image h3 {
  display: inline-block;
  margin-bottom: 0.8rem;
  padding-bottom: 0.3rem;
  border-bottom: 2px solid var(--viewpoint-color);
  color: #222;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.viewpoint-detail--image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #e1e1e1;
}

.viewpoint-detail--image-small {
  max-width: 15rem;
}

.viewpoint-detail--body {
  align-self: stretch;
  padding: 0.9rem 1rem;
  background: #fff;
}
.viewpoint-detail--body dl {
  display: grid;
  gap: 0;
}
.viewpoint-detail--body dl > div {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.11);
}
.viewpoint-detail--body dl > div:first-child {
  padding-top: 0;
}
.viewpoint-detail--body dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.viewpoint-detail--body dt {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--viewpoint-color);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.45;
}
.viewpoint-detail--body dd,
.viewpoint-detail--body p,
.viewpoint-detail--body li {
  margin-top: 0.25rem;
  font-size: 0.92rem !important;
  font-weight: 500;
  line-height: 1.7;
}

.viewpoint-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: var(--viewpoint-color);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
}

.credit-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.05rem;
}

.credit-flow--item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.2rem 1.15rem 1.25rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}
.credit-flow--item h3 {
  margin-bottom: 0.65rem;
  color: #009983;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.credit-flow--item p {
  font-size: 0.92rem !important;
  line-height: 1.7;
}

.credit-form-figure {
  max-width: 16rem;
  margin: 1rem auto 0;
  padding: 0.55rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}

.credit-complete-figure {
  width: 100%;
  margin: 1rem auto 0.65rem;
}
.credit-complete-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.image-zoom-trigger {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}
.image-zoom-trigger img {
  transition: opacity 0.2s ease;
}
.image-zoom-trigger:hover img, .image-zoom-trigger:focus-visible img {
  opacity: 0.82;
}

.image-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.72);
}
.image-modal.is-open {
  display: flex;
}

.image-modal--inner {
  position: relative;
  max-width: min(92vw, 70rem);
  max-height: 88vh;
}

.image-modal img {
  display: block;
  max-width: 100%;
  max-height: 88vh;
  width: auto;
  height: auto;
  background: #fff;
}

.image-modal--close {
  position: absolute;
  right: -0.75rem;
  top: -0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #333;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.text-caution {
  color: #c66a1a;
}

.credit-check-list,
.credit-target-list,
.credit-caution ul {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.75rem;
}
.credit-check-list li,
.credit-target-list li,
.credit-caution ul li {
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.75;
}

.credit-caution ul {
  padding-left: 1.25em;
  list-style: disc;
}
.credit-caution ul li {
  padding-left: 0.15em;
}

.credit-target-list {
  gap: 0.35rem;
  margin-top: 1.2rem;
  padding: 1.45rem 1.8rem;
  background: #f6f6f6;
  list-style: none;
}
.credit-target-list li {
  position: relative;
  padding-left: 1.35rem;
  font-weight: 600;
}
.credit-target-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.38em;
  display: grid;
  place-items: center;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #444;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1;
}
.credit-target-list li::after {
  content: none;
}

.credit-alert {
  margin-top: 1.25rem !important;
  color: #e60012;
  font-weight: 400 !important;
}

.credit-card-figure {
  margin-top: 1rem;
}
.credit-card-figure img {
  display: block;
  max-width: 100%;
  height: auto;
}

.credit-caution {
  padding: 1.4rem 1.6rem;
  border: 1px solid #e2c9aa;
  background: #fffaf3;
}
.credit-caution > h2 {
  border-color: #d7822a;
  color: #5a3514;
}
.credit-caution > h2 span {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.82em;
  font-weight: 500;
}

.credit-caution--block {
  margin-top: 1.2rem;
}
.credit-caution--block h3 {
  color: #b86112;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
}

.credit-structure-figure {
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}

.payment-figure-placeholder {
  min-height: 13.5rem;
  margin-top: 1.35rem;
  border: 1px solid #d7d7d7;
  background: #fafafa;
}

.payment-figure {
  margin-top: 1.35rem;
}
.payment-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.payment-service-link {
  width: min(100%, 995px);
  margin: 2.6rem auto 0;
  text-align: center;
}
.payment-service-link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17rem;
  min-height: 3rem;
  padding: 0.7rem 2.4rem;
  border-radius: 999px;
  background: #009983;
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
}
.payment-service-link a:hover, .payment-service-link a:focus-visible {
  background: #007f70;
  color: #fff;
}

.transfer-action-list,
.credit-action-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 46rem;
}

.payment-slip-action-list {
  grid-template-columns: minmax(0, 24rem);
  max-width: 24rem;
}

.credit-action-list {
  display: block;
  width: 100%;
  margin-top: 1rem;
}
.credit-action-list a {
  min-height: 3.3rem;
  padding-right: 2rem;
  font-size: 0.82rem !important;
  white-space: nowrap;
}

.transfer-table-wrap {
  margin-top: 1.2rem;
  overflow-x: auto;
}

.transfer-bank-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.transfer-bank-table th,
.transfer-bank-table td {
  padding: 0.85rem 1rem;
  border: 1px solid #d7d7d7;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
}
.transfer-bank-table td {
  width: 33.333%;
}
.transfer-bank-table th {
  width: 13rem;
  background: #f7f7f7;
  text-align: left;
}
.transfer-bank-table tr:nth-child(even) td {
  background: #f7f7f7;
}
.transfer-bank-table a {
  color: #009983;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.transfer-bank-table.hidamari-rate-table th,
.transfer-bank-table.hidamari-rate-table td {
  width: auto;
}
.transfer-bank-table.hidamari-rate-table tbody td,
.transfer-bank-table.hidamari-rate-table tr:nth-child(even) td {
  background: #fff;
}
.transfer-bank-table.hidamari-rate-table thead th,
.transfer-bank-table.hidamari-rate-table tbody th {
  background: #f4f4f4;
}

.payment-slip-send-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.15rem;
}

.payment-slip-send-card {
  padding: 1.1rem 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}
.payment-slip-send-card h3 {
  margin-bottom: 0.55rem;
  padding-left: 0;
  color: #009983;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.45;
}
.payment-slip-send-card .payment-slip-action-list {
  margin-top: 0.9rem;
}

.payment-slip-table-title {
  margin-top: 0 !important;
  margin-bottom: 0.6rem;
  color: #009983;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.payment-slip-table td {
  width: 50%;
}

.payment-slip-store-list {
  border: 1px solid #d7d7d7;
}
.payment-slip-store-list tr:nth-child(even) td {
  background: #fff;
}
.payment-slip-store-list td {
  padding: 0.78rem 1rem;
  border-color: #e5e5e5;
  font-weight: 500;
}

.payment-slip-apps {
  margin-top: 1.2rem;
}

.payment-slip-app-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}
.payment-slip-app-list a {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 0.65rem;
  height: 100%;
  min-height: 9rem;
  padding: 1.05rem 0.85rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #000;
  text-decoration: none;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
}
.payment-slip-app-list a:hover, .payment-slip-app-list a:focus-visible {
  color: #000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.payment-slip-app-list img {
  display: block;
  max-width: 10.5rem;
  width: 100%;
  height: 4.2rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.payment-slip-app-list span {
  color: #009983;
  font-size: 0.85rem;
  font-weight: 600;
}

.payment-slip-notes a {
  color: #009983;
  font-weight: 600;
  text-underline-offset: 0.18em;
}

.payment-section-subtitle {
  margin-top: 0.9rem;
  color: #009983;
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.5;
}

.payment-section-subtitle--block {
  margin-top: 1.8rem;
}

.payment-section-subtitle--plain {
  color: #333;
  font-size: 1.02rem;
}

.payment-slip-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  margin-top: 1.15rem;
  counter-reset: payment-slip-flow;
}
.payment-slip-flow li {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
  min-height: 12.5rem;
  padding: 1.5rem 1.15rem 1.35rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
  text-align: center;
}
.payment-slip-flow li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.88rem;
  top: 50%;
  z-index: 1;
  width: 1.15rem;
  height: 1.15rem;
  border-top: 3px solid #b8b8b8;
  border-right: 3px solid #b8b8b8;
  background: #fff;
  transform: translateY(-50%) rotate(45deg);
}
.payment-slip-flow p {
  margin-top: 0.9rem;
  max-width: 20em;
  font-size: 0.9rem !important;
  font-weight: 500;
  line-height: 1.7;
  text-wrap: pretty;
}
.payment-slip-flow p span {
  display: inline-block;
}

.payment-slip-flow-icon {
  display: grid;
  place-items: center;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 50%;
  background: #d9f2ee;
  color: #f39800;
  font-size: 1.25rem;
  font-weight: 600;
}
.payment-slip-flow-icon img {
  display: block;
  width: 4.2rem;
  height: 4.2rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.payment-slip-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.payment-slip-image-placeholder {
  display: grid;
  place-items: center;
  min-height: 11rem;
  margin: 0;
  border: 1px dashed #c9c9c9;
  background: #fafafa;
  color: #777;
}
.payment-slip-image-placeholder figcaption {
  font-size: 0.95rem;
  font-weight: 600;
}

.payment-slip-image-placeholder--wide {
  grid-column: 1/-1;
  min-height: 13rem;
}

.payment-slip-image {
  display: grid;
  gap: 0.8rem;
  place-items: center;
  margin: 0;
  padding: 1rem 1.25rem 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.payment-slip-image h4 {
  width: 100%;
  margin: 0;
  padding: 0 0 0.55rem;
  border-bottom: 1px solid #d7d7d7;
  background: transparent;
  color: #333;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}
.payment-slip-image img {
  display: block;
  width: auto;
  max-width: min(100%, 13.2rem);
  height: auto;
}

.payment-slip-image--wide {
  grid-column: 1/-1;
}
.payment-slip-image--wide img {
  width: min(100%, 46rem);
  max-width: 100%;
}

.transfer-figure {
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}

.directdebit-list {
  display: grid;
  gap: 0.45rem;
  margin-top: 0.9rem;
}
.directdebit-list li {
  position: relative;
  padding-left: 1.1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
.directdebit-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}

.directdebit-hours-table {
  max-width: 34rem;
}
.directdebit-hours-table tr:nth-child(even) td {
  background: #fff;
}
.directdebit-hours-table td {
  width: auto;
}

.directdebit-flow {
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.directdebit-flow picture,
.directdebit-flow img {
  display: block;
}

.price-contract-list {
  margin-top: 0.9rem;
}
.price-contract-list li {
  display: grid;
  grid-template-columns: 6.3rem minmax(0, 1fr);
  gap: 1.2rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #cfcfcf;
}

.price-contract-list--label {
  color: #000;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.45;
}

.price-contract-list--body p {
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.5;
}

.price-contract-list--title,
.price-contract-list--pdf {
  display: inline-flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  color: #009983;
  text-decoration: none;
  font-weight: 800;
}
.price-contract-list--title::after,
.price-contract-list--pdf::after {
  content: ">";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.78rem;
  height: 0.78rem;
  margin-left: 0.35rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.55rem;
  line-height: 1;
}
.price-contract-list--title:hover, .price-contract-list--title:focus-visible,
.price-contract-list--pdf:hover,
.price-contract-list--pdf:focus-visible {
  color: #009983;
  text-decoration: underline;
}

.price-contract-list--title {
  font-size: 1.1rem;
  line-height: 1.35;
}

.price-contract-list--pdf {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  line-height: 1.3;
}

.price-last-resort--lead {
  margin-top: 0.55rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.55;
}

.price-last-resort--link {
  display: inline-flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.75rem;
  color: #009983;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.3;
}
.price-last-resort--link::after {
  content: ">";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.78rem;
  height: 0.78rem;
  margin-left: 0.35rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.55rem;
  line-height: 1;
}
.price-last-resort--link:hover, .price-last-resort--link:focus-visible {
  color: #009983;
  text-decoration: underline;
}

.price-hours {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-top: 1.6rem;
  padding: 1rem 1.2rem;
  border: 1px solid #66c9bd;
  background: #f8fffd;
}
.price-hours strong {
  color: #009983;
  font-size: 0.95rem;
}
.price-hours p {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.6;
}
.price-hours span {
  color: #666;
  font-size: 0.78rem;
}

.price-support {
  padding: 0;
  border: 0;
}
.price-support > h2 {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #009983;
  color: #000;
  font-size: 1.28rem;
  text-align: left;
}
.price-support > h2 small {
  font-size: 0.8rem;
  font-weight: 700;
}

.price-support--lead {
  margin-top: 0.6rem;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.55;
}

.price-support .price-hours {
  justify-content: center;
  gap: 1rem;
  margin-top: 1.3rem;
  padding: 1.1rem 1.4rem;
  border: 2px solid #009983;
  border-radius: 4px;
  background: #fff;
}
.price-support .price-hours strong {
  color: #000;
  font-size: 0.82rem;
}
.price-support .price-hours p {
  font-size: 0.9rem;
  font-weight: 800;
}
.price-support .price-hours b {
  margin-left: 0.8rem;
  color: #009983;
  font-size: 1rem;
}
.price-support .price-hours span {
  color: #000;
  font-size: 0.8rem;
  font-weight: 800;
}
.price-support .price-hours p:last-child {
  margin-left: 1.5rem;
  padding-left: 1.5rem;
  border-left: 1px solid #bbb;
}

.price-hours--icon {
  position: relative;
  width: 2.2rem;
  height: 2.2rem;
}
.price-hours--icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/gas/icon_price04.svg") center/contain no-repeat;
}
.price-hours--icon::after {
  display: none;
}

.price-hours--head {
  display: contents;
}

.price-phone-table {
  width: 100%;
  margin-top: 0.8rem;
  border-collapse: collapse;
}
.price-phone-table thead th {
  padding: 0.65rem 0.75rem;
  background: #009983;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
}
.price-phone-table th,
.price-phone-table td {
  padding: 0.8rem 1rem;
  border-bottom: 0;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.55;
  text-align: left;
  vertical-align: middle;
}
.price-phone-table tbody tr:nth-child(even) {
  background: #d6ede9;
}
.price-phone-table tbody th {
  width: 9rem;
  color: #000;
  font-weight: 800;
}
.price-phone-table tbody td:first-of-type {
  border-right: 1px solid rgba(0, 0, 0, 0.12);
}
.price-phone-table td:last-child {
  width: 17rem;
  text-align: center;
  white-space: nowrap;
}
.price-phone-table a {
  color: #009983;
  text-decoration: none;
  font-weight: 800;
  font-size: 1.25rem;
}
.price-phone-table a::before {
  content: "☎";
  margin-right: 0.35rem;
  font-size: 0.9rem;
}
.price-phone-table td span {
  margin-left: 0.25rem;
  font-size: 0.78rem;
  font-weight: 800;
}

.price-contact-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.8rem;
  padding: 0.9rem 1.4rem;
  border: 2px solid #009983;
  border-radius: 4px;
  background: #fff;
}
.price-contact-box p {
  color: #009983;
  font-size: 1rem;
  font-weight: 700;
}
.price-contact-box small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.45;
}
.price-contact-box a {
  color: #009983;
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
}
.price-contact-box a::after {
  content: ">";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.78rem;
  height: 0.78rem;
  margin-left: 0.35rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.55rem;
  line-height: 1;
}

.price-procedure-links {
  width: min(100%, 995px);
  margin: 0 auto;
  padding: 1.4rem 1.8% 1.5rem;
  border: 1px solid #ddd;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.price-procedure-links h2 {
  margin-bottom: 0.35rem;
  color: #f39800;
  font-size: 1.2rem;
  font-weight: 800;
  text-align: center;
}
.price-procedure-links p {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #d7d7d7;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.55;
  text-align: center;
}
.price-procedure-links ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.85rem;
}
.price-procedure-links a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.35rem;
  padding: 0.7rem 2.3rem 0.7rem 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(243, 152, 0, 0.06);
  color: #000;
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.35;
}
.price-procedure-links a::after {
  content: "";
  position: absolute;
  right: 0.9rem;
  top: 50%;
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 50%;
  background: #f39800;
  transform: translateY(-50%);
}
.price-procedure-links a::before {
  content: "";
  position: absolute;
  right: 1.12rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.16rem solid transparent;
  border-bottom: 0.16rem solid transparent;
  border-left: 0.22rem solid #fff;
  transform: translate(10%, -50%);
}
.price-procedure-links a:hover, .price-procedure-links a:focus-visible {
  border-color: #bdbdbd;
  color: #000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(243, 152, 0, 0.22);
}

.moving-lp-links {
  width: min(100%, 1120px);
  margin-top: 0;
  margin-bottom: 3rem;
  margin-inline: auto;
  padding: 1.8rem 1.8% 2.25rem;
  border: 1px solid #ddd;
  background: #fff;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax -3rem);
}
.moving-lp-links h2 {
  margin-bottom: 0.35rem;
  color: #009983;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
.moving-lp-links p {
  margin: 0;
  padding-bottom: 0.95rem;
  border-bottom: 1px solid #bdbdbd;
  color: #000;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
}
.moving-lp-links ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2rem;
  margin-top: 1rem;
}
.moving-lp-links li {
  border-bottom: 1px solid #d7d7d7;
}
.moving-lp-links a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.65rem;
  padding: 0.75rem 2.4rem 0.75rem 1rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #000;
  text-decoration: none;
  font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.45;
}
.moving-lp-links a::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  width: 0.78rem;
  height: 0.78rem;
  border-radius: 50%;
  background: #009983;
  transform: translateY(-50%);
}
.moving-lp-links a::before {
  content: "";
  position: absolute;
  right: 0.98rem;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-top: 0.16rem solid transparent;
  border-bottom: 0.16rem solid transparent;
  border-left: 0.22rem solid #fff;
  transform: translate(10%, -50%);
}
.moving-lp-links a:hover,
.moving-lp-links a:focus-visible {
  border-color: transparent;
  color: #000;
  background: #f8f8f8;
  box-shadow: none;
}

@media screen and (max-width: 600px) {
  .moving-lp-links {
    width: min(90%, 1200px);
    padding: 1.45rem 1rem 1.25rem;
  }
  .moving-lp-links p {
    text-align: left;
  }
  .moving-lp-links ul {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.private-page h4 {
  padding-top: 1.4rem;
}
.private-page p.text-center {
  text-align: center;
  padding-top: 1rem;
}
.private-page ol {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  font-size: 1.1rem;
  padding-top: 0.8rem;
}
.private-page ol li {
  counter-increment: item;
  position: relative;
  padding-left: 2rem;
  padding-bottom: 0.4rem;
}
.private-page ol li::before {
  content: "(" counter(item) ")";
  position: absolute;
  left: 0;
}
.private-page td > ol {
  font-size: 0.95rem;
  padding-top: 0;
}
.private-page ul.private-list {
  counter-reset: item;
  list-style: none;
  padding-left: 0;
  font-size: 1.1rem;
  padding-top: 0.8rem;
}
.private-page ul.private-list li {
  counter-increment: item;
  position: relative;
  padding-left: 3rem;
  padding-bottom: 0.4rem;
}
.private-page ul.private-list li::before {
  content: "※" counter(item);
  position: absolute;
  left: 0;
}
.private-page ul.private-list.from07 {
  counter-reset: item 6;
}
.private-page dl {
  font-size: 1.1rem;
}
.private-page dl dt {
  padding-top: 1.2rem;
  font-weight: 600;
  font-size: 1.2rem;
}
.private-page dl dd p {
  padding: 0;
}
.private-page dl dd p span.text-strong {
  font-weight: 600;
}
.private-page dl dd p span.border {
  display: inline-block;
  border: solid 1px #eee;
  padding: 1rem;
}

.range-page .research-table.range table th {
  width: 40%;
}

@media (min-width: 901px) {
  .gas-hero--inner,
  .city-menu--wrap,
  .city-band--wrap,
  .gas-procedures--inner,
  .gas-index--cards,
  .price-section,
  .price-simulation--inner,
  .price-procedure-links,
  .moving-lp-links {
    width: min(100%, 1120px);
  }
  .city-menu--wrap > h2 {
    font-size: 1.75rem;
  }
  .city-menu--wrap > p,
  .city-menu a,
  .city-band a,
  .gas-index-card ul a {
    font-size: 1.15rem;
  }
  .city-menu a,
  .city-band a {
    font-size: 0.95rem;
    line-height: 1.35;
  }
  .city-menu--procedures .city-menu--grid-2 a {
    font-size: 0.95rem;
  }
  .city-menu--wrap > p,
  .gas-index-card--head span,
  .price-intro .price-lead,
  .price-rate-section .price-section--text,
  .price-formula > p,
  .price-formula--note,
  .price-contracts--lead,
  .price-last-resort--lead,
  .price-support--lead,
  .price-contract-list--body p,
  .price-contact-box small,
  .price-rate-notes,
  .price-simulation--text p,
  .price-simulation--text small {
    font-weight: 400;
  }
  .gas-procedures h2 {
    font-size: 1.35rem;
  }
  .gas-procedures a {
    font-size: 1rem;
  }
  .gas-procedures ul {
    align-items: stretch;
  }
  .gas-procedures a {
    height: 100%;
    min-height: 9.6rem;
    font-size: 0.8rem;
    line-height: 1.35;
  }
  .gas-index-card--head p {
    font-size: 0.9rem;
  }
  .gas-index-card--head h3 {
    font-size: clamp(1.38rem, 2.2vw, 1.85rem);
    line-height: 1.15;
  }
  .gas-index-card--head span {
    font-size: 0.95rem;
    line-height: 1.5;
  }
  .gas-index-card--more {
    align-self: end;
    min-height: 1.75rem;
    margin-top: 0.5rem;
    padding: 0.32rem 1.65rem 0.32rem 0.85rem;
    font-size: 0.78rem;
  }
  .price-intro > h2 {
    font-size: 2.1rem;
  }
  .price-intro-subtitle {
    font-size: 1.65rem;
  }
  .price-intro .price-lead,
  .price-rate-section .price-section--text,
  .price-pdf-links a,
  .price-simulation--inner a,
  .price-contract-list--pdf,
  .price-last-resort--link,
  .price-contact-box a,
  .price-procedure-links p {
    font-size: 1.2rem;
  }
  .price-formula > p,
  .price-formula--note,
  .price-contracts--lead,
  .price-last-resort--lead,
  .price-support--lead,
  .price-contract-list--body p,
  .price-contact-box small,
  .price-rate-notes {
    font-size: 1.05rem !important;
    line-height: 1.7;
  }
  .price-simulation--text p {
    font-size: 1.08rem;
  }
  .price-formula ul,
  .price-area-note,
  .price-rate-card p,
  .price-phone-table th,
  .price-phone-table td,
  .price-procedure-links a {
    font-size: 1.12rem;
  }
  .price-rate-section > h2,
  .price-contracts > h2,
  .price-support > h2 {
    font-size: 1.75rem;
  }
  .price-rate-card h3,
  .price-formula--item,
  .price-contact-box p {
    font-size: 1.22rem;
  }
  .price-rate-panel .price-area-tabs a {
    font-size: 1.1rem;
  }
  .price-rate-panel .price-area-note {
    font-size: 1.05rem;
  }
  .price-rate-panel .price-rate-card h3 {
    font-size: 1.22rem;
  }
  .price-rate-panel .price-rate-card p {
    font-size: 1rem;
  }
  .price-rate-panel .price-rate-card dd em {
    font-size: 0.96rem;
  }
  .price-rate-panel .price-rate-card dd small {
    font-size: 0.82rem;
  }
  .price-rate-card dd em {
    font-size: 0.98rem;
  }
  .price-rate-card dd small,
  .price-example small,
  .price-simulation--text small {
    font-size: 0.86rem;
  }
  .price-rate-card dd strong,
  .price-phone-table a {
    font-size: 1.7rem;
  }
  .price-example {
    font-size: 1.14rem;
  }
  .price-example b {
    font-size: 1.95rem;
  }
  .price-simulation--text strong {
    font-size: 1.35rem;
  }
  .price-contract-list--label {
    font-size: 1.15rem;
  }
  .price-contract-list--title {
    font-size: 1.42rem;
  }
  .price-support .price-hours strong,
  .price-support .price-hours span {
    font-size: 1.05rem;
  }
  .price-support .price-hours p {
    font-size: 1.15rem;
  }
  .price-support .price-hours b {
    font-size: 1.35rem;
  }
  .price-formula ul,
  .price-pdf-links a,
  .price-area-note,
  .price-rate-card h3,
  .price-rate-card dd em,
  .price-rate-card dd small,
  .price-simulation--inner a,
  .price-simulation--text strong,
  .price-contract-list--label,
  .price-contract-list--title,
  .price-contract-list--pdf,
  .price-last-resort--link,
  .price-support .price-hours strong,
  .price-support .price-hours p,
  .price-support .price-hours span,
  .price-contact-box p,
  .price-contact-box a,
  .price-procedure-links h2,
  .price-procedure-links p,
  .price-procedure-links a {
    font-weight: 600;
  }
}
@media (max-width: 900px) {
  .gas-procedures--inner {
    grid-template-columns: 1fr;
  }
  .gas-procedures h2 br {
    display: none;
  }
  .gas-procedures ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .gas-index--cards {
    grid-template-columns: 1fr;
  }
  .city-menu--grid,
  .city-band--wrap {
    grid-template-columns: 1fr;
  }
  .price-rate-cards,
  .price-procedure-links ul,
  .payment-method-list,
  .step-image-grid,
  .construction-index-list,
  .related-links--list {
    grid-template-columns: 1fr;
  }
  .price-formula--row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .price-formula--row b {
    text-align: center;
  }
  .price-formula--row b:last-of-type {
    display: inline-block;
    justify-self: center;
    transform: rotate(90deg);
  }
  .price-formula--row-lpgas {
    grid-template-columns: 1fr;
  }
  .price-formula--row-lpgas b:first-of-type {
    display: inline-block;
    justify-self: center;
    transform: rotate(90deg);
  }
  .price-simulation--inner,
  .price-contact-box {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 600px) {
  .sns-account-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .sns-account-card {
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 0.85rem;
    padding: 1rem;
  }
  .sns-account-card > img {
    width: 3.75rem;
    height: 3.75rem;
  }
  .gas-hero--inner {
    padding-top: 2rem;
  }
  .gas-hero h2 {
    font-size: 2.2rem;
  }
  .gas-hero p {
    font-size: 0.9rem;
    line-height: 1.75;
  }
  .gas-town {
    min-height: 5.5rem;
    margin-top: 1.4rem;
  }
  .gas-hero--detail .gas-hero--inner {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "label" "town";
    row-gap: 0.2rem;
    padding-top: 1.5rem;
  }
  .gas-hero--detail .gas-town {
    min-height: 5rem;
    margin-top: 0.4rem;
  }
  .gas-hero--detail .gas-town::after {
    width: 100%;
    height: 5rem;
    background-position: center bottom;
    background-size: contain;
  }
  .emergency-hero .gas-hero--inner {
    grid-template-areas: "title" "label";
    justify-items: start;
  }
  .emergency-index-hero .gas-hero--inner {
    grid-template-areas: "title";
  }
  .emergency-unavailable-alert {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    padding: 1.35rem;
  }
  .emergency-unavailable-alert figure {
    order: -1;
  }
  .emergency-unavailable-red-button {
    width: 100%;
    min-width: 0;
  }
  .emergency-unavailable-grid {
    grid-template-columns: 1fr;
  }
  .emergency-unavailable-card {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "image" "body";
    padding: 1.15rem;
  }
  .emergency-unavailable-card figure img {
    height: auto;
    max-height: none;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .emergency-unavailable-card .emergency-unavailable-card--icon {
    min-height: 8rem;
  }
  .emergency-unavailable-card .emergency-unavailable-card--icon img {
    width: 5.2rem;
  }
  .emergency-unavailable-contact {
    padding: 1.4rem;
  }
  .gas-procedures--inner {
    padding: 1rem 5% 1.5rem;
  }
  .gas-procedures ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }
  .gas-procedures a {
    min-height: 7.6rem;
    font-size: 0.74rem;
  }
  .gas-procedures a img {
    width: 2.1rem;
    height: 2.1rem;
  }
  .gas-index {
    padding: 2rem 5% 3rem;
  }
  .gas-index > h2 {
    margin-bottom: 1.4rem;
    font-size: 1.25rem;
  }
  .contact-note {
    display: grid;
  }
  .info-table {
    display: block;
  }
  .info-table tbody,
  .info-table tr,
  .info-table th,
  .info-table td {
    display: block;
    width: 100%;
  }
  .info-table tr + tr {
    margin-top: 0.75rem;
  }
  .info-table th {
    border-bottom: 0;
  }
  .info-table.electric-rate-table {
    display: block;
    border: 1px solid #d7d7d7;
    font-size: 0.92rem;
  }
  .info-table.electric-rate-table tbody {
    display: block;
  }
  .info-table.electric-rate-table tr {
    display: block;
    width: auto;
  }
  .info-table.electric-rate-table tr + tr {
    border-top: 1px solid #d7d7d7;
  }
  .info-table.electric-rate-table th,
  .info-table.electric-rate-table td {
    display: block;
    width: 100%;
  }
  .info-table.electric-rate-table th {
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    background: #f4f4f4;
  }
  .info-table.electric-rate-table th,
  .info-table.electric-rate-table td {
    padding: 0.62rem 0.85rem;
    line-height: 1.55;
  }
  .info-table.electric-rate-table td {
    border: 0;
  }
  .info-table.electric-rate-table td + td {
    padding-top: 0;
  }
  .gas-index-card--head {
    min-height: 11rem;
    padding: 1.1rem 35% 1.1rem 1rem;
  }
  .gas-index-card ul {
    padding: 0.5rem 1rem 1rem;
  }
  .gas-index-card ul a {
    font-size: 0.84rem;
  }
  .city-menu {
    padding: 2rem 5% 0;
  }
  .city-menu--procedures {
    padding-top: 0;
  }
  .city-menu--wrap {
    padding: 1.4rem 4%;
  }
  .city-menu--grid {
    gap: 0.5rem;
  }
  .city-band {
    padding: 1.4rem 5%;
  }
  .price-page {
    padding: 0 5% 3rem;
  }
  .price-intro > h2,
  .gas-index > h2 {
    font-size: 1.38rem;
    line-height: 1.35;
  }
  .price-intro-subtitle,
  .price-section:not(.price-intro) > h2,
  .price-rate-section > h2,
  .price-contracts > h2,
  .price-support > h2,
  .price-procedure-links h2,
  .city-menu--wrap > h2,
  .gas-procedures h2 {
    font-size: 1.18rem;
    line-height: 1.35;
  }
  .price-support > h2 small {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
  }
  .price-section,
  .price-procedure-links {
    padding: 1.8rem 5%;
  }
  .payment-section {
    padding: 0;
  }
  .payment-section p {
    font-size: 0.92rem;
    line-height: 1.75;
  }
  .payment-method-list a {
    min-height: 3.2rem;
    font-size: 0.86rem;
  }
  .construction-index-list {
    gap: 0.75rem;
  }
  .related-links {
    margin-top: 2rem;
    padding: 1rem 0.85rem;
  }
  .related-links h2 {
    margin-bottom: 0.55rem;
    font-size: 0.86rem;
  }
  .related-links--list {
    gap: 0.65rem;
  }
  .related-links--list a {
    min-height: 2.8rem;
    padding: 0.6rem 2.35rem 0.6rem 0.85rem;
  }
  .related-links--list span {
    font-size: 0.82rem;
  }
  .construction-index-list a {
    min-height: 4.7rem;
    padding: 0.85rem 2.65rem 0.85rem 1rem;
  }
  .comfortable-index-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .comfortable-index-list a {
    min-height: 3.8rem;
  }
  .meter-notice-figure {
    padding: 0.55rem;
  }
  .meter-flow-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
  }
  .meter-flow-list li {
    min-height: 0;
  }
  .meter-flow-list li:not(:last-child)::after {
    right: 50%;
    top: auto;
    bottom: -1.2rem;
    transform: translateX(50%) rotate(90deg);
  }
  .breakdown-notice-box {
    padding: 0.85rem;
  }
  .breakdown-notice-box ol,
  .breakdown-image-grid figcaption {
    font-size: var(--lower-text);
  }
  .breakdown-image-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
  }
  .breakdown-image-grid figure {
    padding: 0.65rem;
  }
  .check-image-grid--three,
  .paint-image-grid,
  .check-device-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .paint-image-grid {
    gap: 0.8rem;
  }
  .paint-contact-table tbody th {
    width: 100%;
  }
  .paint-contact-table tbody td:last-child {
    width: 100%;
    white-space: normal;
  }
  .check-image-grid {
    gap: 0.8rem;
  }
  .check-image-grid figure {
    padding: 0.65rem;
  }
  .check-image-grid figcaption {
    font-size: var(--lower-text);
  }
  .check-side-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0.65rem;
  }
  .check-side-card p {
    margin-top: 0;
  }
  .check-device-list section {
    grid-template-columns: minmax(5.8rem, 30%) minmax(0, 1fr);
    grid-template-areas: "title title" "image text";
    min-height: 0;
    gap: 0.75rem 0.9rem;
    padding: 0 0 1.25rem;
  }
  .check-device-list section + section {
    padding-top: 1.25rem;
  }
  .check-device-list figure {
    max-width: none;
    margin-inline: 0;
  }
  .check-device-list img {
    width: min(100%, 7rem);
  }
  .check-device-list h4 {
    min-width: 8.5rem;
    padding: 0.35rem 0.9rem;
    font-size: 0.98rem;
  }
  .check-device-list p {
    margin-top: 0;
    line-height: 1.75;
  }
  .research-image-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;
  }
  .research-image-list figure,
  .research-staff-figure {
    padding: 0.65rem;
  }
  .research-change-list {
    padding: 0.85rem;
  }
  .research-change-list li {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    -moz-column-gap: 0.55rem;
         column-gap: 0.55rem;
    align-items: start;
    padding-left: 0;
    font-size: var(--lower-text);
    font-weight: 400;
  }
  .research-change-list li::before {
    position: static;
    margin-top: 0.18rem;
  }
  .research-table {
    overflow: visible;
  }
  .research-table table,
  .research-table tbody,
  .research-table tr,
  .research-table th,
  .research-table td {
    display: block;
    width: 100%;
    min-width: 0;
    border: 0;
  }
  .research-table table {
    background: transparent;
  }
  .research-table tr {
    margin-top: 0.75rem;
    border: 1px solid #d7d7d7;
    background: #fff;
  }
  .research-table tr.sp-none {
    display: none;
  }
  .research-table th {
    padding: 0.7rem 0.85rem;
    background: #f2f2f2;
    white-space: normal;
  }
  .research-table td {
    padding: 0.8rem 0.85rem;
    border-top: 1px solid #e5e5e5;
  }
  .research-table.attention table {
    display: table;
  }
  .research-table.attention tbody {
    display: table-row-group;
  }
  .research-table.attention tr {
    display: table-row;
  }
  .research-table.attention th,
  .research-table.attention td {
    display: table-cell;
    width: auto;
    border-right: 1px solid #e5e5e5;
  }
  .research-table.attention th span,
  .research-table.attention td span {
    display: inline-block;
  }
  .construction-index-list strong {
    font-size: 0.95rem;
  }
  .construction-index-list span {
    font-size: 0.78rem;
  }
  .ownership-figure {
    padding: 0;
  }
  .ownership-figure-placeholder {
    min-height: 10rem;
  }
  .construction-flow-list {
    gap: 1.25rem;
  }
  .construction-flow-list > li {
    padding: 1rem;
  }
  .construction-flow-list h3 {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
  }
  .construction-flow-list h3 strong {
    font-size: 1rem;
  }
  .lp-cost-formula {
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin-top: 1rem;
  }
  .lp-cost-formula--base,
  .lp-cost-formula--item {
    min-height: 3.6rem;
    padding: 0.75rem 1rem;
  }
  .lp-cost-formula--item span {
    left: 0.7rem;
    top: -0.75rem;
  }
  .lp-cost-formula--mark {
    font-size: 1.3rem;
  }
  .lp-cost-detail {
    padding: 1rem;
  }
  .lp-cost-detail h2 {
    align-items: flex-start;
    font-size: 1rem;
  }
  .area__menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .area__menu a {
    min-height: 2.4rem;
    font-size: 0.82rem;
  }
  .area__content .h2__title {
    font-size: 1.05rem;
  }
  .area__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .area__list li {
    min-height: 2.2rem;
    padding: 0.42rem 0.6rem;
    font-size: 0.78rem;
  }
  .credit-action-list a {
    white-space: normal;
  }
  .credit-flow {
    grid-template-columns: 1fr;
  }
  .process-flow {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .process-flow li {
    min-height: 0;
    padding: 1rem;
  }
  .process-flow li:not(:last-child)::after {
    right: 50%;
    top: auto;
    bottom: -1rem;
    width: 0.85rem;
    height: 0.85rem;
    border-top: 0;
    border-right: 3px solid #b8b8b8;
    border-bottom: 3px solid #b8b8b8;
    transform: translateX(50%) rotate(45deg);
  }
  .certificate-contact {
    padding: 0.9rem 1rem;
  }
  .certificate-contact div {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
  .reading-meter {
    padding: 0.65rem;
  }
  .reading-calc {
    padding: 0.85rem;
  }
  .reading-calc--row {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }
  .reading-calc--item {
    min-height: 0;
  }
  .reading-calc--row > b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.1rem;
    text-align: center;
    line-height: 1;
    transform: rotate(90deg);
  }
  .viewpoint-main-image {
    padding: 0.5rem;
  }
  .viewpoint-detail {
    grid-template-columns: 1fr;
    gap: 0.85rem;
    padding: 0.85rem;
  }
  .viewpoint-detail--image h3 {
    margin-bottom: 0.6rem;
    padding-bottom: 0.25rem;
    font-size: 0.92rem;
  }
  .viewpoint-detail--image-small {
    max-width: 12rem;
  }
  .viewpoint-detail--body {
    padding: 0.8rem 0.85rem;
  }
  .viewpoint-detail--body dt {
    font-size: 0.9rem;
  }
  .viewpoint-detail--body dd,
  .viewpoint-detail--body p,
  .viewpoint-detail--body li {
    font-size: 0.84rem !important;
    line-height: 1.65;
  }
  .credit-flow--item {
    padding: 1.15rem 1rem 1.2rem;
  }
  .credit-form-figure,
  .credit-complete-figure {
    margin-top: 0.8rem;
  }
  .payment-figure-placeholder {
    min-height: 9rem;
    margin-top: 1rem;
  }
  .payment-figure {
    margin-top: 1rem;
    overflow-x: auto;
  }
  .payment-figure img {
    min-width: 42rem;
  }
  .credit-form-figure img {
    min-width: 0;
  }
  .credit-complete-figure img {
    min-width: 0;
  }
  .payment-service-link a {
    width: 100%;
    min-width: 0;
  }
  .transfer-action-list {
    grid-template-columns: 1fr;
    max-width: none;
  }
  .payment-slip-action-list {
    grid-template-columns: 1fr;
    max-width: none;
  }
  .payment-slip-send-grid {
    grid-template-columns: 1fr;
  }
  .payment-slip-send-card {
    padding: 1rem;
  }
  .payment-slip-app-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .payment-slip-app-list a {
    min-height: 7.2rem;
    padding: 0.85rem 0.65rem;
  }
  .payment-slip-app-list img {
    max-width: 8.6rem;
    height: 3.4rem;
  }
  .payment-section-subtitle {
    font-size: 1rem;
  }
  .payment-slip-flow {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .payment-slip-flow li {
    min-height: 0;
    padding: 1.25rem 1rem;
  }
  .payment-slip-flow li:not(:last-child)::after {
    display: block;
    right: 50%;
    top: auto;
    bottom: -1.05rem;
    width: 0.9rem;
    height: 0.9rem;
    border-top: 0;
    border-right: 3px solid #b8b8b8;
    border-bottom: 3px solid #b8b8b8;
    background: transparent;
    transform: translateX(50%) rotate(45deg);
  }
  .payment-slip-image-grid {
    grid-template-columns: 1fr;
  }
  .payment-slip-image-placeholder--wide {
    grid-column: auto;
  }
  .transfer-bank-table {
    min-width: 0;
  }
  .transfer-bank-table tr,
  .transfer-bank-table th,
  .transfer-bank-table td {
    display: block;
    width: 100%;
  }
  .transfer-bank-table tr {
    border: 1px solid #d7d7d7;
    background: #fff;
  }
  .transfer-bank-table tr + tr {
    margin-top: 0.5rem;
  }
  .transfer-bank-table th,
  .transfer-bank-table td {
    border: 0;
    border-bottom: 1px solid #eee;
  }
  .transfer-bank-table th {
    background: #f7f7f7;
    text-align: left;
  }
  .transfer-bank-table td {
    width: 100%;
  }
  .transfer-bank-table td:empty {
    display: none;
  }
  .transfer-bank-table td:last-child {
    border-bottom: 0;
  }
  .transfer-bank-table.payment-slip-store-list {
    display: block;
    border: 0;
    border-top: 1px solid #e5e5e5;
  }
  .transfer-bank-table.payment-slip-store-list tbody,
  .transfer-bank-table.payment-slip-store-list tr,
  .transfer-bank-table.payment-slip-store-list td {
    display: block;
    width: 100%;
  }
  .transfer-bank-table.payment-slip-store-list tr {
    border: 0;
    background: #fff;
  }
  .transfer-bank-table.payment-slip-store-list tr + tr {
    margin-top: 0;
  }
  .transfer-bank-table.payment-slip-store-list td {
    padding: 0.72rem 0.85rem;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    background: #fff !important;
  }
  .transfer-bank-table.payment-slip-store-list td:empty {
    display: none;
  }
  .transfer-figure {
    padding: 0.5rem;
  }
  .directdebit-list li {
    font-size: 0.95rem;
  }
  .directdebit-flow {
    padding: 0.5rem;
    overflow-x: visible;
  }
  .directdebit-flow img {
    min-width: 0;
  }
  .price-formula {
    padding: 1rem;
  }
  .price-area-tabs {
    gap: 0.5rem;
  }
  .price-area-tabs a {
    min-width: 0;
    flex: 1;
  }
  .price-rate-panel .price-area-tabs {
    gap: 0;
  }
  .price-rate-panel .price-area-note {
    margin: 0.85rem 1rem 0;
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .price-rate-panel .price-rate-cards {
    grid-template-columns: 1fr;
    gap: 0.9rem;
    margin: 0.85rem 1rem 0;
  }
  .price-rate-panel .price-rate-card h3 {
    font-size: 1rem;
  }
  .price-rate-panel .price-rate-card p {
    min-height: 0;
    font-size: 0.9rem;
  }
  .price-rate-panel .price-rate-card div {
    grid-template-columns: 4.2rem minmax(0, 1fr);
    min-height: 5rem;
  }
  .price-rate-panel .price-rate-card dd {
    text-align: left;
  }
  .price-rate-panel .price-rate-card dd em {
    font-size: 0.86rem;
  }
  .price-rate-panel .price-rate-card dd small {
    font-size: 0.72rem;
  }
  .price-rate-panel .price-rate-card dd strong {
    font-size: 1.45rem;
  }
  .price-rate-icon {
    width: 3.2rem;
    height: 3.2rem;
  }
  .price-rate-panel .price-example {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
    margin: 1rem 1rem 0;
  }
  .price-rate-panel .price-rate-notes {
    margin: 0.55rem 1rem 1rem;
  }
  .price-link-list a {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }
  .price-contract-list li {
    display: block;
  }
  .price-contract-list--label {
    margin-bottom: 0.55rem;
    font-size: 0.95rem;
  }
  .price-contract-list--label[aria-hidden=true] {
    display: none;
  }
  .price-contract-list--title {
    font-size: 1.08rem;
  }
  .price-hours {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
  }
  .price-support .price-hours {
    align-items: flex-start;
    gap: 0.55rem;
    padding: 1rem;
  }
  .price-support .price-hours p:last-child {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
  }
  .price-support .price-hours b {
    display: inline-block;
    margin-left: 0.5rem;
  }
  .price-hours--head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
  }
  .price-phone-table thead {
    display: none;
  }
  .price-phone-table tbody {
    display: grid;
    gap: 0.75rem;
  }
  .price-phone-table tr,
  .price-phone-table th,
  .price-phone-table td {
    display: block;
    width: 100%;
  }
  .price-phone-table tbody tr {
    padding: 0.85rem 1rem;
    border: 1px solid #d7d7d7;
    background: #fff;
  }
  .price-phone-table tbody tr:nth-child(even) {
    background: #d6ede9;
  }
  .price-phone-table th {
    padding: 0 0 0.25rem;
    border-bottom: 0;
    color: #000;
    font-size: 0.95rem;
  }
  .price-phone-table td {
    padding: 0.15rem 0;
    border-right: 0 !important;
  }
  .price-phone-table td:last-child {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.25rem;
    width: 100%;
    margin-top: 0.45rem;
    padding-top: 0.55rem;
    border-top: 1px solid rgba(0, 153, 131, 0.2);
    text-align: center;
  }
  .price-phone-table td:last-child::before {
    content: "電話番号";
    margin-right: 0.4rem;
    color: #000;
    font-size: 0.72rem;
    font-weight: 600;
  }
  .price-phone-table a {
    font-size: 1.25rem;
  }
  .price-contact-box {
    text-align: center;
  }
  .price-contact-box small {
    max-width: 16.5rem;
    margin-right: auto;
    margin-left: auto;
    line-height: 1.65;
    text-align: center;
  }
  .range-page .research-table.range table th {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .responsive-card-table {
    display: block;
    min-width: 0;
    margin-top: 1rem;
    border: 0;
  }
  .responsive-card-table thead {
    display: none;
  }
  .responsive-card-table tbody {
    display: grid !important;
    gap: 0.75rem;
  }
  .responsive-card-table tr {
    display: block !important;
    margin: 0;
    border: 1px solid #d7d7d7;
    background: #fff;
  }
  .responsive-card-table td {
    display: block;
    width: 100% !important;
    padding: 0.75rem 0.85rem;
    border: 0;
    background: #fff;
    white-space: normal !important;
  }
  .responsive-card-table td::before {
    display: block;
    margin-bottom: 0.2rem;
    color: #666;
    content: attr(data-label);
    font-size: 0.76rem;
    font-weight: 500;
  }
  .responsive-card-table td:first-child {
    background: #f1f1f1;
    font-weight: 600;
  }
  .responsive-card-table td:first-child::before {
    display: none;
  }
  .responsive-card-table td + td {
    border-top: 1px solid #e2e2e2;
  }
}
/* Lower page shared type scale */
.lower-main {
  --lower-text: 1.08rem;
  --lower-action-text: 1rem;
  --lower-small-text: 0.9rem;
  --lower-page-heading-text: 1.85rem;
  --lower-heading-text: 1.55rem;
  --lower-section-heading-text: 1.35rem;
  --lower-subheading-text: 1.15rem;
  --lower-strong-weight: 600;
}

.lower-main :where(.price-intro > h2, .gas-index > h2) {
  font-size: var(--lower-page-heading-text) !important;
  font-weight: var(--lower-strong-weight) !important;
}

.lower-main :where(.price-intro-subtitle,
.price-section:not(.price-intro) > h2,
.price-rate-section > h2,
.price-contracts > h2,
.payment-section > h2,
.price-support > h2,
.price-procedure-links h2,
.city-menu--wrap > h2,
.gas-procedures h2,
.emergency-smell-contact > h2,
.emergency-recover-intro h2,
.emergency-recover-section > h2,
.emergency-recover-heading h2,
.emergency-broken-checks > h2,
.emergency-broken-repair > h2,
.emergency-contact-reason > h2) {
  font-size: var(--lower-heading-text) !important;
  font-weight: var(--lower-strong-weight) !important;
}

.lower-main :where(.price-section:not(.price-intro) > h3,
.payment-section > h3,
.payment-section section > h3,
.emergency-smell-action h2,
.emergency-broken-check-list h3,
.emergency-broken-repair > h3,
.emergency-contact-reason > h3) {
  font-size: var(--lower-section-heading-text) !important;
  font-weight: var(--lower-strong-weight) !important;
}

.lower-main :where(.price-lead,
.price-section--text,
.price-intro .price-lead,
.price-formula > p,
.price-contracts--lead,
.payment-section p,
.price-last-resort--lead,
.price-support--lead,
.price-contract-list--body p,
.price-simulation--text p,
.city-menu--wrap > p,
.gas-index-card--head span,
.emergency-smell-lead p,
.emergency-smell-action p,
.emergency-smell-action li,
.emergency-recover-intro li,
.emergency-recover-notes li,
.emergency-recover-step--text p,
.emergency-recover-cautions p,
.emergency-broken-check-list li,
.emergency-broken-actions p,
.emergency-broken-repair--lead,
.emergency-broken-shop-table td,
.emergency-contact-primary > p,
.emergency-contact-reason > p,
.emergency-contact-reason li) {
  font-size: var(--lower-text) !important;
  font-weight: 400 !important;
}

.lower-main :where(.city-menu a,
.city-band a,
.gas-index-card ul a,
.price-link-list a,
.price-pdf-links a,
.price-area-tabs a,
.payment-method-list a,
.price-simulation--inner a,
.price-contract-list--pdf,
.price-last-resort--link,
.price-contact-box a,
.price-procedure-links a) {
  font-size: var(--lower-action-text) !important;
  font-weight: var(--lower-strong-weight) !important;
}

.lower-main :where(.gas-procedures a,
.gas-index-card--head p,
.gas-index-card--more,
.price-formula--note,
.price-rate-card p,
.price-rate-card dd small,
.price-example small,
.price-simulation--text small,
.price-contact-box small,
.payment-note) {
  font-size: var(--lower-small-text) !important;
}

.lower-main :where(.price-formula ul,
.price-formula--item,
.price-area-note,
.price-rate-card h3,
.price-rate-card dd em,
.price-rate-card dd strong,
.price-example,
.price-example b,
.price-simulation--text strong,
.price-contract-list--label,
.price-contract-list--title,
.price-support .price-hours strong,
.price-support .price-hours p,
.price-support .price-hours span,
.price-support .price-hours b,
.price-phone-table th,
.price-phone-table td,
.price-phone-table a,
.price-contact-box p,
.price-procedure-links p) {
  font-weight: var(--lower-strong-weight) !important;
}

.price-rate-card h3,
.price-formula--item,
.price-contact-box p {
  font-size: var(--lower-subheading-text) !important;
}

.lower-main .gas-hero--detail .gas-hero--label {
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.electric-hero-logo {
  width: min(100%, 260px);
  max-width: none !important;
  margin: 0;
}
.electric-hero-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.electric-hero.gas-hero--detail .gas-hero--inner {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title" "label";
  align-items: center;
  justify-items: start;
  row-gap: 0.65rem;
  min-height: 10.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.electric-hero .gas-town {
  display: none;
}
.electric-hero .gas-hero--label {
  margin-top: 0 !important;
}

.denki-top-cover .electric-hero-logo {
  width: min(100%, 430px);
}

.denki-top-cover.gas-hero--detail .gas-hero--inner {
  min-height: 12rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (max-width: 767px) {
  .electric-hero-logo {
    width: min(70vw, 220px);
  }
  .denki-top-cover .electric-hero-logo {
    width: min(82vw, 340px);
  }
  .electric-hero.gas-hero--detail .gas-hero--inner,
  .denki-top-cover.gas-hero--detail .gas-hero--inner {
    min-height: 0;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
.electric-campaign {
  width: min(100%, 720px);
  margin: 2.2rem auto 0;
}
.electric-campaign a,
.electric-campaign img {
  display: block;
}
.electric-campaign a {
  transition: opacity 0.2s ease;
}
.electric-campaign a:hover, .electric-campaign a:focus-visible {
  opacity: 0.82;
}
.electric-campaign img {
  width: 100%;
  height: auto;
}

.electric-notice-link {
  margin-top: 0.75rem;
}

.electric-notice-link a {
  display: inline;
  color: #009983;
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
}
.electric-notice-link a::after {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.35em;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  content: ">";
  font-size: 0.72em;
  line-height: 0.8em;
  text-align: center;
  vertical-align: 0.08em;
}
.electric-notice-link a:hover, .electric-notice-link a:focus-visible {
  color: #007b6b;
}

.electric-plan-page .price-section--text {
  max-width: none;
  margin: 0.2rem 0 1rem;
  text-align: left;
}
.electric-plan-page .content-list {
  margin-top: 1rem;
}
.electric-plan-page .button-row {
  margin-top: 1.45rem;
  text-align: center;
}
.electric-plan-page .payment-section h3 {
  margin-top: 1.8rem;
}

.electric-plan-accordion {
  padding: 0 1.15rem;
  overflow: hidden;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.electric-plan-accordion + .electric-plan-accordion {
  margin-top: 0.8rem;
}
.electric-plan-accordion summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 3.45rem;
  margin: 0 -1.15rem;
  padding: 0.85rem 3.7rem 0.85rem 1.15rem;
  border-bottom: 0;
  background: #fff;
  color: #000;
  font-size: var(--lower-section-heading-text);
  font-weight: 600;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}
.electric-plan-accordion summary::-webkit-details-marker {
  display: none;
}
.electric-plan-accordion summary::after {
  position: absolute;
  top: 50%;
  right: 1.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  content: "+";
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  transition: background 0.2s ease, transform 0.2s ease;
}
.electric-plan-accordion summary:hover, .electric-plan-accordion summary:focus-visible {
  background: #f7f7f7;
}
.electric-plan-accordion[open] {
  padding-bottom: 1.25rem;
  border-color: #bfcfcb;
}
.electric-plan-accordion[open] summary {
  border-bottom: 1px solid #d7d7d7;
  background: #f7f7f7;
}
.electric-plan-accordion[open] summary::after {
  content: "−";
  background: #009983;
}
.electric-plan-accordion > :not(summary) {
  margin-right: 0;
  margin-left: 0;
}
.electric-plan-accordion summary + * {
  margin-top: 1.15rem;
}
.electric-plan-accordion > .price-section--text {
  margin-top: 1.15rem;
}

.electric-rate-table {
  margin-top: 0.8rem;
}
.electric-rate-table th {
  width: 32%;
}
.electric-rate-table td {
  font-weight: 500;
}
.electric-rate-table td span {
  font-size: 84%;
}

.electric-faq-page .price-intro {
  padding-bottom: 0;
}

.electric-faq-section h2 {
  margin-bottom: 1rem;
}
.electric-faq-section + .electric-faq-section {
  margin-top: 1.25rem;
}

.electric-faq-list,
.qa-list {
  display: grid;
  gap: 0.72rem;
}

.electric-faq-accordion + .electric-faq-accordion, .electric-faq-accordion + .qa-accordion,
.qa-accordion + .electric-faq-accordion,
.qa-accordion + .qa-accordion {
  margin-top: 0;
}
.electric-faq-accordion summary,
.qa-accordion summary {
  padding-left: 3.25rem;
  font-size: 1rem;
}
.electric-faq-accordion summary::before,
.qa-accordion summary::before {
  content: "Q";
  position: absolute;
  top: 50%;
  left: 1.15rem;
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: #eef8f6;
  color: #009983;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}

.electric-faq-answer,
.qa-answer {
  display: grid;
  gap: 0.75rem;
  padding: 0.25rem 0 0;
  font-size: 0.96rem;
  line-height: 1.85;
}
.electric-faq-answer p,
.qa-answer p {
  margin: 0;
}
.electric-faq-answer a,
.qa-answer a {
  color: #009983;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.electric-faq-answer a:hover, .electric-faq-answer a:focus-visible,
.qa-answer a:hover,
.qa-answer a:focus-visible {
  color: #007b6b;
}
.electric-faq-answer strong,
.qa-answer strong {
  color: #007b6b;
  font-weight: 700;
}
.electric-faq-answer img,
.qa-answer img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.25rem auto 0;
  border: 1px solid #d7d7d7;
}

.question-hero .gas-hero--inner {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title";
  padding-top: 1.75rem;
}

.question-page {
  padding-top: 2.2rem;
}

.question-service-guide {
  display: block;
  padding: 0.65rem 0.75rem;
  background: #f4f4f4;
}
.question-service-guide > h2 {
  margin: 0 0 0.5rem;
  color: #555;
  font-size: 0.9rem !important;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  white-space: nowrap;
}

.question-service-guide--list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.question-service-guide--item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3rem;
  padding: 0.45rem 2.05rem 0.45rem 0.8rem;
  border-radius: 0.45rem;
  background: #fff;
  color: #000;
  line-height: 1.45;
  text-decoration: none;
}
.question-service-guide--item strong {
  font-size: 0.88rem;
  font-weight: 600;
}
.question-service-guide--item span {
  margin-top: 0.05rem;
  color: #555;
  font-size: 0.76rem;
}
.question-service-guide--item[href]::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0.85rem;
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.7rem;
  line-height: 1;
  transform: translateY(-50%);
}
.question-service-guide--item[href]:hover, .question-service-guide--item[href]:focus-visible {
  background: #fafafa;
  color: #007b6b;
}

.question-search-section {
  padding: 1.5rem;
  background: #f4f4f4;
}
.question-search-section h2 {
  margin-bottom: 0.35rem;
  font-size: var(--lower-section-heading-text);
}
.question-search-section p {
  margin: 0;
}

.question-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 7rem;
  gap: 0.65rem;
  margin-top: 1rem;
}
.question-search label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.question-search input,
.question-search button {
  min-height: 3rem;
  border: 1px solid #cfcfcf;
  border-radius: 0.3rem;
  font: inherit;
}
.question-search input {
  min-width: 0;
  padding: 0.65rem 0.85rem;
  background: #fff;
}
.question-search button {
  border-color: #009983;
  background: #009983;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
.question-search button:hover, .question-search button:focus-visible {
  background: #007b6b;
}

.question-search-status {
  min-height: 1.5em;
  margin-top: 0.55rem !important;
  color: #555;
  font-size: 0.85rem;
}

.question-category-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  padding: 1rem;
  background: #f4f4f4;
}
.question-category-nav a {
  display: grid;
  place-items: center;
  min-height: 3rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.35rem;
  background: #fff;
  color: #000;
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
}
.question-category-nav a:hover, .question-category-nav a:focus-visible {
  background: #fafafa;
  color: #007b6b;
}

.question-section {
  scroll-margin-top: 1rem;
}
.question-section + .question-section {
  margin-top: 1.5rem;
}
.question-section h2 {
  margin-bottom: 1rem;
}
.question-section[hidden] {
  display: none;
}

.question-list .qa-accordion[hidden] {
  display: none;
}
.question-list .qa-answer {
  padding-bottom: 1rem;
}
.question-list img {
  display: block;
  width: min(100%, 32rem);
  height: auto;
  margin: 0.75rem auto;
}
.question-list ul {
  padding-left: 1.3rem;
}

.electric-contact-page .price-intro {
  padding-bottom: 0;
}

.electric-contact-lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 2.7rem 4%;
  background: #eef8f7;
}
.electric-contact-lead > div,
.electric-contact-lead > ul {
  margin: 0;
}
.electric-contact-lead > div {
  width: min(100%, 62rem);
  padding: 2rem 3rem 1rem;
  border-radius: 14px 14px 0 0;
  background: #fff;
}
.electric-contact-lead p {
  margin: 0;
  line-height: 1.8;
  text-align: center;
}

.electric-contact-links {
  display: flex;
  flex: 0 0 auto;
  gap: 0.85rem;
  align-self: center;
  align-items: center;
  width: min(100%, 62rem);
  justify-content: center;
  padding: 0.8rem 3rem 2rem;
  border-radius: 0 0 14px 14px;
  background: #fff;
}
.electric-contact-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11rem;
  padding: 0.85rem 1.2rem;
  border-radius: 999px;
  background: #009983;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.22);
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.electric-contact-links a:hover, .electric-contact-links a:focus-visible {
  opacity: 0.86;
  transform: translateY(1px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.22);
}

.electric-contact-support .price-lead {
  margin: 0.3rem 0 1.2rem;
  text-align: left;
}

.electric-contact-office-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.electric-contact-office {
  position: relative;
  display: block;
  padding: 1.15rem 1.25rem;
  overflow: hidden;
  border: 1px solid #dce8e5;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}
.electric-contact-office:hover, .electric-contact-office:focus-visible {
  border-color: #009983;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.electric-contact-office h3 {
  margin: 0 0 0.45rem;
  color: #000;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
}
.electric-contact-office p {
  margin: 0;
  color: #009983;
  font-size: 2.35rem !important;
  font-weight: 700;
  line-height: 1.18;
}
.electric-contact-office p::before {
  content: "TEL";
  display: inline-block;
  margin-right: 0.45rem;
  color: #666;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  vertical-align: 0.12em;
}
.electric-contact-office address {
  margin-top: 0.35rem;
  color: #555;
  font-size: 0.88rem;
  font-style: normal;
  line-height: 1.55;
}

.electric-contact-form-section {
  padding: 2.7rem 4%;
  background: #eef8f7;
}

.electric-contact-form-panel {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 2.4rem 3rem;
  border-radius: 14px;
  background: #fff;
}
.electric-contact-form-panel h2 {
  margin-top: 0;
}

.electric-contact-form-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.9rem;
  width: min(100%, 48rem);
  margin-top: 1.4rem;
  margin-right: auto;
  margin-left: auto;
}
.electric-contact-form-grid a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.2rem;
  padding: 1.05rem 3rem 1.05rem 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #000;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.electric-contact-form-grid a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 1.1rem;
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}
.electric-contact-form-grid a:hover, .electric-contact-form-grid a:focus-visible {
  border-color: #bfcfcb;
  background: #f7f7f7;
  color: #000;
  transform: translateY(1px);
}

.electric-contact-form-title {
  display: block;
}

.electric-contact-form-text {
  display: block;
  margin-top: 0.15rem;
  color: #666;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
}

.electric-contact-pdf-link {
  width: min(100%, 48rem);
  margin: 1.1rem auto 0;
  font-size: 0.95rem;
  text-align: right;
}
.electric-contact-pdf-link a {
  color: #555;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.electric-contact-pdf-link a::after {
  content: ">";
  display: inline-block;
  margin-left: 0.45em;
  color: #777;
  font-weight: 700;
  text-decoration: none;
}
.electric-contact-pdf-link a:hover, .electric-contact-pdf-link a:focus-visible {
  color: #000;
}

.electric-down-contact {
  display: grid;
  gap: 1.5rem;
  min-width: 0;
  padding: 2.7rem 4%;
  background: #eef8f7;
}

.electric-down-contact--main,
.electric-down-contact--sub {
  min-width: 0;
  padding: 2.2rem 2.6rem;
  border-radius: 14px;
  background: #fff;
}

.electric-down-contact--main h2 {
  margin: 0 0 1.35rem;
  text-align: center;
}

.electric-down-contact--sub h3 {
  margin: 0 0 1rem;
  color: #000;
  font-size: 1.15rem;
  font-weight: 600;
}
.electric-down-contact--sub p {
  margin: 0.7rem 0 1rem;
  font-size: 0.92rem;
  line-height: 1.7;
}

.electric-down-tel-group {
  display: grid;
  grid-template-columns: minmax(13rem, 0.58fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: center;
}

.electric-down-tel-group--name {
  font-weight: 600;
  line-height: 1.6;
}

.electric-down-tel-list {
  display: grid;
  gap: 0.45rem;
}
.electric-down-tel-list p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.8rem;
  align-items: baseline;
  margin: 0;
}
.electric-down-tel-list a,
.electric-down-tel-list .electric-down-tel-placeholder {
  color: #009983;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.electric-down-tel-list a::before,
.electric-down-tel-list .electric-down-tel-placeholder::before {
  content: "TEL";
  display: inline-block;
  margin-right: 0.45rem;
  color: #666;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  vertical-align: 0.12em;
}
.electric-down-tel-list span:not(.electric-down-tel-placeholder) {
  color: #555;
  font-size: 0.92rem;
}

.electric-down-tel-group--compact {
  grid-template-columns: minmax(13rem, 0.5fr) minmax(0, 1fr);
  align-items: baseline;
}
.electric-down-tel-group--compact .electric-down-tel-list a,
.electric-down-tel-group--compact .electric-down-tel-list .electric-down-tel-placeholder {
  font-size: 1.45rem;
}

.electric-down-area-table {
  margin-top: 0.7rem;
  width: 100%;
  border-collapse: collapse;
  font-size: 0.94rem;
  line-height: 1.55;
}
.electric-down-area-table th,
.electric-down-area-table td {
  padding: 0.75rem 0.9rem;
  border: 1px solid #d7d7d7;
  text-align: left;
  vertical-align: top;
}
.electric-down-area-table thead th {
  background: #f3f3f3;
  color: #000;
  font-weight: 600;
}
.electric-down-area-table thead th:nth-child(2) {
  width: 7.5rem;
  white-space: nowrap;
}
.electric-down-area-table tbody th {
  background: #fafafa;
  color: #000;
  white-space: nowrap;
}
.electric-down-area-table tbody td:nth-child(2) {
  width: 7.5rem;
  text-align: center;
  font-weight: 600;
  white-space: nowrap;
}
.electric-down-area-table td span {
  display: inline-block;
}

.table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.electric-down-breaker {
  margin: 1.2rem 0;
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.electric-down-breaker img {
  width: min(100%, 720px);
}

.electric-down-steps {
  display: grid;
  gap: 0.55rem;
  margin: 1rem 0;
}
.electric-down-steps dt {
  color: #009983;
  font-weight: 600;
}
.electric-down-steps dd {
  margin: 0 0 0.45rem;
  line-height: 1.75;
}

.electric-reference-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9rem, 12rem);
  gap: 2rem;
  align-items: center;
  padding: 1.7rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.electric-reference-block + .electric-reference-block {
  margin-top: 1.3rem;
}
.electric-reference-block h3 {
  margin: 0 0 1rem;
  color: #000;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.55;
}
.electric-reference-block h4 {
  margin: 1rem 0 0.45rem;
  color: #009983;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
}
.electric-reference-block p {
  margin: 0;
  line-height: 1.85;
}
.electric-reference-block p + p {
  margin-top: 0.85rem;
}
.electric-reference-block figure {
  margin: 0;
  text-align: center;
}
.electric-reference-block img {
  width: min(100%, 12rem);
}

.electric-reference-block--plain {
  display: block;
}

.electric-procedure-page .price-intro {
  text-align: left;
}

.electric-procedure-section + .electric-procedure-section {
  margin-top: 3rem;
}

.electric-procedure-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.electric-procedure-panel h3 {
  margin: 0 0 0.45rem;
  color: #009983;
  font-size: 1.25rem;
  font-weight: 600;
}
.electric-procedure-panel p {
  margin: 0;
}

.electric-procedure-panel-wrap {
  margin-top: 1.35rem;
  padding: 2.6rem 3rem;
  background: #eef8f7;
}

.electric-procedure-panel--primary {
  padding: 2.4rem 3rem;
  border-radius: 14px;
  background: #fff;
}

.electric-procedure-panel .button-row {
  flex: 0 0 auto;
  margin: 0;
}

.electric-procedure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.2rem;
  margin-top: 1.35rem;
}
.electric-procedure-grid a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 4.2rem;
  padding: 1rem 3rem 1rem 1.25rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #000;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
.electric-procedure-grid a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 1.1rem;
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}
.electric-procedure-grid a:hover, .electric-procedure-grid a:focus-visible {
  border-color: #bfcfcb;
  background: #f7f7f7;
  color: #000;
  transform: translateY(1px);
}

.electric-order-page .price-intro {
  text-align: left;
}
.electric-order-page .price-intro > h2 {
  padding-bottom: 0.45rem;
  border-bottom: 3px solid #009983;
  font-size: clamp(1.85rem, 3vw, 2.3rem);
  line-height: 1.35;
}

.electric-order-switch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.35rem;
}

.electric-order-switch-card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.45rem;
  border: 1px solid #d7d7d7;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}
.electric-order-switch-card h3 {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 1.16rem;
  font-weight: 600;
  line-height: 1.45;
  min-height: 3.35rem;
}
.electric-order-switch-card figure {
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
}
.electric-order-switch-card img {
  display: block;
  width: 100%;
  height: clamp(190px, 20vw, 260px);
  -o-object-fit: contain;
     object-fit: contain;
}

.electric-order-switch-card--body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.85rem;
  padding: 0;
}
.electric-order-switch-card--body > p {
  margin: 0;
  font-size: var(--lower-small-text);
  line-height: 1.8;
}
.electric-order-switch-card--body > p:first-child,
.electric-order-switch-card--body .electric-order-help-link {
  min-height: 1.8em;
}
.electric-order-switch-card--body .button-row {
  display: flex;
  margin-top: auto;
  justify-content: center;
  text-align: center;
}
.electric-order-switch-card--body .underground-login-button {
  min-width: min(17rem, 100%);
}

.electric-order-switch-card:first-child .electric-order-switch-card--body > p:first-child {
  margin-bottom: calc(1.8em + 0.85rem);
}

.electric-order-help-link a {
  display: inline-flex;
  align-items: center;
  color: #009983;
  font-size: var(--lower-small-text);
  font-weight: 600;
  text-decoration: none;
}
.electric-order-help-link a::after {
  content: ">";
  display: inline-grid;
  width: 0.9rem;
  height: 0.9rem;
  margin-left: 0.4rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.65rem;
  line-height: 1;
}
.electric-order-help-link a:hover, .electric-order-help-link a:focus-visible {
  color: #007c70;
}

.electric-order-attention {
  display: grid;
  gap: 0.7rem;
  padding: 2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.electric-order-attention p {
  margin: 0;
}
.electric-order-attention span {
  display: inline-block;
}
.electric-order-attention strong {
  color: #d06400;
  font-weight: 600;
}
.electric-order-attention .button-row {
  margin-top: 0.55rem;
  justify-content: center;
}

.electric-detail-page .payment-section > p {
  margin-top: 0.9rem;
}

.electric-detail-list {
  gap: 0.7rem;
}
.electric-detail-list a {
  display: inline-flex;
  align-items: center;
  margin-top: 0.25rem;
  color: #009983;
  font-weight: 600;
  text-decoration: none;
}
.electric-detail-list a::after {
  content: ">";
  display: inline-grid;
  width: 0.9rem;
  height: 0.9rem;
  margin-left: 0.4rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.65rem;
  line-height: 1;
}
.electric-detail-list a:hover, .electric-detail-list a:focus-visible {
  color: #007c70;
}
.electric-detail-list ul {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.55rem;
  padding-left: 1.1em;
  font-size: 0.9em;
  line-height: 1.8;
}
.electric-detail-list ul li {
  padding-left: 0;
  text-indent: -1.1em;
}
.electric-detail-list ul li::before {
  content: "※";
  position: static;
  display: inline;
  width: auto;
  height: auto;
  margin-right: 0.25em;
  border-radius: 0;
  background: none;
  color: inherit;
}

.electric-note-list {
  display: grid;
  gap: 0.55rem;
  margin-top: 0.55rem;
  padding-left: 1.1em;
  font-size: 0.9em;
  line-height: 1.8;
}
.electric-note-list p {
  margin: 0;
  text-indent: -1.1em;
}

.electric-detail-note {
  margin-top: 1.1rem;
}
.electric-detail-note .content-list {
  margin-top: 0.75rem;
}

.electric-notice-box {
  margin-top: 0;
}
.electric-notice-box p + p {
  margin-top: 0.55rem;
}
.electric-notice-box a {
  display: inline-flex;
  align-items: center;
  color: #009983;
  font-weight: 600;
  text-decoration: none;
}
.electric-notice-box a::after {
  content: ">";
  display: inline-grid;
  width: 0.9rem;
  height: 0.9rem;
  margin-left: 0.4rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.65rem;
  line-height: 1;
}

.electric-notice-box a.electric-notice-text-link {
	display: inline;
	color: #009983;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.electric-notice-box a.electric-notice-text-link::after {
	content: none;
	display: none;
}

.electric-subheading {
  margin: 1.5rem 0 0.75rem;
  color: #009983;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.55;
}

.electric-document-links {
  display: grid;
  gap: 0.35rem;
}
.electric-document-links a {
  position: relative;
  display: block;
  padding: 0.72rem 2.7rem 0.72rem 1rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.55;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.electric-document-links a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 1rem;
  display: grid;
  width: 0.95rem;
  height: 0.95rem;
  place-items: center;
  border-radius: 50%;
  background: #009983;
  color: #fff;
  font-size: 0.62rem;
  line-height: 1;
  transform: translateY(-50%);
}
.electric-document-links a:hover, .electric-document-links a:focus-visible {
  background: #f7f7f7;
  color: #000;
  transform: translateY(1px);
}

.electric-detail-flow-image {
  margin: 1.3rem auto 0;
  padding: 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
  text-align: center;
}
.electric-detail-flow-image img {
  display: block;
  width: min(100%, 980px);
  margin: 0 auto;
}

.electric-order-about-page .payment-section h2 + .electric-order-about-block {
  margin-top: 1.1rem;
}

.electric-order-about-block + .electric-order-about-block {
  margin-top: 1.6rem;
}
.electric-order-about-block h3 {
  margin: 0 0 0.85rem;
  color: #000;
  font-size: var(--lower-subheading-text);
  font-weight: 600;
  line-height: 1.45;
}
.electric-order-about-block p {
  line-height: 1.85;
}

.electric-order-provider-list {
  display: grid;
  gap: 0;
  margin-top: 1.15rem;
  border-top: 1px solid #d7d7d7;
}
.electric-order-provider-list > div {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 0;
  border-bottom: 1px solid #d7d7d7;
  background: #fff;
}
.electric-order-provider-list dt {
  color: #000;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.5;
}
.electric-order-provider-list dd {
  display: grid;
  gap: 0.38rem;
  margin: 0;
  padding: 0;
  line-height: 1.75;
}
.electric-order-provider-list p {
  margin: 0;
  font-size: var(--lower-small-text);
}
.electric-order-provider-list a {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #009983;
  font-size: var(--lower-small-text);
  font-weight: 600;
  text-decoration: none;
}
.electric-order-provider-list a::after {
  content: ">";
  display: inline-block;
  margin-left: 0.35rem;
}
.electric-order-provider-list a:hover, .electric-order-provider-list a:focus-visible {
  color: #000;
}
.electric-order-provider-list .content-note {
  padding: 0.15rem 0 0;
  background: transparent;
  color: #c65f10;
  font-size: var(--lower-small-text);
  font-weight: 500;
}

.electric-order-image-panel {
  display: grid;
  grid-template-columns: minmax(16rem, 0.48fr) minmax(0, 1fr);
  align-items: start;
  gap: 1.4rem;
  padding: 1.2rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}
.electric-order-image-panel img {
  display: block;
  width: 100%;
  height: auto;
}
.electric-order-image-panel p {
  margin: 0;
}

.electric-send-list {
  display: grid;
  gap: 1rem;
}

.electric-send-item {
  padding: 1.35rem 1.45rem;
  border-radius: 10px;
  background: #fff;
}
.electric-send-item h3 {
  margin: 0 0 0.55rem;
  color: #009983;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
}
.electric-send-item p {
  margin: 0;
}
.electric-send-item p + p {
  margin-top: 0.35rem;
}
.electric-send-item span {
  display: inline-block;
}
.electric-send-item a {
  color: #009983;
  font-weight: 600;
  text-decoration: none;
}

.electric-application-contact {
  margin-top: 1.8rem;
  padding: 1.6rem 0 0;
  border-top: 1px solid #d7d7d7;
}
.electric-application-contact h3 {
  margin: 0 0 0.9rem;
  color: #333;
  font-size: 1.05rem;
  font-weight: 600;
}
.electric-application-contact dl {
  display: grid;
  grid-template-columns: minmax(14rem, 0.75fr) minmax(0, 1.4fr);
  gap: 1.4rem;
  align-items: center;
  margin: 0;
  padding: 0.3rem 0 0;
}
.electric-application-contact dt {
  margin: 0;
  color: #009983;
  font-weight: 600;
  line-height: 1.55;
}
.electric-application-contact dt span {
  display: inline-block;
}
.electric-application-contact dd {
  margin: 0;
  padding-left: 1.4rem;
  border-left: 1px solid #d7d7d7;
  line-height: 1.75;
}
.electric-application-contact .electric-application-contact--tel {
  margin: 0 0 0.5rem;
}
.electric-application-contact .electric-application-contact--tel a {
  color: #009983;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}

.electric-formula {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr) auto minmax(12rem, 1.4fr) auto minmax(12rem, 1.35fr) auto minmax(12rem, 1.4fr);
  align-items: stretch;
  gap: 0.55rem;
  margin-top: 1.45rem;
  padding: 1rem;
  border: 1px solid #d7d7d7;
  background: #f7f7f7;
}

.electric-formula--standard {
  grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr) auto minmax(12rem, 1.4fr) auto minmax(12rem, 1.4fr);
}

.electric-formula--total,
.electric-formula--group {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 4rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid #dfe8e6;
  background: #fff;
  color: #006c5e;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
}

.electric-formula--total {
  border-color: #009983;
  background: #009983;
  color: #fff;
  font-size: 1.18rem;
}

.electric-formula--discount {
  border: 1px solid #eed1a1;
  background: #fff;
  color: #b15f00;
}

.electric-formula--group span {
  display: block;
  width: 100%;
  margin-top: 0.3rem;
  padding: 0;
  background: transparent;
  color: #333;
  font-size: 0.74rem;
  font-weight: 500;
}

.electric-formula--operator {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #009983;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1;
}

.electric-formula--minus {
  color: #c46c00;
}
.electric-formula--s-plan {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 720px;
  gap: 0.55rem;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  border: 0;
  background: transparent;
}
.electric-formula--s-plan .electric-formula--total,
.electric-formula--s-plan .electric-formula--group {
  width: 100%;
  min-height: 4.4rem;
  border: 2px solid #1ba49d;
}
.electric-formula--s-plan .electric-formula--total {
  min-height: 3.9rem;
  font-size: 1.35rem;
}
.electric-formula--s-plan .electric-formula--group > strong {
  color: #1ba49d;
  font-size: 1.2rem;
}
.electric-formula--s-plan .electric-formula--group > span {
  width: auto;
  margin-top: 0.65rem;
  font-size: 0.9rem;
  font-weight: 600;
}
.electric-formula--s-plan .electric-formula--operator {
  min-height: 1.9rem;
  color: #111;
  font-size: 2rem;
}
.electric-formula--s-plan .electric-formula--equal,
.electric-formula--s-plan .electric-formula--minus {
  transform: rotate(90deg);
}
.electric-formula--s-plan .electric-formula--discount {
  border-color: #df82c5;
}
.electric-formula--s-plan .electric-formula--discount > strong {
  color: #d66fbd;
}
.electric-formula--s-plan .electric-formula--expression {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 1rem;
  margin-top: 0.8rem;
}
.electric-formula--s-plan .electric-formula--expression span {
  width: auto;
  min-width: min(40%, 17.5rem);
  margin-top: 0;
  padding: 0.5rem 1rem;
  background: #eef7f7;
  font-size: 0.95rem;
  font-weight: 600;
}
.electric-formula--s-plan .electric-formula--expression b {
  color: #111;
  font-size: 1.35rem;
  line-height: 1;
}
.electric-formula--s-plan small {
  margin-top: 0.65rem;
  color: #111;
  font-size: 0.8rem;
  font-weight: 500;
}

.electric-final-cta {
  text-align: center;
}
.electric-final-cta .button-row {
  margin-top: 0;
}

.denki-contact-section {
  padding: 4.5rem 4%;
  background: #eef8f7;
}

.denki-contact-section--inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 3.2rem 5%;
  border-radius: 18px;
  background: #fff;
  text-align: center;
}
.denki-contact-section--inner h2 {
  margin: 0;
  color: #000;
  font-size: clamp(1.25rem, 2.3vw, 1.7rem);
  font-weight: 600;
  line-height: 1.45;
}
.denki-contact-section--inner h2 span {
  display: inline-block;
}
.denki-contact-section--inner p {
  margin-top: 1.6rem;
}

.electric-basiccharge-intro h1 {
  margin: 0 0 1.5rem;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.65rem, 3vw, 2rem);
}
.electric-basiccharge-intro img {
  display: block;
  width: 100%;
  height: auto;
}

.electric-basiccharge-period {
  margin: 1.5rem auto 0;
  text-align: center;
}
.electric-basiccharge-period img {
  width: min(100%, 900px);
  height: auto;
}

.electric-basiccharge-terms h3 {
  margin: 2rem 0 0.8rem;
  padding: 0.65rem 0.8rem;
  border-left: 4px solid #009983;
  background: #f1f7f6;
  font-size: clamp(1.05rem, 2vw, 1.2rem);
}
.electric-basiccharge-terms ol {
  margin: 0.8rem 0 1.2rem;
  padding-left: 1.7rem;
}
.electric-basiccharge-terms li + li {
  margin-top: 0.55rem;
}

.electric-yakkan-page .price-intro h1 {
  margin: 0;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.65rem, 3vw, 2rem);
}

+ .denki-top-main {
  background: #fff;
}

.denki-top-actions,
.denki-top-points,
.denki-top-guide,
.denki-top-columns {
  color: #1f2927;
}

.denki-top-actions {
  padding: 3rem 4%;
  background: #fff;
}

.denki-top-actions--inner,
.denki-top-section-inner {
  width: min(100%, 1200px);
  margin: 0 auto;
}

.denki-top-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.denki-top-action {
  display: flex;
  min-height: 176px;
  padding: 1.65rem 1.25rem;
  border: 1px solid #c9d9d5;
  border-radius: 12px;
  background: #fff;
  color: #26323a;
  text-align: center;
  text-decoration: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.denki-top-action:hover,
.denki-top-action:focus-visible {
  border-color: #8baaa3;
  background: #f8fbfa;
  color: #26323a;
  text-decoration: none;
  transform: translateY(-2px);
}

.denki-top-action span {
  margin-bottom: 0.45rem;
  font-size: 0.78rem;
}

.denki-top-action strong {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.4;
}

.denki-top-action small {
  margin-top: 0.45rem;
  font-size: 0.72rem;
}

.denki-top-action--primary {
  border-color: #009983;
  background: #009983;
  color: #fff;
}

.denki-top-action--primary strong {
  color: #fff;
}

.denki-top-points,
.denki-top-guide,
.denki-top-columns {
  padding: 4.5rem 4%;
  background: #fff;
}

.denki-top-section-inner > h2 {
  margin: 0 0 2rem;
  color: #111;
  font-size: clamp(1.35rem, 2.6vw, 1.8rem);
  line-height: 1.45;
  text-align: center;
}

.denki-top-point-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.denki-top-point-grid article {
  min-height: 390px;
  padding: 2rem 1.5rem;
  border-radius: 12px;
  background: #f1f7f5;
  text-align: center;
}

.denki-top-point-grid img {
  display: block;
  width: 105px;
  height: 105px;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.denki-top-point-grid h3 {
  margin: 1rem 0 0.7rem;
  color: #111;
}

.denki-top-point-grid p {
  margin: 0 0 1.5rem;
  color: #222;
  text-align: left;
}

.denki-top-guide {
  background: #fff;
}

.denki-top-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.denki-top-guide-grid > a {
  display: flex;
  min-height: 128px;
  padding: 1.35rem 1.5rem;
  border: 1px solid #cbdad6;
  border-radius: 8px;
  background: #fff;
  color: #26322f;
  text-decoration: none;
  flex-direction: column;
  justify-content: center;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.denki-top-guide-grid > a:hover,
.denki-top-guide-grid > a:focus-visible {
  border-color: #84aaa1;
  background: #f9fbfa;
  text-decoration: none;
}

.denki-top-guide-grid strong {
  color: #008c78;
  font-size: 1.05rem;
}

.denki-top-guide-grid span {
  margin-top: 0.55rem;
  color: #27302e;
  font-size: 0.82rem;
  line-height: 1.6;
}

.denki-top-column-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.denki-top-column-grid > a {
  overflow: hidden;
  border: 1px solid #d4d9d7;
  border-radius: 8px;
  background: #fff;
  color: #202725;
  text-decoration: none;
}

.denki-top-column-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
}

.denki-top-column-grid strong {
  display: block;
  padding: 1rem;
  font-size: 0.9rem;
  line-height: 1.65;
}

.denki-top-column-grid > a:hover strong,
.denki-top-column-grid > a:focus-visible strong {
  color: #007f6e;
  text-decoration: underline;
}

.denki-top-column-more {
  margin: 2rem 0 0;
  text-align: center;
}

.denki-top-column-more a {
  display: inline-block;
  min-width: 240px;
  padding: 0.75rem 1.5rem;
  border: 1px solid #009983;
  border-radius: 999px;
  color: #007f6e;
  font-weight: 700;
  text-decoration: none;
}

.denki-top-column-more a:hover,
.denki-top-column-more a:focus-visible {
  background: #edf6f3;
  text-decoration: none;
}

@media (max-width: 767px) {
  .denki-top-actions,
  .denki-top-points,
  .denki-top-guide,
  .denki-top-columns {
    padding: 2.5rem 5%;
  }
  .denki-top-action-grid,
  .denki-top-point-grid,
  .denki-top-guide-grid {
    grid-template-columns: 1fr;
  }
  .denki-top-action {
    min-height: 128px;
    padding: 1.25rem;
  }
  .denki-top-point-grid article {
    min-height: 0;
    padding: 1.6rem 1.25rem;
  }
  .denki-top-point-grid img {
    width: 88px;
    height: 88px;
  }
  .denki-top-column-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .denki-top-column-grid strong {
    padding: 0.8rem;
    font-size: 0.78rem;
  }
}
@media (max-width: 420px) {
  .denki-top-column-grid {
    grid-template-columns: 1fr;
  }
}
.denki-top-point-grid h3 {
  margin-top: 1rem;
}

.denki-top-points .denki-top-section-inner > h2 {
  margin-bottom: 2.4rem;
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 800;
}

.denki-top-actions .denki-top-action--primary:hover,
.denki-top-actions .denki-top-action--primary:focus-visible {
  border-color: #33756a;
  background: #33756a;
  color: #fff;
  text-decoration: none;
}
.denki-top-actions .denki-top-action--primary:hover span,
.denki-top-actions .denki-top-action--primary:hover strong,
.denki-top-actions .denki-top-action--primary:hover small,
.denki-top-actions .denki-top-action--primary:focus-visible span,
.denki-top-actions .denki-top-action--primary:focus-visible strong,
.denki-top-actions .denki-top-action--primary:focus-visible small {
  color: inherit;
}

.denki-top-points .denki-top-point-grid article {
  display: flex;
  flex-direction: column;
  border: 1px solid #cfcfcf;
  background: #fff;
}

.denki-top-points .denki-top-point-grid h3 {
  font-size: clamp(1.3rem, 2vw, 1.45rem);
  font-weight: 800;
}

.denki-top-points .denki-top-point-grid p {
  font-size: 0.92rem;
  line-height: 1.75;
}

.denki-top-points .denki-top-point-grid a {
  align-self: center;
  margin-top: auto;
  padding: 0.55rem 1.35rem;
  border: 1px solid #8ebeb2;
  border-radius: 999px;
  background: #fff;
  color: #307c6b;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.denki-top-points .denki-top-point-grid a:hover, .denki-top-points .denki-top-point-grid a:focus-visible {
  border-color: #648f85;
  background: #edf5f2;
  color: #285f54;
  text-decoration: none;
}

.electric-yakkan-page .price-section > h2 span {
  display: inline-block;
}

.support-top-main {
  background: #fff;
}

.support-top-page {
  padding-bottom: 5rem;
}

.support-life-banner-section {
  padding: 4rem 4%;
  background: #ececec;
}

.support-life-banner {
  display: block;
  overflow: hidden;
  width: min(100%, 1100px);
  margin: 0 auto;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
.support-life-banner picture, .support-life-banner img {
  display: block;
  width: 100%;
  height: auto;
}
.support-life-banner:hover, .support-life-banner:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-4px) scale(1.005);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
}

.support-equipment-section {
  width: min(92%, 1100px);
  margin: 4.5rem auto 0;
}
.support-equipment-section h2 {
  margin-bottom: 1.8rem;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  text-align: center;
}

.support-equipment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.support-equipment-grid a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 105px;
  padding: 1.35rem 3rem 1.35rem 1.4rem;
  border: 1px solid #d7d7d7;
  border-radius: 8px;
  background: #fff;
  color: #282828;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
}
.support-equipment-grid a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  color: #777;
  font-size: 1.3rem;
  transform: translateY(-52%);
}
.support-equipment-grid a:hover, .support-equipment-grid a:focus-visible {
  border-color: #a8a8a8;
  background: #f5f5f5;
  color: #222;
  text-decoration: none;
}

@media (max-width: 760px) {
  .support-life-banner-section {
    padding: 2rem 4%;
  }
  .support-life-banner {
    border-radius: 8px;
  }
  .support-equipment-section {
    margin-top: 3rem;
  }
  .support-equipment-grid {
    grid-template-columns: 1fr;
  }
  .support-equipment-grid a {
    min-height: 72px;
  }
}
.electric-document-list {
  display: grid;
  gap: 0.65rem;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
}
.electric-document-list a {
  position: relative;
  display: block;
  padding: 0.9rem 1rem 0.9rem 3.5rem;
  border: 1px solid #d6d6d6;
  background: #fff;
  color: #222;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.55;
  text-decoration: none;
}
.electric-document-list a::before {
  content: "PDF";
  position: absolute;
  top: 50%;
  left: 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 2.1rem;
  border-radius: 2px;
  background: #a95c56;
  clip-path: polygon(0 0, 70% 0, 100% 25%, 100% 100%, 0 100%);
  color: #fff;
  font-size: 0.6rem;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}
.electric-document-list a::after {
  content: none;
}
.electric-document-list a:hover, .electric-document-list a:focus-visible {
  border-color: #999;
  background: #f7f7f7;
  color: #222;
  text-decoration: none;
}

@media (max-width: 900px) {
  .lower-main {
    --lower-text: 1rem;
    --lower-action-text: 0.95rem;
    --lower-small-text: 0.84rem;
    --lower-page-heading-text: 1.65rem;
    --lower-heading-text: 1.45rem;
    --lower-section-heading-text: 1.25rem;
    --lower-subheading-text: 1.08rem;
  }
  .hidamari-benefit-grid,
  .hidamari-compare-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .procedure-info-grid,
  .procedure-application-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .electric-formula,
  .electric-formula--standard {
    grid-template-columns: minmax(0, 1fr);
  }
  .electric-formula--operator {
    min-height: 1.4rem;
    transform: rotate(90deg);
  }
  .electric-formula--s-plan .electric-formula--operator {
    transform: none;
  }
  .electric-formula--s-plan .electric-formula--equal,
  .electric-formula--s-plan .electric-formula--minus {
    transform: rotate(90deg);
  }
}
@media (max-width: 600px) {
  .lower-main {
    --lower-text: 0.96rem;
    --lower-action-text: 0.9rem;
    --lower-small-text: 0.8rem;
    --lower-page-heading-text: 1.38rem;
    --lower-heading-text: 1.12rem;
    --lower-section-heading-text: 1.06rem;
    --lower-subheading-text: 1rem;
  }
  .hidamari-table-block h3 {
    font-size: 1rem;
  }
  .hidamari-table-block p {
    font-size: var(--lower-small-text);
  }
  .hidamari-rate-table {
    min-width: 860px;
  }
  .hidamari-rate-table thead,
  .hidamari-rate-table tbody {
    display: table-row-group;
  }
  .hidamari-rate-table tr {
    display: table-row;
    border: 0;
    background: transparent;
  }
  .hidamari-rate-table tr + tr {
    margin-top: 0;
  }
  .hidamari-rate-table th,
  .hidamari-rate-table td {
    display: table-cell;
    width: auto;
    border: 1px solid #d7d7d7;
  }
  .hidamari-rate-table td:empty {
    display: table-cell;
  }
  .hidamari-benefit-grid,
  .hidamari-compare-grid {
    gap: 0.75rem;
  }
  .hidamari-benefit-grid > div,
  .hidamari-compare-grid > div {
    padding: 0.9rem;
  }
  .hidamari-compare-grid li {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.15rem;
  }
  .hidamari-compare-grid strong {
    white-space: normal;
  }
  .gas-hero--moving .gas-hero--inner {
    min-height: 7.2rem;
  }
  .procedure-step-list > li {
    padding: 1rem;
  }
  .procedure-info-grid,
  .procedure-application-grid {
    gap: 0.75rem;
  }
  .electric-formula {
    gap: 0.55rem;
    padding: 0.85rem;
  }
  .electric-formula--total,
  .electric-formula--group {
    min-height: 3.7rem;
    padding: 0.7rem;
  }
  .electric-formula--group span {
    font-size: 0.76rem;
  }
  .electric-formula--s-plan {
    padding: 0;
  }
  .electric-formula--s-plan .electric-formula--expression {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.5rem;
  }
  .electric-formula--s-plan .electric-formula--expression span {
    flex: none;
    width: 100%;
    min-width: 0;
    font-size: 0.78rem;
  }
  .electric-formula--s-plan .electric-formula--group > strong {
    font-size: 1rem;
  }
  .electric-plan-accordion summary {
    min-height: 3.4rem;
    padding: 0.82rem 3.25rem 0.82rem 1rem;
  }
  .electric-plan-accordion summary::after {
    right: 1rem;
    width: 1.45rem;
    height: 1.45rem;
  }
  .electric-faq-accordion summary {
    padding-left: 3rem;
  }
  .electric-faq-accordion summary::before {
    left: 1rem;
  }
  .electric-contact-lead,
  .electric-contact-links {
    align-items: stretch;
    flex-direction: column;
  }
  .electric-contact-lead {
    padding: 1.5rem;
  }
  .electric-contact-lead > div {
    padding: 1.5rem;
    border-radius: 12px 12px 0 0;
  }
  .electric-contact-links {
    padding: 0 1.5rem 1.5rem;
    border-radius: 0 0 12px 12px;
  }
  .electric-contact-links a {
    width: 100%;
  }
  .electric-contact-office-grid,
  .electric-contact-form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .electric-contact-form-section {
    padding: 1.5rem;
  }
  .electric-contact-form-panel {
    padding: 1.5rem;
    border-radius: 12px;
  }
  .electric-contact-form-grid {
    gap: 0.75rem;
    margin-top: 1rem;
  }
  .electric-contact-form-grid a {
    min-height: auto !important;
    padding: 1rem 3rem 1rem 1rem;
  }
  .electric-contact-form-title {
    font-size: 1rem;
    line-height: 1.45;
  }
  .electric-contact-form-text {
    font-size: 0.82rem;
    line-height: 1.45;
  }
  .electric-contact-pdf-link {
    font-size: 0.84rem;
    text-align: left;
  }
  .electric-down-contact {
    gap: 1rem;
    padding: 1.5rem;
  }
  .electric-down-contact--main,
  .electric-down-contact--sub {
    padding: 1.4rem;
    border-radius: 12px;
  }
  .electric-down-tel-group,
  .electric-down-tel-group--compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }
  .electric-down-tel-list a,
  .electric-down-tel-list .electric-down-tel-placeholder {
    font-size: 1.55rem;
  }
  .electric-down-tel-group--compact .electric-down-tel-list a,
  .electric-down-tel-group--compact .electric-down-tel-list .electric-down-tel-placeholder {
    font-size: 1.28rem;
  }
  .electric-down-area-table {
    min-width: 620px;
  }
  .electric-down-breaker {
    padding: 0.7rem;
  }
  .electric-reference-block {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1.2rem;
  }
  .electric-reference-block h3 {
    font-size: 1.05rem;
  }
  .electric-procedure-panel {
    align-items: stretch;
    flex-direction: column;
    gap: 1.25rem;
  }
  .electric-procedure-panel-wrap {
    padding: 1.5rem;
  }
  .electric-procedure-panel--primary {
    padding: 1.5rem;
    border-radius: 12px;
  }
  .electric-procedure-panel h3 {
    font-size: 1.08rem;
  }
  .electric-procedure-panel .button-row {
    justify-content: stretch;
  }
  .electric-procedure-panel .button-row,
  .electric-procedure-panel .underground-login-button {
    width: 100%;
  }
  .electric-procedure-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
  }
  .electric-procedure-grid a {
    min-height: auto;
    padding: 1rem 3rem 1rem 1rem;
  }
  .electric-order-switch-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  .electric-order-switch-card h3 {
    min-height: 0;
    font-size: 1.05rem;
  }
  .electric-order-switch-card {
    padding: 1rem;
  }
  .electric-order-switch-card img {
    height: auto;
    max-height: 15rem;
  }
  .electric-order-switch-card--body > p:first-child,
  .electric-order-switch-card--body .electric-order-help-link {
    min-height: 0;
  }
  .electric-order-switch-card:first-child .electric-order-switch-card--body > p:first-child {
    margin-bottom: 0;
  }
  .electric-order-switch-card--body .button-row,
  .electric-order-switch-card--body .underground-login-button {
    width: 100%;
  }
  .electric-order-attention {
    padding: 1.35rem;
  }
  .electric-order-attention .button-row,
  .electric-order-attention .underground-login-button {
    width: 100%;
  }
  .electric-detail-flow-image {
    padding: 0.8rem;
  }
  .electric-subheading {
    margin-top: 1.15rem;
    font-size: 1rem;
  }
  .electric-document-links a {
    padding: 0.85rem 2.7rem 0.85rem 0.9rem;
  }
  .electric-order-provider-list > div {
    gap: 0.45rem;
    padding: 0.8rem 0;
  }
  .electric-order-image-panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
  }
  .electric-send-item {
    padding: 1.1rem;
  }
  .electric-application-contact {
    margin-top: 1.3rem;
    padding-top: 1.2rem;
  }
  .electric-application-contact dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.6rem;
    padding: 0;
  }
  .electric-application-contact dd {
    padding-left: 0;
    border-left: 0;
  }
  .electric-application-contact .electric-application-contact--tel a {
    font-size: 1.55rem;
  }
  .electric-contact-office {
    padding: 1rem 1.05rem;
  }
  .electric-contact-office p {
    font-size: 1.75rem !important;
  }
  .electric-notice-link {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
  }
  .denki-contact-section {
    padding: 2.8rem 4%;
  }
  .denki-contact-section--inner {
    padding: 2rem 5%;
    border-radius: 12px;
  }
}
@media (max-width: 600px) {
  .question-page {
    padding-top: 1.5rem;
  }
  .question-search-section {
    padding: 1rem;
  }
  .question-service-guide {
    display: block;
    padding: 0.85rem;
  }
  .question-service-guide > h2 {
    margin-bottom: 0.65rem;
    white-space: normal;
  }
  .question-service-guide--list {
    grid-template-columns: minmax(0, 1fr);
  }
  .question-service-guide--item {
    min-height: 3.4rem;
  }
  .question-search {
    grid-template-columns: minmax(0, 1fr) 4.8rem;
  }
  .question-search input,
  .question-search button {
    min-height: 2.8rem;
  }
  .question-search input {
    padding-right: 0.55rem;
    padding-left: 0.55rem;
  }
  .question-category-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.75rem;
  }
  .question-category-nav a:first-child {
    grid-column: 1/-1;
  }
  .question-list .qa-accordion {
    padding-right: 0.85rem;
    padding-left: 0.85rem;
  }
  .question-list .qa-accordion summary {
    margin-right: -0.85rem;
    margin-left: -0.85rem;
    padding-left: 3rem;
    font-size: 0.9rem;
  }
  .question-list .qa-answer {
    font-size: 0.9rem;
  }
}
.table-scroll--spaced {
  margin-top: 1.4rem;
}

.info-table--compact {
  font-size: 0.92rem;
  line-height: 1.65;
}

.info-table--compact th,
.info-table--compact td {
  padding: 0.72rem 0.9rem;
}

.info-table--accent thead th {
  width: auto;
  background: #eaf6f3;
  font-weight: 700;
  vertical-align: middle;
}

.electric-fuelcost-page .price-intro h1 {
  margin: 0;
  padding-bottom: 0.65rem;
  border-bottom: 2px solid #009983;
  font-size: clamp(1.65rem, 3vw, 2rem);
}

.fuelcost-reference {
  margin-top: 1.4rem;
  padding: 0.9rem 1rem;
  background: #f5f5f5;
}

.fuelcost-reference a {
  color: #007f6f;
  font-weight: 600;
}

.electric-fuelcost-table {
  min-width: 680px;
}

.electric-fuelcost-table th:first-child,
.electric-fuelcost-table td:first-child {
  width: 68%;
}

.fuelcost-unit-section .button-row {
  margin-top: 1.2rem;
  text-align: center;
}

.local-gas-page {
  padding-bottom: clamp(60px, 8vw, 110px);
}

.local-gas-header {
  margin-bottom: clamp(24px, 4vw, 42px);
}
.local-gas-header h1 {
  margin: 0;
  padding-bottom: 14px;
  border-bottom: 2px solid #00a088;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.45;
}

.local-gas-visual {
  position: relative;
  overflow: hidden;
}
.local-gas-visual picture,
.local-gas-visual img {
  display: block;
  width: 100%;
}
.local-gas-visual p {
  position: absolute;
  inset: auto 0 8%;
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, 2.25vw, 1.75rem);
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.7);
}
.local-gas-visual p span {
  display: block;
}

.local-gas-copy {
  padding: clamp(34px, 6vw, 64px) clamp(18px, 4vw, 48px);
  text-align: center;
}
.local-gas-copy p {
  margin: 0 0 0.7em;
  font-size: clamp(1rem, 1.65vw, 1.2rem);
  line-height: 2;
}
.local-gas-copy strong {
  color: #008f79;
  font-size: 1.35em;
}
.local-gas-copy .local-gas-note {
  margin-top: 2rem;
  font-size: 0.9rem;
}

.local-gas-reference {
  padding: clamp(24px, 4vw, 42px);
  background: #f4f5f3;
  text-align: center;
}
.local-gas-reference p {
  margin: 0 auto 24px;
  max-width: 850px;
  line-height: 1.9;
}
.local-gas-reference a {
  display: inline-flex;
  justify-content: center;
  gap: 0.35em;
  min-width: min(100%, 420px);
  padding: 15px 28px;
  border: 1px solid #008f79;
  border-radius: 999px;
  background: #fff;
  color: #007d6b;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.local-gas-reference a:hover, .local-gas-reference a:focus-visible {
  background: #007d6b;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 767px) {
  .local-gas-header h1 {
    font-size: 1.55rem;
  }
  .local-gas-visual p {
    inset: auto 22px 7%;
    font-size: 1.08rem;
  }
  .local-gas-copy {
    text-align: left;
  }
  .local-gas-copy p {
    margin-bottom: 1em;
    line-height: 1.85;
  }
  .local-gas-reference a {
    flex-direction: column;
    gap: 0;
  }
}
/* 電気トップ：最新コラムカルーセル */
.denki-top-column-carousel {
  position: relative;
  padding: 0 46px 34px;
}

.denki-top-column-viewport {
  overflow: hidden;
}

.denki-top-column-track {
  display: flex;
  gap: 16px;
  transition: transform 0.45s ease;
  will-change: transform;
}

.denki-top-column-card {
  flex: 0 0 calc((100% - 32px) / 3);
  min-width: 0;
}
.denki-top-column-card > a {
  display: flex;
  height: 100%;
  overflow: hidden;
  border: 1px solid #d4d9d7;
  border-radius: 8px;
  background: #fff;
  color: #202725;
  text-decoration: none;
  flex-direction: column;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.denki-top-column-card > a:hover, .denki-top-column-card > a:focus-visible {
  border-color: #84aaa1;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  text-decoration: none;
  transform: translateY(-2px);
}
.denki-top-column-card > a:hover strong, .denki-top-column-card > a:focus-visible strong {
  color: #007f6e;
}
.denki-top-column-card figure {
  margin: 0;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #f0f3f2;
}
.denki-top-column-card img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.denki-top-column-card strong {
  display: block;
  padding: 16px;
  font-size: 0.9rem;
  line-height: 1.65;
}

.denki-top-column-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  color: #82938f;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  align-items: center;
  justify-content: center;
}

.denki-top-column-prev,
.denki-top-column-next {
  position: absolute;
  z-index: 2;
  top: calc(50% - 34px);
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #8bb8b0;
  border-radius: 50%;
  background: #fff;
  color: #007f6e;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}
.denki-top-column-prev:hover, .denki-top-column-prev:focus-visible,
.denki-top-column-next:hover,
.denki-top-column-next:focus-visible {
  border-color: #008c78;
  background: #008c78;
  color: #fff;
}

.denki-top-column-prev {
  left: 0;
}

.denki-top-column-next {
  right: 0;
}

.denki-top-column-dots {
  position: absolute;
  right: 46px;
  bottom: 0;
  left: 46px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.denki-top-column-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #c8d1cf;
  cursor: pointer;
}
.denki-top-column-dots button.is-active {
  width: 22px;
  border-radius: 999px;
  background: #008c78;
}

.denki-top-column-carousel.is-static {
  padding-right: 0;
  padding-left: 0;
}
.denki-top-column-carousel.is-static .denki-top-column-prev,
.denki-top-column-carousel.is-static .denki-top-column-next,
.denki-top-column-carousel.is-static .denki-top-column-dots {
  display: none;
}

@media (max-width: 900px) {
  .denki-top-column-card {
    flex-basis: calc((100% - 16px) / 2);
  }
}
@media (max-width: 600px) {
  .denki-top-column-carousel {
    padding-right: 34px;
    padding-left: 34px;
  }
  .denki-top-column-card {
    flex-basis: 100%;
  }
  .denki-top-column-prev,
  .denki-top-column-next {
    width: 30px;
    height: 30px;
    font-size: 1.45rem;
  }
  .denki-top-column-dots {
    right: 34px;
    left: 34px;
  }
}

/* お手続きトップ：画像を外したカードの文字領域と文節改行 */
.procedure-index-page .gas-index-card--head {
  min-height: 0;
  padding-right: 1.5rem;
}
.procedure-index-page .gas-index-card--head > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-height: 0;
}
.procedure-index-page .gas-index-card--head h3 {
  width: 100%;
  font-size: clamp(1.45rem, 2.6vw, 2.05rem);
  font-weight: 800;
  line-height: 1.15;
}
.procedure-index-page .gas-index-card--head .gas-index-card--text {
  width: 100%;
  margin-top: 0.75rem;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.5;
}
.procedure-index-page .gas-index-card--head h3 .gas-index-card--phrase,
.procedure-index-page .gas-index-card--head .gas-index-card--text .gas-index-card--phrase {
  display: inline-block;
  width: auto;
  margin-top: 0;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit;
}
.procedure-index-page .gas-index-card--city .gas-index-card--head:hover h3,
.procedure-index-page .gas-index-card--city .gas-index-card--head:hover h3 span,
.procedure-index-page .gas-index-card--city .gas-index-card--head:focus-visible h3,
.procedure-index-page .gas-index-card--city .gas-index-card--head:focus-visible h3 span {
  color: #009983;
}
.procedure-index-page .gas-index-card--lp .gas-index-card--head:hover h3,
.procedure-index-page .gas-index-card--lp .gas-index-card--head:hover h3 span,
.procedure-index-page .gas-index-card--lp .gas-index-card--head:focus-visible h3,
.procedure-index-page .gas-index-card--lp .gas-index-card--head:focus-visible h3 span {
  color: #0075bb;
}

/* 大多喜ガスの保安活動 */
.safety-activities-section h3 {
  margin-bottom: 1.25rem;
}

.safety-activities-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.safety-activities-content {
  min-width: 0;
}
.safety-activities-content h4 {
  margin: 0 0 0.8rem;
  padding: 0.7rem 1rem;
  border-left: 0.3rem solid #009983;
  background: #f1f7f5;
  color: #007d69;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.55;
}
.safety-activities-content h4:not(:first-child) {
  margin-top: 1.6rem;
}
.safety-activities-content h4 span {
  display: inline-block;
  margin-top: 0.25rem;
  color: #333;
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.65;
}
.safety-activities-content h5 {
  margin: 1.3rem 0 0.45rem;
  padding: 0.55rem 0.75rem;
  border-left: 0.2rem solid #79b8ad;
  background: #f6f7f7;
  color: #173f38;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
}
.safety-activities-content p {
  margin: 0;
  font-size: var(--lower-text);
  line-height: 1.9;
}

.safety-activities-images {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
  width: 100%;
}

.safety-activities-images figure {
  flex: 0 1 auto;
}

.safety-activities-images figure,
.safety-activities-brochure,
.safety-activities-layout--education figure {
  margin: 0;
  padding: 0.65rem;
  border: 1px solid #d7d7d7;
  background: #fff;
}

.safety-activities-images img,
.safety-activities-brochure img,
.safety-activities-layout--education img {
  display: block;
  width: 100%;
  height: auto;
}

.safety-activities-images img {
  height: clamp(14rem, 23vw, 20rem);
  width: auto;
  max-width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.safety-activities-layout--brochure {
  grid-template-columns: minmax(0, 1fr);
}

.safety-activities-brochure {
  width: 100%;
}

.safety-activities-brochure-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 22%);
  gap: 1.5rem;
  align-items: start;
  margin-top: 1.3rem;
}
.safety-activities-brochure-row h5 {
  margin-top: 0;
}

.safety-activities-layout--education {
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 38%);
  align-items: center;
}

@media (max-width: 900px) {
  .safety-activities-layout,
  .safety-activities-layout--brochure,
  .safety-activities-layout--education {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }
  .safety-activities-images {
    justify-content: center;
  }
  .safety-activities-layout--education figure {
    width: min(100%, 34rem);
    margin-inline: auto;
  }
}

@media (max-width: 600px) {
  .safety-activities-section h3 {
    margin-bottom: 1rem;
  }
  .safety-activities-content h4 {
    padding: 0.6rem 0.75rem;
    font-size: 1.02rem;
  }
  .safety-activities-content h4:not(:first-child) {
    margin-top: 1.3rem;
  }
  .safety-activities-content h5 {
    margin-top: 1.1rem;
    padding: 0.5rem 0.65rem;
    font-size: 0.96rem;
  }
  .safety-activities-content p {
    line-height: 1.8;
  }
  .safety-activities-images {
    flex-direction: column;
    align-items: center;
  }
  .safety-activities-brochure-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
  }
  .safety-activities-brochure {
    width: min(100%, 18rem);
    margin-inline: auto;
  }
}
/*# sourceMappingURL=lower.css.map */
.start-electric-phone-note {
  color: #d2212b;
}

/* 警報器：スマホの申込ボタンと案内リスト */
@media (max-width: 767px) {
  .alarm-main .alarm-page {
    width: calc(100% - 28px);
    padding: 2rem 0 3rem;
  }
}
.alarm-page .alarm-emergency-grid .alarm-no-fire > ul {
  list-style: disc;
  padding-left: 2rem;
}
@media (max-width: 767px) {
  .alarm-page .alarm-main-visual .alarm-actions {
    position: static;
    width: 100%;
    margin-top: 1rem;
    padding: 0;
    transform: none;
    gap: 0.65rem;
  }
  .alarm-page .alarm-button,
  .alarm-page .alarm-main-visual .alarm-button {
    min-height: 2.8rem;
    padding: 0.65rem 0.6rem;
    font-size: clamp(0.75rem, 3.5vw, 0.95rem);
    line-height: 1.5;
  }
  .alarm-page .alarm-apply-section .alarm-button {
    gap: 0.4rem;
  }
  .alarm-page .alarm-apply-section .alarm-button img {
    flex: 0 0 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
  }
  .alarm-page .alarm-necessity .alarm-details-list details summary {
    padding: 0.9rem 2.5rem 0.9rem 0.9rem;
    font-size: 0.9rem;
    line-height: 1.65;
    text-wrap: pretty;
  }
  .alarm-page .alarm-necessity .alarm-details-list details summary::after {
    right: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
  }
}


/* LPガスの安全案内：ガス種とマイコンメーター */
.lpgas-safe-page .lpgas-safe-gas-types,
.lpgas-emergency-content .lpgas-safe-meter-list,
.lpgas-safe-page .lpgas-safe-meter-list {
  padding: 1.4rem 1.65rem;
  background: #eff9f7;
  color: #333;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.8;
  gap: 0.55rem;
}
.lpgas-emergency-content .lpgas-safe-meter-heading,
.lpgas-safe-page .lpgas-safe-meter-heading {
  padding-left: 0.9rem;
  border-left: 5px solid #009983;
  font-weight: 700;
}
.lpgas-safe-page .lpgas-safe-gas-types li::before {
  background: #333;
}
.lpgas-emergency-content .lpgas-safe-meter-list li,
.lpgas-safe-page .lpgas-safe-meter-list li {
  padding-left: 1.35rem;
}
.lpgas-emergency-content .lpgas-safe-meter-list li::before,
.lpgas-safe-page .lpgas-safe-meter-list li::before {
  top: 0.9em;
  width: 0.42rem;
  height: 0.42rem;
  background: #333;
}
.lpgas-emergency-content .lpgas-safe-meter-list li::after,
.lpgas-safe-page .lpgas-safe-meter-list li::after {
  content: none;
}
@media (max-width: 680px) {
  .lpgas-safe-page .lpgas-safe-gas-types,
  .lpgas-emergency-content .lpgas-safe-meter-list,
  .lpgas-safe-page .lpgas-safe-meter-list {
    padding: 1rem;
    font-size: 1rem;
  }
}
