@charset "UTF-8";

/*@import "../../css/ZZZ.css";*/

/*/==========================================================
/ 
/ ####
/
==========================================================/*/

/*----------------------------------

 令和8年熊本地震

----------------------------------*/

.earthquake-overview-table th{
	width:32%;
	text-align:left;
}

.earthquake-overview-table small{
	font-size:var(--txt-s);
	font-weight:400;
}

.seismic-intensity-table{
	max-width:640px;
}

.seismic-intensity-table th,
.seismic-intensity-table td{
	width:50%;
}

.data-source{
	margin-top:0;
	font-size:var(--txt-s);
	text-align:right;
}

.disaster-figure{
	margin:0 auto var(--mgn-l);
	text-align:center;
}

.content-figure-narrow{
	width:100%;
	max-width:700px;
}

.bridge-location-figure{
	margin-bottom:1em;
}

.bridge-location-map{
	position:relative;
}

.bridge-location-map > img{
	display:block;
	width:100%;
	height:auto;
}

.bridge-map-overlay-link{
	display:inline-flex;
	align-items:center;
	min-height:28px;
	padding:0.25em 1.75em 0.25em 0.7em;
	border:2px solid #fff;
	border-radius:20px;
	box-shadow:0 1px 5px rgba(0, 0, 0, 0.35);
	background:#008bc5;
	position:absolute;
	z-index:2;
	transform:translate(-100%, -50%);
	font-size:clamp(10px, 1vw, 13px);
	font-weight:700;
	line-height:1;
	white-space:nowrap;
	color:#fff;
	text-decoration:none;
	transition:background-color 0.2s ease, box-shadow 0.2s ease;
}

.bridge-map-overlay-link::after{
	content:"›";
	position:absolute;
	top:50%;
	right:0.55em;
	transform:translateY(-52%);
	font-size:1.3em;
	line-height:1;
}

.bridge-map-overlay-link:hover,
.bridge-map-overlay-link:focus-visible{
	box-shadow:0 1px 7px rgba(0, 0, 0, 0.5);
	border-color:#008bc5;
	background:#fff;
	color:#008bc5;
}

.bridge-map-overlay-link.is-kawada{
	left:21.5%;
	top:34.6%;
}

.bridge-map-overlay-link.is-myoken{
	left:9%;
	top:40.15%;
}

.bridge-map-overlay-link.is-katanogawa{
	left:12.8%;
	top:53.75%;
}

.bridge-detail-links{
	width:100%;
	max-width:700px;
	margin:0 auto var(--mgn-l);
}

.bridge-detail-links ul{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:12px;
	margin:0;
	padding:0;
	list-style:none;
}

.bridge-detail-links a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:68px;
	padding:0.65em 2.5em 0.65em 1em;
	border:2px solid #008bc5;
	border-radius:5px;
	background:#fff;
	position:relative;
	font-weight:700;
	line-height:140%;
	color:#006e9e;
	text-decoration:none;
	transition:background-color 0.2s ease, color 0.2s ease;
}

.bridge-detail-links a::after{
	content:"";
	display:block;
	width:24px;
	height:24px;
	border-radius:50%;
	background-color:#008bc5;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 16'%3E%3Cpath d='M2 2l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:center;
	background-size:8px 12px;
	position:absolute;
	top:50%;
	right:10px;
	transform:translateY(-50%);
}

.bridge-detail-links a:hover,
.bridge-detail-links a:focus-visible{
	background:#e5f5fb;
	color:#005a82;
}

.bridge-detail-links small{
	display:block;
	margin-top:0.2em;
	font-size:0.75em;
	font-weight:400;
}

.disaster-figure figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
	text-align:left;
}

.recovery-timeline-scroll,
.report-panel-scroll{
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
}

.recovery-timeline-scroll img,
.report-panel-scroll img{
	display:block;
	width:100%;
	height:auto;
}

.report-panel-scroll picture{
	display:block;
}

.report-panel{
	margin-bottom:2.5em;
}

.command-center-layout{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:1.75em 3%;
	margin-bottom:var(--mgn-l);
}

.command-center-layout figure{
	margin:0;
	text-align:center;
}

.command-center-layout img{
	display:block;
	width:100%;
	height:auto;
}

.command-center-layout figcaption{
	margin-top:0.5em;
	font-size:var(--txt-m);
	line-height:155%;
}

.command-center-meeting-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:0.35em 3.5%;
}

.recovery-contractors{
	margin-top:-0.5em;
	padding:1em 1.25em 1.25em;
	border:2px solid #3aaa35;
}

.recovery-contractors-title{
	margin:0 0 0.75em;
	color:#4b6932;
	font-size:clamp(1.25rem, 2.5vw, 1.75rem);
	line-height:130%;
	text-align:center;
}

.recovery-contractors-title strong{
	font-size:1.15em;
}

.recovery-contractors-title small{
	margin-left:0.75em;
	color:#222;
	font-size:0.65em;
	font-weight:400;
}

.recovery-contractors-grid{
	display:grid;
	grid-template-columns:1.15fr 1.25fr 0.4fr;
	gap:1.5em;
}

.recovery-contractor-group{
	margin:0;
}

.recovery-contractor-group h5{
	position:relative;
	margin:0 0 0.35em;
	padding-left:1em;
	color:#3aaa35;
	font-size:1.15em;
	line-height:140%;
}

.recovery-contractor-group h5::before{
	position:absolute;
	top:0.35em;
	left:0;
	width:0.7em;
	height:0.7em;
	border-radius:50%;
	background:#3aaa35;
	content:"";
}

.recovery-contractor-group ul,
.recovery-contractor-list{
	margin:0;
	padding:0;
	list-style:none;
	font-size:var(--txt-s);
	line-height:165%;
}

.recovery-contractor-list > div{
	display:flex;
	flex-wrap:wrap;
}

.recovery-contractor-list dt::after{
	margin:0 0.4em;
	content:"…";
}

.recovery-contractor-list dd{
	margin:0;
}

.restoration-timeline{
	margin:0 0 var(--mgn-l);
	padding:0;
	list-style:none;
}

.restoration-timeline > li{
	position:relative;
	display:grid;
	grid-template-columns:190px minmax(0, 1fr);
	gap:48px;
	padding-bottom:2.5em;
}

.restoration-timeline > li:last-child{
	padding-bottom:0;
}

.restoration-timeline > li::before{
	position:absolute;
	top:1.1em;
	left:209px;
	z-index:1;
	width:14px;
	height:14px;
	border:4px solid #fff;
	border-radius:50%;
	background:#008bc5;
	box-shadow:0 0 0 2px #008bc5;
	content:"";
}

.restoration-timeline > li:not(:last-child)::after{
	position:absolute;
	top:2em;
	bottom:-1.1em;
	left:215px;
	width:2px;
	background:#8ccfe6;
	content:"";
}

.restoration-timeline-date{
	align-self:start;
	padding:1em 0.75em;
	border-left:6px solid #008bc5;
	background:#d8f1f9;
	line-height:145%;
	text-align:center;
}

.restoration-timeline-date time,
.restoration-timeline-date strong,
.restoration-timeline-date span{
	display:block;
}

.restoration-timeline-date time{
	font-size:1.1em;
	font-weight:700;
}

.restoration-timeline-date strong{
	margin-top:0.2em;
}

.restoration-timeline-date span{
	margin-top:0.35em;
	font-size:var(--txt-s);
}

.restoration-timeline-date .restoration-traffic-status{
	color:#e9332b;
}

.restoration-timeline-content{
	min-width:0;
}

.restoration-step-title{
	margin:0 0 0.75em;
	padding:0 0 0.4em;
	border-bottom:2px solid #008bc5;
	font-size:1.25em;
	line-height:140%;
}

.restoration-photo-grid{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:1.5em 3%;
}

.restoration-photo-grid.is-single{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.restoration-photo-grid figure,
.sign-removal-grid figure{
	margin:0;
	text-align:center;
}

.restoration-photo-grid img,
.sign-removal-grid img{
	display:block;
	width:100%;
	height:auto;
}

.restoration-photo-grid figcaption,
.sign-removal-grid figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.restoration-photo-category{
	display:block;
	margin-bottom:0.5em;
	padding:0.35em 0.75em;
	background:#57b7dd;
	color:#fff;
	font-size:1.1em;
	font-weight:700;
	line-height:140%;
}

.sign-removal-grid{
	display:grid;
	grid-template-columns:0.44fr 1fr;
	align-items:start;
	gap:3%;
	margin-bottom:var(--mgn-l);
}

.sign-removal-grid.is-single{
	grid-template-columns:1fr;
}

.equal-height-photos img{
	aspect-ratio:4 / 3;
	object-fit:cover;
	object-position:center;
}

.uniform-photo-grid{
	display:grid;
	gap:1.5em 3%;
	margin-bottom:var(--mgn-l);
}

.uniform-photo-grid figure{
	margin:0;
	text-align:center;
}

.uniform-photo-grid img{
	display:block;
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	object-position:center;
}

.uniform-photo-grid figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.two-column-photo-grid{
	grid-template-columns:repeat(2, minmax(0, 1fr));
}

.office-restoration-grid,
.press-conference-grid{
	grid-template-columns:repeat(3, minmax(0, 1fr));
}

.support-photo-grid img{
	aspect-ratio:1.9 / 1;
}

.kumamoto2026-index .recovery-scenes-list,
.kumamoto2026-index .command-center-layout,
.kumamoto2026-index .restoration-photo-grid,
.kumamoto2026-index .sign-removal-grid,
.kumamoto2026-index .uniform-photo-grid{
	width:100%;
	max-width:700px;
	margin-left:auto;
	margin-right:auto;
}

.restoration-subheading{
	margin:var(--mgn-l) 0 0.75em;
	padding:0 0 0.4em;
	border-bottom:2px solid #008bc5;
	font-size:1.25em;
	line-height:140%;
}

.emergency-route-illustration{
	width:100%;
	max-width:700px;
	margin:1.5em auto var(--mgn-l);
	text-align:center;
}

.emergency-route-illustration img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}

.emergency-route-illustration figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.release-information-layout{
	display:grid;
	grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap:4%;
}

.release-document-list{
	display:grid;
	align-content:start;
	gap:1.5em;
}

.release-document-list figure{
	margin:0;
	text-align:center;
}

.release-document-list img{
	display:block;
	width:100%;
	aspect-ratio:2.3 / 1;
	object-fit:cover;
	object-position:top center;
	border:1px solid #777;
}

.release-document-list figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.release-information-groups > section{
	margin-bottom:2em;
}

.release-information-groups h4{
	margin:0 0 0.6em;
	padding-left:0.8em;
	border-left:0.45em solid #008bc5;
	font-size:1.15em;
	line-height:145%;
}

.release-information-list{
	margin:0;
	line-height:175%;
}

.release-information-list strong{
	display:inline-block;
	margin-right:0.35em;
}

.release-information-list.icf-list-disc{
	padding-left:1em;
	list-style:none;
}

.release-information-list.icf-list-disc > li{
	position:relative;
	padding-left:0;
}

.release-information-list.icf-list-disc > li::before{
	position:absolute;
	left:-1em;
	content:"・";
}

.detour-information-block{
	min-width:0;
	margin-bottom:var(--mgn-l);
}

.detour-lead-layout,
.detour-zipper-layout{
	display:grid;
	grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items:start;
	gap:4%;
}

.detour-fee-layout{
	display:grid;
	grid-template-columns:minmax(0, 1.15fr) minmax(320px, 0.85fr);
	align-items:start;
	gap:4%;
}

.detour-lead-layout > *,
.detour-fee-layout > *,
.detour-zipper-layout > *,
.detour-support-grid > *{
	min-width:0;
}

.detour-announcement-list{
	margin:0;
}

.detour-announcement-list > div{
	display:grid;
	grid-template-columns:5.5em minmax(0, 1fr);
	gap:1em;
	padding:0 0 1em;
	border-bottom:1px solid #ccc;
}

.detour-announcement-list > div + div{
	padding-top:1em;
}

.detour-announcement-list dt{
	font-weight:700;
	color:#0076a8;
}

.detour-announcement-list dd{
	margin:0;
	line-height:175%;
}

.detour-media-figure,
.detour-map-figure{
	width:100%;
	max-width:100%;
	margin:0;
	text-align:center;
}

.detour-media-figure img,
.detour-map-figure img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}

.detour-media-figure figcaption,
.detour-map-figure figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.detour-fee-example{
	margin-top:0;
	font-weight:700;
}

.detour-fee-period{
	display:inline-block;
	margin-left:0.5em;
	font-size:0.8em;
	font-weight:400;
	color:inherit;
}

.detour-fee-layout .sc_table{
	width:100%;
	max-width:100%;
	overflow-x:visible;
}

.detour-fee-table{
	width:100%;
	min-width:0;
	table-layout:fixed;
	font-size:0.88em;
}

.detour-fee-col-route{
	width:25%;
}

.detour-fee-col-base{
	width:15%;
}

.detour-fee-col-breakdown{
	width:38%;
}

.detour-fee-col-adjusted{
	width:22%;
}

.detour-fee-table th,
.detour-fee-table td{
	padding:0.75em 0.55em;
	vertical-align:middle;
	line-height:155%;
	overflow-wrap:anywhere;
}

.detour-fee-table thead th,
.detour-fee-table tbody td{
	text-align:center;
}

.detour-fee-table tbody th{
	text-align:left;
}

.detour-fee-table .detour-fee-breakdown{
	min-width:0;
	text-align:left;
}

.detour-support-grid{
	grid-template-columns:minmax(0, 0.7fr) minmax(0, 1.3fr);
}

.detour-support-grid img{
	height:320px;
	aspect-ratio:auto;
	object-fit:contain;
	background:#f5f5f5;
}

.detour-zipper-list{
	margin-top:0;
	line-height:175%;
}

.detour-zipper-list li + li{
	margin-top:1em;
}

.bridge-profile{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:1px;
	margin:0 0 var(--mgn-l);
	padding:1px;
	background:#c8c8c8;
}

.bridge-profile > div{
	display:grid;
	grid-template-columns:7em minmax(0, 1fr);
	background:#fff;
}

.bridge-profile > div:nth-child(n + 3){
	grid-column:1 / -1;
}

.bridge-profile dt,
.bridge-profile dd{
	margin:0;
	padding:0.8em 1em;
	line-height:165%;
}

.bridge-profile dt{
	background:#e5f5fb;
	font-weight:700;
}

.bridge-damage-grid{
	display:grid;
	gap:1.5em 3%;
	margin-bottom:var(--mgn-l);
}

.bridge-damage-grid figure,
.bridge-route-figure,
.bridge-displacement-figure{
	margin:0;
	text-align:center;
}

.bridge-damage-grid img,
.bridge-route-figure img,
.bridge-displacement-figure img{
	display:block;
	width:100%;
	max-width:100%;
	height:auto;
}

.bridge-damage-grid figcaption,
.bridge-route-figure figcaption,
.bridge-displacement-figure figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}

.kawada-damage-grid,
.katanogawa-damage-grid{
	grid-template-columns:minmax(0, 540fr) minmax(0, 260fr);
}

.kawada-damage-grid .is-wide,
.katanogawa-damage-grid .is-wide{
	grid-column:1 / -1;
}

.kawada-damage-grid figure:not(.is-wide) img,
.katanogawa-damage-grid figure:not(.is-wide) img{
	object-fit:cover;
	object-position:center;
}

@media screen and (min-width:769px){
	.kawada-damage-grid figure:nth-child(2),
	.katanogawa-damage-grid figure:nth-child(2){
		display:flex;
		flex-direction:column;
		grid-column:1;
		grid-row:2 / span 2;
	}

	.kawada-damage-grid figure:nth-child(3),
	.kawada-damage-grid figure:nth-child(4),
	.katanogawa-damage-grid figure:nth-child(3),
	.katanogawa-damage-grid figure:nth-child(4){
		grid-column:2;
	}

	.kawada-damage-grid figure:nth-child(2) img,
	.katanogawa-damage-grid figure:nth-child(2) img{
		flex:1 1 auto;
		height:0;
		min-height:0;
		aspect-ratio:auto;
	}

	.kawada-damage-grid figure:nth-child(3) img,
	.kawada-damage-grid figure:nth-child(4) img,
	.katanogawa-damage-grid figure:nth-child(3) img,
	.katanogawa-damage-grid figure:nth-child(4) img{
		aspect-ratio:260 / 172;
	}
}

.myoken-damage-grid{
	grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);
}

.myoken-damage-grid.is-single{
	grid-template-columns:1fr;
}

.myoken-damage-grid img{
	height:360px;
	object-fit:cover;
	object-position:center;
}

.restoration-photo-grid.is-three-column{
	grid-template-columns:repeat(3, minmax(0, 1fr));
}

.bridge-route-figure{
	max-width:900px;
	margin:0 auto var(--mgn-l);
}

.bridge-displacement-figure{
	margin-bottom:var(--mgn-l);
	padding:1em;
	border:1px solid #ccc;
	background:#fff;
}

.kumamoto2026-bridge-page .bridge-damage-grid,
.kumamoto2026-bridge-page .restoration-photo-grid,
.kumamoto2026-bridge-page .bridge-route-figure,
.kumamoto2026-bridge-page .bridge-displacement-figure{
	width:100%;
	max-width:700px;
	margin-left:auto;
	margin-right:auto;
}

.recovery-scenes-list > li:last-child{
	grid-column:1 / -1;
}

.recovery-scenes-list figure{
	margin:0;
	text-align:center;
}

.recovery-scenes-list img{
	width:100%;
	height:auto;
}

.recovery-scenes-list figcaption{
	margin-top:0.5em;
	font-size:var(--txt-s);
	line-height:155%;
}



/* for Narrow --------------------*/
@media screen and ( max-width:979px) {

	.recovery-contractors-grid{
		grid-template-columns:1fr 1fr;
	}

	.recovery-contractor-facilities{
		grid-column:1 / -1;
	}

	.restoration-timeline > li{
		grid-template-columns:165px minmax(0, 1fr);
		gap:40px;
	}

	.restoration-timeline > li::before{
		left:181px;
	}

	.restoration-timeline > li:not(:last-child)::after{
		left:187px;
	}

	.office-restoration-grid,
	.press-conference-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.restoration-photo-grid.is-three-column{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}

	.press-conference-grid figure:last-child{
		grid-column:1 / -1;
	}

}


/* for Sp --------------------*/
@media screen and ( max-width:768px) {

	.earthquake-overview-table{
		min-width:680px;
	}

	.bridge-detail-links ul{
		grid-template-columns:1fr;
		gap:10px;
	}

	.bridge-detail-links a{
		min-height:58px;
	}

	.bridge-map-overlay-link{
		justify-content:center;
		width:26px;
		min-height:26px;
		padding:0;
		border-radius:50%;
	}

	.bridge-map-overlay-link span{
		width:1px;
		height:1px;
		padding:0;
		margin:-1px;
		overflow:hidden;
		clip:rect(0, 0, 0, 0);
		white-space:nowrap;
		border:0;
		position:absolute;
	}

	.bridge-map-overlay-link::after{
		content:"";
		width:7px;
		height:7px;
		border-top:2px solid currentColor;
		border-right:2px solid currentColor;
		position:absolute;
		top:50%;
		left:50%;
		right:auto;
		transform:translate(-60%, -50%) rotate(45deg);
		transform-origin:center;
	}

	.recovery-timeline-scroll img{
		width:900px;
		max-width:none;
	}

	.command-center-layout{
		grid-template-columns:1fr;
		gap:1.5em;
	}

	.recovery-contractors{
		padding:1em;
	}

	.recovery-contractors-title small{
		display:block;
		margin:0.35em 0 0;
	}

	.recovery-contractors-grid{
		grid-template-columns:1fr;
		gap:1.25em;
	}

	.recovery-contractor-facilities{
		grid-column:auto;
	}

	.restoration-timeline > li{
		display:block;
		padding-bottom:2em;
	}

	.restoration-timeline > li::before,
	.restoration-timeline > li::after{
		display:none;
	}

	.restoration-timeline-date{
		margin-bottom:1em;
		padding:0.75em 1em;
		text-align:left;
	}

	.restoration-photo-grid,
	.restoration-photo-grid.is-single,
	.sign-removal-grid{
		grid-template-columns:1fr;
	}

	.restoration-photo-grid{
		gap:1.25em;
	}

	.sign-removal-grid{
		gap:1.5em;
	}

	.two-column-photo-grid,
	.office-restoration-grid,
	.press-conference-grid,
	.release-information-layout{
		grid-template-columns:1fr;
	}

	.press-conference-grid figure:last-child{
		grid-column:auto;
	}

	.support-photo-grid img{
		aspect-ratio:4 / 3;
	}

	.release-information-layout{
		gap:2em;
	}

	.detour-lead-layout,
	.detour-fee-layout,
	.detour-zipper-layout,
	.detour-support-grid{
		grid-template-columns:1fr;
		gap:1.5em;
	}

	.detour-announcement-list > div{
		grid-template-columns:1fr;
		gap:0.35em;
	}

	.detour-support-grid img{
		width:100%;
		max-width:100%;
		height:260px;
	}

	.detour-fee-table{
		width:100%;
		min-width:0;
		font-size:0.78em;
	}

	.detour-fee-table th,
	.detour-fee-table td{
		padding:0.6em 0.35em;
	}

	.detour-fee-col-route{
		width:25%;
	}

	.detour-fee-col-base{
		width:18%;
	}

	.detour-fee-col-breakdown{
		width:35%;
	}

	.detour-fee-col-adjusted{
		width:22%;
	}

	.bridge-profile{
		grid-template-columns:1fr;
	}

	.bridge-profile > div:nth-child(n){
		grid-column:auto;
	}

	.bridge-profile > div{
		grid-template-columns:1fr;
	}

	.bridge-profile dt,
	.bridge-profile dd{
		padding:0.65em 0.8em;
	}

	.kawada-damage-grid,
	.katanogawa-damage-grid,
	.myoken-damage-grid,
	.restoration-photo-grid.is-three-column{
		grid-template-columns:1fr;
	}

	.kawada-damage-grid .is-wide,
	.katanogawa-damage-grid .is-wide{
		grid-column:auto;
	}

	.kawada-damage-grid figure:not(.is-wide) img,
	.katanogawa-damage-grid figure:not(.is-wide) img,
	.myoken-damage-grid img{
		height:auto;
		aspect-ratio:auto;
	}

	.bridge-displacement-figure{
		padding:0.5em;
	}

}
