/*
Theme Name: AFFINGER Child
Template: affinger
Description: AFFINGER6 対応
Version: 20240601
*/

/* トップページのタイトル文字色を緑に変更 */
.st_toc_title {
	color: #009260 !important;
}

/* 追加：トップページのサブタイトル（役立つ税務と経理）を緑色に */
p.st_toc_title {
	color: #009260 !important;
	font-weight: bold !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 20px !important;
}

/* 役立つ税務のコンテンツ全体を枠で囲む - 正確なセレクターを使用 */
#st_toc_container.only-toc {
	border: 1px solid rgb(238, 238, 238) !important;
	padding: 20px !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
	margin-bottom: 7px !important;
}

/* 役立つ税務リスト内の個別項目 - 新着情報と同じスタイル */
#st_toc_container.only-toc .st_toc_list li {
	border: none !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid rgb(238, 238, 238) !important;
	margin-bottom: 4px !important;
	padding-bottom: 4px !important;
	padding-top: 0 !important;
}

/* 役立つ税務リスト内の最後の項目は下線を非表示 */
#st_toc_container.only-toc .st_toc_list li:last-child {
	border-bottom: none !important;
}

/* 役立つ税務リストの下側パディングを削除 */
.st_toc_list {
	padding-bottom: 0 !important;
}

/* 役立つ税務リスト内のリンクの境界線も非表示 */
#st_toc_container.only-toc .st_toc_list li a {
	border: none !important;
	border-bottom: none !important;
	border-top: none !important;
	border-left: none !important;
	border-right: none !important;
}

/* 役立つ税務リスト内の疑似要素の境界線も非表示 */
#st_toc_container.only-toc .st_toc_list li:before,
#st_toc_container.only-toc .st_toc_list li:after {
	border: none !important;
}

/* テスト：緑色表示確認用 */
body {
	border-top: 5px solid #009260 !important;
}

/* フッターデザイン：緑背景＋白抜き文字 */
footer,
#footer,
.footer,
[role="contentinfo"] {
	background-color: #009260 !important;
	color: #ffffff !important;
}

#footer-in,
.footer-in,
.st-footer,
.site-footer {
	background-color: #009260 !important;
	color: #ffffff !important;
}

/* フッター内の全ての要素の背景を透明または緑に */
#footer *,
footer * {
	background-color: transparent !important;
}

#footer div,
#footer section,
footer div,
footer section {
	background-color: #009260 !important;
}

/* フッターメニュー */
.footermenubox,
.footermenust {
	background-color: transparent !important;
}

.footermenust li a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.footermenust li a:hover {
	color: #cccccc !important;
	text-decoration: underline !important;
}

/* フッターロゴ */
.footerlogo a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.footerlogo a:hover {
	color: #cccccc !important;
}

/* コピーライト */
.copyr,
.copyr small {
	color: #ffffff !important;
}

/* フッターデザイン：緑背景＋白抜き文字 */
#footer {
	background-color: #009260 !important;
	color: #ffffff !important;
}

#footer-in {
	background-color: #009260 !important;
	color: #ffffff !important;
}

/* 新着情報のスタイルを統一 */
.news-ca {
	color: #009260 !important;
	font-weight: bold !important;
	font-size: 16px !important;
}

/* 新着情報のアイコンを変更（同じstsvgフォントを使用） */
.news-ca .st-svg-info-circle:before {
	content: "\f1ea" !important;
	font-family: stsvg !important;
}

/* 新着情報全体を細いグリッドで囲む */
#topnews-box {
	border: 1px solid rgb(238, 238, 238) !important;
	padding: 20px 20px 10px 20px !important;
	border-radius: 8px !important;
	position: relative !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
	background: #ffffff !important;
	margin-bottom: 20px !important;
}

/* 過去の新着情報リンクのスタイル */
.st-past-news-link {
	text-align: right !important;
	margin-top: 15px !important;
	padding-top: 15px !important;
	border-top: 1px solid rgb(238, 238, 238) !important;
}

.st-past-news-btn {
	display: inline-block !important;
	background-color: #009260 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 100% !important;
	font-weight: normal !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif !important;
	line-height: 1.4 !important;
	padding: 8px 16px !important;
	border-radius: 4px !important;
	border: none !important;
	transition: all 0.3s ease !important;
}

.st-past-news-btn:hover {
	background-color: #007950 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 2px 4px rgba(0, 146, 96, 0.3) !important;
}

/* 新着情報アーカイブページのスタイル */
.news-archive-list {
	margin-top: 20px !important;
}

.news-archive-item {
	margin-bottom: 15px !important;
	padding-bottom: 15px !important;
	border-bottom: 1px solid rgb(238, 238, 238) !important;
}

.news-archive-item:last-child {
	border-bottom: none !important;
}

.news-archive-item dl {
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
}

.news-archive-item dt {
	margin-right: 15px !important;
	min-width: 80px !important;
}

.news-archive-item dd {
	flex: 1 !important;
	margin: 0 !important;
}

/* プロフィールカードのスタイル（ソーシャルメディアアイコン非表示版） */
#authorst_widget {
	background: #ffffff !important;
	border: 1px solid rgb(238, 238, 238) !important;
	border-radius: 5px !important;
	padding: 15px 20px 20px 20px !important;
	margin-top: 0 !important;
	margin-bottom: 20px !important;
}

.st-author-box.st-author-master {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.st-author-profile {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

.st-author-profile-avatar {
	margin-bottom: 15px !important;
}

.st-author-profile-avatar img {
	border-radius: 50% !important;
	width: 100px !important;
	height: 100px !important;
	object-fit: cover !important;
	border: 3px solid #009260 !important;
}

.st-author-profile-content {
	width: 100% !important;
}

.st-author-nickname {
	font-size: 18px !important;
	font-weight: bold !important;
	color: #009260 !important;
	margin-bottom: 10px !important;
	margin-top: 0 !important;
}

.st-author-description {
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: #333333 !important;
	margin: 0 !important;
}

/* サイドバーのマージン調整でメインコンテンツと位置を揃える */
#side aside {
	margin-top: 30px !important;
}

/* トップページ以外でサイドバーが非表示の場合のコンテンツ中央寄せ */
body:not(.home):not(.front-page) #content {
	max-width: 1060px !important;
	margin: 0 auto !important;
}

body:not(.home):not(.front-page) #contentInner {
	width: 867px !important;
	max-width: 867px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
}


/* サイドバー非表示時にmainの右マージンを0に設定してセンター配置 */
body:not(.home):not(.front-page) main {
	margin: 0 auto 20px auto !important;
	width: 727px !important;
	max-width: 727px !important;
	background: #ffffff !important;
	border-radius: 4px !important;
	padding: 30px 70px !important;
	padding-top: 0px !important;
	box-sizing: content-box !important;
}

/*media Queries スマートフォンとタブレットサイズ（959px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {

	/* プロフィールカードのモバイル調整 */
	#authorst_widget {
		padding: 15px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	.st-author-profile-avatar img {
		width: 80px !important;
		height: 80px !important;
	}
	
	.st-author-nickname {
		font-size: 16px !important;
	}
	
	.st-author-description {
		font-size: 13px !important;
	}

	/* モバイルでのコンテンツ中央寄せ調整 */
	body:not(.home):not(.front-page) #contentInner {
		padding: 0 15px !important;
	}

	/* モバイルでのmainエリアパディング調整 */
	body:not(.home):not(.front-page) main {
		padding: 20px !important;
	}

	/*-- ここまで --*/
}

/* 最優先でcontentInnerの幅を867pxに設定 - より高い詳細度を使用 */
@media print, screen and (min-width: 960px) {
    body:not(.home):not(.front-page) #content #contentInner {
        width: 867px !important;
        max-width: 867px !important;
        margin: 0 auto !important;
        float: none !important;
    }
    
    /* 親テーマの動的CSS設定を上書き */
    body:not(.home):not(.front-page) #contentInner {
        width: 867px !important;
        max-width: 867px !important;
        margin: 0 auto !important;
        float: none !important;
    }
    
}


/*media Queries タブレットサイズ（600px～959px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 959px) {


	/*-- ここまで --*/
}	
	
/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {


	/*-- ここまで --*/
}

/*media Queries PCサイズ（960px）以上で適応したいCSS - PCのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 960px) {

	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {

	/* プロフィールカードのスマホ専用調整 */
	#authorst_widget {
		padding: 12px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	
	.st-author-profile-avatar img {
		width: 70px !important;
		height: 70px !important;
		border-width: 2px !important;
	}
	
	.st-author-nickname {
		font-size: 15px !important;
		margin-bottom: 8px !important;
	}
	
	.st-author-description {
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	
	/*-- ここまで --*/
}

/* サイドバーウィジェット（カテゴリー・アーカイブ）のスタイル */
.side-widgets {
	background: #ffffff !important;
	border: 1px solid rgb(238, 238, 238) !important;
	border-radius: 8px !important;
	padding: 20px !important;
	margin-bottom: 20px !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
	transition: all 0.3s ease !important;
}

.side-widgets:hover {
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
	transform: translateY(-2px) !important;
}

/* ウィジェットタイトル */
.side-widgets h4.menu_underh2 {
	color: #009260 !important;
	font-size: 16px !important;
	font-weight: bold !important;
	margin: 0 0 15px 0 !important;
	padding: 0 0 10px 0 !important;
	border-bottom: 2px solid #009260 !important;
	position: relative !important;
}

.side-widgets h4.menu_underh2:after {
	content: "" !important;
	position: absolute !important;
	bottom: -2px !important;
	left: 0 !important;
	width: 30px !important;
	height: 2px !important;
	background: #009260 !important;
	opacity: 0.6 !important;
}

/* ウィジェットリスト */
.side-widgets ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.side-widgets li {
	margin-bottom: 8px !important;
	padding-left: 0 !important;
	position: relative !important;
}

.side-widgets li:before {
	content: "▸" !important;
	color: #009260 !important;
	font-size: 14px !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	line-height: 1.4 !important;
}

.side-widgets li a {
	color: #333333 !important;
	text-decoration: none !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	padding-left: 15px !important;
	display: block !important;
	padding-top: 2px !important;
	padding-bottom: 2px !important;
	border-radius: 3px !important;
	transition: all 0.2s ease !important;
}

.side-widgets li a:hover {
	color: #009260 !important;
	background-color: rgba(0, 146, 96, 0.05) !important;
	padding-left: 18px !important;
}

/* 過去のアーカイブボタン */
.archive-button-wrapper {
	margin-top: 15px !important;
	padding-top: 15px !important;
	border-top: 1px solid rgb(238, 238, 238) !important;
}

.archive-button {
	display: block !important;
	text-align: center !important;
	padding: 10px 15px !important;
	background: linear-gradient(135deg, #009260 0%, #007950 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border-radius: 5px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	transition: all 0.3s ease !important;
	border: none !important;
	box-shadow: 0 2px 4px rgba(0, 146, 96, 0.2) !important;
}

.archive-button:hover {
	background: linear-gradient(135deg, #007950 0%, #006040 100%) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 8px rgba(0, 146, 96, 0.3) !important;
}

/* 今月のお仕事カレンダーのタイトルにカレンダーアイコンを追加 - より具体的なセレクター */
#side #mybox .side-widgets:nth-of-type(3) h4.menu_underh2:before {
	content: "\f073\00a0" !important;
	font-family: stsvg !important;
	font-size: 1.1em !important;
	color: #009260 !important;
	font-weight: normal !important;
	display: inline-block !important;
	vertical-align: baseline !important;
}

/* 採用情報ページの表組みスタイル - シンプル・ミニマルデザイン */
.recruit-table-wrapper {
	overflow-x: auto !important;
	margin: 40px 0 !important;
}

/* 採用情報の表組み本体 */
#tablepress-3,
#tablepress-3 table,
.tablepress-id-3,
.tablepress-id-3 table,
table.tablepress-id-3 {
	width: 100% !important;
	border-collapse: collapse !important;
	background: #ffffff !important;
	border: 1px solid #ddd !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif !important;
	font-weight: 400 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* 表のヘッダー行 */
#tablepress-3 thead th,
.tablepress-id-3 thead th,
#tablepress-3 tr:first-child th,
.tablepress-id-3 tr:first-child th,
#tablepress-3 tr:first-child td,
.tablepress-id-3 tr:first-child td {
	background: #f8f8f8 !important;
	color: #333333 !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	padding: 10px 20px !important;
	text-align: left !important;
	border: 1px solid #ddd !important;
	letter-spacing: 0.02em !important;
	box-sizing: border-box !important;
}

/* 表のセル */
#tablepress-3 td,
.tablepress-id-3 td,
#tablepress-3 tbody td,
.tablepress-id-3 tbody td {
	padding: 12px 20px !important;
	border: 1px solid #ddd !important;
	vertical-align: middle !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

/* 表の行のホバー効果 - 非常に微細 */
#tablepress-3 tbody tr:hover,
.tablepress-id-3 tbody tr:hover {
	background-color: #fafafa !important;
	transition: background-color 0.15s ease !important;
}

/* 雇用形態のセル（左側） */
#tablepress-3 td:first-child,
.tablepress-id-3 td:first-child {
	font-weight: 500 !important;
	color: #333333 !important;
	width: 35% !important;
	text-align: left !important;
}

/* 詳細リンクのセル（右側） */
#tablepress-3 td:last-child,
.tablepress-id-3 td:last-child {
	text-align: left !important;
	width: 65% !important;
}

/* 詳細リンクボタンのスタイル - ミニマル */
#tablepress-3 td a,
.tablepress-id-3 td a {
	display: inline-block !important;
	background: #ffffff !important;
	color: #333333 !important;
	text-decoration: none !important;
	padding: 10px 16px !important;
	border: 1px solid #e0e0e0 !important;
	border-radius: 2px !important;
	font-weight: 400 !important;
	font-size: 13px !important;
	transition: all 0.2s ease !important;
	letter-spacing: 0.02em !important;
}

/* ボタンのホバー効果 - 控えめ */
#tablepress-3 td a:hover,
.tablepress-id-3 td a:hover {
	background: #f8f8f8 !important;
	color: #333333 !important;
	text-decoration: none !important;
	border-color: #d0d0d0 !important;
}

/* タブレット・スマートフォン対応 - ミニマルデザイン継続 */
@media only screen and (max-width: 959px) {
	.recruit-table-wrapper {
		margin: 30px 0 !important;
	}
	
	#tablepress-3 thead th,
	.tablepress-id-3 thead th,
	#tablepress-3 tr:first-child td,
	.tablepress-id-3 tr:first-child td {
		padding: 8px 15px !important;
		font-size: 13px !important;
	}
	
	#tablepress-3 td,
	.tablepress-id-3 td {
		padding: 10px 15px !important;
		font-size: 13px !important;
	}
	
	#tablepress-3 td a,
	.tablepress-id-3 td a {
		padding: 8px 12px !important;
		font-size: 12px !important;
	}
}

/* スマートフォン専用 - よりコンパクト */
@media only screen and (max-width: 599px) {
	.recruit-table-wrapper {
		margin: 20px 0 !important;
	}
	
	#tablepress-3 thead th,
	.tablepress-id-3 thead th,
	#tablepress-3 tr:first-child td,
	.tablepress-id-3 tr:first-child td {
		padding: 6px 10px !important;
		font-size: 12px !important;
	}
	
	#tablepress-3 td,
	.tablepress-id-3 td {
		padding: 8px 10px !important;
		font-size: 12px !important;
	}
	
	#tablepress-3 td:first-child,
	.tablepress-id-3 td:first-child {
		width: 40% !important;
	}
	
	#tablepress-3 td:last-child,
	.tablepress-id-3 td:last-child {
		width: 60% !important;
	}
	
	#tablepress-3 td a,
	.tablepress-id-3 td a {
		padding: 6px 10px !important;
		font-size: 11px !important;
		border-radius: 1px !important;
	}
}
