html { font-size: 62.5%; }
@media screen and (max-width: 959px) { html { font-size: 59.375%; } }

body.government_bousai-sg { --f-bg: #ffffff; --gb-main: #008298; --f-jp: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif; --f-serif: "Roboto", "Zen Kaku Gothic New", sans-serif;
  background: var(--f-bg); color: #3B3544; line-height: 1.8;
  font-family: "Roboto", "Noto Sans JP", Helvetica, "游ゴシック体", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
body.government_bousai-sg::before { display: none; }
.government_bousai-sg .wrap { background: var(--f-bg); }

.government_bousai-sg #content { font-family: var(--f-jp); font-size: 16px; line-height: 2; color: var(--f-ink-2);
  letter-spacing: 0; font-weight: 400; font-feature-settings: normal; }
:where(.government_bousai-sg #content) a:hover { color: inherit; }
:where(.government_bousai-sg #content) img { display: block; height: auto; }

.government_bousai-sg .a-hd--page:not(.is-pill) .a-hd__in { background: var(--f-bg); color: var(--f-ink-2); }
.government_bousai-sg .a-hd.is-pill .a-hd__in { background: rgba(0, 130, 152, .94); box-shadow: 0 10px 34px rgba(0, 130, 152, .3); }
.government_bousai-sg .a-hd__cta { background: var(--gb-main); }
.government_bousai-sg .a-hd.is-pill .a-hd__cta { background: #ffffff; color: var(--gb-main); }

.gb-hero__catch { font-family: var(--f-jp); font-size: clamp(30px, 4.4vw, 64px); font-weight: 500;
  letter-spacing: .1em; line-height: 1.4; white-space: normal; word-break: auto-phrase; }

.gb-btns { justify-content: flex-start; margin-top: 36px; }
.government_bousai-sg .f-btn, .government_bousai-sg .f-fab { font-weight: 700; }
.gb-btn--ink { background: var(--gb-main); border-color: var(--gb-main); color: #ffffff; }
.gb-btn--ink:hover { background: transparent; color: var(--gb-main); }
.gb-btn--line { border-color: var(--f-line); color: var(--f-ink-2); }
.gb-btn--line:hover { background: var(--gb-main); border-color: var(--gb-main); color: #ffffff; }

.gb-logos { margin-top: clamp(56px, 8vh, 96px); }
.gb-logos .f-logos__track li { display: flex; align-items: center; gap: 12px; }
.gb-logos .f-logos__track img { height: clamp(30px, 3vw, 40px); opacity: .9; }
.gb-logos .f-logos__track span { font-size: 13px; letter-spacing: .08em; color: var(--f-ink-3); white-space: nowrap; }

.gb-message { padding-top: clamp(120px, 16vh, 200px); }
.gb-message__wrap { display: grid; grid-template-columns: 0.86fr 1.14fr; gap: clamp(30px, 5vw, 76px); align-items: start; }
.gb-prose p + p { margin-top: 1.4em; }

.gb-merit .f-step h3 > span { display: inline-block; }
.gb-merit .gb-nb { white-space: nowrap; }
.gb-merit .f-step h3 { font-size: clamp(19px, 1.6vw, 24px); font-weight: 400; letter-spacing: .05em; line-height: 1.75; margin: 0; }
.gb-step__n { position: absolute; left: 0; top: 0; pointer-events: none; font-family: var(--f-serif); font-size: 14px; letter-spacing: .12em; color: var(--gb-main); }
.f-step__obj[data-merit] canvas { display: block; width: 100%; height: 100%; }

.gb-note { font-size: 12px; letter-spacing: .08em; color: var(--f-ink-4); margin: -20px 0 0; }
.gb-feat { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); row-gap: clamp(48px, 6vw, 80px); }
.gb-feat figure { aspect-ratio: 3 / 2; border-radius: 2px; background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 12px 30px -16px rgba(0, 0, 0, .28); }
.gb-feat img { object-fit: contain; }
.gb-feat__n { font-family: var(--f-serif); font-size: 12px; letter-spacing: .24em; color: var(--f-ink-4); margin: 0 0 6px; }

.gb-tag { display: inline-block !important; margin-top: 10px !important; padding: 0 10px;
  border: 1px solid var(--f-line); border-radius: 200px; font-size: 12px !important; letter-spacing: .12em !important; line-height: 22px; }

.gb-works-list a, #works .f-list a { grid-template-columns: 88px minmax(0, 1fr) auto; align-items: center; }
.gb-wlogo { display: grid; place-items: center; width: 88px; height: 72px; padding: 0; }
.gb-wlogo img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.gb-wlogo.is-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.gb-wlogo.is-multi { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4px; }
@media (min-width: 901px) {
  #works .f-coll { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 4vw, 64px); align-items: start; }
  #works .f-coll__grp + .f-coll__grp { margin-top: 0; }
  #works .f-list a { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 16px; }
  #works .gb-wlogo { width: 72px; height: 60px; }
  #works .f-list__ttl { font-size: clamp(17px, 1.4vw, 22px); }
}
.gb-flow li { display: grid; grid-template-columns: 4em 1fr; gap: clamp(14px, 2.4vw, 40px); align-items: baseline;
  padding: clamp(20px, 2.6vw, 32px) 4px; }
.gb-flow .f-list__ttl span { font-size: 14px; line-height: 2; max-width: 44em; }

.gb-faq { border-top: 1px solid var(--f-line-2); margin-top: 40px; }
.gb-faq summary { font-size: clamp(16px, 1.3vw, 19px); letter-spacing: .04em; }
.gb-faq .f-faq__a { font-size: 15px; line-height: 2.1; max-width: 48em; word-break: normal; line-break: strict; }

@keyframes izmtCaret { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }
.government_bousai-sg .hero_desk {
	position: relative;
	z-index: 1;
	width: min(64rem, calc(100vw - 4.8rem));
	container-type: inline-size;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
	line-height: 1.5;
	letter-spacing: 0;
	color: #2F2F2F;
}
.government_bousai-sg .dsk_screen {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	aspect-ratio: 16 / 10;
	overflow: hidden;
	font-size: calc(100cqw / 96);
	background-color: #ffffff;
	border: 1px solid #D5DADE;
	border-radius: 1em;
	box-shadow: 0 2.4rem 6.4rem rgba(0, 0, 0, 0.35);
}
.government_bousai-sg .dsk_main { position: relative; overflow: hidden; }
.government_bousai-sg .dsk_top { position: relative; z-index: 2; display: flex; justify-content: flex-end; gap: 2em; padding: 1.4em 3em 0.6em; background-color: #ffffff; font-size: 1.1em; }
.government_bousai-sg .dsk_top span { display: inline-flex; align-items: center; gap: 0.3em; }
.government_bousai-sg .dsk_top b { font-size: 1.6em; }
.government_bousai-sg .dsk_view {
	position: absolute;
	inset: 4.4em 3em 0;
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.4s ease;
}
.government_bousai-sg .dsk_view.is-on { opacity: 1; }
.government_bousai-sg .dsk_view.is-scrolled { transform: translateY(-28em); }
.government_bousai-sg .dsk_h { margin: 0 0 1.1em; padding-bottom: 0.4em; border-bottom: 1px solid #BDBDBD; font-size: 2.1em; font-weight: 700; }
.government_bousai-sg .dsk_sub { margin: 0 0 0.6em; font-size: 1.6em; font-weight: 700; }

.government_bousai-sg .dsk_count { width: 46em; margin-bottom: 2.2em; border-radius: 0.8em; background-color: #F6F6F8; }
.government_bousai-sg .dsk_count .hd { padding: 0.9em 1.4em; border-bottom: 1px solid #E6E6E6; font-size: 1.35em; font-weight: 700; }
.government_bousai-sg .dsk_count .hd em { margin-left: 0.6em; font-style: normal; font-size: 0.95em; color: #7800D2; }
.government_bousai-sg .dsk_count .hd b { font-size: 1.1em; vertical-align: middle; }
.government_bousai-sg .dsk_count .num { margin: 0.3em 0 0; text-align: center; font-size: 1.6em; font-weight: 700; }
.government_bousai-sg .dsk_count .num strong { margin-right: 0.1em; font-size: 2.8em; }
.government_bousai-sg .dsk_count .nt { padding-bottom: 1.2em; text-align: center; font-size: 1em; color: #555; }

.government_bousai-sg .dsk_act { display: flex; align-items: center; gap: 1.6em; margin-bottom: 2.2em; }
.government_bousai-sg .dsk_btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 15em;
	height: 3.6em;
	border-radius: 99em;
	background-color: #7800D2;
	color: #ffffff;
	font-size: 1.3em;
	font-weight: 700;
	transition: transform 0.15s ease;
}
.government_bousai-sg .dsk_last { font-size: 1.2em; color: #555; opacity: 0; transition: opacity 0.3s ease; }
.government_bousai-sg .is-after .dsk_last { opacity: 1; }

.government_bousai-sg .dsk_alert { margin-bottom: 2.2em; padding: 1.1em 1.6em; border-radius: 0.8em; background-color: #FBF1E3; }
.government_bousai-sg .dsk_alert p { display: flex; align-items: center; gap: 0.5em; font-size: 1.25em; font-weight: 700; }
.government_bousai-sg .dsk_alert p b { font-size: 1.3em; color: #F6A623; }
.government_bousai-sg .dsk_alert .chips { flex-wrap: wrap; gap: 0.4em 1.6em; margin-top: 0.8em; font-size: 1.15em; font-weight: 400; }
.government_bousai-sg .dsk_alert .chips i {
	display: inline-grid;
	place-items: center;
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.4em;
	border-radius: 50%;
	background-color: #E8E3EC;
	font-style: normal;
	font-size: 0.85em;
}
.government_bousai-sg .dsk_tabs { display: flex; margin-bottom: 1.8em; border-bottom: 1px solid #DDDDDD; }
.government_bousai-sg .dsk_tabs span {
	margin-right: -1px;
	padding: 0.7em 1.4em;
	border: 1px solid #DDDDDD;
	border-bottom: 0;
	border-radius: 0.4em 0.4em 0 0;
	background-color: #F5F5F7;
	color: #7800D2;
	font-size: 1.25em;
}
.government_bousai-sg .dsk_tabs span.on { background-color: #ffffff; color: #2F2F2F; }
.government_bousai-sg .dsk_empty { font-size: 1.3em; }
.government_bousai-sg .dsk_after,
.government_bousai-sg .is-after .dsk_before { display: none; }
.government_bousai-sg .is-after .dsk_after { display: block; }
.government_bousai-sg .dsk_charts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6em; margin-bottom: 1.8em; }
.government_bousai-sg .dsk_card { padding: 1em 1.2em; border: 1px solid #E3E3E3; border-radius: 0.8em; }
.government_bousai-sg .dsk_card p { font-size: 1.25em; font-weight: 700; }
.government_bousai-sg .dsk_card svg { display: block; width: 100%; margin-top: 0.6em; overflow: visible; }
.government_bousai-sg .dsk_card .grid { fill: none; stroke: #EEEEEE; stroke-width: 0.6; }
.government_bousai-sg .dsk_card .ln { fill: none; stroke: #7B2BB5; stroke-width: 1.8; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.government_bousai-sg .dsk_card .ln2 { fill: none; stroke: #5B8DEF; stroke-width: 1.8; }
.government_bousai-sg .dsk_card .bars rect { fill: #E04A78; transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); }
.government_bousai-sg .dsk_card .bars.m rect { fill: #3D6BE0; }
.government_bousai-sg .is-after .dsk_card .ln { animation: dskDraw 1.2s ease 0.3s forwards; }
.government_bousai-sg .is-after .dsk_card .bars rect { animation: dskGrow 0.6s ease 0.3s forwards; }
.government_bousai-sg .is-after .dsk_card .bars rect:nth-child(2) { animation-delay: 0.4s; }
.government_bousai-sg .is-after .dsk_card .bars rect:nth-child(3) { animation-delay: 0.5s; }
.government_bousai-sg .is-after .dsk_card .bars rect:nth-child(4) { animation-delay: 0.6s; }
.government_bousai-sg .is-after .dsk_card .bars rect:nth-child(5) { animation-delay: 0.7s; }
.government_bousai-sg .is-after .dsk_card .bars rect:nth-child(6) { animation-delay: 0.8s; }
@keyframes dskDraw { to { stroke-dashoffset: 0; } }
@keyframes dskGrow { to { transform: scaleY(1); } }
.government_bousai-sg .dsk_note { padding: 0.9em 1.3em; border: 1px solid #E3E3E3; border-radius: 0.6em; font-size: 1.3em; }
.government_bousai-sg .dsk_note i { display: block; margin-bottom: 0.2em; font-style: normal; font-size: 0.85em; font-weight: 700; }

.government_bousai-sg .dsk_crumb { margin: -0.4em 0 1.6em; font-size: 1.1em; }
.government_bousai-sg .dsk_lb { margin: 0 0 0.5em; font-size: 1.1em; font-weight: 700; }
.government_bousai-sg .dsk_ta {
	display: flex;
	align-items: flex-start;
	height: 4.6em;
	margin-bottom: 1.8em;
	padding: 0.7em 0.9em;
	border: 1px solid #BDBDBD;
	border-radius: 0.4em;
	font-size: 1.3em;
}
.government_bousai-sg .dsk_ta .ph { line-height: inherit; color: #AAAAAA; }
.government_bousai-sg .dsk_ta .tw { display: inline-block; max-width: 0; overflow: hidden; white-space: nowrap; vertical-align: top; }
.government_bousai-sg .dsk_ta .cur { display: inline-block; width: 1px; height: 1.3em; background-color: #2F2F2F; animation: izmtCaret 1s steps(1, end) infinite; }
.government_bousai-sg .dsk_ta.is-typing .ph { display: none; }
.government_bousai-sg .dsk_ta.is-typing .tw { animation: dskType 1.4s steps(14) forwards; }
@keyframes dskType { to { max-width: 14em; } }
.government_bousai-sg .dsk_tbl {
	display: grid;
	grid-template-columns: 1.6fr repeat(3, 1fr) 1.6fr;
	margin-bottom: 1.6em;
	border: 1px solid #E3E3E3;
	border-radius: 0.6em;
	overflow: hidden;
}
.government_bousai-sg .dsk_tbl span { display: flex; align-items: center; padding: 0.8em 1em; border-top: 1px solid #EEEEEE; font-size: 1.15em; }
.government_bousai-sg .dsk_tbl .th { border-top: 0; background-color: #FAFAFA; font-size: 1em; font-weight: 700; }
.government_bousai-sg .dsk_tbl .ok { color: #00897B; }
.government_bousai-sg .dsk_tbl .wn { color: #B26A00; }
.government_bousai-sg .dsk_tbl .ng { color: #C62828; }
.government_bousai-sg .dsk_tbl .add { color: #7800D2; }
.government_bousai-sg .dsk_tbl .add b { margin-right: 0.2em; font-size: 1.3em; }
.government_bousai-sg .dsk_tbl .rd { position: relative; display: inline-block; width: 1.2em; height: 1.2em; border: 0.15em solid #555555; border-radius: 50%; box-sizing: border-box; }
.government_bousai-sg .dsk_tbl .rd.on::after { content: ""; position: absolute; inset: 0.18em; border-radius: 50%; background-color: #2F2F2F; }
.government_bousai-sg .dsk_foot {
	position: absolute;
	right: -3em;
	bottom: 0;
	left: -3em;
	z-index: 1;
	display: flex;
	justify-content: center;
	gap: 1.6em;
	padding: 1.2em 0;
	background-color: #ffffff;
	border-top: 1px solid #E6E6E6;
}
.government_bousai-sg .dsk_foot span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 11em;
	height: 3em;
	border-radius: 99em;
	font-size: 1.2em;
	font-weight: 700;
	transition: background-color 0.3s ease, transform 0.15s ease;
}
.government_bousai-sg .dsk_foot .back { border: 1px solid #2F2F2F; }
.government_bousai-sg .dsk_foot .go { background-color: #D6B3F3; color: #ffffff; }
.government_bousai-sg .dsk_foot .go.is-ready { background-color: #7800D2; }
.government_bousai-sg .dsk_toast {
	position: absolute;
	top: 1em;
	left: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.7em 1.3em;
	border-radius: 0.6em;
	background-color: #2F2F2F;
	color: #ffffff;
	font-size: 1.2em;
	opacity: 0;
	transform: translate(-50%, -150%);
	transition: opacity 0.3s ease, transform 0.4s ease;
}
.government_bousai-sg .dsk_toast b { font-size: 1.3em; }
.government_bousai-sg .dsk_toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.government_bousai-sg .dsk_cur {
	position: absolute;
	left: 72%;
	top: 76%;
	z-index: 10;
	width: 2em;
	height: 2.8em;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 24'%3E%3Cpath d='M1 1v19l5-5 3.6 7.4 3.1-1.5-3.5-7H16z' fill='white' stroke='%23222222' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: left 0.4s ease, top 0.4s ease, transform 0.15s ease;
	pointer-events: none;
}
.government_bousai-sg .hero_desk .is-press { transform: scale(0.94); }
.government_bousai-sg .dsk_cur.is-press { transform: scale(0.85); }
@media (prefers-reduced-motion: reduce) {
	.government_bousai-sg .dsk_cur { display: none; }
	.government_bousai-sg .dsk_card .ln { stroke-dashoffset: 0; }
	.government_bousai-sg .dsk_card .bars rect { transform: none; }
	.government_bousai-sg .is-after .dsk_card :is(.ln, .bars rect) { animation: none; }
}


.gb-feat-list { display: grid; gap: clamp(56px, 7vw, 104px); margin-top: 56px; }
.gb-feat-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 88px); align-items: center; padding-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--f-line-3); }
.gb-feat-row:nth-child(even) { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.gb-feat-row:nth-child(even) .gb-feat-ill { order: -1; }
.gb-feat-txt h3 { margin: 0 0 20px; font-size: clamp(26px, 2.6vw, 40px); font-weight: 500; letter-spacing: .04em; line-height: 1.5; color: var(--f-ink); }
.gb-feat-txt h3 span { display: inline-block; }
.gb-feat-txt p:last-child { margin: 0; max-width: 30em; font-size: clamp(15px, 1.1vw, 17px); line-height: 2.1; color: var(--f-ink-3); }
.gb-feat-txt .gb-feat__n { font-size: 14px; margin-bottom: 12px; color: var(--gb-main); }
.gb-feat-ill { min-width: 0; }
@media (max-width: 900px) {
  .gb-feat-row, .gb-feat-row:nth-child(even) { grid-template-columns: 1fr; gap: 24px; }
  .gb-feat-row .gb-feat-ill, .gb-feat-row:nth-child(even) .gb-feat-ill { order: -1; }
}

.gbfm { position: relative; width: 100%; aspect-ratio: 529 / 355; overflow: hidden; border-radius: 16px; background: #f8f8fa;
  font-family: "Roboto", "Noto Sans JP", sans-serif; color: #2f2f2f; line-height: 1.4; letter-spacing: 0; text-align: left; }
.gbfm__stage { position: absolute; left: 0; top: 0; transform-origin: 0 0; }
.gbfm p { margin: 0; }
.gbfm img { display: block; max-width: none; }

.f1-grid { position: absolute; left: 24px; top: 24px; width: 481px; display: flex; gap: 16px; }
.f1-col { flex: 1 0 0; display: flex; flex-direction: column; gap: 16px; height: 307px; }
.f1-card { position: relative; flex: 1 0 0; display: flex; align-items: center; gap: 8px; padding: 0 8px; overflow: hidden;
  background: #fff; border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, .08);
  font-size: 14px; font-weight: 700; line-height: 1.2; color: #3b3544;
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.f1-card img { flex: none; max-height: 100%; }
.f1-card::after { content: ""; position: absolute; inset: 0; border: 2px solid #008298; border-radius: 8px; opacity: 0; transition: opacity .3s ease; }
.f1-card::before { content: "check"; position: absolute; right: 8px; top: 8px; z-index: 1; width: 20px; height: 20px; border-radius: 50%;
  display: grid; place-items: center; background: #008298; color: #fff; font: 14px/1 "Material Icons"; opacity: 0; transform: scale(.4);
  transition: opacity .25s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1); }
.f1-card.is-hl { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(0, 130, 152, .18); }
.f1-card.is-hl::after, .f1-card.is-hl::before { opacity: 1; }
.f1-card.is-hl::before { transform: none; }
.gbfm--f1 .f1-card { opacity: 0; translate: 0 12px; }
.gbfm--f1.is-run .f1-card { opacity: 1; translate: 0 0; transition: opacity .5s ease, translate .5s cubic-bezier(.2, .7, .2, 1), transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.gbfm--f1.is-run .f1-col:nth-child(1) .f1-card:nth-child(2) { transition-delay: .08s, .08s, 0s, 0s; }
.gbfm--f1.is-run .f1-col:nth-child(1) .f1-card:nth-child(3) { transition-delay: .16s, .16s, 0s, 0s; }
.gbfm--f1.is-run .f1-col:nth-child(2) .f1-card:nth-child(1) { transition-delay: .24s, .24s, 0s, 0s; }
.gbfm--f1.is-run .f1-col:nth-child(2) .f1-card:nth-child(2) { transition-delay: .32s, .32s, 0s, 0s; }
.gbfm--f1.is-run .f1-col:nth-child(2) .f1-card:nth-child(3) { transition-delay: .4s, .4s, 0s, 0s; }

.f2-panel { position: absolute; left: 26px; top: 30px; width: 477px; height: 360px; padding: 22px 22px 0; background: #fff;
  border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); overflow: hidden; }
.f2-h { padding-bottom: 8px; border-bottom: 1px solid #9e9e9e; font-size: 19px; font-weight: 700; line-height: 1.5; }
.f2-count { display: flex; align-items: center; gap: 2px; margin: 12px 0 10px !important; font-size: 13px; font-weight: 700; }
.f2-count .material-icons { font-size: 16px; }
.f2-count b { font-variant-numeric: tabular-nums; transition: color .3s ease; }
.f2-count.is-bump b { color: #008298; }
.f2-list { display: flex; flex-direction: column; gap: 8px; }
.f2-row { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: #fff; border-radius: 6px; box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
  transition: background-color 1.2s ease; }
.f2-row.is-new { animation: f2In .55s cubic-bezier(.2, .7, .2, 1) both; background: #e6f3f2; }
.f2-row.is-new.is-settle { background: #fff; }
@keyframes f2In { from { opacity: 0; transform: translateY(-14px); margin-top: -46px; } to { opacity: 1; transform: none; margin-top: 0; } }
.f2-row__b { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.f2-row__t { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.f2-row__t img { width: 14px; height: 14px; }
.f2-row__t b { font-size: 13px; line-height: 1.5; }
.f2-row__t span { font-size: 10px; }
.f2-row__t .st-ok { color: #028481; }
.f2-row__t .st-wn { color: #aa6702; }
.f2-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-left: 20px; }
.f2-chips span { padding: 3px 6px; border-radius: 3px; background: #f8f8fa; font-size: 10px; white-space: nowrap; }
.f2-row > img { width: 16px; height: 16px; flex: none; }

.f3-map { position: absolute; left: -206px; top: -45px; width: 2224px; height: 1231px; object-fit: cover; }
.f3-zoom { position: absolute; right: 16px; bottom: 16px; width: 29px; height: 57px; border-radius: 8px; box-shadow: 0 1px 8px rgba(0, 0, 0, .16); }
.f3-google { position: absolute; left: 16px; bottom: 16px; }
.f3-legend { position: absolute; left: 16px; top: 16px; display: flex; gap: 4px; padding: 6px; background: #fff; border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .08); font-weight: 700; white-space: nowrap; }
.f3-lg { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 76px; padding: 4px 8px; border-radius: 6px; color: #fff; }
.f3-lg i { font-style: normal; font-size: 12px; line-height: 1.4; }
.f3-lg b { font-size: 14px; line-height: 1.6; font-variant-numeric: tabular-nums; }
.f3-lg--vacant { background: #02807d; } .f3-lg--fairly { background: #a56203; } .f3-lg--crowded { background: #c54747; } .f3-lg--closed { background: #727272; }
.f3-cl { position: absolute; display: flex; flex-direction: column; gap: 7px; padding: 8px 12px 12px; background: #2f2f2f; border: 2px solid #fff;
  border-radius: 12px; box-shadow: 0 4px 10px rgba(0, 0, 0, .08); color: #fff; white-space: nowrap; transform-origin: 50% 100%;
  transition: box-shadow .4s ease; }
.f3-cl__h { display: flex; gap: 10px; align-items: baseline; font-size: 14px; line-height: 1.6; }
.f3-cl__h b { font-size: 16px; line-height: 1.5; }
.f3-cl__h em { font-style: normal; font-variant-numeric: tabular-nums; }
.f3-cl__chips { display: flex; gap: 3px; }
.f3-chip { display: flex; align-items: center; justify-content: center; min-width: 28px; padding: 2px 8px; border-radius: 4px;
  font-size: 14px; font-weight: 700; line-height: 1.6; color: #fff; font-variant-numeric: tabular-nums; }
.f3-chip--vacant { background: #02807d; } .f3-chip--fairly { background: #a56203; } .f3-chip--crowded { background: #c54747; } .f3-chip--closed { background: #727272; }
.gbfm--f3 .f3-cl { opacity: 0; transform: translateY(16px) scale(.7); }
.gbfm--f3.is-run .f3-cl { opacity: 1; transform: none; transition: opacity .35s ease calc(var(--i) * .12s + .2s), transform .55s cubic-bezier(.34, 1.56, .64, 1) calc(var(--i) * .12s + .2s), box-shadow .4s ease; }
.gbfm--f3 .f3-legend { opacity: 0; transition: opacity .5s ease; }
.gbfm--f3.is-run .f3-legend { opacity: 1; }

.f4-title { position: absolute; left: 24px; top: 18px; font-size: 24px; font-weight: 700; line-height: 1.5; }
.f4-table { position: absolute; left: 24px; top: 72px; width: 952px; overflow: hidden; background: #fff; border: 1px solid #dcdcdc; border-radius: 8px; }
.f4-tr { display: flex; border-bottom: 1px solid #dcdcdc; }
.f4-c { flex: none; display: flex; align-items: center; height: 54px; padding: 12px 20px; font-size: 14px; line-height: 1.6; border-left: 1px solid #dcdcdc; background: #fff;
  transition: background-color .5s ease; }
.f4-c:first-child { border-left: 0; }
.f4-c--item { width: 182px; padding-left: 24px; line-height: 1.3; }
.f4-c--unit { width: 90px; }
.f4-c--n { position: relative; width: 170px; justify-content: flex-end; padding-right: 40px; font-variant-numeric: tabular-nums; }
.f4-th .f4-c { flex-direction: column; align-items: stretch; justify-content: flex-start; height: 93px; padding: 16px 20px; background: #fafafa; font-size: 12px; font-weight: 700; line-height: 1.4; }
.f4-th .f4-c--n { padding-right: 20px; }
.f4-th .f4-pink { background: #fde9eb; }
.f4-hn { margin-top: 2px !important; text-align: right; font-size: 14px; font-weight: 400; line-height: 1.6; }
.f4-hs { text-align: right; font-weight: 400; }
.f4-shl { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 400; white-space: nowrap; overflow: hidden; }
.f4-shl img { margin-left: auto; }
.f4-bd { flex: none; display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid #2f2f2f; border-radius: 2px; font-style: normal; font-size: 12px; }
.f4-bd--k { background: #2f2f2f; color: #fff; }
.f4-cat { gap: 24px; align-items: center; height: 56px; padding: 0 20px; background: #fafafa; white-space: nowrap; }
.f4-cat b { font-size: 16px; line-height: 1.5; }
.f4-st { display: flex; align-items: center; gap: 4px; font-size: 14px; }
.f4-st i { font-style: normal; font-size: 12px; }
.f4-st em { font-style: normal; font-variant-numeric: tabular-nums; }
.f4-st--ng { color: #b60000; } .f4-st--wn { color: #9a5d02; } .f4-st--ok { color: #027b78; }
.f4-cm { position: absolute; left: 133px; top: 50%; translate: 0 -50%; }
.gbfm--f4.is-run .f4-v.f4-pink { background: #fde9eb; }
.gbfm--f4.is-run .f4-v.f4-beige { background: #f6f0e6; }
.gbfm--f4.is-run .f4-v.f4-teal { background: #e6f3f2; }
.f4-v.f4-pink::after { content: ""; position: absolute; inset: 2px; border: 2px solid #c54747; border-radius: 2px; opacity: 0; transition: opacity .3s ease; }
.f4-v.f4-pink.is-hit::after { opacity: 1; }

.f5-box { position: absolute; left: 24px; top: 26px; width: 481px; height: 305px; }
.f5-node { position: absolute; width: 67px; height: 67px; }
.f5-node img { position: absolute; left: -20px; top: -16px; width: 107px; height: 107px; }
.f5-lb { position: absolute; font-size: 12px; font-weight: 700; line-height: 1.4; text-align: center; color: #000; white-space: nowrap; }
.f5-lb--b { top: 291px; color: #3b3544; }
.f5-core { position: absolute; left: 50%; top: 128px; translate: -50% 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.f5-core p { font-size: 15px; font-weight: 700; color: #008298; white-space: nowrap; }
.f5-sync { position: absolute; display: grid; place-items: center; opacity: .55; transition: transform .3s ease, opacity .3s ease; }
.f5-sync--v { rotate: -90deg; }
.f5-sync.is-on { opacity: 1; transform: scale(1.45); }
.f5-sys { position: absolute; top: 231px; width: 199px; height: 55px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  padding: 8px 32px; background: #fff; border-radius: 12px; box-shadow: 0 4px 10px rgba(0, 0, 0, .08); transition: transform .3s ease, box-shadow .3s ease; }
.f5-sys img { width: 112px; height: auto; }
.f5-sys p { font-size: 10px; color: #3c3c3c; white-space: nowrap; }
.f5-sys b { font-size: 15px; color: #165a9c; }
.f5-node, .f5-sys { transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), opacity .35s ease, box-shadow .3s ease; }
.f5-node.is-on { transform: translateY(-4px) scale(1.06); }
.f5-sys.is-on { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(0, 130, 152, .2); }
.gbfm--f5 .f5-node, .gbfm--f5 .f5-sys { opacity: 0; }
.gbfm--f5.is-run .f5-node, .gbfm--f5.is-run .f5-sys { opacity: 1; }

.f6-title { position: absolute; left: 20px; top: 14px; font-size: 24px; font-weight: 700; line-height: 1.5; }
.f6-stats { position: absolute; left: 20px; top: 70px; width: 1140px; height: 187px; display: flex; gap: 20px; }
.f6-stat { flex: 1 0 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 20px 24px; border-radius: 12px; background: #f8f8fa; text-align: center; }
.f6-st-h { font-size: 20px; font-weight: 700; line-height: 1.5; }
.f6-st-h b { font-size: 40px; line-height: 1; margin-left: 6px; }
.f6-st-n { font-size: 40px; font-weight: 700; line-height: 1.5; font-variant-numeric: tabular-nums; }
.f6-st-s { font-size: 12px; }
.f6-stat--bar { gap: 8px; }
.f6-bar { position: relative; display: flex; width: 450px; height: 64px; overflow: hidden; border-radius: 8px; background: #ececec; }
.f6-seg { position: relative; flex: none; width: calc(var(--w) * 1px); height: 100%; display: flex; align-items: center; justify-content: center; white-space: nowrap; overflow: hidden; color: #fff; font-size: 12px; font-weight: 700;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .8); transition: width .9s cubic-bezier(.2, .7, .2, 1); }
.f6-seg b, .f6-bar-b b { font-size: 24px; }
.f6-seg--a { background: #762a83; } .f6-seg--b { background: #5b90e6; } .f6-seg--c { background: #949494; transition-delay: .25s; }
.f6-bar-b { position: absolute; left: 226px; top: 50%; translate: 0 -50%; color: #fff; font-style: normal; font-size: 12px; font-weight: 700; text-shadow: 0 1px 8px rgba(0, 0, 0, .8); }
.f6-leg { display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 500; }
.f6-leg i { width: 12px; height: 12px; border-radius: 50%; margin-left: 12px; }
.f6-leg i:first-child { margin-left: 0; }
.f6-leg--c { position: absolute; left: 0; right: 0; bottom: 20px; justify-content: center; }
.f6-graphs { position: absolute; left: 20px; top: 277px; width: 1140px; height: 440px; display: flex; gap: 20px; }
.f6-card { position: relative; flex: 1 0 0; height: 440px; background: #fff; border: 1px solid #dcdcdc; border-radius: 12px; }
.f6-card-h { padding: 16px 24px; border-bottom: 1px solid #dcdcdc; font-size: 16px; font-weight: 700; line-height: 1.5; }
.f6-card-h small { font-size: 14px; }
.f6-plot { position: absolute; left: 36px; top: 94px; width: 502px; height: 282px; }
.f6-y { position: absolute; left: 0; top: 0; width: 36px; height: 100%; font-size: 11px; text-align: right; }
.f6-y span { position: absolute; right: 0; }
.f6-grid { position: absolute; left: 43px; top: 10px; width: 468px; height: 270px; }
.f6-areas { position: absolute; inset: 0; clip-path: inset(0 100% 0 0); }
.f6-area { position: absolute; left: 46px; width: 453px; }
.f6-x { position: absolute; left: 82px; right: 16px; bottom: 62px; display: flex; justify-content: space-between; font-size: 11px; }
.f6-plot--bar { left: 24px; top: 96px; width: 510px; height: 240px; }
.f6-plot--bar .f6-y { top: -8px; height: 220px; }
.f6-bars { position: absolute; left: 50px; right: 8px; top: 0; height: 207px; display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid #bdbdbd; }
.f6-stack { position: relative; width: 33px; display: flex; flex-direction: column; transform-origin: 50% 100%; transform: scaleY(0); transition: transform .7s cubic-bezier(.2, .7, .2, 1) calc(var(--i) * .08s + .3s); }
.f6-stack em { position: absolute; left: 50%; bottom: -22px; translate: -50% 0; font-style: normal; font-size: 10px; white-space: nowrap; opacity: .8; }
.gbfm--f6 .f6-seg { width: 0; }
.gbfm--f6.is-run .f6-seg { width: calc(var(--w) * 1px); }
.gbfm--f6.is-run .f6-areas { clip-path: inset(0 0 0 0); transition: clip-path 1.8s cubic-bezier(.4, 0, .2, 1) .2s; }
.gbfm--f6.is-run .f6-stack { transform: none; }
.gbfm--f6 .f6-bar-b { opacity: 0; transition: opacity .4s ease .8s; }
.gbfm--f6.is-run .f6-bar-b { opacity: 1; }

.gbfm .fc-violet { background: #762a83; }
.gbfm .fc-sky { background: #5b90e6; }
.gbfm .fc-mute { background: #949494; }
.gbfm .fc-plum { background: #4f005b; }
.gbfm .fc-lilac { background: #9970ab; }
.gbfm .fc-forest { background: #00441b; }
.gbfm .fc-pink { background: #d44073; }
.gbfm .fc-blue { background: #3568ed; }
.gbfm .fc-gray { background: #767676; }

.gbfm--scr { overflow: visible; border-radius: 0; background: none; }
.fm-scr { overflow: hidden; background: #fff; border: 1px solid #d5dade; border-radius: calc(var(--u) * .45);
  box-shadow: 0 calc(var(--u) * .5) calc(var(--u) * 1.4) rgba(0, 0, 0, .22); }
.fm-body { position: absolute; inset: 0; overflow: hidden; }
.fm-ptitle { padding-bottom: .35em; border-bottom: 1px solid #bdbdbd; font-weight: 700; line-height: 1.5; color: #2f2f2f; }
.fm-ptitle--row { display: flex; justify-content: space-between; align-items: center; }
.fm-ptitle--row .fm-reload { font-size: .62em; }
.fm-reload { display: inline-flex; align-items: center; gap: .2em; color: #7800d2; font-weight: 700; white-space: nowrap; transition: transform .15s ease; }
.fm-reload .material-icons { font-size: 1.25em; }
.fm-reload em { margin-left: .8em; font-style: normal; font-weight: 400; font-size: .8em; color: #757575; }
.fm-reload.is-spin .material-icons { animation: fmSpin .7s linear; }
@keyframes fmSpin { to { transform: rotate(360deg); } }
.gbfm--scr .is-press { transform: scale(.94); }
.fm-cur { position: absolute; left: 72%; top: 80%; z-index: 10; width: calc(var(--u) * .62); height: calc(var(--u) * .87); pointer-events: none;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 24'%3E%3Cpath d='M1 1v19l5-5 3.6 7.4 3.1-1.5-3.5-7H16z' fill='white' stroke='%23222222' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: left .5s ease, top .5s ease, transform .15s ease; }
.fm-cur.is-press { transform: scale(.85); }

.gbfm--f2 .fm-body { padding: 16px 30px 0; }
.gbfm--f2 .fm-ptitle { font-size: 17px; }
.f2-sum { display: flex; align-items: center; gap: 10px; margin: 10px 0 10px !important; padding: 6px 0; font-size: 10px; position: relative; z-index: 1; background: #fff; }
.f2-sum__h { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; }
.f2-sum__h .material-icons { font-size: 13px; }
.f2-sum .f2-count { margin: 0 0 0 auto !important; font-size: 11px; }
.f2-sum .f2-count .material-icons { font-size: 13px; }
.gbfm--f2 .f2-row.is-new { background: #fff; }

.gbfm--f3 .fm-body { padding: 26px 48px 0; }
.gbfm--f3 .fm-ptitle { font-size: 26px; }
.gbfm--f3 .f3-title { position: static; display: flex; justify-content: space-between; align-items: center; margin-top: 18px !important; font-size: 20px; font-weight: 700; line-height: 1.5; }
.f3-title .fm-reload { font-size: 16px; }
.f3-mapbox { position: absolute; left: 48px; right: 48px; top: 148px; bottom: 40px; overflow: hidden; border-radius: 8px; }
.f3-lv { position: absolute; inset: 0; transform-origin: 62% 18%; transition: transform .9s cubic-bezier(.4, 0, .2, 1), opacity .6s ease; }
.f3-lv--zoom { opacity: 0; transform: scale(.55); transform-origin: 50% 45%; pointer-events: none; }
.f3-mapbox.is-zoom .f3-lv--wide { opacity: 0; transform: scale(2.2); }
.f3-mapbox.is-zoom .f3-lv--zoom { opacity: 1; transform: none; }
.f3-map--zoom { top: -231px; width: 2048px; height: 1162px; }
.f3-pin { position: absolute; display: block; opacity: 0; transform: translateY(-14px); transform-origin: 50% 100%;
  transition: opacity .3s ease, transform .45s cubic-bezier(.34, 1.56, .64, 1); }
.f3-pin img { position: absolute; inset: 0; width: 100%; height: 100%; }
.f3-pin > span { position: absolute; left: 0; right: 0; top: 16.18%; bottom: 32.35%; display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #fff; text-align: center; line-height: 1.15; }
.f3-pin b { font-size: 18px; }
.f3-pin small { font-size: 10px; }
.f3-pin--closed b { font-size: 10px; line-height: 1.5; }
.f3-mapbox.is-zoom .f3-pin { opacity: 1; transform: none; transition-delay: calc(var(--i) * .025s + .45s); }
.f3-zoomctl { position: absolute; right: 16px; bottom: 16px; z-index: 3; width: 29px; height: 57px; }
.f3-zoomctl img { position: absolute; inset: 0; border-radius: 8px; box-shadow: 0 1px 8px rgba(0, 0, 0, .16); }
.f3-zoomctl i { position: absolute; left: 0; right: 0; height: 50%; border-radius: 6px; transition: background-color .2s ease; }
.f3-zoomctl i:first-of-type { top: 0; } .f3-zoomctl i:last-of-type { bottom: 0; }
.f3-zoomctl i.is-press { background: rgba(120, 0, 210, .18); transform: none; }
.gbfm--f3.is-run .f3-cl.is-press { transform: scale(.94); }
.gbfm--f3 .f3-legend { z-index: 3; }
.gbfm--f3 .f3-google { z-index: 3; }

.gbfm--f4 .fm-body { padding: 22px 48px 0; }
.gbfm--f4 .fm-ptitle { font-size: 24px; }
.gbfm--f4 .f4-days { position: static; display: flex; align-items: center; gap: 8px; margin-top: 16px !important; font-size: 14px; }
.f4-input { display: inline-flex; align-items: center; width: 84px; height: 36px; padding: 0 12px; border: 1px solid #bdbdbd; border-radius: 4px; background: #fff; font-size: 16px;
  transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease; }
.f4-input b { font-weight: 400; font-variant-numeric: tabular-nums; }
.f4-caret { display: none; width: 1px; height: 18px; margin-left: 2px; background: #2f2f2f; animation: izmtCaret 1s steps(1, end) infinite; }
.f4-input.is-focus { border-color: #7800d2; box-shadow: 0 0 0 3px rgba(120, 0, 210, .15); }
.f4-input.is-focus .f4-caret { display: block; }
.gbfm--f4 .f4-table { position: static; width: 904px; margin-top: 16px; }
.gbfm--f4 .f4-c--item { width: 160px; }
.gbfm--f4 .f4-c--unit { width: 80px; }
.gbfm--f4 .f4-c--n { width: 166px; }

.gbfm--f6 .fm-body { padding: 22px 48px 0; }
.gbfm--f6 .fm-ptitle { font-size: 24px; }
.gbfm--f6 .f6-stats { left: 48px; top: 92px; width: 1084px; }
.gbfm--f6 .f6-graphs { left: 48px; top: 299px; width: 1084px; }
.gbfm--f6 .f6-plot { width: 480px; }
.gbfm--f6 .f6-plot--bar { width: 484px; }
.f6-hover { position: absolute; inset: 0; z-index: 3; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.f6-hover.is-on { opacity: 1; }
.f6-vline { position: absolute; left: 231px; top: 10px; height: 253px; border-left: 1px dashed #9e9e9e; }
.f6-tip { position: absolute; left: 246px; top: 18px; display: grid; gap: 4px; min-width: 150px; padding: 8px 10px; background: #fff; border: 1px solid #dcdcdc; border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12); font-size: 12px; }
.f6-tip b { font-size: 13px; }
.f6-tip span { display: flex; align-items: center; gap: 6px; }
.f6-tip span i { width: 10px; height: 10px; border-radius: 50%; }
.f6-tip em { margin-left: auto; font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; }
.gbfm--f6 .fm-body { padding: 0; }
.f6-page { position: absolute; left: 0; right: 0; top: 0; height: 2470px; padding: 22px 48px 0; will-change: transform; }
.f6-more { position: absolute; left: 48px; top: 763px; width: 1084px; display: flex; flex-direction: column; gap: 24px; }
.f6-row2 { display: flex; gap: 20px; }
.f6-row2 .f6-card { height: 440px; }
.f6-plot2 { position: absolute; left: 24px; right: 24px; top: 80px; height: 260px; }
.f6-lsvg { position: absolute; left: 0; top: 0; width: 480px; height: 240px; overflow: visible; }
.f6-gl { stroke: #eeeeee; stroke-width: 1; }
.f6-pl { fill: none; stroke-width: 2; stroke-linejoin: round; }
.f6-s-violet { stroke: #762a83; } .f6-s-sky { stroke: #5b90e6; } .f6-s-rose { stroke: #d062ad; } .f6-s-green { stroke: #5f9e6e; } .f6-s-teal { stroke: #0a9ca6; }
.f6-b-violet { background: #762a83; } .f6-b-sky { background: #5b90e6; } .f6-b-rose { background: #d062ad; } .f6-b-green { background: #5f9e6e; } .f6-b-teal { background: #0a9ca6; }
.f6-x2 { position: absolute; left: 22px; right: 0; top: 246px; display: flex; justify-content: space-between; font-size: 11px; }
.f6-vbars { position: absolute; left: 40px; width: 430px; top: 20px; height: 200px; display: flex; align-items: flex-end; justify-content: space-around; }
.f6-vb { position: relative; width: 30px; border-radius: 4px 4px 0 0; }
.f6-vb em { position: absolute; left: 50%; bottom: 100%; translate: -50% -4px; font-style: normal; font-size: 11px; white-space: nowrap; }
.f6-y2 { position: absolute; left: 0; top: 0; width: 34px; font-size: 11px; text-align: right; }
.f6-y2 span { position: absolute; right: 0; translate: 0 -50%; line-height: 1; }
.f6-leg2 { position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 11px; }
.f6-leg2 span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.f6-d { width: 11px; height: 11px; border-radius: 50%; }
.f6-leg2--c { justify-content: center; }
.f6-card-h--plain { border-bottom: 0; font-size: 20px; padding: 20px 24px 8px; }
.f6-dcard { flex: none; height: 340px; }
.f6-donut { position: absolute; left: 50%; top: 72px; width: 200px; height: 200px; margin-left: -100px; border-radius: 50%;
  background: conic-gradient(#02807d 0 25%, #a56203 0 75%, #c54747 0 87.5%, #727272 0 100%);
  -webkit-mask: radial-gradient(circle, transparent 39px, #000 40px); mask: radial-gradient(circle, transparent 39px, #000 40px); }
.f6-donut b { position: absolute; color: #fff; font-size: 16px; text-shadow: 0 1px 6px rgba(0, 0, 0, .5); }
.f6-donut .d1 { left: 128px; top: 52px; } .f6-donut .d2 { left: 76px; top: 150px; } .f6-donut .d3 { left: 16px; top: 70px; } .f6-donut .d4 { left: 52px; top: 16px; }
.f6-c-vacant { background: #02807d; } .f6-c-fairly { background: #a56203; } .f6-c-crowded { background: #c54747; } .f6-c-full { background: #c54747; } .f6-c-closed { background: #727272; } .f6-c-open { background: #028481; }
.f6-lcard { flex: none; height: auto; padding: 0 24px 24px; }
.f6-lcard .f6-card-h--plain { padding-left: 0; }
.f6-tabs { display: flex; border-bottom: 1px solid #dcdcdc; margin: 10px 0 18px !important; }
.f6-tabs span { padding: 10px 16px; border: 1px solid #dcdcdc; border-bottom: 0; border-radius: 6px 6px 0 0; margin-right: -1px; font-size: 13px; color: #7800d2; background: #f5f5f7; }
.f6-tabs span.on { color: #2f2f2f; background: #fff; }
.f6-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.f6-flb { width: 74px; font-size: 13px; font-weight: 700; }
.f6-chip { display: inline-flex; align-items: center; gap: 4px; padding: 8px 12px; border-radius: 6px; background: #efe5f8; color: #7800d2; font-size: 12px; font-weight: 700; }
.f6-chip .material-icons { font-size: 16px; }
.f6-cnt { display: flex; justify-content: space-between; align-items: center; margin: 18px 0 14px !important; padding-top: 16px; border-top: 1px dashed #dcdcdc; font-size: 12px; }
.f6-csv { display: inline-flex; align-items: center; gap: 4px; color: #7800d2; font-weight: 700; }
.f6-csv .material-icons { font-size: 16px; }
.f6-table { border: 1px solid #dcdcdc; border-radius: 8px; overflow: hidden; }
.f6-tr { display: grid; grid-template-columns: 200px 90px 120px 110px 120px 110px 1fr; align-items: center; min-height: 72px; border-top: 1px solid #eeeeee; font-size: 13px; }
.f6-th { min-height: 40px; border-top: 0; background: #fafafa; font-size: 11px; font-weight: 700; }
.f6-td { padding: 8px 14px; }
.f6-td--name u { text-underline-offset: 3px; }
.f6-td--off { color: #9e9e9e; }
.f6-td--st { display: flex; flex-direction: column; line-height: 1.4; }
.f6-td--st b, .f6-td--st em { font-style: normal; font-weight: 700; }
.f6-td--st small { font-size: 10px; color: #757575; }
.f6-st-crowded { color: #c54747; } .f6-st-fairly { color: #aa6702; } .f6-st-vacant { color: #028481; }
.f6-spark polyline { fill: none; stroke: #2f2f2f; stroke-width: 1.2; }

@media (prefers-reduced-motion: reduce) { .fm-cur { display: none; } }

.f5-links { position: absolute; left: 0; top: 0; overflow: visible; pointer-events: none; }
.f5-ln { fill: none; stroke: #7f9aa1; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 0 7; animation: f5Flow 1.4s linear infinite;
  transition: stroke .3s ease, stroke-width .3s ease; }
.f5-ln.is-on { stroke: #008298; stroke-width: 4; animation-duration: .55s; }
.f5-ln.is-on.is-rev { animation-direction: reverse; }
@keyframes f5Flow { to { stroke-dashoffset: -14; } }

@media (prefers-reduced-motion: reduce) {
  .gbfm *, .gbfm *::before, .gbfm *::after { transition: none !important; animation: none !important; }
}

#cta .f-cta { margin-top: clamp(100px, 14vh, 160px); background: var(--gb-main); color: #ffffff; }
#cta .f-cta p { color: #fff; }
#cta .f-btn { border-color: #ffffff; color: #ffffff; }
#cta .f-btn--primary { background: #ffffff; color: var(--gb-main); }
#cta .f-btn--primary:hover { background: transparent; color: #ffffff; }
.government_bousai-sg .f-h2__en, .government_bousai-sg .f-band span { font-weight: 500; }
.government_bousai-sg ::selection { background: var(--gb-main); color: #ffffff; }
#cta .f-cta p { margin-bottom: 30px; }
#cta .gb-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(32px, 5vw, 80px); text-align: left;
  padding-block: clamp(64px, 8vw, 112px); padding-inline: max(var(--f-pad), calc((100vw - 1320px) / 2)); }
#cta .gb-cta strong { margin-bottom: 20px; font-size: clamp(28px, 2.8vw, 42px); font-weight: 700; line-height: 1.5; letter-spacing: .04em; }
#cta .gb-cta p { max-width: 40em; margin: 0; font-size: clamp(15px, 1.15vw, 17px); line-height: 2; }
#cta .gb-cta .f-btns { justify-content: flex-end; }
#cta .gb-cta .f-btn { min-width: 300px; padding: 26px 56px; font-size: 20px; letter-spacing: .12em; }
.gb-hero .gb-btns .f-btn { padding: 13px 32px; font-size: 16px; line-height: 1.5; letter-spacing: .08em; }
@media (max-width: 900px) {
  #cta .gb-cta { grid-template-columns: 1fr; gap: 32px; }
  #cta .gb-cta strong { font-size: min(6.4vw, 26px); }
  #cta .gb-cta .f-btns { justify-content: stretch; }
  #cta .gb-cta .f-btn { width: 100%; min-width: 0; padding: 13px 24px; font-size: 16px; }
  .gb-hero .gb-btns .f-btn { width: calc(50% - 6px); min-width: 0; padding: 10px 8px; font-size: 14px; line-height: 1.5; letter-spacing: .04em; white-space: nowrap; }
}


@media (max-width: 900px) {
  .government_bousai-sg .f-fab { background: var(--gb-main); color: #ffffff; }
  .gb-message__wrap { grid-template-columns: 1fr; }
  .gb-hero__catch { font-size: min(8vw, 40px); letter-spacing: .06em; }
  .gb-btns { justify-content: center; }
  .gb-merit .f-step h3 { font-size: 18px; }
  .gb-flow li { grid-template-columns: 3em 1fr; }
  #works .f-list a { grid-template-columns: 64px minmax(0, 1fr) 20px; }
  .gb-wlogo { width: 64px; height: 56px; }
}
.gb-cursor { mix-blend-mode: normal; }
.gb-cursor__home { position: absolute; left: -2.5px; top: 19.5px; width: 21px; height: 21px; }
.gb-cursor__home svg { display: block; width: 21px; height: 21px; fill: var(--gb-main); overflow: visible; }
.gb-cursor__home path:not(.gbc-door) { stroke: #ffffff; stroke-width: 6; stroke-linejoin: round; paint-order: stroke; transition: stroke-width 200ms ease; }
.gb-cursor .gbc-door { fill: #ffffff; }
.gb-cursor .gbc-bld { opacity: 0; transform-origin: 30px 60px; transform: scale(.6); transition: opacity 200ms ease, transform 200ms ease; }
.gb-cursor .gbc-pp { transform: translate(46px, 0); transition: transform 300ms cubic-bezier(.22, .8, .3, 1); }
body:has(:is(a, button, summary, [role="button"]):hover) .gb-cursor .gb-cursor__home path:not(.gbc-door) { stroke-width: 6; }
body:has(:is(a, button, summary, [role="button"]):hover) .gb-cursor .gbc-bld { opacity: 1; transform: scale(1); transition: opacity 200ms ease, transform 400ms cubic-bezier(.34, 1.56, .64, 1); }
body:has(:is(a, button, summary, [role="button"]):hover) .gb-cursor .gbc-pp { transform: translate(0, 0); transition: transform 600ms cubic-bezier(.22, .8, .3, 1) 120ms; }
body:has(:is(a, button, summary, [role="button"]):hover) .gb-cursor .gbc-bob { animation: gbc-bob 120ms ease-in-out 120ms 5 alternate; }
@keyframes gbc-bob { from { transform: translate(0, 0); } to { transform: translate(0, -3px); } }
@media (prefers-reduced-motion: reduce) { .gb-cursor .gbc-bob { animation: none; } .gb-cursor__home * { transition: none !important; } }

.government_bousai-sg .wrap { padding-top: 0; }
html:not(.a-drawer) body.gb-on-hero .a-hd--page:not(.is-pill) .a-hd__in { background: transparent; color: #ffffff; }
.government_bousai-sg .gb-hero { --gb-gut: calc(80 * clamp(.6664px, calc(100vw / 1440 * .9996), 1.3328px)); --cw: clamp(280px, 28vw, 460px); height: 100svh; min-height: 680px; max-height: 1080px; display: block; padding: 0; overflow: hidden; background: #2f2f2f; }
.gb-hero__bg { position: absolute; inset: 0; }
.gb-hero__bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.5s ease; animation: gbKb 14s ease-in-out infinite alternate; }
.gb-hero__bg img.is-on { opacity: 1; }
.gb-hero__bg img:nth-child(1) { transform-origin: 70% 60%; --kb-x: -1%; --kb-y: -1%; }
.gb-hero__bg img:nth-child(2) { transform-origin: 30% 50%; --kb-x: 1%; --kb-y: -1%; animation-delay: -5s; }
.gb-hero__bg img:nth-child(3) { transform-origin: 50% 30%; --kb-x: -1%; --kb-y: 1%; animation-delay: -9s; }
.gb-hero__bg::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(rgba(0, 130, 152, .1), rgba(0, 130, 152, .1)), linear-gradient(90deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .4) 55%, rgba(0, 0, 0, .3) 100%), linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .7) 100%); }
@keyframes gbKb { from { transform: scale(1) translate3d(0, 0, 0); } to { transform: scale(1.04) translate3d(var(--kb-x, -1%), var(--kb-y, -1%), 0); } }
.gb-reel { position: absolute; right: var(--gb-gut); top: 92px; bottom: 0; width: var(--cw); overflow: hidden;
  row-gap: clamp(40px, 4vw, 64px);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 56px, #000 calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 56px, #000 calc(100% - 40px), transparent 100%); }
.gb-reel .gb-reel__card { position: absolute; left: 0; top: 0; width: 100%; will-change: transform; transition: none; }
.gb-reel:not(.is-ready) { visibility: hidden; }
.gb-reel__card > .gbfm, .gb-reel .dsk_screen { overflow: hidden; border-radius: calc(var(--cw) * .024); box-shadow: 10px 10px 30px rgba(0, 0, 0, .3); }
.gb-reel .hero_desk { width: 100%; }
.government_bousai-sg .gb-reel .dsk_screen { aspect-ratio: 529 / 355; font-size: calc(100cqw / 72); }
.gb-reel .gbfm__stage { border-radius: 0; box-shadow: none; }
.government_bousai-sg .gb-hero .f-hero__copy { left: var(--gb-gut); right: calc(var(--gb-gut) + var(--cw) + clamp(32px, 4vw, 72px)); top: 46%; bottom: auto; translate: 0 -50%; width: auto; text-align: left; }
.government_bousai-sg .gb-hero :is(.f-hero__kicker, .gb-hero__catch, .f-hero__sub) { color: #ffffff; text-shadow: 0 2px 16px rgba(0, 0, 0, .25); }
.government_bousai-sg .gb-hero .f-hero__kicker { font-size: clamp(14px, 1.2vw, 18px); margin-bottom: 10px; }
.government_bousai-sg .gb-hero .gb-hero__catch { font-size: min(clamp(44px, 5.8vw, 112px), 9.2svh); font-weight: 700; letter-spacing: .04em; line-height: 1.3; white-space: normal; }
.government_bousai-sg .gb-hero .f-hero__sub { margin-top: 16px; }
.gb-reel__pause { position: absolute; left: var(--gb-gut); bottom: clamp(32px, 5vh, 56px); z-index: 4; width: 44px; height: 44px; display: grid; place-items: center;
  border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%; background: rgba(255, 255, 255, .12); color: #ffffff; cursor: pointer; }
.gb-reel__pause .material-icons { font-size: 20px; }
.gb-reel__pause:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }

@media (max-width: 1100px) {
  .government_bousai-sg .gb-hero { --gb-gut: 16px; }
}
@media (max-width: 900px) {
  .government_bousai-sg .gb-hero { --cw: 60vw; height: auto; min-height: 100svh; max-height: none; padding: 118px 0 40px; display: flex; flex-direction: column; gap: 40px; }
  .gb-reel { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 100%; height: calc(var(--cw) * .67 + 8px); flex: none; order: 2; column-gap: 24px; -webkit-mask-image: none; mask-image: none; }
  .gb-reel .gb-reel__card { top: 50%; width: var(--cw); translate: 0 -50%; }
  .government_bousai-sg .gb-hero .f-hero__copy { position: relative; left: auto; right: auto; top: auto; translate: none; order: 1; padding: 0 var(--gb-gut); max-width: none; }
  .government_bousai-sg .gb-hero .gb-hero__catch { font-size: min(calc((100vw - 2 * var(--gb-gut)) / 10.4), 44px); letter-spacing: .02em; }
  .government_bousai-sg .gb-hero .f-hero__copy .f-answer { margin-top: 14px; font-size: 15px; line-height: 1.85; }
  .gb-hero__bg img:nth-child(1) { object-position: 22% 50%; }
  .gb-hero__bg img:nth-child(3) { object-position: 90% 50%; }
  .gb-reel__pause { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .gb-hero__bg img { animation: none; transition: none; }
  .gb-reel__pause { display: none; }
}

.government_bousai-sg { --fs-h3: clamp(18px, 1.6vw, 24px); --fs-lead: clamp(16px, 1.3vw, 19px); --fs-body: clamp(14px, 1.1vw, 16px); }
.government_bousai-sg .gb-hero .f-answer, .government_bousai-sg #message .gb-prose p, .government_bousai-sg #cta .gb-cta__txt p { font-size: var(--fs-lead); }
.government_bousai-sg #feature .gb-feat-txt h3, .government_bousai-sg #feature .gb-feat-txt h3 span, .government_bousai-sg #merit .f-step h3,
.government_bousai-sg #works .f-coll__lbl b, .government_bousai-sg #works .f-list__ttl, .government_bousai-sg #flow .f-list__ttl,
.government_bousai-sg #faq summary { font-size: var(--fs-h3); }
.government_bousai-sg #feature .gb-feat-txt p:not(.gb-feat__n), .government_bousai-sg #works .f-list__ttl > span, .government_bousai-sg #flow .f-list__ttl > span,
.government_bousai-sg #faq details > :not(summary) { font-size: var(--fs-body); }
.government_bousai-sg .gb-feat__n, .government_bousai-sg .gb-step__n, .government_bousai-sg #works .f-list__no, .government_bousai-sg #flow .f-list__no { font-size: 14px; }
.government_bousai-sg #works .f-coll__lbl i { font-size: 12px; }

.government_bousai-sg .a-ind {
	--a-gutter: calc(80 * clamp(.6664px, calc(100vw / 1440 * .9996), 1.3328px));
	--a-k: #000;
	--a-g700: #4B515B;
	--a-g500: #6C7584;
	--a-line: #DADDE2;
	--a-violet: var(--gb-main);
	--a-seg: var(--gb-main);
	--a-jp: "Noto Sans JP", "Hiragino Sans", sans-serif;
	--a-sans: "Inter", "Noto Sans JP", "Hiragino Sans", sans-serif;
	--d-xs: 120ms;
	--d-s: 200ms;
	--d-m: 300ms;
	--e-in: cubic-bezier(.4, 0, 1, 1);
	--e-out: cubic-bezier(.2, .7, .2, 1);
	--tx: 38px;
	--rx: 16px;
	--len: 400px;
	--mk: 10px;
	position: fixed;
	z-index: 700;
	top: 0;
	bottom: 0;
	left: 0;
	width: var(--a-gutter);
	margin: 0;
	padding: 0;
	pointer-events: none;
}
.government_bousai-sg .a-ind.is-dark {
	--a-k: #FFFFFF;
	--a-g700: #FFFFFF;
	--a-g500: rgba(255, 255, 255, .72);
	--a-line: rgba(255, 255, 255, .32);
	--a-violet: #FFFFFF;
	--a-seg: #FFFFFF;
}
.government_bousai-sg .a-ind__ttl { position: absolute; top: 50%; left: var(--tx); translate: -50% -50%; writing-mode: vertical-rl; font: 400 12px/1 var(--a-jp); letter-spacing: .1em; color: var(--a-g700); white-space: nowrap; opacity: 0; transition: opacity var(--d-s) var(--e-in); }
.government_bousai-sg .a-ind.is-moving .a-ind__ttl,
.government_bousai-sg .a-ind.is-preview .a-ind__ttl { opacity: 1; transition: opacity var(--d-m) var(--e-out); }
.government_bousai-sg .a-ind__pc { margin-inline-end: 8px; letter-spacing: 0; color: var(--a-g500); transition: opacity var(--d-s) var(--e-out); }
.government_bousai-sg .a-ind.is-other .a-ind__pc { opacity: 0; }
.government_bousai-sg .a-ind__pn { position: relative; font: 400 12px/1 var(--a-sans); font-variant-numeric: tabular-nums; text-combine-upright: all; }
.government_bousai-sg .a-ind.is-preview .a-ind__t { color: var(--a-k); }
.government_bousai-sg :is(.a-ind__rl, .a-ind__sp, .a-ind__hs) { position: absolute; left: var(--rx); width: 1px; }
.government_bousai-sg .a-ind__rl { background: var(--a-line); }
.government_bousai-sg .a-ind__sp { top: 0; height: 1px; background: var(--a-g500); transform-origin: 0 0; transition: transform var(--d-m) var(--e-out); }
.government_bousai-sg .a-ind__hs { top: 0; height: 1px; background: var(--a-k); transform-origin: 0 0; opacity: 0; transition: opacity var(--d-s) var(--e-in); }
.government_bousai-sg .a-ind.is-preview .a-ind__hs { opacity: 1; transition: opacity var(--d-xs) var(--e-out); }
.government_bousai-sg .a-ind__rg { margin: 0; padding: 0; list-style: none; }
.government_bousai-sg .a-ind__rg li { margin: 0; padding: 0; }
.government_bousai-sg .a-ind__rg li::before { content: none; }
.government_bousai-sg .a-ind__rg a { position: absolute; left: 0; width: calc(var(--tx) + 8px); pointer-events: auto; color: inherit; -webkit-tap-highlight-color: transparent; }
.government_bousai-sg .a-ind__rg a:focus-visible { outline: 2px solid var(--a-k); outline-offset: 2px; }
.government_bousai-sg .a-ind__rd { position: absolute; top: 0; left: var(--rx); display: flex; align-items: center; height: 21px; margin-top: -10px; will-change: transform; }
.government_bousai-sg .a-ind__mk { flex: none; width: var(--mk); height: 1px; background: var(--a-violet); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--d-s) var(--e-in); }
.government_bousai-sg .a-ind.is-moving .a-ind__mk,
.government_bousai-sg .a-ind.is-preview .a-ind__mk { transform: none; transition: transform var(--d-m) var(--e-out); }
html.a-drawer .government_bousai-sg .a-ind { visibility: hidden; }
html.no-js .government_bousai-sg .a-ind { display: none; }
@media screen and (max-width: 1100px) {
	.government_bousai-sg .a-ind { --a-gutter: 48px; --tx: 34px; --mk: 8px; }
}
@media screen and (max-width: 767px) {
	.government_bousai-sg .a-ind { --a-gutter: 28px; --tx: 15px; --rx: 4px; --len: 320px; --mk: 4px; }
	.government_bousai-sg .a-ind__t { display: none; }
	.government_bousai-sg .a-ind__pc { margin-inline-end: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.government_bousai-sg :is(.a-ind__sp, .a-ind__hs, .a-ind__mk, .a-ind__ttl) { transition: none !important; }
}
.a-foot{
  --u: clamp(.6664px, calc(100vw / 1440 * .9996), 1.3328px);
  --a-w: #fff; --a-k: #000; --a-k2: #222;
  --a-g900: #13151A; --a-g700: #4B515B; --a-g500: #6C7584; --a-g300: #B5BAC1; --a-g100: #E6E8EB;
  --a-k14: rgba(0,0,0,.08); --a-paper: #F5F6F8; --a-line: #DADDE2; --a-card-line: #C9CDD3; --a-violet: #512376; --a-violet-lt: #C9B5DE; --a-violet-dk: #3E1A5C; --a-violet-pill: rgba(81,35,118,.96);
  --a-sans: "Inter", "Noto Sans JP", "Hiragino Sans", sans-serif;
  --a-jp: "Noto Sans JP", "Hiragino Sans", sans-serif;
  --a-serif: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;

  --a-mono: "Noto Sans JP", "Hiragino Sans", sans-serif;
  --a-amono: "Noto Sans JP", "Hiragino Sans", sans-serif;
  --a-archivo: "Archivo", "Inter", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
  --e-out: cubic-bezier(.2,.7,.2,1); --e-io: cubic-bezier(.62,.16,.13,1.01); --e-in: cubic-bezier(.4,0,1,1);
  --d-xs: 120ms; --d-s: 200ms; --d-m: 300ms; --d-ml: 400ms; --d-l: 500ms; --d-xl: 700ms;
  --t: var(--d-m) var(--e-out);

  --e-rv: cubic-bezier(.22,1,.36,1); --d-rv: 800ms; --d-rule: 700ms;
  color-scheme: light;

  --a-gutter: calc(80 * var(--u));
  --a-sec: calc(120 * var(--u));
  --a-head: calc(80 * var(--u));
  --a-row: calc(64 * var(--u));
  --a-gap: calc(40 * var(--u));
  --a-cta: calc(160 * var(--u));
  --a-foot: calc(96 * var(--u));
}
.a-container {padding: 0 var(--a-gutter);}
.a-foot__copy {font-variant-numeric: tabular-nums;}
.a-arr {font-family: var(--a-sans); opacity: .52;}
.a-ts18 .a-nw {white-space: nowrap;}
.a-foot {background: var(--a-w); color: var(--a-k); border-top: 1px solid var(--a-k14); padding: var(--a-foot) 0 calc(40 * var(--u)); font-family: var(--a-jp);}
.a-foot__cols {display: grid; grid-template-columns: minmax(0, 23fr) minmax(0, 21fr) minmax(0, 15fr) minmax(0, 19fr) minmax(0, 26fr); gap: 48px var(--a-gap);}
.a-foot__h {font-size: max(12px, calc(12 * var(--u))); line-height: max(18px, calc(18 * var(--u))); color: var(--a-g500); margin: 0 0 calc(16 * var(--u));}
.a-foot__list {display: flex; flex-direction: column; gap: calc(12 * var(--u)); align-items: flex-start; word-break: auto-phrase; overflow-wrap: anywhere;}
.a-foot__list li {font-size: max(13px, calc(14 * var(--u))); line-height: max(20px, calc(21 * var(--u))); padding: 2px 0; max-width: 100%;}
.a-foot__list a {color: var(--a-k);}
.a-foot__list .a-nb {vertical-align: top;}
.a-nb {display: inline-block;}
.a-foot__list a.is-tap {text-decoration: underline;}
@media (hover: hover) {
  .a-foot__list a:hover {text-decoration: underline;}
}
.a-foot__list .a-arr {font-size: 12px; margin-left: calc(6 * var(--u));}
.a-foot__mark {display: block; margin: calc(72 * var(--u)) 0 calc(40 * var(--u)); color: var(--a-violet);}
.a-foot__mark {position: relative;}
.a-foot__mark svg {display: block; width: 100%; height: auto;}
.a-foot .a-container {position: relative;}
.a-foot__mark svg * {fill: currentColor;}
.a-foot__bottom {position: relative; display: flex; justify-content: space-between; align-items: center; gap: calc(24 * var(--u)); padding-top: calc(24 * var(--u)); word-break: auto-phrase; overflow-wrap: anywhere;}
.a-foot__copy {font-family: var(--a-mono); font-size: 12px; line-height: 16px; color: var(--a-g500); letter-spacing: .02em;}
.a-foot__addr {font-size: 12px; line-height: 18px; color: var(--a-g700);}
@media (max-width: 767px) {
  .a-foot__co {display: block;}
  .a-foot__gap {display: none;}
}
.a-foot__sns {display: flex; gap: 16px; font-size: 12px; line-height: 18px; color: var(--a-g700);}
.a-foot__sns a.is-tap {color: var(--a-k); text-decoration: underline;}
@media (hover: hover) {
  .a-foot__sns a:hover {color: var(--a-k); text-decoration: underline;}
}
@media (min-width: 1101px) and (max-width: 1439px) {
  .a-foot__cols {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
.a-foot__bottom::before {content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--rl, var(--a-k14)); transform-origin: 0 50%; pointer-events: none;}
@media (max-width: 1100px) {
  .a-foot__cols {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .a-foot__bottom {flex-direction: column; align-items: flex-start; gap: 12px;}
}
@media (min-width: 768px) and (max-width: 1100px) {
  .a-foot__cols {grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 767px) {
  .a-foot__cols {grid-template-columns: minmax(0, 1fr);}
  .a-foot__mark {margin: 40px 0 28px;}
}
.a-nw {white-space: nowrap;}
.a-foot__tg {appearance: none; display: inline; margin: 0; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: default;}
.a-foot__tg:disabled {color: inherit; opacity: 1;}
@media (max-width: 767px) {
  .a-foot__cols.is-acc {gap: 0;}
  .a-foot__cols.is-acc .a-foot__col {border-bottom: 1px solid var(--a-k14);}
  .a-foot__cols.is-acc .a-foot__h {margin: 0;}
  .a-foot__cols.is-acc .a-foot__tg {display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; font: 500 15px/1.3 var(--a-jp); color: var(--a-k); cursor: pointer;}
  .a-foot__cols.is-acc .a-foot__tg::after {content: ""; width: 8px; height: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; rotate: 45deg; translate: 0 -.5px; transition: rotate var(--t), translate var(--t);}
  .a-foot__cols.is-acc .is-open .a-foot__tg::after {rotate: 225deg; translate: 0 2px;}
  .a-foot__cols.is-acc .a-foot__list {overflow: hidden; padding-bottom: 20px;}
  .a-foot__cols.is-acc .a-foot__list[hidden] {display: none;}
}
@media (max-width: 1100px) { .a-foot { --a-gutter: 48px; --a-gap: 32px; --a-foot: 72px; } }
@media (max-width: 767px) { .a-foot { --a-gutter: 28px; --a-gap: 24px; --a-foot: 64px; } }
:where(.a-foot) :is(ul, li, p) { margin: 0; padding: 0; list-style: none; }
:where(.a-foot) li::before { content: none; }
.a-foot__cv {position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none;}
.a-foot__cv--all {z-index: 1;}
.a-foot.is-scan .a-foot__mark[data-foot="1"] svg {-webkit-mask-image: linear-gradient(90deg, #000 var(--sa, -1px), transparent var(--sa, -1px), transparent var(--sb, -1px), #000 var(--sb, -1px)); mask-image: linear-gradient(90deg, #000 var(--sa, -1px), transparent var(--sa, -1px), transparent var(--sb, -1px), #000 var(--sb, -1px));}
.a-foot__mark::after { content: ""; position: absolute; inset: -12px; z-index: 2; pointer-events: none; opacity: 0; transform: scale(1.03);
  --k: linear-gradient(var(--a-violet), var(--a-violet));
  background: var(--k) left top / 10px 1px, var(--k) left top / 1px 10px, var(--k) right top / 10px 1px, var(--k) right top / 1px 10px,
    var(--k) left bottom / 10px 1px, var(--k) left bottom / 1px 10px, var(--k) right bottom / 10px 1px, var(--k) right bottom / 1px 10px;
  background-repeat: no-repeat; transition: opacity 200ms ease, transform 300ms cubic-bezier(.2, .7, .2, 1); }
.a-foot__mark:hover::after, .a-foot__mark:focus-visible::after { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .a-foot__mark::after { transition: none; } }
.a-foot .a-foot__mark:hover, .a-foot .a-foot__mark:focus { color: var(--a-violet); }
.a-foot .a-foot__list a:hover, .a-foot .a-foot__sns a:hover { color: var(--a-k); }
.gb-rz { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 900; }
.is-rz, .is-rz * { -webkit-text-fill-color: transparent !important; }
.a-foot__list a, .a-foot__sns a { position: relative; }
.a-foot__list a::after, .a-foot__sns a::after { content: ""; position: absolute; inset: -6px -10px; pointer-events: none; opacity: 0; transform: scale(1.06);
  --k: linear-gradient(var(--a-violet), var(--a-violet));
  background: var(--k) left top / 6px 1px, var(--k) left top / 1px 6px, var(--k) right top / 6px 1px, var(--k) right top / 1px 6px,
    var(--k) left bottom / 6px 1px, var(--k) left bottom / 1px 6px, var(--k) right bottom / 6px 1px, var(--k) right bottom / 1px 6px;
  background-repeat: no-repeat; transition: opacity 200ms ease, transform 300ms cubic-bezier(.2, .7, .2, 1); }
@media (hover: hover) { .a-foot__list a:hover::after, .a-foot__sns a:hover::after { opacity: 1; transform: none; } }
.a-foot__list a:focus-visible::after, .a-foot__sns a:focus-visible::after { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .a-foot__list a::after, .a-foot__sns a::after { transition: none; } }

.government_bousai-sg .gb-hero .f-hero__copy .f-answer { max-width: 34em; margin: clamp(20px, 2.4vw, 32px) 0 0; padding: 0; border: 0; color: #ffffff; text-shadow: 0 2px 16px rgba(0, 0, 0, .25); }
.government_bousai-sg .gb-hero .f-hero__copy .gb-btns { margin-top: clamp(24px, 3vw, 40px); justify-content: flex-start; }
@media (min-width: 901px) { .government_bousai-sg .gb-hero .gb-btns .f-btn { min-width: min(200px, calc(50% - 6px)); } }
.government_bousai-sg .gb-hero .gb-btn--line { color: #ffffff; border-color: rgba(255, 255, 255, .7); }

html body.government_bousai-sg { overflow-x: clip; overflow-y: visible; }
.government_bousai-sg #content :is(p, li, dd, summary, .f-list__ttl > span) { word-break: normal; word-break: auto-phrase; overflow-wrap: break-word; }
@media (max-width: 900px) { .government_bousai-sg .gb-hero { align-items: stretch; } }
@media (max-width: 1100px) { html.a-drawer .government_bousai-sg .a-hd.is-pill .a-hd__cta { background: var(--gb-main); color: #ffffff; } }


.gb-more { display: none; }
@media (max-width: 900px) {
  #works:not(.gb-measure) .f-list:not(.is-open) > li:nth-child(n+4) { display: none; }
  .gb-more { display: flex; justify-content: center; width: 100%; margin: 16px 0 8px; padding: 14px 16px; border: 1px solid var(--f-line); border-radius: 999px; background: #ffffff; color: var(--f-ink-2); font: 700 14px/1.4 var(--f-jp); letter-spacing: .08em; cursor: pointer; }
  .gb-more:focus-visible { outline: 2px solid var(--gb-main); outline-offset: 2px; }
}

.a-foot .a-foot__sns { gap: 4px; margin-inline: -12px; }
.a-foot .a-foot__sns a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; }
.a-foot__sns a::after { inset: 6px 2px; }
.government_bousai-sg .gb-hero .gb-btns .f-btn:hover, .government_bousai-sg .gb-hero .gb-btns .f-btn:focus-visible { background: #ffffff; border-color: #ffffff; color: var(--gb-main); }

@media (max-width: 1100px) {
  .government_bousai-sg .a-hd .a-hd__in { gap: 12px; padding: 0 16px; }
  .government_bousai-sg .a-hd .a-hd__quick { order: 2; }
  .government_bousai-sg .a-hd .a-hd__logo { margin-right: var(--hd-mr0, auto); transition: margin-left var(--d-ml) var(--e-out), margin-right var(--d-ml) var(--e-out); }
  .government_bousai-sg .a-hd .a-hd__logo svg { height: 14px; }
  .government_bousai-sg .a-hd .a-hd__menu { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; width: 44px; padding: 0; }
  .government_bousai-sg .a-hd.is-pill .a-hd__in { padding: 0 9px 2px; gap: 12px; }
  .government_bousai-sg .a-hd.is-pill .a-hd__logo { margin-left: 9px; margin-right: var(--hd-mr1, auto); transition: margin-left var(--d-l) var(--e-io), margin-right var(--d-l) var(--e-io); }
  .government_bousai-sg .a-hd.is-pill .a-hd__logo svg { height: 14px; }
  .government_bousai-sg .a-hd.is-pill .a-hd__quick { margin-left: auto; }
  .government_bousai-sg .a-hd .gb-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .a-burger { position: relative; display: block; width: 20px; height: 14px; }
  .a-burger i { position: absolute; left: 0; right: 0; height: 1px; border-radius: .5px; background: currentColor; transition: top var(--d-m) var(--e-out), transform var(--d-m) var(--e-out), opacity var(--d-s) var(--e-out); }
  .a-burger i:nth-child(1) { top: 0; } .a-burger i:nth-child(2) { top: 6px; } .a-burger i:nth-child(3) { top: 12px; }
  html.a-drawer .a-burger i:nth-child(1) { top: 6px; transform: rotate(45deg); }
  html.a-drawer .a-burger i:nth-child(2) { opacity: 0; }
  html.a-drawer .a-burger i:nth-child(3) { top: 6px; transform: rotate(-45deg); }
  html.a-drawer .government_bousai-sg .a-hd .a-hd__quick { opacity: 1; visibility: visible; pointer-events: auto; }
  .government_bousai-sg .a-hd .a-ni--cta { display: none; }
  .government_bousai-sg .a-hd .a-hd__nav { z-index: -1; }
  html.a-drawer .government_bousai-sg .a-hd.is-pill .a-hd__in { color: var(--a-violet); background-color: transparent; box-shadow: 0 10px 34px rgba(0, 130, 152, 0);
    transition: background-color var(--d-ml) cubic-bezier(.37, 0, .63, 1), box-shadow var(--d-ml) cubic-bezier(.37, 0, .63, 1), color 0s linear var(--d-s); }
  html.a-drawer-out .government_bousai-sg .a-hd.is-pill .a-hd__in { transition: background-color var(--d-ml) cubic-bezier(.37, 0, .63, 1), box-shadow var(--d-ml) cubic-bezier(.37, 0, .63, 1), color 0s linear var(--d-s); }
  html.a-drawer-out .government_bousai-sg .a-hd.is-pill .a-hd__cta { transition: background-color var(--d-ml) cubic-bezier(.37, 0, .63, 1), color 0s linear var(--d-s), transform var(--d-s) var(--e-out); }
  html.a-drawer:not(.a-drawer-ptr) .government_bousai-sg .a-hd.is-pill :focus-visible { outline-color: var(--a-k); }
}
@media (max-width: 767px) {
  .government_bousai-sg .a-hd.is-pill .a-hd__in { width: min(300px, calc(100% - 32px)); padding: 0 9px 2px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .a-burger i { transition: none; } }

/* スマホの左右の余白は corp.vacan.com のトップ（--a-gutter 28px）に合わせる。インジケーターの % と本文が重ならない */
@media (max-width: 767px) { body.government_bousai-sg { --f-pad: 28px; } .government_bousai-sg .gb-hero { --gb-gut: 28px; } }
