/* ============================================================
   smartalert.css
   smartalert.html / smartalertprice.html / smartalertcontract.html 共通スタイル
   既存サイトのスタイル（common.css / style.css / style2.css）を上書き・補完します。
   ※ グローバルナビゲーションのスタイルは common/nav.php 内の <style> タグで管理
   ============================================================ */

/* ----------------------------------------------------------
   ページヘッダータイトル（SMART ALERT SERVICE）行間調整
   ---------------------------------------------------------- */
#snd #container .hd_img1 .txt-box h2 span {
	line-height: 110% !important ;
}

/* ----------------------------------------------------------
   ページタイトルエリア
   ---------------------------------------------------------- */
.sa_page_title_wrap {
	text-align: center ;
	margin-bottom: 5px ;
}

.sa_page_title {
	font-size: 22px !important ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	font-weight: 700 ;
	color: #333333 !important ;
	text-align: center !important ;
	line-height: 120% ;
	margin-bottom: 0 !important ;
	padding-bottom: 0 !important ;
}

.sa_page_subtitle,
#container .sa_page_subtitle {
	font-size: 14px ;
	font-family: 'Raleway', sans-serif ;
	font-weight: bold !important ;
	color: #37A6A7 ;
	text-align: center !important ;
	letter-spacing: 0.05em ;
	display: block ;
	margin-top: 4px ;
}

/* ----------------------------------------------------------
   リード文エリア
   ---------------------------------------------------------- */
.sa_lead_wrap {
	width: 100% ;
	max-width: 700px ;
	margin-left: auto ;
	margin-right: auto ;
}

.sa_lead_wrap p {
	font-size: 14px ;
	line-height: 180% ;
	color: #333333 ;
	text-align: left ;
	margin-bottom: 15px ;
}

/* 【】付き太字リード文 */
.sa_top_lead_bold {
	font-size: 14px ;
	font-weight: 700 ;
	color: #333333 ;
	line-height: 180% ;
	text-align: left ;
	max-width: 600px ;
	margin-left: auto ;
	margin-right: auto ;
}

/* ■問題提起見出し（ターコイズ・太字） */
.sa_problem_heading {
	font-size: 14px ;
	font-weight: 700 ;
	color: #37A6A7 ;
	line-height: 170% ;
	margin-top: 20px ;
	margin-bottom: 6px ;
}

/* 問題提起本文（アイコンボックス下の補足テキスト） */
.sa_problem_body {
	font-size: 14px ;
	font-weight: 400 ;
	color: #333333 ;
	line-height: 180% ;
	margin-top: 8px ;
	margin-bottom: 0 ;
}

/* ●項目 2列横並びコンテナ */
.sa_merit_row {
	display: flex ;
	align-items: flex-start ;
	width: 100% ;
	margin-bottom: 15px ;
}

/* ●ラベル列（左・固定幅） */
.sa_bold_label {
	font-size: 14px ;
	font-weight: 700 ;
	color: #333333 ;
	flex-shrink: 0 ;
	width: 242px ;
	line-height: 180% ;
}

/* ●説明文列（右・残り幅） */
.sa_merit_desc {
	font-size: 14px ;
	font-weight: 400 ;
	color: #333333 ;
	line-height: 180% ;
	flex: 1 ;
	padding-left: 0 ;
}

/* ----------------------------------------------------------
   お悩みボックス（Uzumakiアイコン付き）
   ---------------------------------------------------------- */
.sa_trouble_box {
	display: flex ;
	align-items: flex-start ;
	width: 100% ;
	margin-top: 10px ;
	margin-bottom: 10px ;
	padding-top: 6px ;
	padding-bottom: 6px ;
	padding-left: 0 ;
	padding-right: 0 ;
	background: #ffffff ;
	box-sizing: border-box ;
}

.sa_trouble_icon_wrap {
	flex-shrink: 0 ;
	margin-right: 15px ;
	margin-top: 2px ;
}

.sa_trouble_text_wrap {
	font-size: 15px ;
	line-height: 170% ;
	color: #333333 ;
}

/* ----------------------------------------------------------
   お役立ちバナー（SA_text_Oyakudachi.png）
   ---------------------------------------------------------- */
.sa_oyakudachi_wrap {
	text-align: center ;
}

.sa_img_Oyakudachi {
	display: block ;
	width: 505px ;
	height: 68px ;
	margin-left: auto ;
	margin-right: auto ;
	background-image: url(../../img/SA_text_Oyakudachi.png) ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 505px 68px ;
	overflow: hidden ;
}

@media screen and (max-width: 800px) {
.sa_img_Oyakudachi {
	width: 100% ;
	height: 54px ;
	background-size: contain ;
}
}

/* ----------------------------------------------------------
   セクション区切り線
   ---------------------------------------------------------- */
.sa_section_divider {

	display: block ;
	width: 100% ;
	height: 0 ;
	margin-top: 30px ;
	margin-bottom: 40px ;
}

/* ----------------------------------------------------------
   セクションタイトル（番号＋タイトル結合）
   ---------------------------------------------------------- */
.sa_section_title_wrap {
	margin-bottom: 15px ;
}

.sa_section_title {
	font-size: 20px !important ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	font-weight: 700 ;
	color: #333333 !important ;
	line-height: 140% ;
	text-align: left !important ;
	border-bottom: none !important ;
	padding-bottom: 0 !important ;
	margin-bottom: 0 !important ;
	letter-spacing: 0 !important ;
	display: block !important ;
}

.sa_section_number_black {
	font-size: 20px ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	font-weight: 700 ;
	color: #333333 ;
	margin-right: 4px ;
}

.sa_section_lead {
	font-size: 14px ;
	line-height: 180% ;
	color: #333333 ;
	margin-bottom: 15px ;
}

/* ----------------------------------------------------------
   オプション一覧（縦並び・アイコン画像＋テキスト横並び）
   ---------------------------------------------------------- */
.sa_option_list {
	width: 100% ;
	margin-top: 10px ;
}

.sa_option_row {
	display: flex ;
	align-items: flex-start ;
	width: 100% ;
	margin-bottom: 20px ;
	padding-bottom: 20px ;
	box-sizing: border-box ;
}

.sa_option_row:last-child {
	margin-bottom: 0 ;
	padding-bottom: 0 ;
}

.sa_option_icon {
	width: 105px ;
	height: 65px ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 105px 65px ;
	flex-shrink: 0 ;
	margin-right: 20px ;
	margin-top: 4px ;
}

.sa_option_icon1 {
	background-image: url(../../img/SA_icon_Option1.png) ;
}
.sa_option_icon2 {
	background-image: url(../../img/SA_icon_Option2.png) ;
}
.sa_option_icon3 {
	background-image: url(../../img/SA_icon_Option3.png) ;
}
.sa_option_icon4 {
	background-image: url(../../img/SA_icon_Option4.png) ;
}

.sa_option_body {
	flex: 1 ;
}

.sa_option_title {
	font-size: 14px ;
	font-weight: bold !important ;
	color: #333333 ;
	line-height: 160% ;
	margin-bottom: 6px ;
}

.sa_option_sub_wrap {
	padding-left: 125px ;
	margin-bottom: 20px ;
	box-sizing: border-box ;
}

@media screen and (max-width: 800px) {
.sa_option_sub_wrap {
	padding-left: 0 ;
}
}

.sa_option_sub_blue {
	font-size: 13px ;
	font-weight: 400 ;
	color: #37A6A7 ;
	line-height: 170% ;
	margin-top: 4px ;
}

.sa_option_bullet_title {
	font-size: 13px ;
	font-weight: 700 ;
	color: #333333 ;
	line-height: 170% ;
	margin-top: 8px ;
}

.sa_option_bullet_desc {
	font-size: 13px ;
	font-weight: 400 ;
	color: #555555 ;
	line-height: 170% ;
	margin-top: 2px ;
}

.sa_option_desc {
	font-size: 13px ;
	line-height: 170% ;
	color: #555555 ;
}

@media screen and (max-width: 800px) {
.sa_option_row {
	flex-direction: column ;
}
.sa_option_icon {
	margin-right: 0 ;
	margin-bottom: 10px ;
}
}

/* ----------------------------------------------------------
   運用フロー（STEPラベル＋丸番号＋縦線＋3列横並び）
   ---------------------------------------------------------- */
.sa_flow_wrap {
	width: 100% ;
}

/* STEPラベルwrap：sa_flow_left(105px)と同幅ブロックで中央揃え */
.sa_flow_step_label_wrap {
	width: 105px ;
	text-align: center ;
	margin-bottom: 4px ;
}

/* STEPラベル：文字幅のみの下線（inline-blockで文字幅＝下線幅） */
.sa_flow_step_label {
	font-size: 14px ;
	font-family: 'Raleway', sans-serif ;
	font-weight: 800 ;
	color: #37A6A7 ;
	letter-spacing: 0.15em ;
	border-bottom: 2px solid #37A6A7 ;
	padding-bottom: 2px ;
	display: inline-block ;
}

.sa_flow_item {
	display: flex ;
	align-items: stretch ;
	margin-bottom: 0 ;
}

/* オプションアイコン幅(105px)と同じ幅に統一 */
.sa_flow_left {
	display: flex ;
	flex-direction: column ;
	align-items: center ;
	flex-shrink: 0 ;
	width: 105px ;
	margin-right: 20px ;
}

.sa_flow_circle {
	width: 44px ;
	height: 44px ;
	border-radius: 50% ;
	border: 2px solid #37A6A7 ;
	color: #37A6A7 ;
	font-size: 22px ;
	font-family: 'Roboto', sans-serif ;
	font-weight: 900 ;
	display: flex ;
	align-items: center ;
	justify-content: center ;
	flex-shrink: 0 ;
	background: #ffffff ;
	box-sizing: border-box ;
}

.sa_flow_line {
	width: 2px ;
	flex: 1 ;
	background: #37A6A7 ;
	margin-top: 0 ;
	min-height: 1px ;
}

/* タイトル列：固定幅・黒文字・太字 */
.sa_flow_title_col {
	width: 187px ;
	flex-shrink: 0 ;
	padding-top: 8px ;
	padding-bottom: 24px ;
	margin-right: 20px ;
}

/* 説明文列：残り幅 */
.sa_flow_desc_col {
	flex: 1 ;
	padding-top: 8px ;
	padding-bottom: 24px ;
}

.sa_flow_title {
	font-size: 14px ;
	font-weight: bold !important ;
	color: #333333 ;
	line-height: 160% ;
}

.sa_flow_title_sub {
	font-size: 12px ;
	font-weight: 400 ;
	color: #555555 ;
}

.sa_flow_desc {
	font-size: 12px ;
	line-height: 170% ;
	color: #555555 ;
}

@media screen and (max-width: 800px) {
.sa_flow_step_label_wrap {
	width: 56px ;
}
.sa_flow_left {
	width: 56px ;
	margin-right: 12px ;
}
.sa_flow_circle {
	width: 36px ;
	height: 36px ;
	font-size: 15px ;
}
.sa_flow_title_col {
	width: 120px ;
	margin-right: 10px ;
}
}

/* ----------------------------------------------------------
   料金テーブル（smartalert.html内）
   ---------------------------------------------------------- */
.sa_price_table_wrap {
	width: 100% ;
	max-width: 600px ;
	margin-left: auto ;
	margin-right: auto ;
	margin-bottom: 10px ;
}

/* ----------------------------------------------------------
   ケーステーブル（セクション4）
   ---------------------------------------------------------- */
.sa_case_table_wrap {
	width: 100% ;
	max-width: 600px ;
	margin-left: auto ;
	margin-right: auto ;
	margin-bottom: 10px ;
}

.sa_case_table_title {
	font-size: 13px ;
	font-weight: 400 ;
	color: #333333 ;
	line-height: 170% ;
	margin-bottom: 4px ;
}

.sa_case_table_note {
	font-size: 10px ;
	color: #333333 ;
	text-align: right !important ;
	margin-bottom: 4px ;
}

.sa_case_table {
	width: 100% ;
	margin-top: 0 !important ;
	margin-left: 0 !important ;
	margin-right: 0 !important ;
	border-collapse: collapse ;
	font-size: 13px ;
	text-align: center ;
}

.sa_case_table thead tr th {
	background-color: #CEEAE8 ;
	color: #333333 ;
	border: solid 1px #37A6A7 ;
	border-top: 2px solid #37A6A7 ;
	padding: 8px 10px ;
	font-weight: 700 ;
	height: auto ;
	text-align: center ;
}

/* thead 外枠（左端・右端）は2px維持 */
.sa_case_table thead tr th:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_case_table thead tr th:last-child {
	border-right: 2px solid #37A6A7 ;
}

/* thead 1行目（予定納税対象会社）の下線を1pxに */
.sa_case_table thead tr:first-child th {
	border-bottom: 1px solid #37A6A7 ;
}

/* thead 2行目の上線を1pxに（border-collapseで共有するため） */
.sa_case_table thead tr:last-child th {
	border-top: 1px solid #37A6A7 ;
}

.sa_case_th_item {
	width: 55% ;
}

.sa_case_th_num,
.sa_case_th_ratio {
	width: 22.5% ;
}

.sa_case_table tbody td {
	background-color: #ffffff ;
	border-top: 2px solid #37A6A7 ;
	border-bottom: 2px solid #37A6A7 ;
	border-left: none ;
	border-right: none ;
	padding: 8px 10px ;
	height: auto ;
	font-weight: 400 ;
	text-align: center ;
}

/* tbody 外枠左端・右端の縦線を復活 */
.sa_case_table tbody td:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_case_table tbody td:last-child {
	border-right: 2px solid #37A6A7 ;
}

.sa_case_table tbody td:nth-child(2),
.sa_case_table tbody td:nth-child(3) {
	text-align: center ;
}

.sa_case_sub {
	font-size: 12px ;
	color: #555555 ;
	margin-left: 6px ;
}

/* 行の下線消去 */
.sa_case_no_border td {
	border-bottom: none !important ;
}

/* 行の上線消去 */
.sa_case_no_border_top td {
	border-top: none !important ;
}

.sa_case_indent {
	padding-left: 20px !important ;
}

/* 延滞税テキスト */
.sa_entai_text {
	font-size: 13px ;
	line-height: 180% ;
	color: #333333 ;
	margin-bottom: 10px ;
}

.sa_price_table {
	position: relative ;
	width: 100% ;
	margin-top: 0 !important ;
	margin-left: auto !important ;
	margin-right: auto !important ;
	border-collapse: collapse ;
	font-size: 14px ;
	text-align: center ;
	z-index: 0 ;
}

.sa_price_table th {
	background-color: #5DA6B7 ;
	color: #ffffff ;
	border: solid 2px #37A6A7 ;
	padding: 10px ;
	font-weight: 700 ;
	height: auto ;
}

.sa_price_th_item {
	width: 50% ;
}

.sa_price_th_base {
	width: 25% ;
}

.sa_price_table td {
	background-color: #ffffff ;
	border: solid 1px #CEEAE8 ;
	padding: 10px ;
	height: auto ;
	font-weight: 400 ;
}

.sa_price_table_note {
	font-size: 11px ;
	color: #333333 ;
	text-align: right !important ;
	margin-top: 5px ;
	width: 100% ;
	max-width: 500px ;
}

/* ----------------------------------------------------------
   社内外の受入・送信の流れ（sa_flowと同デザイン）
   ---------------------------------------------------------- */
.sa_workflow_wrap {
	width: 100% ;
}

.sa_workflow_item {
	display: flex ;
	align-items: stretch ;
	margin-bottom: 0 ;
}

/* オプションアイコン幅(105px)と同じ幅に統一 */
.sa_workflow_left {
	display: flex ;
	flex-direction: column ;
	align-items: center ;
	flex-shrink: 0 ;
	width: 105px ;
	margin-right: 20px ;
}

.sa_workflow_title {
	font-size: 14px ;
	font-weight: bold !important ;
	color: #333333 ;
	line-height: 160% ;
}

.sa_workflow_desc {
	font-size: 12px ;
	line-height: 170% ;
	color: #555555 ;
	margin-bottom: 6px ;
}

/* FASEワークフロー内テキストリンク */
.sa_fase_link_wrap {
	display: block ;
	width: 100% ;
	text-align: right ;
	margin: 4px 0 ;
}
.sa_fase_link_wrap a {
	color: #37A6A7 ;
	text-decoration: none ;
	font-size: 14px ;
	line-height: 200% ;
}
.sa_fase_link_wrap a:hover {
	color: #1d7475 ;
	text-decoration: underline ;
}

/* 弊社：／会計事務所：ラベル（ターコイズ色） */
.sa_fase_label {
	font-size: 12px ;
	font-weight: 700 ;
	color: #37A6A7 ;
	line-height: 170% ;
	margin-top: 8px ;
	margin-bottom: 2px ;
}

/* （例）・注釈テキスト */
.sa_fase_note {
	font-size: 12px ;
	line-height: 170% ;
	color: #555555 ;
	margin-top: 4px ;
	margin-bottom: 6px ;
	padding-left: 1em ;
}

@media screen and (max-width: 800px) {
.sa_workflow_left {
	width: 56px ;
	margin-right: 12px ;
}
}

/* ----------------------------------------------------------
   FAQ エリア（smartalert.html）
   ---------------------------------------------------------- */
.sa_faq_section {
	width: 100% ;
	max-width: 700px ;
	margin-left: auto ;
	margin-right: auto ;
}

.sa_faq_title {
	font-size: 18px !important ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	font-weight: 700 ;
	color: #333333 !important ;
	border-bottom: 2px solid #5DA6B7 !important ;
	padding-bottom: 8px !important ;
	margin-bottom: 15px !important ;
	letter-spacing: 0 !important ;
	display: block !important ;
}

.sa_faq_item {
	display: flex ;
	align-items: flex-start ;
	margin-bottom: 20px ;
	padding: 15px ;
	background: #f7fbfb ;
	border-left: 4px solid #37A6A7 ;
}

.sa_faq_icon_wrap {
	flex-shrink: 0 ;
	margin-right: 15px ;
	margin-top: 2px ;
}

.sa_faq_text_wrap {
	flex: 1 ;
}

.sa_faq_q {
	font-size: 14px ;
	font-weight: 700 ;
	color: #015252 ;
	line-height: 160% ;
	margin-bottom: 8px ;
}

.sa_faq_a {
	font-size: 13px ;
	line-height: 170% ;
	color: #555555 ;
}

/* ----------------------------------------------------------
   お申込み前CTAエリア背景（薄いブルー）
   ---------------------------------------------------------- */
.sa_cta_bg_wrap {
	width: 100% ;
	background-color: #E6EEF0 ;
	box-sizing: border-box ;
	padding-left: 30px ;
	padding-right: 30px ;
	margin-top: 50px ;
	margin-bottom: 50px ;
}

/* ----------------------------------------------------------
   お申込み前CTAエリア（SA_text_MoushikomiCheck.png）
   ---------------------------------------------------------- */
.sa_moushikomi_check_wrap {
	text-align: center ;
	background-color: #E6EEF0 ;
	padding: 30px ;
	box-sizing: border-box ;
}

.sa_moushikomi_check_wrap a {
	display: inline-block ;
}

.sa_moushikomi_check_wrap a img {
	display: block ;
	max-width: 100% ;
	height: auto ;
	transition: opacity 0.2s ;
}

.sa_moushikomi_check_wrap a:hover img {
	opacity: 0.75 ;
}

.sa_img_MoushikomiCheck {
	display: block ;
	width: 475px ;
	height: 35px ;
	margin-left: auto ;
	margin-right: auto ;
	background-image: url(../../img/SA_text_MoushikomiCheck.png) ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 475px 35px ;
	overflow: hidden ;
}

@media screen and (max-width: 800px) {
.sa_img_MoushikomiCheck {
	width: 100% ;
	height: 28px ;
	background-size: contain ;
}
}

/* ----------------------------------------------------------
   CTAボタン（料金プラン・ご契約内容）
   ---------------------------------------------------------- */
.sa_cta_btn_wrap {
	display: flex ;
	justify-content: center ;
	align-items: center ;
	gap: 30px ;
	flex-wrap: wrap ;
}

.sa_btn_price {
	display: block ;
	width: 165px ;
	height: 165px ;
	background-image: url(../../img/SA_btn_Price.png) ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 165px 165px ;
	overflow: hidden ;
	cursor: pointer ;
}

.sa_btn_price:hover {
	opacity: 0.8 ;
	transition: opacity 0.3s ;
}

.sa_btn_link_price {
	display: block ;
	width: 100% ;
	height: 165px ;
}

.sa_btn_contract {
	display: block ;
	width: 165px ;
	height: 165px ;
	background-image: url(../../img/SA_btn_Contract.png) ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 165px 165px ;
	overflow: hidden ;
	cursor: pointer ;
}

.sa_btn_contract:hover {
	opacity: 0.8 ;
	transition: opacity 0.3s ;
}

.sa_btn_link_contract {
	display: block ;
	width: 100% ;
	height: 165px ;
}

@media screen and (max-width: 800px) {
.sa_cta_btn_wrap {
	flex-direction: column ;
	gap: 15px ;
}
.sa_btn_price,
.sa_btn_contract {
	width: 132px ;
	height: 132px ;
	background-size: 132px 132px ;
}
.sa_btn_link_price,
.sa_btn_link_contract {
	height: 132px ;
}
}

/* ----------------------------------------------------------
   JOCからお役立てますCTA
   ---------------------------------------------------------- */
.sa_joc_cta_wrap {
	text-align: center ;
	margin-top: 10px ;
}

.sa_joc_cta_text {
	font-size: 18px ;
	font-weight: 700 ;
	color: #015252 ;
	text-align: center ;
}

/* ----------------------------------------------------------
   共通ラベル・テキスト補助
   ---------------------------------------------------------- */
.sa_bold_label {
	font-size: 14px ;
	font-weight: bold !important ;
	color: #333333 !important ;
	margin-bottom: 8px ;
}

.sa_merit_list {
	list-style: disc ;
	padding-left: 20px ;
	margin-bottom: 10px ;
}

.sa_merit_list li {
	font-size: 14px ;
	line-height: 180% ;
	color: #333333 ;
	margin-bottom: 5px ;
}

/* ----------------------------------------------------------
   料金プランページ専用 (smartalertprice.html)
   ---------------------------------------------------------- */

/* 料金ブロック（初期設定料 / 月額基本料 / オプション）*/
.sa_price_block_wrap {
	display: flex ;
	align-items: flex-start ;
	width: 100% ;
	margin-bottom: 10px ;
}

.sa_price_block_icon {
	flex-shrink: 0 ;
	width: 188px ;
	height: 110px ;
	background-position: center top ;
	background-repeat: no-repeat ;
	background-size: 85px 80px ;
	margin-right: 25px ;
	margin-top: 5px ;
	position: relative ;
	z-index: 1 ;
}

.sa_price_icon_initial {
	background-image: url(../../img/SA_icon_Price.png) ;
}

.sa_price_icon_monthly {
	background-image: url(../../img/SA_icon_Price.png) ;
}

.sa_price_icon_option {
	background-image: url(../../img/SA_icon_Price.png) ;
}

@media screen and (max-width: 800px) {
.sa_price_block_wrap {
	flex-direction: column ;
}
.sa_price_block_icon {
	margin-right: 0 ;
	margin-bottom: 10px ;
}
}

.sa_price_block_content {
	flex: 1 ;
	min-width: 500px ;
}

/* タイトルテキスト専用ボックス（z-indexでアイコンにオーバーラップ） */
.sa_price_title_box {
	position: absolute ;
	top: 46px ;
	left: 100px ;
	width: 85px ;
	z-index: 2 ;
	text-align: center ;
}

.sa_price_block_title,
#container .sa_price_block_title {
	font-size: 16px !important ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	font-weight: 700 ;
	color: #37A6A7 !important ;
	border-bottom: none !important ;
	padding-bottom: 0 !important ;
	margin-bottom: 0 !important ;
	letter-spacing: 0 !important ;
	line-height: 130% ;
	display: block !important ;
	white-space: nowrap ;
}

.sa_price_amount_wrap {
	display: flex ;
	align-items: center ;
}

.sa_price_main_amount {
	font-size: 28px !important ;
	font-family: 'Roboto', 'Noto Sans Japanese', sans-serif ;
	font-weight: 900 !important ;
	color: #37A6A7 !important ;
	line-height: 110% ;
	padding-left: 0 ;
}

.sa_campaign_badge {
	display: flex ;
	align-items: center ;
	gap: 8px ;
	background: none ;
	border: none ;
	padding: 0 ;
	margin-top: 0 ;
	margin-bottom: 0 ;
}

.sa_campaign_badge_text {
	margin-top: -15px ;
}

.sa_campaign_text {
	font-size: 14px ;
	font-weight: 700 ;
	color: #e03030 ;
}

/* うずまきアイコン左右反転（右側配置用） */
.sa_campaign_icon_flip {
	transform: scaleX(-1) ;
}

/* 5000円行の左側アイコン幅確保用スペーサー */
.sa_campaign_icon_spacer {
	display: block ;
	width: 45px ;
	height: 45px ;
	flex-shrink: 0 ;
}

.sa_price_divider {
	display: block ;
	width: 100% ;
	height: 0 ;
	margin-top: 30px ;
	margin-bottom: 30px ;
}

/* 月額基本料テーブル */
.sa_monthly_price_table {
	width: 100% ;
	max-width: 500px ;
	margin-top: 0 !important ;
	margin-left: 0 !important ;
	border-collapse: collapse ;
	font-size: 15px ;
	text-align: center ;
}

.sa_monthly_price_table th {
	background-color: #CEEAE8 ;
	color: #333333 ;
	border: solid 1px #37A6A7 ;
	border-top: 2px solid #37A6A7 ;
	border-bottom: 2px solid #37A6A7 ;
	border-left: none ;
	border-right: none ;
	padding: 10px ;
	font-weight: 700 ;
	height: auto ;
}

/* th 外枠左端・右端は2px */
.sa_monthly_price_table th:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_monthly_price_table th:last-child {
	border-right: 2px solid #37A6A7 ;
}

/* thead最終行の下線は1px（tdとの境界） */
.sa_monthly_price_table thead tr:last-child th {
	border-bottom: 1px solid #37A6A7 ;
}

.sa_monthly_price_table td {
	background-color: #ffffff ;
	border-top: 1px solid #37A6A7 ;
	border-bottom: 1px solid #37A6A7 ;
	border-left: none ;
	border-right: none ;
	padding: 10px ;
	height: auto ;
	font-weight: 400 ;
}

/* td 外枠：上下左右を2px */
.sa_monthly_price_table tbody tr:first-child td {
	border-top: 2px solid #37A6A7 ;
}
.sa_monthly_price_table tbody tr:last-child td {
	border-bottom: 2px solid #37A6A7 ;
}
.sa_monthly_price_table tbody td:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_monthly_price_table tbody td:last-child {
	border-right: 2px solid #37A6A7 ;
}
.sa_price_td_amount {
	font-size: 28px !important ;
	font-family: 'Roboto', sans-serif ;
	font-weight: 900 ;
	color: #37A6A7 ;
	background-color: #f7fbfb !important ;
}

.sa_price_td_amount strong {
	font-size: 28px !important ;
	font-weight: 900 ;
	color: #37A6A7 ;
}

/* オプション料金テーブル */
.sa_option_service_title {
	font-size: 15px ;
	font-weight: bold !important ;
	color: #333333 ;
	margin-bottom: 8px ;
}

.sa_option_base_price {
	font-size: 15px ;
	font-weight: normal !important ;
	color: #333333 ;
	margin-bottom: 15px ;
	margin-left: 50px ;
	white-space: nowrap ;
}

/* 1行強制表示 */
.sa_nowrap,
#container .sa_nowrap {
	white-space: nowrap !important ;
	overflow: visible !important ;
}

/* フォントサイズ縮小（1行収め用） */
.sa_smalltext,
#container .sa_smalltext {
	font-size: 15px !important ;
}

.sa_option_base_price strong {
	font-size: 28px !important ;
	font-family: 'Roboto', sans-serif ;
	font-weight: 900 ;
	color: #37A6A7 ;
}

.sa_option_price_table {
	width: 100% ;
	max-width: 550px ;
	margin-top: 0 !important ;
	margin-left: 0 !important ;
	border-collapse: collapse ;
	font-size: 14px ;
	text-align: center ;
}

.sa_option_price_table th {
	background-color: #CEEAE8 ;
	color: #333333 ;
	border: solid 1px #37A6A7 ;
	border-top: 2px solid #37A6A7 ;
	border-bottom: 2px solid #37A6A7 ;
	border-left: none ;
	border-right: none ;
	padding: 10px ;
	font-weight: 700 ;
	height: auto ;
}

/* th 外枠左端・右端は2px */
.sa_option_price_table th:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_option_price_table th:last-child {
	border-right: 2px solid #37A6A7 ;
}

/* thead最終行の下線は1px（tdとの境界） */
.sa_option_price_table thead tr:last-child th {
	border-bottom: 1px solid #37A6A7 ;
}

.sa_th_amount {
	min-width: 120px ;
}

.sa_option_price_table td {
	background-color: #ffffff ;
	border: solid 1px #37A6A7 ;
	border-left: none ;
	border-right: none ;
	padding: 10px ;
	height: auto ;
	font-weight: 400 ;
	text-align: center ;
}

/* td 外枠：上下左右を2px */
.sa_option_price_table tbody tr:first-child td {
	border-top: 2px solid #37A6A7 ;
}
.sa_option_price_table tbody tr:last-child td {
	border-bottom: 2px solid #37A6A7 ;
}
.sa_option_price_table tbody td:first-child {
	border-left: 2px solid #37A6A7 ;
}
.sa_option_price_table tbody td:last-child {
	border-right: 2px solid #37A6A7 ;
}

.sa_option_price_table td.sa_price_td_amount {
	text-align: center ;
}

.sa_option_note_link {
	font-size: 13px ;
	color: #37A6A7 ;
	margin-top: 10px ;
}

/* ----------------------------------------------------------
   ご契約内容ページ専用 (smartalertcontract.html)
   ---------------------------------------------------------- */

/* PDFダウンロードボタン */
.sa_pdf_btn_wrap {
	text-align: center ;
	margin-bottom: 15px ;
}

.sa_btn_DocDownload_link {
	display: inline-block ;
}

.sa_btn_DocDownload_link:hover .sa_btn_DocDownload {
	opacity: 0.8 ;
	transition: opacity 0.3s ;
}

.sa_btn_DocDownload {
	display: block ;
	width: 405px ;
	height: 65px ;
	background-image: url(../../img/SA_btn_DocDownload.png) ;
	background-position: center ;
	background-repeat: no-repeat ;
	background-size: 405px 65px ;
	overflow: hidden ;
}

@media screen and (max-width: 800px) {
.sa_btn_DocDownload {
	width: 100% ;
	max-width: 405px ;
	height: 52px ;
	background-size: contain ;
}
}

/* 契約条文エリア */
.sa_contract_body {
	width: 100% ;
	max-width: 700px ;
	margin-left: auto ;
	margin-right: auto ;
}

.sa_contract_article {
	margin-bottom: 30px ;
}

.sa_contract_article_title {
	font-size: 15px ;
	font-weight: 700 ;
	color: #333333 ;
	margin-bottom: 8px ;
	font-family: 'Noto Sans Japanese', sans-serif ;
	text-align: left !important ;
}

.sa_contract_article_text {
	font-size: 14px ;
	line-height: 180% ;
	color: #333333 ;
	text-align: left ;
	word-break: break-all ;
	overflow-wrap: break-word ;
}

.sa_contract_omit {
	text-align: center ;
	margin-top: 20px ;
	margin-bottom: 20px ;
	color: #888888 ;
	font-size: 16px ;
	line-height: 200% ;
}

/* ----------------------------------------------------------
   レスポンシブ補完
   ---------------------------------------------------------- */
@media screen and (max-width: 800px) {

	.sa_page_title {
		font-size: 18px !important ;
	}

	.sa_section_title {
		font-size: 16px !important ;
	}

	.sa_price_main_amount {
		font-size: 28px !important ;
		padding-left: 0 ;
	}

	.sa_monthly_price_table,
	.sa_option_price_table {
		width: 100% ;
		font-size: 13px ;
	}

	.sa_pdf_btn_link {
		padding: 12px 20px ;
		font-size: 14px ;
	}

	.sa_flow_step_circle {
		width: 50px ;
		height: 50px ;
	}

	.sa_workflow_step_circle {
		width: 45px ;
		height: 45px ;
	}
}

/* ----------------------------------------------------------
   よくある質問アイコン上寄せ（style.cssのtop:50%をオーバーライド）
   ---------------------------------------------------------- */
#container .box_cnt7 dl dd:before {
	top: 20px ;
	margin-top: 0 ;
}

/* 資料DL申請ボックス（未認証時） */
.sa_dl_request_box {
	display: block ;
	width: 300px ;
	height: 80px ;
	border: 1px solid #e07070 ;
	border-radius: 4px ;
	padding: 10px 15px ;
	box-sizing: border-box ;
	color: #e07070 !important ;
	text-decoration: none !important ;
	font-size: 15px ;
	line-height: 140% ;
	text-align: left ;
	margin-left: auto ;
	transition: background 0.2s, color 0.2s ;
}
.sa_dl_request_box:hover {
	background: #fde8e8 ;
	color: #e07070 !important ;
}