.for-pc { display:block; }
.for-sp { display:none; }
:root {
--pc--tab-height: 85px;
--pc--tab-font-size: 13px;
}
* {
margin: 0 auto;
padding: 0;
box-sizing: border-box;
}

html{
overflow-y:scroll;
}

@font-face {
	font-family: 'IBM Plex Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url('../font/IBM Plex Sans JP.woff2') format('woff2'); 
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Noto Sans JP.woff2') format('woff2'); 
}
@font-face {
	font-family: 'SourceHanSans';
	font-style: normal;
	font-weight: 400;
	src: url('../font/SourceHanSans.woff2') format('woff2'); 
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Roboto.woff2') format('woff2'); 
}
.MJX-TEX {
font-size: 17px;
}
ol.has-background, ul.has-background {
padding: 1.25em 1.375em;
}
p.has-background {
padding: 15px;
}
body{
background-color: #f7f7f7;
font-family: 'IBM Plex Sans JP', 'Noto Sans JP', 'SourceHanSans', 'Roboto' , sans-serif;
display: flex;
flex-direction: column;
min-height: 100vh;
}

a {
color: #06c;
text-decoration: none;
font-size: 15px;
}
a:hover {
text-decoration: underline;
}

/*ヘッダー*/
.header{
background-color: #fff;
width: 74%;
padding-left: 10px;
padding-right: 10px;
}
.header-container {
width:100%;
background-color: #8dc2ef;
}

.logo-container {
display: flex;
padding-top: 10px;
background-color: #8dc2ef;
}

.header-tabs {
overflow-x: auto;
white-space: nowrap;
}

.tab-box {
  min-height: var(--pc--tab-height);
  background-color: #8dc2ef;
}

.header-tabs {
  overflow-x: auto;
  white-space: nowrap;
}

.tab-text {
  display: inline-block;
  padding: 10px;
  padding-bottom: 5px;
  cursor: pointer;
  font-weight: normal;
  font-size: var(--pc--tab-font-size);
  color: #fff;
  text-decoration: none;
}

.tab-text.active {
  font-weight: bold;
  color: #fff;
}

.tab-text:hover {
  text-decoration: underline;
}

.tabs {
  width: 350px;
}

.tab-content .tab-pane {
  display: none;
  overflow: hidden;
}

.tab-content .tab-pane.active {
  display: block;
  height: auto;
  overflow: visible;
}

.form {
  position: relative;
  width: 60%;
}

.sbox {
position: absolute;
    left: 0;
    top: 0;
    outline: 0;
    height: 34px;
    width: calc(100% - 100px);
    padding: 0 10px;
    border: none;
    border-radius: 10px 0 0 10px;
}

.sbtn {
  position: absolute;
  right: 0;
  top: 0;
  background: #64a6df;
  border: none;
  color: #fff;
  font-size: 15px;
  width: 100px;
  height: 34px;
border-radius: 0 10px 10px 0;
}

.search-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  width: 100%;
  height: 34px;
  padding-left: 10px;
  padding-right: 20px;
}

.search-box:hover {
  background-color: #4da2ea;
  color: white;
  border: none;
border-radius: 0 10px 10px 0;
}

/*コンテント幅*/
.content {
width: 74%;	
box-sizing: border-box;
display:flex;
background-color:#ffffff;
flex: 1;
}

/*左カラム*/
.column-left {
width:20%;
order:1;
padding: 10px;
}
/* カテゴリーウィジェット */
.widget_categories {
  width: 100%;
  margin-bottom: 10px;
}

/* カテゴリーウィジェットタイトル（非表示にする） */
.widget.widget_categories h2 {
  background-color: #8dc2ef;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    padding: 7px;
    text-align: center;
	display: none;
}
.widget_custom_date_widget h2 {
background-color: #8dc2ef;
    color: #fff;
	font-size: 15px;
    padding: 7px;
    text-align: center;
}



/* カテゴリーリスト */
.widget_categories ul {
list-style: none;
    margin: 0;
    border: 1px solid #b9d5ed;
    background-color: #f9faff;
	padding: 0 8px;
}

/* カテゴリーアイテム */
.widget_categories li {
  padding: 8px 0;
  border-bottom: 1px solid #e1e1e1;
}

/* カテゴリーアイテムのリストスタイル */
.widget_categories li::before {
  content: "■"; /* リストスタイルで■を表示 */
  color: #8dc2ef; /* ■の色を指定 */
  font-size: 16px;
  margin-right: 5px; /* ■とカテゴリー名の間に5pxの余白を追加 */
}

/* 最後のカテゴリーアイテムのボーダー非表示 */
.widget_categories li:last-child {
  border-bottom: none;
}

/* お問い合わせウィジェット */
.sidebar-widget {
  width: 100%;
  margin-bottom: 10px;
}

/* タイトルを含む囲い線表示 */
.menu-title {
  background-color: #8dc2ef;
  color: #fff;
  font-size: 15px;
  padding: 7px;
  text-align: center;
}

/* メニューリスト */
.menu {
    list-style: none;
    border: 1px solid #b9d5ed;
	border-top: none;
    background-color: #f9faff;
	padding: 0 8px;
}

/* メニューアイテム */
.menu li {
  padding: 8px 0;
  border-bottom: 1px solid #e1e1e1;
}

/* メニューリンクスタイル */
.menu li a {
  text-decoration: none;
}

/* メニューリンクのホバースタイル */
.menu li a:hover {
  text-decoration: underline;
}

/* 最後のメニューアイテムのボーダー非表示 */
.menu li:last-child {
  border-bottom: none;
}



/*中央カラム*/
.column-center-pc {
width: 44%;
order: 2;
}

.tab-container {
  width: 100%;
  margin-top: 10px;
margin-bottom: 10px;
}

.tab-menu {
  list-style: none;
  width: 100%;
  border: 1px solid #b9d5ed;
  border-bottom: none;
  font-size: 0;
  display: flex;
}

.tab-menu li {
  flex-grow: 1;
  margin: 0;
  white-space: nowrap;
  text-align: center;
  position: relative;
}

.tab-menu li:not(.active)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1px;
  transform: translateY(-50%);
  height: 40%;
  width: 1px;
  background-color: #b9d5ed;
}

.tab-menu li:not(.active):first-child::before {
  display: none;
}

.tab-menu li a {
  font-size: 12px;
  display: block;
  padding: 5px;
  background-color: #e6ecfe;
  text-decoration: none;
  border-bottom: 1px solid #b9d5ed;
  border-right: 1px solid #b9d5ed;
  border-left: none;
}

.tab-menu li a:last-child {
border-right: none;
}

.tab-menu li a:hover {
  text-decoration: underline;
}

.tab-menu li.active a {
  background-color: #fff;
  color: #000;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #b9d5ed;
  border-left: 1px solid #b9d5ed;
  font-weight: bold;
}

.tab-menu li.active:first-child a {
  border-left: none;
}

.tab-menu li.last-tab a {
  border-right: none;
}

.tab-contents {
  border-top: none;
  position: relative;
  border: 1px solid #b9d5ed;
  border-top: none;
  height: 251px;
}

.tab-contents .tab-panel {
  overflow: hidden;
  display: none;
  padding: 10px 5px;
  width: 100%;
  box-sizing: border-box;
}

.tab-contents .tab-panel:not(.active) {
  border-top: 5px solid #b9d5ed;
  height: 250px;
}

.tab-contents .tab-panel + .tab-panel:not(.active) {
  border-top: 1px solid #b9d5ed;
}

.tab-contents .active {
  display: block;
}

.latest-posts-wrapper {
display: flex;
flex-wrap: wrap;
width: 100%;
}

.latest-post-titles {
line-height: 1.8;
width: 70%;
}

.latest-post-titles ul {
list-style: none;
}
.latest-post-titles li {
text-indent: -1em;
padding-left: 1em;
}	
.latest-post-titles li::before {
content: '・';
}

.latest-posts-titles {
line-height: 1.8;
width: 100%;
}

.latest-posts-titles ul {
list-style: none;
}
.latest-posts-titles li {
text-indent: -1em;
padding-left: 1em;
}	
.latest-posts-titles li::before {
content: '・';
}

.latest-post-title {
word-break: keep-all;
}

.new {
padding: 0 2px;
background-color: #ffa500;
color: #fff;
border-radius: 6px;
font-size: 8px;
margin-left: 3px;
vertical-align: middle;
}

.latest-post-thumbnails {
flex-grow: 0;
flex-shrink: 0;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 30%;
}

.latest-post-thumbnail {
border: 1px solid #e1e1e1;
padding: 8px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 75px;
max-width: 100%; /* サムネイルが親要素内に収まるように最大幅を指定 */
height: auto; /* 高さを自動調整 */
box-sizing: content-box; /* パディングとボーダーを要素の幅に含める */
}

.post-thumbnails {
display: flex;
justify-content: center;
align-items: center;
}

.post-thumbnails img {
width: 75px;
height: 75px;
}

.thumbnail-title {
margin-top: 5px;
}

.thumbnail-title a {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
font-size: 11px;
}

.post-container {
border: 1px solid #b9d5ed;
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
}

.post-contents {
padding-left: 10px;
padding-right: 10px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
}

.post-contents h3 {
width: 100%;
padding: 10px 0;
}

.post-preview {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
min-height: 110px;
border-bottom: 1px solid #e1e1e1;
}

.post-preview:last-child {
border: none;
}

.post-thumbnail {
height: 110px;
margin-right: 15px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}

.post-thumbnail img {
max-height: 100%;
object-fit: contain;
}

.post-content {
width: 100%;
list-style: none;
}

ul.post-content li.post-category a {
pointer-events: none;
color: #444;
font-size: 12px;
}

/*検索ページコンテンツ*/
.search-content.for-pc{
width: 74%;
display: flex;
flex: 1;
background-color: #ffffff;
}

.search-column-left.for-pc {
padding: 10px;
box-sizing: border-box;
}

.search-hints.for-pc h3 {
margin-bottom: 20px;
}
.search-hints.for-pc li {
margin-left: 20px;
}

.search-column-right.for-pc {
flex: 1;
margin: 10px;
margin-left: 0;
box-sizing: border-box;
}

.column-left-archsin {
width: 64%;
order: 2;
border-right: 1px solid #e1e1e1;
padding: 13px;
box-sizing: border-box;
}
.column-left-post {
width: 64%;
order: 2;
border-right: 1px solid #e1e1e1;
box-sizing: border-box;
}
.post {
padding: 13px;
border-bottom: 1px solid #e1e1e1;
}
.related-posts {
padding: 13px;
}
.post-previews {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
border-bottom: 1px solid #e1e1e1;
}

.thumbnail {
display: flex;
align-items: center;
justify-content: center;
min-height: 100px;
margin-right: 15px;
height: 110px;
}

.thumbnail img {

max-height: 100%;
object-fit: contain;
}

.date_title {
width: 100%;
list-style: none;

}
.date_title a {
font-size: 17px;
}

.sidebar.for-pc {
width:36%;
order:3;
}

.column-right {
margin:10px;
}

.column-right.related.for-pc {
width:36%;
margin:10px;
order:3;
}





table {
border-collapse: collapse;
width: 100%;
table-layout: fixed;
margin-bottom: 10px;
border: 1px solid #b9d5ed;
border-top: none;
}


th {
border-bottom: 1px solid #b9d5ed;
padding: 3px;
}
td {
text-align: center;
padding: 2px 0;
border-top: 1px solid #e1e1e1;
width: calc(100% / 7); 
white-space: nowrap;
}

.day {
border-bottom: 2px solid #8dc2ef;
}

th.sunday {
color: #ff0000;
}

th.saturday {
color: #0000ff;
}

td.today {
background-color: #f0f0f0;
}

td.today.sunday {
background-color: #f7e7ee;
color: #ff0000;
}

td.today.saturday {
background-color: #e6ecfe;
color: #0000ff;
}

.month-year {
background-color: #8dc2ef;
color: #ffffff;
text-align: center;
padding: 7px;
}
.month-year h2 {
font-size: 15px;
}
.widget_custom_date_widget {
margin-bottom: 10px
}

.widget_custom_date_widget ul {
list-style: none;
font-size: 15px;
border: 1px solid #b9d5ed;
padding-left: 7px;
padding-right: 7px;
}
.widget_custom_date_widget li {
border-bottom: 1px solid #e1e1e1;
padding: 7px;
}
.widget_custom_date_widget li:last-child {
border-bottom: none;
}
.widget_custom_date_widget a {
vertical-align: middle;
}

#back-to-top {
position: fixed;
bottom: 20px;
right: 20px;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 24px;
color: #fff;
background-color: rgba(0,0,0,.5);
border-radius: 10%;
opacity: 0.7;
display: none;
z-index: 9999;
}

#back-to-top:hover {
opacity: 1;
}

.section-title {
border-bottom: 1px solid #e1e1e1;
padding-bottom: 10px;
}

/* 関連記事アイテム */
.related-post-item {
display: flex;
align-items: center;
border-bottom: 1px solid #e1e1e1;
padding: 10px;
padding-left: 0;
padding-right: 0;
}

/* 関連記事のサムネイル */
.related-thumbnail {
width: 60px;
height: 60px;
order: 2;
}

/* 関連記事のコンテンツ部分 */
.related-content {
flex: 1;
order: 1;
width: calc(100% - 70px);
}

/* 関連記事のタイトル */
.related-title a {
display: block;
}

/* 関連記事のカテゴリーと日付 */
.related-content .category-date {
display: block;
font-size: 13px;
}
.site-content {
width:74%;
padding: 10px;
background-color: #fff;
flex: 1;
}
.content-area {
padding: 10px;
background-color: #fff;
}
figure {
margin: 0 0 1em;
width: 200px;
}
.wp-block-image img {
border: 1px solid #e1e1e1;
padding: 10px;
}

.wp-element-caption {
font-size: 13px;
text-align: center;
}

/* フォームのヘッダー（タイトル）スタイル */
.site-content h1 {
font-size: 32px;
color: #333;
text-align: center;
margin-bottom: 20px;
}

/* フォームフィールドのスタイル */
.wpcf7-form-control {
width: 100%;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
margin-bottom: 15px;
}

/* 送信ボタンのスタイル */
.wpcf7-submit {
background-color: #68ace7;
color: #fff;
border: none;
border-radius: 5px;
padding: 10px 20px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.wpcf7-submit:hover {
background-color: #4da2ea;
}

/* エラーメッセージのスタイル */
.wpcf7-validation-errors {
color: #f00;
}

/* 成功メッセージのスタイル */
.wpcf7-mail-sent-ok {
color: #4caf50;
font-weight: bold;
}

footer {
width: 74%;
background-color: #f0f0f0;
margin-top: 20px;
padding: 15px;
text-align: center;
/* フッターをmain要素の直後に表示させるためのスタイル */
position: relative;
clear: both;
}

.footer-links ul {
list-style: none;
padding: 0;
}

.footer-links li {
display: inline-block;
margin-right: 5px;
}

.footer-links li:last-child {
margin-right: 0;
}

.footer-links {
font-size: 13px
}

div.post p {
margin-bottom: 10px;
line-height: 1.8;
}


/* テーブル全体のスタイル */
.whatsday {
  border: 1px solid #b9d5ed;
}

/* テーブルのレイアウト設定 */
.whatsday table {
  table-layout: unset;
  border: none;
  margin: 0;
}

/* 行の下部のボーダースタイル */
.whatsday tr {
  border-bottom: 1px solid #d9d6d6;
}

/* セルの共通スタイル */
.whatsday td {
  white-space: normal;
  text-align: left;
  padding: 8px;
  border-top: none;
  font-size: 15px;
}

/* 年代セルのスタイル */
.whatsday td.age {
  word-break: keep-all;
background-color: #e6ecfe;
  color: #000;
}

/* イベントセルの幅設定 */
.whatsday td.event {
  width: 65%;
}

/* 最後の行のボーダースタイルを除去 */
.whatsday tr:last-child {
  border-bottom: none;
}

div.textwidget p {
margin-left: 0;
}