﻿/* 共有部品の配置・余白のみ。色・書体・装飾は共有CSSを使用。 */
.gn-page-head{padding:12px 0 8px}
.gn-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px;margin-bottom:28px}
.gn-summary>*{min-width:0}
.gn-region{grid-column:1/-1}
.gn-region .gn-h3{margin-bottom:8px}
.gn-region .gn-area-list{gap:4px 28px}
.gn-region .gn-area{border-bottom:0;margin:0;padding:4px 0}
.gn-facts{margin:0;grid-template-columns:104px minmax(0,1fr)}
.gn-contact{scroll-margin-top:20px;align-self:center}
.gn-contact .gn-h3{margin-bottom:0}
.gn-contact .gn-btn{margin-top:12px;margin-bottom:0}
.gn-contact .gn-note{margin:8px 0 0}
.gn-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.gn-pair>*{min-width:0}
.gn-section{padding:24px 0 28px}
.gn-section .gn-h2{margin-bottom:16px}
.gn-pair .gn-note{margin:0 0 12px}
.gn-source{padding:8px 0 24px;max-width:60em}
.gn-business{padding:12px 0 0;max-width:60em}
.gn-business p{font-size:14px}
.gn-business .gn-h3{margin-bottom:8px}
@media(max-width:600px){
 .gn-summary,.gn-pair{display:block}
 .gn-summary{margin-bottom:24px}
 .gn-region .gn-area-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px}
 .gn-facts{grid-template-columns:90px minmax(0,1fr);margin:16px 0}
 .gn-facts dt,.gn-facts dd{padding:6px 0}
 .gn-contact .gn-h3{margin:0}
 .gn-section{padding:18px 0 22px}
 .gn-pair>section+section{margin-top:20px}
 .gn-source{padding:4px 0 20px}
 .top-utility summary{position:relative}
 .top-utility summary::after{content:"";position:absolute;right:0;top:0;width:44px;height:44px}
}
/* 最終調整：会社情報を一続きに読み、共通説明は小さくまとめる。 */
.gn-region .gn-note{margin:0 0 4px}
.gn-region .gn-area-list{gap:0 20px}
.gn-region .gn-area{padding:0}
.gn-summary{gap:16px 40px;margin-bottom:24px}
.gn-postcode{display:block}
.gn-address,.gn-word{white-space:nowrap}
.gn-contact .gn-note{margin:0}
.gn-contact .gn-btn+.gn-note{margin-top:8px}
.gn-pair .gn-note{margin-bottom:8px}
.gn-source{padding:0 0 12px}
.gn-source .gn-note,.gn-near .gn-note,.gn-business .gn-note{margin:0}
.gn-near{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;padding:8px 0 16px}
.gn-business{padding:0;max-width:60em}
.gn-business .gn-eyebrow{margin:0}
.gn-business p{margin:8px 0 0}
@media(max-width:600px){
 .gn-region .gn-area-list{display:flex;gap:0 20px}
 .gn-facts{grid-template-columns:76px minmax(0,1fr);margin:12px 0}
 .gn-table,.gn-table tbody,.gn-table tr,.gn-table th,.gn-table td{display:block;width:auto}
 .gn-table th{padding:8px 10px}
 .gn-table td{padding:8px 10px;border-top:0}
 .gn-table tr:first-child>td{border-top:0}
 .gn-section{padding:18px 0}
 .gn-pair>section+section{margin-top:16px}
 .gn-source{padding:0 0 8px}
 .gn-near{display:block;padding:8px 0 12px}
}
