@charset "utf-8";
/*------ベース-----*/

h1,h2,h3,h4,h5,h6,a,ul,ol,li,td,th,dd,dt,dl,p,a{	max-height:999999px}

* {
	padding: 0;
	margin: 0;
}
html{
	scroll-behavior: smooth;
	font-size: 100%;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "メイリオ",'Noto Sans JP',"Helvetica Neue", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",  Arial, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 0;
	margin: 0;
	-webkit-text-size-adjust: none;
	line-height: 1.6;

}
.clear{
	clear: both;
	height: 0px;
	padding: 0;
	margin: 0;
	display: block;
	background-color: transparent;
	line-height: 1px;
}


aside{
	display:block;}

p {
	margin: 0 0px 1.5em;
}

a {
	border: none;
	text-decoration: none;
}
a:hover {
	transition: color 0.3s ease 0s;
	text-decoration: none;
	opacity: 0.7;
}
a img {
	border: none;
}
a:hover img{
	text-decoration: none;
}
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	transition: opacity 0.6s ease;
}

img{max-width:100% !important;
	height:auto;}

table{ border-collapse:collapse;}


/*スペーサーブロック*/

.wp-block-spacer{
	display: block;
	height: 30px;
}




/*--footer----------------------------------------------------*/


footer p.copy{
	text-align: center;
	margin: 0;
	background-color:#1A365D;
	padding: 10px 0;
	color: #FFFFFF;
}

footer p.copy a,footer p.copy a:hover{color:#fff;
text-decoration: none;}



/*-------------------------------
   TopicPath
-------------------------------*/
.topicpath,
#topicpath {
	
	margin: 20px 0 0;
	color: #333;
	width: 100%;
}
.topicpath .box,
#topicpath ul {
	list-style: none;
	padding: 0px 10px;
	margin: 0 auto;
	display: block;
	max-width: 1200px;
	font-size: 14px;
}
#topicpath ul li {
	display: inline;

}

#topicpath ul li:after{ content:"＞"}

#topicpath ul li:last-child:after{ content:none;}

.topicpath .box a,
#topicpath ul li a {
	color: #333;
}

#topicpath ul li span {
}
#topicpath ul::after{content:"";
display: block;
clear: both;}
.topicpath .box strong.current{font-weight:normal}


	
	
/* 記事本文エリアの見出しスタイル設定 */
.entry-content {
  color: #333;
  line-height: 1.6;
}

/* Base style for h2-h6 */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-weight: 700;
  margin-top: 2em;
  margin-bottom: 0.8em;
  line-height: 1.4;
  word-wrap: break-word;
}

/* --- H2: 左線＋背景色付きのアクセント見出し --- */
.entry-content h2 {
  font-size: 1.5rem;
  padding: 0.5em 1em;
  background-color: #f7f9fa;
  border-left: 6px solid #003f92; /* アクセントカラー（青） */
  border-radius: 0 6px 6px 0;
}

/* --- H3: 下線＋部分強調アンダーライン --- */
.entry-content h3 {
  font-size: 1.35rem;
  padding-bottom: 0.4em;
  border-bottom: 2px solid #003f92;
  position: relative;
}

.entry-content h3::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 3.5rem;
  height: 2px;
  background-color:#003f92; /* アクセントカラー */
}

/* --- H4: ワンポイント記号（吹き出し風ドット）付き --- */
.entry-content h4 {
  font-size: 1.15rem;
  padding-left: 1.2em;
  position: relative;
}

.entry-content h4::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background-color:#003f92;
  border-radius: 50%;
}

/* --- H5: 控えめな下破線 --- */
.entry-content h5 {
  font-size: 1.05rem;
  padding-bottom: 0.2em;
  border-bottom: 1px dashed #003f92;
}

/* --- H6: テキスト＋プレーンな強調 --- */
.entry-content h6 {
  font-size: 0.95rem;
  color: #003f92;
}



p.link a{display: block;
	position: relative;
	font-weight: bold;
color: #04135d;
	background:#e9f0f9 url("../image/link.png") no-repeat 10px center;
	background-size: auto 1.25em;
	padding: 10px 10px 10px 2em;
	border-radius: 6px;
}

	
p.link a:hover{text-decoration: underline;}


a.link:hover:after{right:5px;
transition : all 0.5s ease 0s;
	}


/*--緊急速報　alert---------------------------------------------------*/
.alert_area{background: #c70200;
display: block;
width: 100%;
padding: 10px;
box-sizing: border-box;}

.alert_area h2{width: 100%;
max-width: 1200px;
box-sizing: border-box;
margin: 0 auto;
font-size: clamp(15pt, 1.4vw, 28pt);
font-weight: bold;
background: url("../image/alert.png") no-repeat left top;
background-size: auto 1.5em;
padding-left: 1.75em;}

.alert_area h2 a{color: #fff;
text-decoration: none;}


/*--ニュースエリア-------------------------------------------------*/

.news_area h2,
.entry-content h1.title{
	padding:0 0 0 1.75em;
	margin: 0 0 30px;
	background: url("../image/news_h2.png") no-repeat left 5px;
	background-size: auto 1.25em;
	clear: both;
	border-bottom:2px solid #04184e;
	font-size: 1.5em;
	font-weight: bold;
	color:#04184e;
	position: relative;	
}

.news_area .news_list li{border-bottom: 2px dashed #999da9;
padding: 0 0 15px 0em;
margin-bottom: 15px;}

.news_area .news_list li figure{float: left;
width:  75px;}

.news_area .news_list li time{font-weight: bold;
	margin-left: 85px;
	display: block;
}

.news_area .news_list li time .new_label{background:#cb0101;
color: #fff;
padding: 3px 5px;
border-radius: 5px;

font-size: 14px;
margin-left: 10px;}

.main_contents .news_area .news_list li h3{font-size: 1.25em;
font-weight: bold;
background: none;
border: none;
margin: 0 0 5px 0;
margin-left:85px}
.main_contents .news_area .news_list li h3 a{color: #000;}

.main_contents .news_area .news_list li h3 a:hover{text-decoration: underline;
color: #013078;}

.main_contents .news_area .news_list li p.bassui{font-size: 0.9em;
margin-left: 85px;
margin-bottom: 0;
display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */}

/*--サイドバー-------------------------------------------------*/

.sub_contents h2{background: #013078;
color: #fff;
padding:5px 10px;
font-size: 1.5em;
font-weight: bold;
text-align: center;
border-radius: 10px 10px 0 0;}

.sub_contents .seminar_box{background: #013c8f url("../image/seminar01.jpg") no-repeat 10px center;
	background-size: auto 4em;
border-radius: 10px;
padding: 1em 1em 1em 5em;}

.sub_contents .seminar_box a h3{background: #fcd44f url("../image/seminar02.jpg") no-repeat 10px 8px;
border-radius: 10px;
	background-size: auto 1em;
padding: 5px 10px 5px 2em;
color: #000;
font-weight: bold;
margin: 0 0 10px 0;
border: none;}

.sub_contents .seminar_box a h3 img{display: inline-block;
width: auto; height: 1em;
margin: 0 10px 0 0;}

.sub_contents .seminar_box a p{
color: #fff;
font-weight: bold;
font-size: 1.5em;
line-height: 1.4;
margin: 0;}

.sub_contents .seminar_box a p.title{color:#f5cb55;
text-align: left;}



/*------------------------------
widgetのCSS 
------------------------------*/

/*共通の外枠*/
.widget_rss,            /*RSS*/
.widget_categories,     /*カテゴリー*/
.widget_pages,          /*固定ページ*/
.widget_archive,        /*アーカイブ*/
.widget_recent_entries, /*最近の投稿*/
.widget_recent_comments,/*コメント*/
.widget_search,         /*検索*/
.widget_text,           /*テキスト*/
.widget_calendar,       /*カレンダー*/
.widget_meta,           /*メタ情報*/
.widget_nav_menu,       /*ナビメニュー*/
.widget_tag_cloud,      /**/
.widget_media_gallery   /*ギャラリー*/
{
  background-color: #FFFFFF;
  margin: 0 0 30px;
  padding: 10px;
}
/*リスト化されて出力するもの*/
.widget_rss ul,
.widget_categories ul,
.widget_pages ul,
.widget_archive ul,
.widget_recent_entries ul,
.widget_recent_comments ul,
.widget_nav_menu ul{
}
.widget_rss ul li,
.widget_categories ul li,
.widget_pages ul li,
.widget_archive ul li,
.widget_recent_entries ul li,
.widget_recent_comments ul li,
.widget_nav_menu ul li{
  margin: 0 0 8px 0;
  padding: 0 0 8px 0;
  border-bottom: 1px dashed #888888;
}
.widget_categories ul li a,
.widget_pages ul li a,
.widget_archive ul li a,
.widget_recent_entries ul li a,
.widget_nav_menu ul li a{
  text-decoration: none;
}
/*カテゴリー・アーカイブ　プルダウン*/
.widget_categories label,
.widget_archive label{
  display: none;
}
.widget_categories select,
.widget_archive select{
  border: 1px solid #888888;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  border-radius: 5px;
}
/*最新の投稿　日付*/
.widget_recent_entries ul li{
  overflow: hidden;
}
.widget_recent_entries ul li span {
  display: block;
  float: right;
  padding: 0 0 0 1em;
  font-size: 90%;
}
/*検索*/
.widget_search label span{
  display: none;
}
.widget_search form{
  overflow: hidden;
}
.widget_search input[type="search"]{
  border: 1px solid #888888;
  width: calc( 100% - 4em );
  padding: 8px;
  box-sizing: border-box;
  border-radius: 5px;
  float: left;
  font-size: 90%;
  line-height: 1.5;
}
.widget_search input[type="submit"]{
  display: block;
  text-align: center;
  border: 1px solid #888888;
  width: 3em;
  padding: 8px 0;
  box-sizing: border-box;
  border-radius: 5px;
  float: right;
  font-size: 90%;
  line-height: 1.5;
}
/*カレンダー*/
.widget_calendar table{
  border-collapse: collapse;
  width: 100%;
}
.widget_calendar table caption{
  padding: 0 0 5px;
  text-align: center;
}
.widget_calendar table thead{
}
.widget_calendar table thead th{
  background-color: #EEEEEE;
}
.widget_calendar table tbody td.pad{
}
.widget_calendar table thead th,
.widget_calendar table thead td,
.widget_calendar table tbody th,
.widget_calendar table tbody td{
  border: 1px solid #888888;
  text-align: center;
  padding: 5px 0
}
.widget_calendar table tbody td a{
  font-weight: bold;
}
.widget_calendar tfoot td#prev{
  text-align: left;
}
.widget_calendar tfoot td#next{
    text-align: right;
}
/*メタ情報*/
.widget_meta ul{
  font-size: 90%;
}
.widget_meta ul li{
  padding: 0 0 0 0;
  margin: 0 0 5px 1.5em;
  list-style-type: none;
}
.widget_meta ul li a{
  text-decoration: none;
}
/*ナビメニュー*/
.widget_nav_menu ul li a{
  display: block;
}
.widget_nav_menu ul li ul{
  margin: 8px 0 0px 0;
  padding: 8px 0 0px 0;
  border-top: 1px dashed #888888;
}
.widget_nav_menu ul li ul li{
  margin: 0 0 8px 1em;
  padding: 0 0 8px 0;
}
.widget_nav_menu ul li ul li:last-child{
  margin: 0 0 0 1em;
  padding: 0 0 0px 0;
  border-bottom: none;
}
/*動画*/
.widget_media_video{
  margin: 0 0 30px;
}
/*カスタムHTMLエリア*/
.widget_custom_html{
  padding: 0;
  background-color: transparent;
}
/*RSS*/
.widget_rss ul li a{}
.widget_rss ul li span{
  display: block;
  padding: 0 0 0 0;
  font-size: 90%;
}
.widget_media_image{
  margin: 0 0 0px;
}
/*画像　ギャラリー*/
.widget_media_gallery img,
.widget_media_image img{
  display: block;
  margin: 0 auto;
}


/*--ウィジェット関連のCSS---------------------------------*/


/* Base style for widget headings */
.blogmenu h3,
.blogmenu h4,
.blogmenu h5,
.blogmenu h6 {
  font-weight: 700;
  line-height: 1.4;
  word-wrap: break-word;
  margin-top: 0;
  margin-bottom: 1rem;
}

/* --- H3: ウィジェットのメインタイトル（背景＋左線） --- */
/*.blogmenu h3,
.blogmenu .widget-title {
  font-size: 1.15rem;
  padding: 0.6em 0.8em;
  background-color: #f1f5f9;
  border-left: 4px solid #2563eb; 
  border-radius: 0 4px 4px 0;
}*/

.blogmenu h3 {
  display: flex;
  align-items: center;
  text-align: center;
  font-weight: bold;
	color: #091e5c;
	font-size: 1.15rem;
}

.blogmenu h3::before,
.blogmenu h3::after {
  content: "";
  flex: 1;
  border-bottom: 2px solid #091e5c; /* 線の太さと色 */
  margin: 0 1em; /* テキストと線の間の余白 */
}


/* --- H4: ウィジェット内の小見出し（下線付き） --- */
.blogmenu h4 {
  font-size: 1.05rem;
  padding-bottom: 0.4em;
  border-bottom: 2px solid #e2e8f0;
  position: relative;
}

.blogmenu h4::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 2.5rem;
  height: 2px;
  background-color: #2563eb;
}

/* --- H5: 箇条書き風ワンポイント見出し --- */
.blogmenu h5 {
  font-size: 0.95rem;
  padding-left: 1em;
  position: relative;
}

.blogmenu h5::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #2563eb;
  border-radius: 50%;
}

/* --- H6: 控えめな補足見出し --- */
.blogmenu h6 {
  font-size: 0.875rem;
  color: #64748b;
  border-bottom: 1px dashed #cbd5e1;
  padding-bottom: 0.2em;
}

/* ファイルブロック全体 */
.wp-block-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 14px 18px;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  transition: all 0.2s ease;
}

/* ホバー時のカード全体エフェクト */
.wp-block-file:hover {
  background-color: #f1f5f9;
  border-color: #cbd5e1;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

/* ファイル名リンク（左側） */
.wp-block-file a:not(.wp-block-file__button) {
  font-weight: 700;
  color: #1e293b;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 8px;
  word-break: break-all;
}

/* ファイル名前にアイコン（SVG）を自動付与 */
.wp-block-file a:not(.wp-block-file__button)::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-color: #2563eb;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/></svg>") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/></svg>") center/contain no-repeat;
}

.wp-block-file a:not(.wp-block-file__button):hover {
  color: #2563eb;
  text-decoration: underline;
}

/* ダウンロードボタン（右側） */
.wp-block-file .wp-block-file__button {
  background-color: #2563eb;
  color: #ffffff;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}

.wp-block-file .wp-block-file__button:hover {
  background-color: #1d4ed8;
  opacity: 1;
}
/*------------------------------------------------
		ページネーション
-----------------------------------------------*/
.pagenation {
    margin: 1em auto;
}
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0 auto;
	display: flex;
}
.pagenation li {
   
    list-style: none outside none;
    margin-left: 3px;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #999999;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 5px 10px;
}
.pagenation li a {
    background: none repeat scroll 0 0 #CCCCCC;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 5px 10px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}
/* コピーボタンの基本スタイル */
.copy-url-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #f8fafc;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 10px 18px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;

}/* 親要素で中央揃えにする設定 */
.copy-url-wrapper {
  display: flex;
  justify-content: center;
  margin: 2em 0; /* 上下に適度な余白 */
  width: 100%;
}

.copy-url-btn:hover {
  background-color: #f1f5f9;
  border-color: #94a3b8;
}

/* アイコン（SVG） */
.copy-url-btn__icon {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex-shrink: 0;
}

/* コピー完了時のスタイル（背景が緑系に変化） */
.copy-url-btn.is-copied {
  background-color: #10b981;
  border-color: #10b981;
  color: #ffffff;
}