/* ==========================================================================
   全般設定・基本スタイル (html, body, 共通タグ)
   ========================================================================== */

:root{
	scroll-padding: 100px;
	scroll-behavior: smooth;
}

html body {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	position: relative;
	letter-spacing: 0.02em;
	color: #333333;
	background-color: #fff;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

html body a,
html body a:focus {
	color: rgba(0,162,106);
	text-decoration: underline;
}

html body a:hover {
	color: rgba(0,162,106,0.8);
}

.ir-h1, .ir-h2, .ir-h3, .ir-h4, .ir-h5,
h1, h2, h3, h4, h5 {
	font-size: 1em;
	margin: 0px;
	padding: 0px;
	line-height: 1.25;
	letter-spacing: 0.06em;
}

a {
	text-decoration: none;
}

ul, li {
	margin: 0px;
	padding: 0px;
	list-style: none; /* リストのデフォルトの黒丸をクリア */
}

dt, dl, dd {
	margin: 0px;
	padding: 0px;
}

img{
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.ir-container{
	max-width: 1082px;
}

.ir-container-fluid{
	display: block;
	max-width: 1082px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	padding-top: 96px;
	padding-bottom: 96px;
}

.ir-container-fluid h1{
	font-size: 2em;
	font-weight: bold;
	border-bottom: 1px rgba(214,210,210) solid;
	line-height: 1.3em;
	padding-bottom: 0.2em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.ir-container-fluid .h1-hoki{
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2em;
	padding-bottom: 0em;
	margin-top: 2em;
	margin-bottom: 0em;
}

.ir-container-fluid h2{
	font-size: 1.4em;
	font-weight: bold;
	border-left: 0.3em rgba(0,162,106) solid;
	padding-left: 0.7em;
	line-height: 1.3em;
	margin-top: 2em;
	margin-bottom: 0.5em;
	padding: 0.3em 0.7em;
}

.ir-container-fluid h3{
	font-size: 1.2em;
	font-weight: bold;
	color: rgba(0,162,106);
	line-height: 1.3em;
	margin-top: 2em;
	margin-bottom: 0.5em;
}

.ir-container-fluid h4{
	font-size: 1em;
	font-weight: bold;
	line-height: 1.3em;
	margin-top: 2em;
	margin-bottom: 0.5em;
}

.ir-container-fluid .main-image{
	width: 100%;
	margin: 32px 0;
}

.ir-container-fluid .main-image img{
	width: 100%;
}

.pankuzu{
	color: rgba(102,100,100);
	font-size: 12px;
	letter-spacing: 0.2em;
	padding-left: 0.5em;
}

.pankuzu a,
.pankuzu a:focus{
	color: rgba(102,100,100);
	text-decoration: none;
}

.pankuzu a:hover{
	color: rgba(102,100,100,0.8);
}

/* フリーページのtable書式 */
.ir-container-fluid > table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
}

.ir-container-fluid > table th{
	width: 20%;
	background: rgba(214,210,210,0.3);
	border: 1px solid rgba(214,210,210);
	padding: 0.5em 1em;
}

.ir-container-fluid > table td{
	border: 1px solid rgba(214,210,210);
	padding: 0.5em 1em;
}

.ir-container-fluid > table th:empty::before,
.ir-container-fluid > table td:empty::before {
	content: "\00a0"; /* 文字1行分の高さを強制確保*/
}

/*-- spサイズ（575px以下）の表のレイアウト-- */
@media (max-width: 575px) {
	.ir-container-fluid > table {
		border: 1px solid rgba(214,210,210);
	}

	.ir-container-fluid > table tr{
		display: inline-block;
		box-sizing: border-box;
		width: 100%;
	}
	
	.ir-container-fluid > table th{
		display: inline-block;
		box-sizing: border-box;
		width: 100%;
		padding: 0.5em 1em;
	}

	.ir-container-fluid > table td{
		display: inline-block;
		box-sizing: border-box;
		width: 100%;
		padding: 0.5em 1em;
	}
}


/* フリーページの番号付きリスト(ol)書式 */
.ir-container-fluid > ol,
.ir-container-fluid > table ol {
	padding-left: 0;
	counter-reset: list-counter;
}

.ir-container-fluid > ol > li,
.ir-container-fluid > table ol > li {
	counter-increment: list-counter;
	align-items: baseline;
	list-style: none;
	display: block;
	margin-left: 1.5em;
	text-indent: -1.5em;
}

.ir-container-fluid > ol > li::before,
.ir-container-fluid > table ol > li::before {
	content: counter(list-counter) ".";
	margin-right: 0.5em;
}

/* フリーページの番号付きリスト(ol)書式の数字を(1)表記に　→　olのclassでparenを指定 */
.ir-container-fluid > .paren > li::before,
.ir-container-fluid > table .paren > li::before {
    content: "(" counter(list-counter) ")"; /* 「1.」から「(1)」に変更 */
    margin-right: 0.5em;
}


.otoiawase {
	width: 100%;
	display: block;
	text-align: center;
	background: rgba(214,210,210,0.3);
	padding:1em;
	margin-top: 1em; 
    box-sizing: border-box;
}

.otoiawase table{
	display: inline-block;
	text-align: center;
}

.otoiawase-btn{
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

.otoiawase-btn a,
.otoiawase-btn a:focus{
	display: inline-block;
	background: rgba(0,162,106);
	width: 300px;
	max-width: 100%;
	border-radius: 16px;
	padding: 1em;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	height: 100%;
}

.otoiawase-btn a:hover{
	opacity: 0.8;
	color: #fff !important;
}


.shousai{
	text-align: right;
	margin:0.5em 0 1em;
	display: block;
	width: 100%;
}

.shousai a,
.shousai a:focus{
	display: inline-block;
	color: rgba(0,162,106) !important;
	border: 2px solid rgba(0,162,106);
	border-radius: 0.5em;
	text-align: center;
	width: auto;
	height: 2em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	text-decoration: none;
	line-height: 2em;
}

.shousai a:hover{
	opacity: 0.8;
}

.note{
    text-indent: -1em;
    padding-left: 1em;
	margin-top: 0;
	margin-bottom: 0;
}

/* ------------------------------------------
PCサイズ（992px以上）の表示レイアウト
------------------------------------------ */
@media (min-width: 992px) {
	.pc-only{
		display: inline !important;
	}
	.sp-only{
		display: none !important;
	}
}

/* ------------------------------------------
スマートフォン・タブレットサイズ（991px以下）の表示レイアウト
------------------------------------------ */

@media (max-width: 991px) {
	html body {
		padding-top: 60px;
	}
	.pc-only{
		display: none !important;
	}
	.sp-only{
		display: inline !important;
	}

	.ir-container-fluid{
		padding: 80px 16px;
	}

	.ir-container-fluid h1{
		font-size: 1.5em;
	}
}


/* ==========================================================================
   ヘッダー・ナビゲーションエリア (共通ベース設定)
   ========================================================================== */

.ir-navbar-header {
	float: none !important;
}

.ir-navbar-header a {
	text-decoration: none;
	transition: all 0.5s;
}

.ir-navbar {
	margin-bottom: 0;
	font-size: 1em;
	border: 0px;
	z-index: 1030;
	transition: all 0.5s;
	--bs-navbar-padding-y: 0;
	position: fixed;
	background: rgba(255,255,255,0.8) !important;
}

.ir-navbar .ir-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	margin: 0 auto;
	width: 100%;
}

.fixed {
	opacity: 0.9;
	top: 0px;
}

.ir-navbar-brand,
.ir-navbar-brand:focus {
	float: none !important;
	height: auto !important;
	padding: 0 !important;
	line-height: 20px;
	color: #333333 !important;
	width: auto;
	margin: 0 !important;
	display: flex;
	align-items: center;
}

.ir-navbar-brand:hover {
	color: #fff !important;
	text-decoration: none;
}

.ir-navbar-brand:hover h1 {
	color: #fff !important;
}

.ir-h1 {
	font-size: 1em;
	color: #fff;
	font-weight: 600;
	margin: 0 0;
	padding: 0px;
	display: block;
	overflow: hidden;
	word-break: break-all;
	display: flex;
	height: auto;
}

.ir-h1 img {
	max-width: 100%;
	transition: all 0.5s;
}

.ir-navbar-default .ir-navbar-nav li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ir-navbar-default .ir-navbar-nav li a {
	color: #fff;
	text-decoration: none;
	transition: all 0.5s;
    display: flex;
    align-items: center;
    font-weight: bold;
}

/* ------------------------------------------
PCサイズ（992px以上）の表示レイアウト
------------------------------------------ */
@media (min-width: 992px) {
	.ir-navbar {
		height: 80px;
		width: 100%;
		background: rgba(255,255,255,0.8) !important;
	}

	.ir-navbar-toggler{
		display: none !important;
	}

	.ir-navbar .ir-container {
		height: 80px;
		width: 100%;
	}

	.ir-h1 {
		position: fixed;
		left: 5em;
		max-height: 80px;
		width: auto;
	}

	.ir-h1 img {
		max-height: 60px;
	}

	.fixed .ir-navbar-nav .ir-h1 img {
		max-height: 40px;
	}

	.navbar-collapse {
		display: flex !important;
		position: fixed;
		right: 48px;
		top: 0;
		height: 80px;
		width: auto;
		box-shadow: none;
		transition: height 0.5s ease;
	}

	.fixed .navbar-collapse {
		height: 60px;
	}

	.ir-navbar-nav {
		height: 80px;
		flex-direction: row;
		gap: 36px;
		align-content: center;
		display: flex;
		transition: height 0.5s ease;
	}

	.fixed .ir-navbar-nav {
		height: 60px;
	}

	.ir-navbar-nav > li {
		width: auto;
		height: 100%;
		padding: 0;
		position: relative;
	}

	.nav-link-wrap {
		height: 100%;
		display: flex;
		align-items: center;
	}

	.ir-navbar-default .ir-navbar-nav li a {
		height: 100%;
		padding: 0;
		width: auto;
		color: #333;
	}

	/* スマホ専用トグルボタンを非表示 */
	.dropdown-toggle-btn {
		display: none !important;
	}

	/* 【重要】PC表示時：外部CSSの干渉を防ぎ第2階層を隠す設定 */
	.ir-navbar-nav .sub-menu {
		display: block !important;
		opacity: 0 !important;
		visibility: hidden !important;
		position: absolute !important;
		top: 80px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		background-color: #fff !important;
		box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
		min-width: 220px !important;
		padding: 10px 0 !important;
		transition: opacity 0.3s ease, visibility 0.3s ease !important;
		z-index: 1050 !important;
	}

	.fixed .ir-navbar-nav .sub-menu {
		top: 60px !important;
	}

	/* 親メニューホバー時に第2階層を確実に表示 */
	.ir-navbar-nav li.has-child:hover .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.ir-navbar-nav .sub-menu li {
		width: 100% !important;
		border-bottom: none !important;
	}

	.ir-navbar-nav .sub-menu li a {
		color: #333 !important;
		padding: 10px 20px !important;
		font-size: 0.9em !important;
		font-weight: normal !important;
		display: block !important;
		height: auto !important;
		text-align: left !important;
		white-space: nowrap !important;
		background: transparent !important;
	}

	.ir-navbar-nav .sub-menu li a:hover {
		background-color: #f5f5f5 !important;
		color: rgba(0,162,106) !important;
	}
}

/* ------------------------------------------
スマートフォン・タブレットサイズ（991px以下）の表示レイアウト
------------------------------------------ */

@media (max-width: 991px) {

	.ir-navbar {
		position: fixed !important;
		top: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background: rgba(255,255,255) !important;
	}

	.ir-navbar .ir-container {
		height: 60px;
	}

	.ir-h1 {
		position: absolute;
		left: 15px;
		top: 50%;
		transform: translateY(-50%);
		width: 12em;
	}

	.ir-h1 img {
		max-height: 40px;
	}

	/* ハンバーガーメニューボタンの設定 */
	.ir-navbar-toggler {
		display: block !important;
		border: 1px solid rgba(0, 0, 0, 0.2) !important;
		padding: 0.25rem 0.75rem;
		background-color: transparent !important;
		height: 40px;
		width: 50px;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		border-radius: 0px;
	}

	.ir-navbar-toggler .navbar-toggler-icon {
		display: block;
		width: 100%;
		height: 100%;
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.75%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100%;
	}

	/* ハンバーガーメニュー内の全体枠の設定 */
	.navbar-collapse {
		position: fixed !important;
		top: 60px !important;
		left: 0 !important;
		width: 100% !important;
		background: #666464 !important;
		box-shadow: 0 4px 10px rgba(0,0,0,0.1);
		z-index: 1000 !important;
		padding: 0 !important;
		max-height: calc(100vh - 60px) !important;
		overflow-y: auto !important;
	}

	/* 外部古いCSSの強制ブロック・表示をBootstrap本来の挙動に戻す */
	.navbar-collapse:not(.show) {
		display: none !important;
	}
	.navbar-collapse.collapsing {
		display: block !important;
	}
	.navbar-collapse.show {
		display: block !important;
	}

	.ir-navbar-nav {
		height: auto !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: 0 !important;
		display: flex !important;
		width: 100% !important;
	}

	.ir-navbar-nav > li {
		width: 100% !important;/*
		font-size: 1.25em !important;*/
		padding: 0 !important; 
		background-color: #666464 !important;
		box-sizing: border-box !important;
		border-bottom: 1px solid rgba(255,255,255,0.1) !important;
	}

	.nav-link-wrap {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		width: 100% !important;
		padding: 15px 20px 15px 40px !important;
		box-sizing: border-box !important;
	}

	.ir-navbar-default .ir-navbar-nav li a {
		padding: 0 !important;
		width: auto !important;
		flex-grow: 1 !important;
		display: inline-block !important;
	}

	/* スマホ用：第2階層トグル矢印ボタン */
	.dropdown-toggle-btn {
		display: block !important;
		width: 40px !important;
		height: 24px !important;
		background: transparent !important;
		border: none !important;
		position: relative !important;
		cursor: pointer !important;
		padding: 0 !important;
	}

	.dropdown-toggle-btn::after {
		content: "" !important;
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		width: 8px !important;
		height: 8px !important;
		border-right: 2px solid #fff !important;
		border-bottom: 2px solid #fff !important;
		transform: translate(-50%, -70%) rotate(45deg) !important;
		transition: transform 0.3s ease !important;
	}

	/* 開いた時は矢印を上向きに */
	.dropdown-toggle-btn[aria-expanded="true"]::after {
		transform: translate(-50%, -30%) rotate(-135deg) !important;
	}

	/* 【重要】スマホ用：第2階層の開閉、外部CSS上書きリセット設定 */
	.ir-navbar-nav .sub-menu {
		width: 100% !important;
		background-color: #555353 !important;
		padding: 0 !important;
		list-style: none !important;
		box-shadow: none !important;
		position: static !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	/* BootstrapのCollapseアニメーション以外（外部指定）で常に表示されるのを完全に防止 */
	.ir-navbar-nav .sub-menu:not(.show) {
		display: none !important;
	}
	.ir-navbar-nav .sub-menu.collapsing {
		display: block !important;
	}
	.ir-navbar-nav .sub-menu.show {
		display: block !important;
	}

	.ir-navbar-nav .sub-menu li {
		width: 100% !important;
		border-bottom: 1px solid rgba(255,255,255,0.05) !important;
	}

	.ir-navbar-nav .sub-menu li a {
		padding: 12px 20px 12px 60px !important;
		font-size: 0.9em !important;
		font-weight: normal !important;
		color: #eee !important;
		display: block !important;
		text-align: left !important;
	}
}


/* ==========================================================================
   フッター (共通ベース設定)
   ========================================================================== */

footer {
	background: rgb(102,100,100);
}

.footerArea_wrap {
	background: rgb(102,100,100);
	padding: 20px 20px 20px; /* 上下にゆとりを持たせる内側余白を追加 */
}

.footerArea_wrap * {
	color: #fff !important;
	text-decoration: none;
	font-size: 12px;
}

.footerArea_wrap *::before {
	content: none !important; /* 万が一擬似要素で・がついている場合の対策 */
}

.footer-menu__wrap {
	display: flex;
	flex-wrap: wrap;
	column-gap: 36px;
	list-style: none;
}

.footer-menu__wrap li{
	margin-bottom: 36px;
	flex: 1;
	flex-basis: 150px;
}

.footer-menu__wrap .footer-menu__column {
	display: block;
	margin: 0;
	padding: 0;
}

/* フッター内リストのドット（・）とインデントを完全に排除 */
.footer-menu__column dt,
.footer-menu__column dd {
	margin: 0;
	padding: 4px 0;
	list-style: none !important;
	list-style-type: none !important;
}


.footer-menu__column dt{
	font-weight: bold;
}

.footer-menu__column dd{
	padding-left: 0.5em;
}

.copyarea__text {
	text-align: center;
	margin-top: 30px;
	font-size: 0.85em;
}

/* ==========================================================================
   トップページ
   ========================================================================== */

/* トップ画像部分 */
.top-main-img {
	width: 100%;
	padding: 0 !important;
	height: 100vh;
	height: 700px;
	height: 553px;
	height: 592px;
}

.top-main-img {
	position: relative;
}

.top-main-img img {
	position: absolute;
	margin: 0 !important;
	height: 100vh;
	height: 700px;
	height: 592px;
	top: 0;
	right: 0;
}

/* トップ画像に重ねるコンセプト */
.top-main-img .ir-top-concept{
	position: absolute;
	left: 9%;
	top: 96px;
	display: block;
	font-size: 24px;
	font-family: "Noto Serif JP", Georgia, serif;
	font-weight: 700;
	color: rgba(102,100,100);
	line-height: 1.1;
}

.top-main-img .ir-top-concept .ir-top-concept-main{
	font-size: 24px;
	border-bottom: 1px solid rgba(102,100,100);
	padding-bottom: 2px;
	margin-bottom: 0;
}

.top-main-img .ir-top-concept .ir-top-concept-sub{
	margin-top: 2px;
	font-size: 16px;
	margin-left: 8px;
}

/* トップ画像に重ねるメニューボタン */
.top-main-img .ir-top-menu {
	position: absolute;
	display: block;
	bottom: 16px;
	left: 7%;
	width: 33%;
}

.top-main-img .ir-top-menu ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.top-main-img .ir-top-menu ul li,
.top-main-img .ir-top-menu ul li:focus {
	background: rgba(0,162,106);
	width: 48%;
	margin: 1%;
	box-sizing: border-box;
	border-radius: 16px;
	border: 4px solid rgba(0,162,106);
}

.top-main-img .ir-top-menu ul li:hover {
	opacity: 0.8;
}

.top-main-img .ir-top-menu ul li a{
	display: block;
	text-decoration: none;
	text-align: center;
	padding: 0.5em 0 0.5em;
	line-height: 0.5;
	line-height: 1;
}

.top-main-img .ir-top-menu ul li a img{
	position: relative;
	width: 32px;
	height: 32px;
	display: inline-block;
	margin-bottom: 0;
}

.top-main-img .ir-top-menu ul li a p{
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	margin-top: 0.5em;
}

.top-main-img .ir-top-menu ul li:nth-child(1) {
	background: #fff;
	border: 4px solid rgba(0,162,106);
}

.top-main-img .ir-top-menu ul li:nth-child(1) a img{
	width: 77px;
}

.top-main-img .ir-top-menu ul li:nth-child(1) a p{
	color: rgba(0,162,106);
}

.top-main-img .ir-top-menu ul li:nth-last-child(1) {
	background: #fff;
	border: 4px solid rgba(0,162,106);
}

.top-main-img .ir-top-menu ul li:nth-last-child(1) a p{
	color: rgba(0,162,106);
}


/*　ニュースエリアの切り替えボタン */
.newsarea_entry {
    display: flex;
    flex-wrap: wrap;
	width: 100%;
	gap:0.5em;
}
.newsarea_entry > label {
    flex: 1 1;
    order: -1;
	display: inline-block;
	text-align: center;
	color: #333;
    cursor: pointer;
	font-weight: bold;
	line-height: 3em;
	border-bottom: 3px solid rgba(214,210,210);
}
.newsarea_entry > label:hover {
	opacity: 0.8;
}
.newsarea_entry label:has(:checked){
	color: rgba(0,162,106);
	border-bottom: 3px solid rgba(0,162,106);
}
.newsarea_entry label:has(:checked):hover{
	opacity: 1;
}
.newsarea_entry input {
	display: none;
}
.newsarea_entry > ul {
	display: none;
}
.newsarea_entry label:has(:checked) + ul {
	display: block;
	width: 100%;
}

/*　ニュースエリア */
.newsarea_entry ul li{
	border-bottom:  1px solid rgba(214,210,210);
	padding: 1em 1em;
}

.newsarea_entry ul li a {
	text-decoration: none;
	color: #333 !important;
	width: 100%;
	display: flex;
	align-items: flex-start;
}

.newsarea_entry ul li time {
	display: inline-block;
	font-size: 12px;
	height: 24px;
	line-height: 24px;
	margin-top: 2px;
	width: 6em;
}

.newsarea_entry ul li .ct-tag {
	display: inline-block;
	border-radius: 0.5em;
	width: 10em;
	height: 24px;
	line-height: 24px;
	background: rgba(102,100,100);
	text-align: center;
	margin: 0 0.3em;
	margin-top: 2px;
	font-size: 12px;
	flex-shrink: 0;
	position: relative;
	color: #fff;
}

.newsarea_entry ul li p {
	display: inline-block;
	width: calc(100% - 84px);
	line-height: 24x;
	margin: 0;
	padding-left: 0.5em;
}

.newsarea_entry ul li .shousai{
	text-align: right;
	margin:0.5em 0 1em;
	display: block;
	width: 100%;
}

.newsarea_entry ul li .shousai a{
	display: inline-block;
	color: rgba(0,162,106) !important;
	border: 2px solid rgba(0,162,106);
	border-radius: 0.5em;
	text-align: center;
	width: auto;
	height: 2em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	text-decoration: none;
	line-height: 2em;
}

.newsarea_entry ul li .list-hoki{
	width: 100%;
}

.newsarea_entry ul li .list-hoki p{
	width: 100%;
}

.newsarea_entry ul li .list-hoki a{
	display: inline-block;
	color: rgba(0,162,106) !important;
	text-decoration: underline;
	width: auto;
	align-items: stretch;
}

.newsarea_entry ul li .list-hoki .note *{
    text-indent: 0;
    padding-left: 0;
}

.newsarea_entry ul li:has(.list-hoki) {
	border-bottom: none;
}

.newsarea_entry ul li .to_all{
	text-align: right;
	margin:0.5em 0 1em;
	width: 100%;
}
	
.newsarea_entry ul li .to_all a,
.newsarea_entry ul li .to_all a:focus{
	display: inline-block;
	color: rgba(0,162,106) !important;
	border: 2px solid rgba(0,162,106);
	border-radius: 0.5em;
	text-align: center;
	width: 8em;
	height: 2em;
	line-height: 2em;
}

.newsarea_entry ul li .to_all a:hover{
	opacity: 0.8;
}

.newsarea_entry ul li:has(.to_all) {
	border-bottom: none;
}

/* カテゴリタグの色指定 */
.ニュースリリース,
.研修会,
.会員割引あり,
.トピックス{
	color: rgba(0,162,106) !important;
	background: rgba(0,162,106,0.1) !important;
}

.お知らせ,
.イベント,
.経済見通し{
	color: rgba(229,0,18) !important;
	background: rgba(229,0,18,0.1) !important;
}

.寄稿,
.無料セミナー,
.無料研修会,
.アンケート{
	color: rgba(0,77,160) !important;
	background: rgba(0,77,160,0.1) !important;
}

.出演{
	color: rgba(138,128,0) !important;
	background: rgba(138,128,0,0.1) !important;
}

.データ提供・掲載{
	color: rgba(210,0,230) !important;
	background: rgba(210,0,230,0.1) !important;
}


/* ------------------------------------------
PCサイズ（992px以上）の表示レイアウト
------------------------------------------ */
@media (min-width: 992px) {
	/*お知らせ一覧のタグが1個のときのタイトル幅の指定 */
	.newsarea_entry ul li a .ct-tag + p{
		width: calc(100% - 224px) ;
	}
	/*お知らせ一覧のタグが2個のときのタイトル幅の指定 */
	.newsarea_entry ul li a .tag-area + p {
		width: calc(100% - 360px) ;
	}
}

/* ------------------------------------------
スマートフォン・タブレットサイズ（991px以下）の表示レイアウト
------------------------------------------ */

@media (max-width: 991px) {
	.top-main-img {
		position: relative;
		margin-top: 60px;
		height: auto;
		width: 100%;
	}
	.top-main-img img {
		position: relative;
		height: auto;
		width: 100%;
		object-fit: cover;
	}

	.top-main-img .ir-top-concept{
		top: 31vw;
		transform: translateY(-50%);
		color: #333;
	}
	
	.top-main-img .ir-top-concept .ir-top-concept-main{
		font-size: 7vw;
		text-shadow: #fff 0 0 8vw,#fff 0 0 8vw;
	}
	
	.top-main-img .ir-top-concept .ir-top-concept-sub{
		font-size: 3.5vw;
		text-shadow: #fff 0 0 4vw,#fff 0 0 4vw;
	}

	.top-main-img .ir-top-menu {
		position: static;
		width: 100%;
	}
	
	
	.newsarea_entry ul li a{
		display: inline-block;
	}
	
	.newsarea_entry ul li p{
		display: inline-block;
		width: 100%;
		margin-top: 0.5em;
	}
	
}

/* ==========================================================================
   33BC
   ========================================================================== */

.bc_newsarea{
	margin-top: 5em;
	margin-bottom: 2em;
}

.tag-area {
	display: inline-block;
	padding: 0;
	margin: 0 0.2em;
}

.newsarea_entry ul li .tag-area .ct-tag {
	margin: 0;
	margin-right: 0.3em;
}

/* 研修カテゴリタグの色指定 */

.経営・ビジネス {
	color: #fff !important;
	background:rgba(194,157,56,1) !important;
}
.デジタル・AI {
	color: #fff !important;
	background:rgba(78,165,217,1) !important;
}
.マーケティング {
	color: #fff !important;
	background:rgba(236,122,92,1) !important;
}
.組織・人材 {
	color: #fff !important;
	background:rgba(155,134,189,1) !important;
}
.ビジネススキル {
	color: #fff !important;
	background:rgba(226,149,120,1) !important;
}
.総務・法務 {
	color: #fff !important;
	background:rgba(122,154,96,1) !important;
}
.経理・財務 {
	color: #fff !important;
	background:rgba(92,126,168,1) !important;
}
.その他 {
	color: #fff !important;
	background:rgba(142,154,175,1) !important;
}

.bc_newsarea .tag-area .研修会{
	color: rgba(0,162,106) !important;
	background: rgba(0,162,106,0.1) !important;
}

.bc_newsarea .tag-area .無料セミナー{
	color: rgba(0,77,160) !important;
	background: rgba(0,77,160,0.1) !important;
}

.newsarea_entry ul li .tag-ond {
	display: inline-block;
	font-size: 12px;
	height: 24px;
	line-height: 24px;
	margin-top: 2px;
	width: 6em;
	background: rgba(0,77,160) !important;
	border-radius: 0.5em;
	text-align: center;
	color: #fff;
}

.newsarea_entry ul li:has(.tag-ond) {
	border-bottom: 0;
}

.tag-ond + .研修会{
	color: rgba(0,162,106) !important;
	background: rgba(0,162,106,0.1) !important;
	width: 13em !important;
}

.newsarea_entry ul li h3{
	margin-top: 0.5em;
}

.ippan{
	color: #7D1A2B !important;
}

* .ippan{
	color: #7D1A2B !important;
}

.select{
	color: #376092 !important;
}

* .select{
	color: #376092 !important;
}

.kubun{
	display: block;
	text-align: center;
	margin-bottom:4em;
}

/* 33BCページのサービスメニュー */
.bc-menu{
	margin-bottom: 7em;
}

.bc-menu-flex{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: start;
}

.bc-menu-flex-item{
	width: calc((100% - 32px) / 3);
	box-sizing: border-box;
	background: rgba(0, 162, 106, 0.1);
	border-radius: 1em;
	padding: 1em 1em 2em;
}

.bc-menu-flex-item:nth-child(1),
.bc-menu-flex-item:last-child(1){
	background: #fff;
}

.bc-menu-flex-item h2{
	margin-top: 0;
	margin-bottom: 0;
	border-left: none;
	font-size: 1.2em;
}

.bc-menu-flex-item h3{
	margin: 0.5em 0 0;
	font-size: 16px;
}

.bc-menu-flex-item ul li{
    text-indent: -1em;
    padding-left: 1em;
}

.bc-menu-flex-item ul li::before{
	content:"\00A0\02714\00A0";
	color: rgba(51,51,51,0.3);
}

.bc-menu-flex-item table{
	text-align: left;
	margin-bottom: 0;
}

.bc-menu-flex-item table + .note{
	margin-top: 0;
}

.bc-menu-flex-item th{
	padding-right: 1em;
}

/* ------------------------------------------
スマートフォン・タブレットサイズ（991px以下）の表示レイアウト
------------------------------------------ */
@media (max-width: 991px) {
	.bc-menu-flex{
		display: block;
	}
	
	.bc-menu-flex-item{
		width: 100%;
		margin-bottom: 8px;
    }

	.bc-menu-flex-item ul li::before{
		content:"\02713\00A0";
	}
}

/* ==========================================================================
   コンサル
   ========================================================================== */

   /* コンサルページのカードタイプリスト */

.cs-menu{
	margin-bottom: 7em;
}

.cs-menu-flex{
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: start;
	position: relative;
}

.cs-menu-flex-item,
.cs-menu-flex-item:focus{
	width: calc((100% - 32px) / 3);
	box-sizing: border-box;
	background: rgba(0,162,106,0.1);
	border-radius: 1em;
	padding: 1em 1em 2em;
	border-bottom-right-radius: 0;
	overflow: hidden;
	text-align: center;
	position: relative;
}

.cs-menu-flex-item::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 2em;
	height: 2em;
	border-top-left-radius: 0.8em;
	background: rgba(0, 162, 106, 0.3);
	box-shadow: -5px 1px 10px rgba(0, 0, 0, 0.2);
}

.cs-menu-flex-item:after {
	content: "";
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: calc(2em + 2px);
	height: calc(2em + 2px);
	background-color: #fff;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.cs-menu-flex-item:hover{
	opacity: 0.8;
}

.cs-menu-flex-item a,
.cs-menu-flex-item a:focus{
	text-decoration:none;
	color: #333;
	display:block;
	width: 100%;
	height: 100%;
}

.cs-menu-flex-item a:hover{
	text-decoration:none;
	color: #333;
}

.cs-menu-flex-item h3{
	margin-top: 0;
	margin-bottom: 0;
	border-left: none;
	font-size: 1.2em;
	color: rgba(0,162,106);
}


/* ------------------------------------------
スマートフォン・タブレットサイズ（991px以下）の表示レイアウト
------------------------------------------ */
@media (max-width: 991px) {
	.cs-menu-flex{
		display: block;
	}
	
	.cs-menu-flex-item{
		width: 100%;
		margin-bottom: 8px;
    }
}

/* ==========================================================================
   アーカイブページ
   ========================================================================== */
.archive-list li{
	display: inline-block;
}

.archive-list li a{
	display: inline-block;
	text-decoration: none;
	border: 1px solid rgba(0,162,106);
	border-radius: 0.5em;
	padding: 0.3em 1em;
	margin: 0.3em;
}