@charset "utf-8";



/*-- 

reset

====================================================== --*/

/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:after,
:before {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

body {
	margin: 0
}

main {
	display: block
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: inherit;
	font-weight: inherit;
	margin: 0
}

address,
blockquote,
dl,
figure,
form,
iframe,
ol,
p,
pre,
table,
ul {
	margin: 0
}

ol,
ul {
	padding: 0;
	list-style: none
}

dt {
	font-weight: 400;
	font-weight: 500
}

dd {
	margin-left: 0
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit
}

pre {
	font-family: monospace;
}

address {
	font-style: inherit
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit
}

abbr[title] {
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: 400
}

code,
kbd,
samp {
	font-family: monospace;
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.45em
}

embed,
iframe,
img,
object {
	vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit
}

[type=checkbox] {
	-webkit-appearance: checkbox;
	appearance: checkbox
}

[type=radio] {
	-webkit-appearance: radio;
	appearance: radio
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none
}

[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled],
button[disabled] {
	cursor: default
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
	outline: 1px dotted ButtonText
}

select::-ms-expand {
	display: none
}

fieldset,
option {
	padding: 0
}

fieldset {
	margin: 0;
	min-width: 0
}

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

label[for] {
	cursor: pointer
}

details {
	display: block
}

summary {
	display: list-item
}

[contenteditable] {
	outline: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

caption {
	text-align: left
}

td,
th {
	vertical-align: top;
	padding: 0
}

th {
	text-align: left;
	font-weight: 700
}

template {
	display: none
}



/*-- 

icon font

====================================================== --*/



/*-- 

root

====================================================== --*/

:root {
	--c-black: #000;
	--c-white: #FFF;
	--c-EE: #EEEEEE;
	--c-DD: #DDDDDD;
	--c-CC: #CCCCCC;
	--c-BB: #BBBBBB;
	--c-99: #999999;
	--c-48: #484848;
	--c-33: #333333;
	--c-navy: #232C3C;
	--c-blue: #0076FF;
	--c-light-navy: #626B7C;
	--c-red: #EE0000;
	--c-green: #0B8600;
	--c-brown: #AE4F0C;
	--c-light-yellow: #FFEE94;
	--c-beige: #E7D0A9;

	/* ボタンカラー */
	--c-btn-black-grad: linear-gradient(0deg, rgba(17, 17, 17, 1) 0%, rgba(102, 102, 102, 1) 100%);
	--c-btn-black-border: #666666;
	--c-btn-black-inSide_shadow: #999999;
	--c-btn-black-outSide_shadow: #444444;
	--c-btn-black-on: #555555;

	--c-btn-white-grad: linear-gradient(0deg, rgba(221, 221, 221, 1) 0%, rgba(255, 255, 255, 1) 100%);
	--c-btn-white-border: #CCCCCC;
	--c-btn-white-inSide_shadow: #FFFFFF;
	--c-btn-white-outSide_shadow: #999999;
	--c-btn-white-on: #D4D4D4;

	--c-btn-red-grad: linear-gradient(0deg, rgba(159, 0, 0, 1) 0%, rgba(222, 43, 43, 1) 100%);
	--c-btn-red-border: #BA0000;
	--c-btn-red-inSide_shadow: #FF0000;
	--c-btn-red-outSide_shadow: #670000;
	--c-btn-red-on: #770000;

	--c-btn-green-grad: linear-gradient(0deg, rgba(8, 96, 0, 1) 0%, rgba(39, 152, 29, 1) 100%);
	--c-btn-green-border: #13650C;
	--c-btn-green-inSide_shadow: #21B215;
	--c-btn-green-outSide_shadow: #064E00;
	--c-btn-green-on: #054600;

	--c-btn-brown-grad: linear-gradient(0deg, rgba(152, 63, 0, 1) 0%, rgba(196, 95, 24, 1) 100%);
	--c-btn-brown-border: #9A4700;
	--c-btn-brown-inSide_shadow: #F78829;
	--c-btn-brown-outSide_shadow: #813C00;
	--c-btn-brown-on: #722F00;

	--c-btn-blue-grad: linear-gradient(0deg, rgba(0, 88, 152, 1) 0%, rgba(0, 107, 185, 1) 100%);
	--c-btn-blue-border: #005898;
	--c-btn-blue-inSide_shadow: #3C9EE5;
	--c-btn-blue-outSide_shadow: #004F88;
	--c-btn-blue-on: #00487E;

	--c-btn-yellow-grad: linear-gradient(0deg, rgba(232, 218, 144, 1) 0%, rgba(255, 238, 148, 1) 100%);
	--c-btn-yellow-border: #FFEE94;
	--c-btn-yellow-inSide_shadow: #E8DA90;
	--c-btn-yellow-outSide_shadow: #FFEE94;
	--c-btn-yellow-on: #FFEE94;


	/* ボタン押下時 */
	--c-btn-on-text1: #E0E0E0;
	--c-btn-on-text2: #555555;
	--c-btn-on-inSide_shadow: #000000;
}



/*-- 

common

====================================================== --*/

/*-- html body --*/

html {
	font-size: 62.5%;
	touch-action: manipulation;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.8rem;
	word-wrap: break-word;
	word-break: break-all;
	overflow-wrap: break-word;
	color: var(--c-black);
	background: var(--c-white);

	overscroll-behavior-y: none;
	/* #9780 disable Pull-to-Refresh */
}

body.fs_110 {
	font-size: 3rem;
}

body.fs_120 {
	font-size: 3.3rem;
}

body.fs_130 {
	font-size: 3.6rem;
}

/*-- font-family --*/

body,
select,
button,
input {
	font-weight: 500;
}

/* b */

strong,
b {
	font-weight: 500;
}

sup {
	margin: 0 0.15em;
}

/*-- a --*/

a {
	color: var(--c-black);
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

/*-- focus --*/

a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
button:focus-visible {
	outline: 0.2rem solid var(--c-black);
	outline-offset: -0.1rem;
}


/*-- img --*/

img {
	-webkit-backface-visibility: hidden;
	/* chrome */
}

/*-- other --*/

a,
button {
	opacity: 1;
	cursor: pointer;
	user-select: none;
	/* 選択を禁止する */
}

.clearfix::after {
	content: '';
	display: block;
	clear: both;
}




/*-- 

container

====================================================== --*/
.container {
	position: relative;
	overflow: hidden;
	user-select: none;
}




/*-- 

common_main

====================================================== --*/
#common_main {
	height: calc(100vh - 21rem);
	margin-top: 9rem;
	position: relative;
	z-index: 10;
}




/*-- 

common_header

====================================================== --*/
#common_header {
	background-color: var(--c-navy);
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 100;
}

.header_inner {
	display: flex;
	justify-content: space-between;
	height: 9rem;
	flex-wrap: wrap;
}

.header_inner .header_item {
	flex: 0 0 auto;
	min-width: 15%;
	max-width: 25%;
	height: 100%;
	border-right: 0.2rem solid var(--c-light-navy);
	padding: 0 1vw;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header_inner .header_item:last-child {
	border: none;
}

.header_inner .header_item.date {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex: 1 1 auto;
	min-width: 20%;
	max-width: none;
}

.header_inner .header_item.date time {
	color: var(--c-white);
	margin-right: 0.5vw;
}

.header_inner .header_item .btn {
	width: 100%;
	max-width: 20vw;
	height: 6rem;
	font-size: 80%;
}

.header_inner .header_item .btn a .label {
	font-weight: 700;
}

.header_inner .header_item.gps .badge span {
	font-size: 2.4rem;
}

body.fs_110 .header_inner .header_item.gps .badge span {
	font-size: 2.6rem;
}

body.fs_120 .header_inner .header_item.gps .badge span {
	font-size: 2.9rem;
}

body.fs_130 .header_inner .header_item.gps .badge span {
	font-size: 3.1rem;
}

.header_inner .header_item.update .badge {
	left: 70%;
}

/*-- 

common_footer

====================================================== --*/
#common_footer {
	background-color: var(--c-navy) !important;
	box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
	width: 100%;
	position: fixed;
	bottom: 0;
	z-index: 100;
}

.footer_inner {
	display: flex;
	justify-content: space-between;
	height: 12rem;
	flex-wrap: wrap;
}

.footer_inner .footer_item {
	flex: 0 0 auto;
	min-width: 5%;
	max-width: 30%;
	border-right: 0.2rem solid var(--c-light-navy);
	padding: 0 1vw;
	display: flex;
	align-items: center;
	justify-content: center;
}


.footer_inner .footer_item:last-child {
	border: none;
}

.footer_inner .footer_item.current {
	background-color: var(--c-white);
}


body.mode-info .footer_inner .footer_item.info {
	background-color: var(--c-white);
}


.footer_inner .footer_item.map {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 auto;
	min-width: 5%;
	max-width: none;
}

.footer_inner .footer_item.scroll {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	flex: 0 0 auto;
	min-width: 12%;
	max-width: 15%;
}

.footer_inner .footer_item.scroll .btn {
	width: 80%;
	max-width: 6rem;
	height: 6rem;
}

/* body.mode-map .footer_inner .footer_item.map {
	background-color: var(--c-white);
} */


.footer_inner .footer_item .btn {
	width: 100%;
	max-width: 22vw;
	height: 8rem;
}

.footer_inner .footer_item .btn a .label {
	font-size: 3.6rem;
	font-weight: 500;
}

body.fs_110 .footer_inner .footer_item .btn a .label {
	font-size: 4rem;
}

body.fs_120 .footer_inner .footer_item .btn a .label {
	font-size: 4.3rem;
}

body.fs_130 .footer_inner .footer_item .btn a .label {
	font-size: 4.7rem;
}

.footer_inner .footer_item .map_type {
	display: flex;
	column-gap: 1vw;
	flex-wrap: wrap;
}

.footer_inner .footer_item .map_type .btn {
	width: auto;
	min-width: 8vw;
	height: 6rem;
}

.footer_inner .footer_item .map_type .btn a .label {
	font-size: 2.8rem;
	font-weight: 500;
	margin-left: 0;
}

body.fs_110 .footer_inner .footer_item .map_type .btn a .label {
	font-size: 3rem;
}

body.fs_120 .footer_inner .footer_item .map_type .btn a .label {
	font-size: 3.3rem
}

body.fs_130 .footer_inner .footer_item .map_type .btn a .label {
	font-size: 3.6rem;
}


/*-- 

table_content

====================================================== --*/
.table_content {}




/*-- 

text_list

====================================================== --*/
.text_list li {}


.error_message {
	color: var(--c-red);
	font-weight: 700;
}

.success_message {
	color: var(--c-green);
	font-weight: 700;
}