/* 全体定義 */
:root {
	/* 色定義 */
	/* #000000 */
	--color_black: 0, 0, 0;
	/* #0033cc */
	--color_entrance: 0, 51, 204;
	/* #00aaff */
	--color_link: 0, 170, 255;
	/* #00bf00 */
	--color_send_button_gradetion_start: 0, 191, 0;
	/* #35b334 */
	--color_mail_setting_base_color: 53, 179, 52;
	/* #33291F */
	--color_overlay: 51, 41, 31;
	/* #4d4d4d */
	--color_check_box_checked_before_border: 77, 77, 77;
	/* #595959 */
	--color_font: 89, 89, 89;
	/* #737373 */
	--color_remarks_font: 115, 115, 115;
	/* #74d941 */
	--color_send_button_gradetion_end: 116, 217, 65;
	/* #80664c */
	--color_off_toggle: 128, 102, 76;
	/* #808080 */
	--color_off_button: 128, 128, 128;
	/* #8ae68a */
	--color_send_button_border: 138, 230, 138;
	/* #981af9 */
	--color_etc_exclusive: 152, 26, 249;
	/* #c00000 */
	--color_important_notice: 192, 0, 0;
	/* #bfbfbf */
	--color_input_border: 191, 191, 191;
	/* #cc0000 */
	--color_exit: 204, 0, 0;
	/* #d94174 */
	--color_note_font: 217, 65, 116;
	/* #e3445e */
	--color_delete_account_button: 227, 68, 94;
	/* #e6e6e6 */
	--color_back_button_gradetion_start: 230, 230, 230;
	/* #f0f0f0 */
	--color_input_gradetion_start: 240, 240, 240;
	/* #ede9e6 */
	--color_static_base: 237, 233, 230;
	/* #f26500 */
	--color_function_button_gradetion_start: 242, 101, 0;
	/* #ff8000 */
	--color_base_color: 255, 128, 0;
	/* #ff8600 */
	--color_signup_start_button_gradetion_start: 255, 134, 0;
	/* #ffba00 */
	--color_signup_start_button_gradetion_end: 255, 186, 0;
	/* #ff9500 */
	--color_thin_border_base_color: 255, 149, 0;
	/* #ff9a33 */
	--color_thin_base_color: 255, 154, 51;
	/* #ffcc99 */
	--color_price_detail_border: 255, 204, 153;
	/* #ffecdb */
	--color_table_border: 255, 236, 219;
	/* #ffa019 */
	--color_function_button_gradetion_end: 255, 160, 25;
	/* #ffd2a6 */
	--color_function_button_border: 255, 210, 166;
	/* #ffe6cc */
	--color_link_underline: 255, 230, 204;
	/* #ffd766 */
	--color_signup_start_button_border: 255, 215, 102;
	/* #fde9d7 */
	--color_white_peach: 253, 233, 215;
	/* #fff2e6 */
	--color_label: 255, 242, 230;
	/* #fff7ee */
	--color_request_required_item_border: 255, 247, 238;
	/* #ffffff */
	--color_white: 255, 255, 255;

	/* 規制色定義 */
	/* 通行止め #000000 */
	--color_closed: 0, 0, 0;
	/* ランプ規制 #bf4c7c */
	--color_ramp: 191, 76, 124;
	/* チェーン規制 #de4278 */
	--color_snow_chain: 222, 66, 120;
	/* 冬タイヤ等装着 #216bd9 */
	--color_snow_tires: 33, 107, 217;
	/* 片側交互通行 #2db32d */
	--color_one_lane: 45, 179, 45;
	/* 渋滞 #ff9400 */
	--color_jam: 255, 148, 0;
	/* 事故・火災 #d90000 */
	--color_accident: 217, 0, 0;
	/* 除雪作業 #ffacff */
	--color_snow_plow: 255, 172, 255;
	/* 凍結防止剤散布 #cccc00 */
	--color_antifreeze: 204, 204, 0;
	/* 大雨警戒区間 #e63900 */
	--color_rain_caution: 230, 57, 0;
	/* 調整中 #999999 */
	--color_under_adjustment: 153, 153, 153;

	/* 文字の太さ */
	--font_weight_normal: 400;
	--font_weight_semi_bold: 500;
	--font_weight_bold: 700;

	/* フォントサイズ */
	--font_size_x_small: 12px;
	--font_size_small: 13px;
	--font_size_medium: 14px;
	--font_size_large: 16px;
	--font_size_x_large: 18px;
	--font_size_xx_large: 20px;
	--font_size_xxx_large: 24px;
	--font_size_xxxx_large: 26px;

	/* 行間 */
	--line_height_x_small: 14px;
	--line_height_small: 15px;
	--line_height_medium: 16px;
	--line_height_large: 20px;
	--line_height_x_large: 22px;
	--line_height_xx_large: 30px;
	--line_height_xxx_large: 36px;
	
	/* 不透明度 */
	--opacity_01: 0.1;

	/* 色の不透明度 */
	--alpha_00: 0.0;
	--alpha_01: 0.1;
	--alpha_02: 0.2;
	--alpha_025: 0.25;
	--alpha_03: 0.3;
	--alpha_04: 0.4;
	--alpha_05: 0.5;
	--alpha_06: 0.6;
	--alpha_065: 0.65;
	--alpha_075: 0.75;
	--alpha_08: 0.8;
	--alpha_085: 0.85;
	--alpha_09: 0.9;
	--alpha_095: 0.95;
	--alpha_10: 1.0;

	/* 縮小率 */
	--tap_transform_scale: 0.9;

	/* 角丸定義 */
	--border_radius_3: 3px;
	--border_radius_4: 4px;
	--border_radius_8: 8px;
	--border_radius_16: 16px;
	--border_radius_999: 999px;

	/* 影の色 */
	--card_shadow_color: rgba(var(--color_overlay), var(--alpha_025));
	--shadow_color: rgba(var(--color_overlay), var(--alpha_04));
	--button_tap_shadow_color: rgba(var(--color_black), var(--alpha_025));

	/* 枠線定義 */
	--table_border: 1px solid rgba(var(--color_table_border), var(--alpha_10));
}

/* 共通レイアウトのクラス定義 */
/* 文字色定義 */
.cm_common_color_black {
	color: rgba(var(--color_black), var(--alpha_10));
}
.cm_common_color_link {
	color: rgba(var(--color_link), var(--alpha_10));
}
.cm_common_color_mail_setting_base_color {
	color: rgba(var(--color_mail_setting_base_color), var(--alpha_10));
}
.cm_common_color_font {
	color: rgba(var(--color_font), var(--alpha_10));
}
.cm_common_color_remarks_font {
	color: rgba(var(--color_remarks_font), var(--alpha_10));
}
.cm_common_color_entrance {
	color: rgba(var(--color_entrance), var(--alpha_10));
}
.cm_common_color_etc_exclusive {
	color: rgba(var(--color_etc_exclusive), var(--alpha_10));
}
.cm_common_color_exit {
	color: rgba(var(--color_exit), var(--alpha_10));
}
.cm_common_color_note_font {
	color: rgba(var(--color_note_font), var(--alpha_10));
}
.cm_common_color_base_color {
	color: rgba(var(--color_base_color), var(--alpha_10));
}
.cm_common_color_label {
	color: rgba(var(--color_label), var(--alpha_10));
}
.cm_common_color_white {
	color: rgba(var(--color_white), var(--alpha_10));
}

/* 文字色定義(規制色) */
.cm_common_color_kisei_closed {
	color: rgba(var(--color_closed), var(--alpha_10));
}
.cm_common_color_kisei_ramp {
	color: rgba(var(--color_ramp), var(--alpha_10));
}
.cm_common_color_kisei_snowTires {
	color: rgba(var(--color_snow_tires), var(--alpha_10));
}
.cm_common_color_kisei_oneLane {
	color: rgba(var(--color_one_lane), var(--alpha_10));
}
.cm_common_color_kisei_jam {
	color: rgba(var(--color_jam), var(--alpha_10));
}
.cm_common_color_kisei_accident {
	color: rgba(var(--color_accident), var(--alpha_10));
}
.cm_common_color_kisei_snowPlow {
	color: rgba(var(--color_snow_plow), var(--alpha_10));
}
.cm_common_color_kisei_antifreeze {
	color: rgba(var(--color_antifreeze), var(--alpha_10));
}
.cm_common_color_kisei_underAdjustment {
	color: rgba(var(--color_under_adjustment), var(--alpha_10));
}
.cm_common_color_kisei_snowChain {
	color: rgba(var(--color_snow_chain), var(--alpha_10));
}
.cm_common_color_kisei_rainCaution {
	color: rgba(var(--color_rain_caution), var(--alpha_10));
}

/* 背景色定義 */
.cm_common_background_color_watermark {
	background-color: rgba(var(--color_black), var(--alpha_05));
}
.cm_common_background_color_lable {
	background-color: rgba(var(--color_black), var(--alpha_06));
}
.cm_common_background_color_mail_setting_base_color {
	background-color: rgba(var(--color_mail_setting_base_color), var(--alpha_10));
}
.cm_common_background_color_map_list {
	background-color: rgba(var(--color_overlay), var(--alpha_05));
}
.cm_common_background_color_myroute_list {
	background-color: rgba(var(--color_overlay), var(--alpha_065));
}
.cm_common_background_color_modal_overlay {
	background-color: rgba(var(--color_overlay), var(--alpha_075));
}
.cm_common_background_color_map_icon {
	background-color: rgba(var(--color_overlay), var(--alpha_085));
}
.cm_common_background_color_legend {
	background-color: rgba(var(--color_overlay), var(--alpha_095));
}
.cm_common_background_color_off_toggle {
	background-color: rgba(var(--color_off_toggle), var(--alpha_10));
}
.cm_common_background_color_off_button {
	background-color: rgba(var(--color_off_button), var(--alpha_10));
}
.cm_common_background_color_important_notice {
	background-color: rgba(var(--color_important_notice), var(--alpha_10));
}
.mr_myroute_background_color_account_delete_title {
	background-color: rgba(var(--color_delete_account_button), var(--alpha_10));
}
.cm_common_background_color_traffic_info_area {
	background-color: rgba(var(--color_base_color), var(--alpha_01));
}
.cm_common_background_color_base_color {
	background-color: rgba(var(--color_base_color), var(--alpha_10));
}
.cm_common_background_color_static_base {
	background-color: rgba(var(--color_static_base), var(--alpha_10));
}
.cm_common_background_color_table_title {
	background-color: rgba(var(--color_thin_base_color), var(--alpha_10));
}
.cm_common_background_color_label {
	background-color: rgba(var(--color_label), var(--alpha_10));
}
.cm_common_background_color_mail_setting_label {
	background-color: rgba(var(--color_white), var(--alpha_025));
}
.cm_common_background_color_legend_panel {
	background-color: rgba(var(--color_white), var(--alpha_03));
}
.cm_common_background_color_explanatory_text_area {
	background-color: rgba(var(--color_white), var(--alpha_05));
}
.cm_common_background_color_SAPA_table {
	background-color: rgba(var(--color_white), var(--alpha_075));
}
.cm_common_background_color_function_description {
	background-color: rgba(var(--color_white), var(--alpha_08));
}
.cm_common_background_color_mail_setting {
	background-color: rgba(var(--color_white), var(--alpha_085));
}
.cm_common_background_color_input_field {
	background-color: rgba(var(--color_white), var(--alpha_09));
}
.cm_common_background_color_white {
	background-color: rgba(var(--color_white), var(--alpha_10));
}
.cm_common_background_color_delete_account_request_button {
	background: linear-gradient(90deg, rgba(var(--color_delete_account_button), var(--alpha_00)) 0%, rgba(var(--color_delete_account_button), var(--alpha_10)) 70%);
}
.cm_common_background_color_back_button {
	background: linear-gradient(0deg, rgba(var(--color_back_button_gradetion_start), var(--alpha_10)) 0%, rgba(var(--color_white), var(--alpha_10)) 100%);	
}
.cm_common_background_color_send_button {
	background: linear-gradient(0deg, rgba(var(--color_send_button_gradetion_start), var(--alpha_10)) 0%, rgba(var(--color_send_button_gradetion_end), var(--alpha_10)) 100%);	
}
.cm_common_background_color_function_button {
	background: linear-gradient(0deg, rgba(var(--color_function_button_gradetion_start), var(--alpha_10)) 0%, rgba(var(--color_function_button_gradetion_end), var(--alpha_10)) 100%);	
}
.cm_common_background_color_signup_start_button {
	background: linear-gradient(0deg, rgba(var(--color_signup_start_button_gradetion_start), var(--alpha_10)) 0%, rgba(var(--color_signup_start_button_gradetion_end), var(--alpha_10)) 100%);
}

/* 背景色定義(規制色) */
.cm_common_background_color_kisei_closed {
	background-color: rgba(var(--color_closed), var(--alpha_10));
}
.cm_common_background_color_kisei_ramp {
	background-color: rgba(var(--color_ramp), var(--alpha_10));
}
.cm_common_background_color_kisei_snowTires {
	background-color: rgba(var(--color_snow_tires), var(--alpha_10));
}
.cm_common_background_color_kisei_oneLane {
	background-color: rgba(var(--color_one_lane), var(--alpha_10));
}
.cm_common_background_color_kisei_jam {
	background-color: rgba(var(--color_jam), var(--alpha_10));
}
.cm_common_background_color_kisei_accident {
	background-color: rgba(var(--color_accident), var(--alpha_10));
}
.cm_common_background_color_kisei_snowPlow {
	background-color: rgba(var(--color_snow_plow), var(--alpha_10));
}
.cm_common_background_color_kisei_antifreeze {
	background-color: rgba(var(--color_antifreeze), var(--alpha_10));
}
.cm_common_background_color_kisei_underAdjustment {
	background-color: rgba(var(--color_under_adjustment), var(--alpha_10));
}
.cm_common_background_color_kisei_snowChain {
	background-color: rgba(var(--color_snow_chain), var(--alpha_10));
}
.cm_common_background_color_kisei_rainCaution {
	background-color: rgba(var(--color_rain_caution), var(--alpha_10));
}

/* 枠線定義 */
.mr_myroute_border_note_font {
	border: 2px solid rgba(var(--color_note_font), var(--alpha_10));
}
.cm_common_border_mail_setting {
	border: 1px solid rgba(var(--color_mail_setting_base_color), var(--alpha_10));
}
.cm_common_border_check_box {
	border: 1px solid rgba(var(--color_font), var(--alpha_03));
}
.cm_common_border_input{
	border: 1px solid rgba(var(--color_input_border), var(--alpha_10));
}
.cm_common_border_function_description_area {
	border:  1px solid rgba(var(--color_base_color), var(--alpha_05));
}
.cm_common_border_function_description {
	border: 1px solid rgba(var(--color_base_color), var(--alpha_08));
}
.cm_common_border_base_color {
	border: 1px solid rgba(var(--color_base_color), var(--alpha_10));
}
.cm_common_border_base_color_thick {
	border: 2px solid rgba(var(--color_base_color), var(--alpha_10));
}
.cm_common_border_area_panel {
	border: 1px solid rgba(var(--color_thin_base_color), var(--alpha_08));
}
.cm_common_border_white {
	border: 1px solid rgba(var(--color_white), var(--alpha_10));
}
.cm_common_border_white_thick {
	border: 2px solid rgba(var(--color_white), var(--alpha_10));
}
.cm_common_border_count {
	border: 2px solid rgba(var(--color_thin_base_color), var(--alpha_10));
}
.cm_common_border_send_button {
	border: 2px solid rgba(var(--color_send_button_border), var(--alpha_10));
}
.cm_common_border_price_detail {
	border: 2px solid rgba(var(--color_price_detail_border), var(--alpha_10));
}
.cm_common_border_request_required_item {
	border: 1px solid rgba(var(--color_request_required_item_border), var(--alpha_10));
}
.cm_common_border_bottom_request_required_item {
	border-bottom: 1px solid rgba(var(--color_request_required_item_border), var(--alpha_10));
}
.cm_common_border_signup_start_button {
	border: 2px solid rgba(var(--color_signup_start_button_border), var(--alpha_10));
}
.cm_common_border_bottom_mail_setting {
	border-bottom: 1px solid rgba(var(--color_mail_setting_base_color), var(--alpha_10));
}

/* 文字の太さ */
.cm_common_font_weight_normal {
	font-weight: var(--font_weight_normal);
}
.cm_common_font_weight_semi_bold{
	font-weight: var(--font_weight_semi_bold);
}
.cm_common_font_weight_bold{
	font-weight: var(--font_weight_bold);
}

/* フォントサイズ */
.cm_common_font_size_x_small {
	font-size: var(--font_size_x_small);
}
.cm_common_font_size_small {
	font-size: var(--font_size_small);
}
.cm_common_font_size_medium {
	font-size: var(--font_size_medium);
}
.cm_common_font_size_large {
	font-size: var(--font_size_large);
}
.cm_common_font_size_x_large {
	font-size: var(--font_size_x_large);
}
.cm_common_font_size_xx_large {
	font-size: var(--font_size_xx_large);
}
.cm_common_font_size_xxx_large {
	font-size: var(--font_size_xxx_large);
}
.cm_common_font_size_xxxx_large {
	font-size: var(--font_size_xxxx_large);
}

/* 行間 */
.cm_common_line_height_x_small {
	line-height: var(--line_height_x_small);
}
.cm_common_line_height_small {
	line-height: var(--line_height_small);
}
.cm_common_line_height_medium {
	line-height: var(--line_height_medium);
}
.cm_common_line_height_large {
	line-height: var(--line_height_large);
}
.cm_common_line_height_x_large {
	line-height: var(--line_height_x_large);
}
.cm_common_line_height_xx_large {
	line-height: var(--line_height_xx_large);
}
.cm_common_line_height_xxx_large {
	line-height: var(--line_height_xxx_large);
}

/* 不透明度 */
.cm_common_opacity_01 {
	opacity: var(--opacity_01);
}

/* 角丸 */
.cm_common_border_radius_check_box {
	border-radius: var(--border_radius_3);
}
.cm_common_border_radius_small_rounded_corners {
	border-radius: var(--border_radius_4);
}
.cm_common_border_radius_login_card {
	border-radius: var(--border_radius_8);
}
.cm_common_border_radius_link_icon {
	border-radius: var(--border_radius_16);
}
.cm_common_border_radius_circle {
	border-radius: var(--border_radius_999);
}

/* オーバーレイ背景 */
.cm_common_overlay_panel {
	position : fixed ;
	z-index : 90 ;
	top : 0px ;
	left : 0px ;
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	width : 100% ;
	height : 100% ;
	touch-action: pan-x ;
}

/* jquery-ui の標準ダイアログ */
.ui-widget-overlay {
	touch-action: pan-x ;
}


/* フォント */
@font-face {
	font-family : 'mplus1p' ;
	src : url('/sp/common/images/mplus1p_400.woff2') format('woff2') ;
	font-style : normal ;
	font-weight : 400 ;
	font-display : swap ;
}

@font-face {
	font-family : 'mplus1p' ;
	src : url('/sp/common/images/mplus1p_500.woff2') format('woff2') ;
	font-style : normal ;
	font-weight : 500 ;
	font-display : swap ;
}

@font-face {
	font-family : 'mplus1p' ;
	src : url('/sp/common/images/mplus1p_700.woff2') format('woff2') ;
	font-style : normal ;
	font-weight : 700 ;
	font-display : swap ;
}

@font-face {
	font-family : 'akrbt' ;
	src : url('/sp/common/images/akrbt_500.woff2') format('woff2') ;
	font-style : normal ;
	font-weight : 500 ;
	font-display : swap ;
}

* {
	margin: 0px;
	padding: 0px;
	outline: none;
}

html {
	scrollbar-width : thin;
	scroll-behavior : smooth ;
	width: 100%;  /* 古いブラウザ用 */
	height: 100%; /* 古いブラウザ用 */
	width: 100dvw;
	height: 100dvh;
	min-width: 100dvw;
	min-height: 100dvh;
	-webkit-text-size-adjust: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
}

body {
	position : relative ;
	width: 100%;  /* 古いブラウザ用 */
	height: 100%; /* 古いブラウザ用 */
	width: 100dvw;
	height: 100dvh;
	min-width: 100dvw;
	min-height: 100dvh;
	background-image : url("/sp/common/images/backgroundTexture.png") ;
	background-size : 360px ;
	background-position : center ;
	font-family : mplus1p, sans-serif ;
	margin : 0px ;

	display: flex;
	flex-direction: column;
}

a {
	color: #595959;
	text-decoration: none;
}

a:hover {
	color: #00abf2;
}

img {
	border: 0px;
	-webkit-user-drag: none;
}

input {
	font-family: inherit;
}

#cm_header_page_title_area {
	position : sticky ;
	z-index : 10 ;
	top : 60px ;
	left : 0px ;
}

.cm_header_page_title_box {
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	width : 100% ;
	height : fit-content ;
	min-height: 48px ;
	box-shadow : 0px 2px 6px rgba(var(--color_overlay), var(--alpha_04)) ;	
}

.cm_header_page_title_box h1{
	position : relative ;
	width : fit-content ;
	max-width : 100% ;
	height : fit-content ;
	padding: 0 55px;
	box-sizing: border-box;
}

#cm_header_btn_back {
	position : absolute ;
	top: 50%;
	transform: translateY(-50%);
	left : 6px ;
	width : 36px ;
	height : 36px ;
}

#cm_header_btn_back::after {
	content : '' ;
	position : absolute ;
	top : 0px ;
	bottom : 0px ;
	left : 4px ;
	right : 0px ;
	width : 10px ;
	height : 10px ;
	border : solid 3px rgba(var(--color_white), var(--alpha_10)) ;
	border-bottom : none ;
	border-right : none ;
	margin : auto ;
	transform : rotate(-45deg) ;
}

#cm_header_btn_back:active::after {
	border : solid 3px rgba(var(--color_base_color), var(--alpha_10)) ;
	border-bottom : none ;
	border-right : none ;
}

#cm_header_btn_back:active {
	border : solid 1px rgba(var(--color_base_color), var(--alpha_10)) ;
	background-color: rgba(var(--color_white), var(--alpha_10));
}

#cm_header_btn_pref {
	position : absolute ;
	top : 5px ;
	right : 6px ;
	width : 36px ;
	height : 36px ;
	background-image : url("/sp/common/images/icon_setting.svg") ;
	background-size : 22px ;
	background-position : center ;
	background-repeat : no-repeat ;
}

#cm_header_btn_pref:active {
	background-image : url("/sp/common/images/icon_setting_tap.svg") ;
	background-color: rgba(var(--color_base_color), var(--alpha_10));
	border: 1px solid rgba(var(--color_white), var(--alpha_10));
}

#cm_header_btn_route {
	position : absolute ;
	top: 50%;
	transform: translateY(-50%);
	right : 6px ;
	width : 48px ;
	height : 48px ;
	background-image : url("/sp/common/images/reverse_route.svg") ;
	background-size : 52px ;
	background-position : center ;
	background-repeat : no-repeat ;
}

#cm_header_btn_route:active {
	background-image : url("/sp/common/images/reverse_route_tap.svg") ;
	background-color: rgba(var(--color_white), var(--alpha_10));
	border-radius: var(--border_radius_3);
}

.ui-autocomplete {
	max-height: 200px;
	width: auto;
	overflow-y: scroll;
	overflow-x: hidden;
	background: #eeeeee;
}

/* Datepickerカスタマイズ */
div#ui-datepicker-div {
	background: #eeeeee !important;
	z-index: 95 !important;
}

select.ui-datepicker-month {
	height: 25px !important;
	margin-left: 5px !important;
	width: 70px !important;
	background: linear-gradient(0deg, #f2f2f2 0%, #ffffff 100%) !important;
	border-radius: 5px !important;
	color: #595959 !important;
}

select.ui-datepicker-month>option {
	background-color: #f2f5f7 !important;
}

td.ui-datepicker-week-end:first-child a.ui-state-default {
	background-image: none;
	background-color: #ffcccc;
}

td.ui-datepicker-week-end:last-child a.ui-state-default {
	background-image: none;
	background-color: #b0c4de;
}

/* ローディング */
@keyframes loadAniIcon {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes loadAniText {
	0% {
		opacity: 1.0;
	}

	50% {
		opacity: 0.3;
	}

	100% {
		opacity: 1.0;
	}
}

/* ローディング */
#cm_loading {
	position: fixed;
	z-index: 999;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-color: gray;
	opacity: 0.8;
	display: flex;
	justify-content: center;
	align-items: center;
}

#cm_loading>img {
	width: 60px;
	height: 60px;
}

/* 共通 */
.cm_display_none {
	display: none;
}

.cm_display_none_important {
	display: none !important;
}

/* ヘッダ */
#cm_header {
	width      : 100%;
	min-width  : 100%;
	height     : 60px;
	min-height : 60px;
	position: sticky;
	top: 0px;
	left: 0px;
	z-index: 15;
	box-shadow : 0px 2px 6px 0px var(--shadow_color);
}

#cm_header_area {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

#cm_header_info_area {
	height : 38px;
	display : flex;
	background-color: #FFF9F2;
	align-items: center;
}

#cm_header .cm_ihighway_logo_box {
	width: 82px;
	height: 29px;
	margin: 3px 10px;
}

#cm_header .cm_ihighway_logo_box:hover {
	cursor: pointer;
}

#cm_header .cm_ihighway_logo_img1 {
	width: 82px;
	height: 29px;
}

#cm_header .cm_nexco_logo_box {
	width: 42px;
	height: 24px;
	margin-right: 10px;
}

#cm_header .cm_nexco_logo_img {
	width: 42px;
	height: 24px;
}

.cm_header_title_area {
	flex: 1;
	flex-direction: column;
}

.cm_header_title{
	height: var(--line_height_small);
}

.cm_header_title_justify_content_center {
	display: flex;
	justify-content: center;
}

.cm_header_route_info {
	text-align: center;
}

.cm_header_title_road_padding_top {
	box-sizing: border-box;
	padding-top: 2px;
}

#cm_header_update {
	color        : #808080;
	line-height: var(--font_size_x_small);
	margin-right : auto;
}

#cm_header_topic_area {
	width: 100%;
	height: 22px;
	background-color: #ff7a00;
}

#cm_header_topic_line {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
	height: 22px;
	font-size: 14px;
	line-height: 18px;
	white-space: nowrap;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	padding-left: 6px;
	padding-right: 6px;
	border-style: solid;
	border-width: 3px;
	border-color: #ff7a00;
}

#cm_header_topic_area .cm_header_topic_kind_emergency {
	background: #ff4d4d;
	color: #ffffff;
}

#cm_header_topic_area .cm_header_topic_kind_notice {
	background: linear-gradient(180deg, #e6e6e6 0%, #ffffff 100%);
	color: #2477B3;
}

#cm_header_topic_area .cm_header_topic_kind_enlightenment {
	background: linear-gradient(180deg, #e6e6e6 0%, #ffffff 100%);
	color: #595959;
}

#cm_header_topic_area .cm_header_topic_kind_snow {
	background: linear-gradient(180deg, #e6e6e6 0%, #ffffff 100%);
	color: #595959;
}

.marquee {
	width : 100%;
	overflow : hidden;
	margin-bottom : 10px;
	position : relative;
}

.marquee p:after {
	content : "";
	white-space : nowrap;
	padding-right : 0px;
}

.marquee p {
	margin : 0;
	padding-left : 100%;
	display : inline-block;
	white-space : nowrap;
	animation-name : marquee;
	animation-timing-function : linear;
	animation-duration : 30s;
	animation-iteration-count : infinite;
}

@keyframes marquee {
	from { transform : translate(0%);}
	to   { transform : translate(-100%);}
}

/* 動的エリア */
/* メニュー・コンテンツ */
#cm_dynamic {
	width : 100%;
	overflow: auto;
	flex: 1;
	display : flex;
	flex-direction: column;
	justify-content: space-between;
}

/* メニュー */
#cm_global_menu_content_box {
	position : relative ;
	width : fit-content ;
	height : fit-content ;
	border-radius : 6px ;
	box-shadow : 0px 4px 6px rgba(var(--color_overlay), var(--alpha_04)) ;
	transition-duration : 0.25s ;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 1px;
	width: fit-content;
	height: fit-content;
	background-color: #ffb366;
	border-radius: 5px 5px 0px 0px;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL {
	position : relative ;
	display : flex ;
	flex-direction : column ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	width : 144px ;
	height : 120px ;
	font-size : 16px ;
	line-height : 18px ;
	text-align : center ;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL .cm_global_menu_btnL_icon {
	position: relative;
	width: 44px;
	height: 44px;
	margin-bottom: 12px;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL .cm_global_menu_btnL_icon_tap {
	display: none;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL .cm_global_menu_btnL_txt {
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: fit-content;
	height: 36px;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL:active {
	background-color: rgba(var(--color_white), var(--alpha_10));
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL:active .cm_global_menu_btnL_icon {
	display: none;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box  .cm_global_menu_btnL:active .cm_global_menu_btnL_icon_tap {
	position: relative;
	width: 44px;
	height: 44px;
	margin-bottom: 12px;
	display: block;
}

#cm_global_menu_content_box .cm_global_menu_large_btn_box .cm_global_menu_btnL:active .cm_global_menu_btnL_txt {
	color: rgba(var(--color_base_color), var(--alpha_10));
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box {
	position : relative ;
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	width : 100% ;
	height : 54px ;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM {
	position: relative;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 48px;
	height: 44px;
	margin-left: 3px;
	margin-right: 3px;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM .cm_global_menu_btnM_icon {
	position: relative;
	width: 22px;
	height: 22px;
	margin-bottom: 4px;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM .cm_global_menu_btnM_icon_tap {
	display: none;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM .cm_global_menu_btnM_txt {
	position : relative ;
	width : fit-content ;
	height : 9px ;
	font-size : 9px ;
	font-weight : 500 ;
	line-height : 9px ;
	text-align : center ;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM:active {
	background-color: #ffb366;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM:active .cm_global_menu_btnM_icon {
	display: none;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM:active .cm_global_menu_btnM_icon_tap {
	position: relative;
	width: 22px;
	height: 22px;
	margin-bottom: 4px;
	display: block;
}

#cm_global_menu_content_box .cm_global_menu_normal_btn_box .cm_global_menu_btnM:active .cm_global_menu_btnM_txt {
	color: rgba(var(--color_white), var(--alpha_10));
}

#cm_global_menu_content_box #cm_global_menu_txt_menu_list {
	list-style: none;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: fit-content;
	padding-top: 1px;
	border-radius: 0px 0px 5px 5px;
}

#cm_global_menu_content_box li {
	position : relative ;
	width : 100% ;
	height : 30px ;
	line-height : 30px ;
	padding-left : 6px ;
	padding-right : 6px ;
	margin-bottom : 1px ;
}

#cm_global_menu_content_box li:last-child {
	margin-bottom: 0px;
}

#cm_global_menu_content_box #cm_global_menu_btn_wrap {
	height: fit-content;
	max-height: 90dvh;
	overflow-y: auto;
}

/* コンテンツ */
#cm_contents {
	flex-basis : 100dvh;
}

.cm_contents_fix_max_size {
	max-width  : 100%;
	max-height : 100%;
}

.cm_contents_no_scroll {
	min-height: 0;
}

/* フッタ */
#cm_footer {
	width: 100%;
	height: fit-content;
}

#cm_footer_area {
	width: 100%;
	height: 70px;
	min-height: 70px;
}

#cm_footer .cm_footer_txt {
	width: 100%;
	height: 100%;
	color: #a68d74;
	padding-right: 80px;
	padding-left: 10px;
	margin-right: auto;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

/* フッタ表示：共通 */
#cm_footer_doc_base {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	min-width: 1024px;
	min-height: 726px;
	z-index: 4;
}

#cm_footer_doc {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
}

#cm_footer_doc_area {
	width: 640px;
	height: 85%;
	background: white;
	display: flex;
	flex-direction: column;
}

#cm_footer_doc_head {
	position: relative;
}

#cm_footer_doc_title {
	padding: 2px 0;
	color: #ffffff;
	background-color: rgb(255, 129, 0);
	font-size: 24px;
	text-align: center;
}

#cm_footer_doc_close {
	position: absolute;
	top: 5px;
	right: 5px;
	width: 30px;
	height: 30px;
	padding: 6px;
	box-sizing: border-box;
	overflow: hidden;
	border-style: solid;
	border-width: 1px;
	border-color: rgba(255, 255, 255, 0);
	border-radius: 15px;
	cursor: pointer;
}

#cm_footer_doc_close:hover {
	border-color: rgba(255, 255, 255, 1);
}

#cm_footer_doc_text {
	flex: 1;
	overflow: auto;
	background-color: #f2f2f2;
}

/* ご利用上の注意ダイアログ：静的 */
#cm_attention_doc_area {
	width : 85%;
	height : 85%;
	display : flex;
	flex-direction : column;
}

#cm_attention_doc_head {
	position : relative;
}

#cm_attention_doc_title {
	padding: 2px 0;
	text-align : center;
}

#cm_attention_doc_text {
	overflow : auto;
}

/* ご利用上の注意内容：静的 */
#cm_static_area_attention {
	padding : 20px ;
	text-align : center;
}

#cm_static_area_attention .column {
	position : relative ;
	box-sizing : border-box ;
	width : 100% ;
	text-align : left ;
	margin-bottom: 1em;
}

#cm_static_area_attention .column .uList {
	position : relative ;
	box-sizing : border-box ;
	margin-left: 1em;
	list-style-type: none;
}

#cm_static_area_attention .column .indented {
	margin-bottom: 1em;
}

/* お問い合わせ表示：静的 */
#cm_static_area_contact {
	padding : 1em ;
	text-align : center;
	height: 100%;
}

#cm_static_area_contact .contactBox {
	margin-left : auto ;
	margin-right : auto ;
	margin-bottom : 1em ;
}

#cm_static_area_contact .contactBox h3 {
	box-sizing : border-box ;
	height : 34px ;
	padding : 8px ;
}

#cm_static_area_contact .contactBox .index {
	box-sizing : border-box ;
	height : fit-content ;
	padding-top : 5px ;
	line-height: 1;
}

#cm_static_area_contact .contactBox .telNum {
	font-size : 36px ;
	line-height: 1 ;
}

#cm_static_area_contact .contactBox .memo {
	clear : both ;
	padding: 12px;
}

#cm_static_area_contact .contactBox .color_font_orange {
	color : #f29718;
}

#cm_static_area_contact .contactBox .color_font_blue {
	color : #2680bf;
}

#cm_static_area_contact .contactBox .color_font_green {
	color : #2db343;
}

#cm_static_area_contact .contactBox .color_font_red {
	color : #d90000;
}

/* リンク集表示：静的 */
#cm_links_area {
	padding: 0.1px 0;
	height: 100%;
}

.cm_link_box {
	margin: 12px;
	display : flex;
}

.cm_link_box:active {
	background-color : rgba(var(--color_white_peach), var(--alpha_10));
	border-color : rgba(var(--color_thin_border_base_color), var(--alpha_10));
	box-shadow : 0px 2px 6px 0px var(--shadow_color);
}

.cm_link_icon {
	width : 32px;
	height : 32px;
	margin : 6px;
}

.cm_link_icon > img {
	width : 32px;
	height : 32px;
}

.cm_link_info {
	width : 100%;
}

.cm_link_title {
	padding : 10px 10px 0 2px;
}

.cm_link_text {
	padding : 5px 10px 10px 2px;
}

/* 重要なお知らせ */
#cm_emergency_area {
	display: flex;
	flex-direction: column;
	
	border-top-left-radius : 6px ;
	border-top-right-radius : 6px ;
}

.cm_site_info_area_box {
	width : 100%;
	height : fit-content ;
	margin: 0px 24px;
	display: flex ;
	align-items: center ;
	justify-content: center ;
	flex-direction: column ;
}

#cm_site_info_area_name {
	font-size : var(--font_size_xx_large) ;
	font-weight : var(--font_weight_bold) ;
	margin-bottom : 4px ;
}

.cm_site_info_content_box {
	position : relative ;
	overflow : visible ;
	width : 100%;
	height : fit-content ;
	background-color : #fff ;
	border-radius : 6px ;
	box-shadow : 0px 4px 6px rgba(51,41,31,0.4) ;
	transition-duration : 0.4s ;
}

.cm_site_info_box {
	position : relative ;
	overflow : hidden ;
	width : 100% ;
	height : fit-content ;
}

.cm_site_info_box .red {
	--colorBase : #c00000 ;
	--colorLight : #ffe6ea ;
}
.cm_site_info_box .orange {
	--colorBase : #ff8000 ;
	--colorLight : #ffecd9 ;
}

.cm_site_info_box .cm_site_info_title_bar {
	position : relative ;
	width : 100% ;
	height : 36px ;
	color : #fff ;
	font-size : 18px ;
	font-weight : 500 ;
	line-height : 36px ;
	text-align : left ;
	padding-left : 6px ;
	margin-bottom : 1px ;
}

.cm_site_info_box .cm_site_info_list {
	list-style : none ;
	position : relative ;
	overflow : auto ;
	width : 100% ;
	height : fit-content ;
	max-height : calc(50dvh - 36px - 24px) ;
}

.cm_site_info_box .cm_site_info_line {
	position : relative ;
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : flex-start ;
	align-items : center ;
	align-content : center ;
	width : 100% ;
	min-height : 36px ;
	background-color : var(--colorLight) ;
	color : #4d4d4d ;
	line-height : calc(1em + 2px) ;
	padding-top : 10px ;
	padding-bottom : 10px ;
	padding-left : 12px ;
	padding-right : 12px ;
	margin-bottom : 1px ;
	box-sizing: border-box;
}

.cm_site_info_title_bar_first {
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}

.cm_site_info_line_last {
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
}

/* highway telephone */
.cm_newopen_mark {
	box-sizing: border-box;
	width: 16px;
	height: 16px;
}

/* English Traffic Map */
.cm_english_traffic_box {
	box-sizing: border-box;
	overflow: hidden;
	box-shadow: 0px 1px 2px rgba(var(--color_black), var(--alpha_02));
	transition-duration: 0.2s;
}

.cm_english_traffic_box:active {
	border-color: #FF5500;
	box-shadow: 0px 1px 4px rgba(var(--color_black), var(--alpha_04));
	transition-duration: 0.2s;
}

.cm_english_traffic_box .text {
	position: relative;
	box-sizing: border-box;
	float: left;
	padding: 6px;
}

#cm_global_menu_btn {
	position : fixed ;
	z-index : 20 ;
	bottom : 8px ;
	right : 8px ;
	width : 60px ;
	height : 60px ;
	background-image : url("/sp/common/images/icon_menu.svg") ;
	background-size : 28px ;
	background-position : center ;
	background-repeat : no-repeat ;
	border-radius : 50% ;
	box-shadow : 0px 2px 5px rgba(var(--color_overlay), var(--alpha_04)) ;
}

#cm_global_menu_btn:active {
	background-image : url("/sp/common/images/icon_menu_tap.svg") ;
	background-color: rgba(var(--color_base_color), var(--alpha_10));
	border: 1px solid rgba(var(--color_white), var(--alpha_10));
}

.cm_common_modal_close_btn {
	position : absolute ;
	z-index : 1 ;
	top : -12px ;
	right : -12px ;
	width : 30px ;
	height : 30px ;
	background-color : #33291f ;
	border-radius : 50% ;
}

.cm_common_modal_close_btn::before {
	content : '' ;
	position : absolute ;
	top : 0px ;
	bottom : 0px ;
	left : 0px ;
	right : 0px ;
	width : 14px ;
	height : 3px ;
	background-color : rgba(var(--color_white), var(--alpha_10)) ;
	margin : auto ;
	transform : rotate(45deg) ;
}

.cm_common_modal_close_btn::after {
	content : '' ;
	position : absolute ;
	top : 0px ;
	bottom : 0px ;
	left : 0px ;
	right : 0px ;
	width : 14px ;
	height : 3px ;
	background-color : rgba( var(--color_white), var(--alpha_10)) ;
	margin : auto ;
	transform : rotate(-45deg) ;
}

.cm_common_button_layout_base {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 100%;
	height: 100%;
}

/* カード共通 */
.cm_common_card_layout_base {
	position: relative;
	overflow: hidden;
	height: fit-content;
	margin: 24px 12px;
}

/* カードタイトル共通 */
.cm_common_card_title {
	position: relative;
	width: 100%;
	height: 30px;
}

/* テキストボックス共通 */
.cm_common_text_box_layout_base {
	width: 100%;
	display: block;
	height: 36px;
	box-sizing: border-box;
}

/* トグル共通 */
.cm_common_segment_button_area {
	height : 100%;
	width: 100%;
	display: flex;
	justify-content: center;
}

.cm_common_segment_button_layout_base {
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	width : 100% ;
	height : 28px ;
	margin: auto 24px;
}

.cm_common_segment_button_layout_base li {
	display : flex ;
	flex-direction : row ;
	flex-wrap : nowrap ;
	justify-content : center ;
	align-items : center ;
	align-content : center ;
	height : 100% ;
	text-align : center ;
	padding-left : 6px ;
	padding-right : 6px ;
	flex : 1;
}

.cm_common_segment_button_layout_base .cm_common_segment_button_selected {
	box-shadow : 0px 1px 4px var(--shadow_color) ;
}

.cm_common_segment_button_layout_base .cm_common_segment_button_off {
	color : rgba(51,34,18,0.75) ;
}

/* セレクトボックス共通 */
.cm_common_select {
	width : 100% ;
	height : 100% ;
	background : url("/sp/common/images/selectMark.svg"), linear-gradient(0deg, #f0f0f0 0%, #fff 100%) ;
	background-size : 8px 14px, 100% ;
	background-repeat : no-repeat ;
	background-position : center right 6px, center ;
	font-family : mplus1p, sans-serif ;
	text-align : left ;
	padding-left : 10px ;
	padding-right : 18px ;
	border-radius : 6px ;
	appearance : none ;
	-webkit-appearance : none ;
	-moz-appearance : none; 
}

/* アイコンボタン共通 */
.cm_common_side_btn {
	width         : 36px;
	height        : 36px;
	margin-bottom : 18px;
	box-shadow    : 0px 2px 3px var(--shadow_color);
}

.cm_common_side_btn_not_selected_img {
	opacity : 0.9;
}

/* ルート情報ヘッダー共通 */
.cm_common_route_info_box {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

.cm_common_header_route_info_box {
	width: 100%;
	border-bottom: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	display: flex;
}

.cm_common_header_route_info_title {
	width: 60px;
	border-right: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	display: flex;
	justify-content: center;
	align-items: center;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_header_route_info_title {
		border-radius: 0px;
	}
}

.cm_common_header_route_into_detail {
	flex: 1;
	display: flex;
	align-items: center;
}

.cm_common_header_route_detail_box {
	width: 100%;
	height: 25px;
	border-bottom: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	display: flex;
}

.cm_common_header_route_detail_box:last-child {
	border: none;
}

.cm_common_header_route_detail_title {
	width: 60px;
	height: 100%;
	border-left: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	background-color: #ff9a33;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cm_common_header_route_detail_title_long {
	width: 100px;
	height: 100%;
	border-left: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	background-color: #ff9a33;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cm_common_header_route_detail_data {
	flex: 1;
	height: 100%;
	border-left: 1px solid rgba(var(--color_base_color), var(--alpha_10));
	background-color: white;
	display: flex;
	justify-content: left;
	align-items: center;
	padding-left: 5px;
}

.cm_common_header_route_detail_car_title,
.cm_common_header_route_detail_distance_title {
	border-left: none;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_header_route_detail_distance_title {
		border-radius: 0px;
	}
}

/* MYルート・発着IC検索結果 路線順・規制/渋滞/事故切り替えボタン */
.cm_search_ic_road_info_button_active:active {
	background-color: rgba(var(--color_base_color), var(--alpha_10));
	color: rgba(var(--color_white), var(--alpha_10));
}

/* 路線順・規制/事故/渋滞表示共通 */
.cm_common_detail_info_box {
	flex: 1;
	display: flex;
}

.cm_common_detail_traffic_info_segment_button_area {
	width: 100%;
	height: 40px;
}

.cm_myroute_detail_disp_info_togle_button_area {
	width: 36px;
	height: 100%;
	margin-top: 18px;
	margin-right: 6px;
}

/* 路線順共通 */
.cm_common_ic_info_box {
	width: 100%;
}

.cm_common_ic_info_area {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_ic_info_area {
		width: 200.01px;
	}
}

.cm_common_ic_info_title {
	min-height: 30px;
	color: white;
	background-color: #ff9a33;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ff8000;
	border-bottom: none;
	border-radius: 4px 4px 0px 0px;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_ic_info_title {
		width: 200px;
		box-sizing: border-box;
	}
}

.cm_common_ic_info_route_base_out {
	width: 100%;
}

.cm_common_ic_info_route_base {
	padding: 5px;
	border-top: none;
	margin-bottom: 10px;
	border-radius: 0px 0px 4px 4px;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_ic_info_route_base {
		width: 200px;
		box-sizing: border-box;
	}
}

.cm_common_ic_info_route {
	width: 60%;
	margin: 6px auto;
}

.cm_common_ic_info_route_ic {
	padding: 5px 2px;
	border-radius: 7px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.cm_common_ic_info_route_ic_mid {
	margin: 0 auto;
}

.cm_common_ic_info_route_ic_border {
	margin: 5px 0;
	height: 40px;
	background-image: url(/sp/common/images/bg_route_ic_list.svg);
	background-size: 100% 50px;
	background-position: center;
	background-repeat: no-repeat;
}

/* 規制/事故/渋滞共通 */
.cm_common_traffic_info_box {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_traffic_info_box {
		width: 430.01px;
	}
}

.cm_common_traffic_info_area {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_traffic_info_area {
		width: 430px;
	}
}

.cm_common_traffic_info_title {
	min-height: 30px;
	color: white;
	background-color: #ff9a33;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ff8000;
	border-bottom: none;
	border-radius: 4px 4px 0px 0px;
}

.cm_common_traffic_info_title_delimiter {
	margin: 0 5px;
}

.cm_common_traffic_info_title_suffix {
	margin-left: 5px;
}

.cm_common_traffic_info_base_out {
	width: 100%;
	overflow-y: scroll;
	scrollbar-width: none;
}

.cm_common_traffic_info_base {
	padding: 2px;
	border-top: none;
	margin-bottom: 10px;
	border-radius: 0px 0px 4px 4px;
}

@supports (-ms-ime-align:auto) {

	/* for Edge */
	.cm_common_traffic_info_base {
		width: 430px;
		box-sizing: border-box;
	}
}

.cm_common_traffic_info_list {
	padding: 3px;
}

.cm_common_traffic_info {
	margin-bottom: 1px;
	display: flex;
	padding: 6px;
}

.cm_common_traffic_info:last-child {
	margin: 0px;
}

.cm_common_traffic_info_icon {
	width: 45px;
	padding: 2px;
	display: flex;
	justify-content: center;
	align-items: start;
}

.cm_common_traffic_info_icon>img {
	width: 100%;
}

.cm_common_traffic_info_icon>.cm_common_traffic_info_icon_jam {
	width: 50px;
	height: 50px;
	background: #ff9400;
	color: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.cm_common_traffic_info_detail {
	flex: 1;
	padding-left: 10px;
}

.cm_common_traffic_info_none {
	padding: 30px;
}

.cm_content_dialog {
	position : relative ;
	width : fit-content ;
	width: 100%;
	max-height: 90%;
	background-color : rgba(51,41,31,0.95) ;
	border-radius : 8px ;
	box-shadow : 0px 2px 6px rgba(51,41,31,0.65) ;
	transition-duration : 0.25s ;
}

.cm_content_dialog .cm_content_dialog_title_bar {
	position : relative ;
	width : 100% ;
	height : 30px ;
	background-color : rgba(0,0,0,0.5) ;
	color : #ff8000 ;
	font-size : 16px ;
	font-weight : 500 ;
	line-height : 30px ;
	text-align : center ;
}

.cm_content_dialog .cm_content_dialog_content {
	position : relative ;
	overflow : auto ;
	width : 100% ;
	height : fit-content ;
	color : #fff ;
	max-height : calc(100vh - 54px - 30px - 72px) ;
}

.cm_common_traffic_info_detail_road {
	margin-left: 0.5em;
}

/* 共通リストダイアログ */
.cm_list_dialog_base {
	width: 100%;
	margin: 50px;
	height: fit-content;
}

.cm_list_dialog_note_box {
	position : relative ;
	box-sizing : border-box ;
	margin: auto;
	display: flex;
	flex-direction : column;
	width: 100%;
	height: 100%;
	max-width: 90svw;
	max-height: 90svh;
}

.cm_list_dialog_list_box {
	position : relative ;
	box-sizing : border-box ;
	overflow : hidden ;
	width: 100%;
	display: flex;
	flex-direction: column;
	height: fit-content;
}

.cm_list_dialog_area {
	list-style : none ;
	position : relative ;
	box-sizing : border-box ;
	overflow-y: scroll;
}

#mp_map_legend_ul {
	border: 6px solid rgba(var(--color_overlay));
}

.legend_illust_area {
	padding: 0 14px;
}

/* メール受信設定/雪道メール設定 共通 */
.cm_mail_setting_area {
	margin: 12px 6px 0px;
}

.cm_mail_setting_area label {
	margin-left : 5px;
}

.cm_mail_setting_common_box {
	border-radius    : 6px;
}

.cm_mail_setting_common_box > h2 {
    padding-left     : 5px;
	border-radius    : 6px 6px 0 0;
	display          : flex;
	align-items      : center;
	height           : 30px;
}

.cm_mail_setting_common_box_bottom_border_radius {
	border-radius : 0 0 6px 6px;
	overflow: hidden;
}

.cm_mail_setting_recv_box {
    margin-top : 12px;
}

.cm_mail_setting_recv_box_bottom_margin {
	margin-bottom : 50px;
}

.cm_mail_setting_recv_box input {
    margin-left : 10px;
}

.cm_mail_setting_recv_box > div:last-child {
    border-bottom : none;
}

.cm_mail_setting_common_line {
    display       : flex;
	align-items   : center;
	min-height    : 30px;
    height        : 40px;
	box-sizing: border-box;
}

.cm_mail_setting_common_line_margin {
	margin-bottom: 1px;
}

.cm_mail_setting_common_check_box {
	appearance: none;
	min-width: 22px;
	min-height: 22px;
	padding: 0px;
	border-radius: 3px;
	margin-right: 4px;
}

.cm_mail_setting_common_check_box:checked {
	position: relative;
	width: 22px;
	height: 22px;
	background-color: rgba(var(--color_white), var(--alpha_10));
	background-image: url('/sp/common/images/check_mark.svg');
	background-repeat: no-repeat;
	background-size: contain;
}

.cm_mail_setting_common_radio {
	appearance : none ;
	position : relative ;
	box-sizing : border-box ;
	width : 22px ;
	height : 22px ;
	padding : 0px ;
	margin-right : 4px ;
}

.cm_mail_setting_common_radio:checked {
	background-color: rgba(var(--color_white), var(--alpha_10));
	border: 1px solid rgba(var(--color_mail_setting_base_color), var(--alpha_10));
}

.cm_mail_setting_common_radio:checked:before {
	content : '' ;
	position : absolute ;
	top : 0px ;
	bottom : 0px ;
	left : 0px ;
	right : 0px ;
	width : 12px ;
	height : 12px ;
	background-color : rgba(var(--color_mail_setting_base_color), var(--alpha_10)) ;
	border-radius : var(--border_radius_999) ;
	margin : auto ;
}

.cm_mail_setting_recv_time_select_box {
	display: flex;
	width: 100%;
	height: 28px;
	margin-right: 5px;
}

.cm_mail_setting_recv_time_select_area {
	width: 80px;
	margin-left: 5px;
	margin-right: 5px;
}

.cm_mail_setting_recv_day_week_box {
	display     : flex;
	flex-direction: column;
	align-items : center;
	margin : 0px 2em;
}

.cm_mail_setting_recv_day_week_box_area {
	flex-direction: row;
	width: 100%;
}

.cm_mail_setting_button_box {
	display         : flex;
	justify-content : center;
	align-items     : center;
	width           : 124px;
	height          : 45px;
	margin-top      : 20px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom  : 20px;
}

.cm_common_dialog {
	width: 80dvw;
}

/* 中日本提供サービス */
.cm_services_provided_base {
	width            : 100%;
	height           : fit-content;
	overflow-x       : hidden;
	background-color : rgba(var(--color_base_color), var(--alpha_02));
	margin           : 12px 0px 6px;
}

.cm_service_link_area {
	width  : 100%;
	height : fit-content;
}

.cm_service_link_area_base {
	width           : 100%;
	display         : flex;
	flex-wrap       : wrap;
	padding			: 0px 6px;
	box-sizing		: border-box;
}

.cm_service_link_area_base_margin {
	margin : 6px 0px;
}

.cm_services_provided_title {
	background-color : rgba(var(--color_base_color), var(--alpha_05));
	box-shadow       : inset 0px 2px 4px rgba(var(--color_overlay), var(--alpha_03));
	text-align       : center;
	padding          : 6px;
}

.cm_service_link_area_base > .cm_sevice_link_icon_box {
	margin-top : 10px;
	width      : calc(100% / 3);
	padding    : 6px;
	box-sizing : border-box;
}

.cm_sevice_link_icon_box > a {
	-webkit-tap-highlight-color : transparent;
	-webkit-touch-callout       : none;
	-webkit-user-select         : none;
	user-select                 : none;
}

.cm_sevice_link_icon {
	width         : 100%;
	height        : auto;
	border-radius : 18%;
	box-sizing    : border-box;
	box-shadow    : 0px 2px 4px rgba(var(--color_overlay), var(--alpha_03));
}

.cm_sevice_link_icon:active {
	transform : scale(var(--tap_transform_scale));
}

.cm_sevice_link_text {
	text-align : center;
}

.cm_sevice_link_text_shadow {
	text-shadow : 0 0 3px rgba(var(--color_black), var(--alpha_03)), 0 2px 5px rgba(var(--color_overlay), var(--alpha_05));
}