@charset "UTF-8";
/*
Theme Name: 横須賀市自然・人文博物館
Description: 横須賀市自然・人文博物館ホームページ用のテーマ
Author: 株式会社ティー・エム・シー
Version: 0.1
*/

.mincho {
	font-family: "Noto Serif JP" ,"游明朝", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", serif;
}

/* 全体デザイン ここから */
body {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}

@media print {
	body{
		color: #000;
	}
}

header,footer,main,article,section,aside {
	display: block;
}

p {
	margin: 5px 0;
	line-height: 1.7em;
}

a {
	text-decoration: none;
	transition: 0.2s;
	color: #0D47A1;
}

a:visited {
	
}

a:hover, a:active {
	text-decoration: underline;
}

a.button {
	display: block;
	padding: 10px 20px;
	color: #ffffff;
	background: #333333;
	border: 1px solid #333333;
	border-radius: 4px;
	box-shadow: 0 1px 3px #BBB;
	text-shadow: none;
}

a.button:hover {
	opacity: 0.9;
	text-decoration: none;
}

a.button.button-large {
	min-height: 32px;
	line-height: 2.30769231;
	padding: 0 12px;
}

ul {

}

ol {

}

img {
	display: block;
}

/* clearfix */
.clearfix:after{
	display : block;
	clear : both;
	height : 0px;
	line-height: 0px;
	visibility: hidden;
	content : ".";
	font-size: 1.0em;
}

/* FlexBox */
.flex-box {
	display: flex;
}

/* コンテンツ領域幅設定 */
.contents-area {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}

/* table共通 */
.contents-area table {
	border-collapse: collapse;
	border-top: 1px #b3b3b3 solid;
	border-right: 1px #b3b3b3 solid;
}

.contents-area table th,
.contents-area table td {
	border-left: 1px #b3b3b3 solid;
	border-bottom: 1px #b3b3b3 solid;
	padding:5px;
}

.contents-area table thead th {
	background-color: #333333;
	color: #FFF;
}

.contents-area table tbody th {
	background-color: #333333;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
}

.contents-area table tbody td {
	font-size: 14px;
}

/* パンくずリスト */
#breadcrumbs {
	padding: 25px 0px 25px;
	font-size: 13px;
}

#breadcrumbs a {
	color: #00a99d;
	text-decoration: underline;
}

#breadcrumbs .set-space {
	padding: 0px 10px;
}

/* 検索フォーム */
#site-search-form {
	position: relative;
}

#site-search-box {
	margin: 0 5px;
	padding: 3px 8px;
	width: 15em;
	height: 1.5em;
	border: 1px solid #ECEFF1;
	border-radius: 5em;
	background-color: #ECEFF1;
}

#site-search-button {
	height: 50px;
	background: none;
	color: #666;
	border: none;
	font-size: 20px;
	transform: scale(-1, 1);
	cursor: pointer;
}

/* 検索フォーム2 */
#site-search-form-2 {
	display: flex;
	align-items: center;
	margin: 50px 0px;
}

#site-search-box-2 {
	margin: 0 5px;
	padding: 0px 8px;
	width: 25em;
	height: 3em;
	border: 1px solid #666666;
	border-radius: 4px;
}

#site-search-button-2 {
	height: 3em;
	padding: 0px 50px;
	background: black;
	color: #ffffff;
	border: none;
	border-radius: 3px;
	font-size: 14px;
	cursor: pointer;
}

/* 検索結果ページ 検索結果エリア */
#search-result-area {
	padding: 0px 0px 30px;
}

#search-output-h2 {
	margin: 20px auto 10px;
	padding: 3px 0px 3px 10px;
	border-left: 5px #d32432 solid;
	font-size: 30px;
	font-weight: normal;
	line-height: 1em;
}

#search-result-area h3 {
	color: #333333;
	margin: 40px auto 0px;
	padding: 0px 0px 12px 0px;
	text-decoration: underline;
	font-size: 24px;
	font-weight: bold;
}

#search-result-area h3.no-url {
	text-decoration: none;

}

#search-result-area h3 a {
	color: #333333;
}

#search-result-area .search-item-area {
	border-bottom: 1px solid #666666;
}

#search-result-area .search-text {
	margin: 0px 0px 40px 0px;
}

/* 検索結果ページ 検索結果エリア ページネーション*/
#search-result-area .pagination {
	padding: 40px 0px 0px;
}

/* 本文 */
#search-result-area .search-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* 検索結果ページ */

 /**
  * 固定ページ 共通CSS ここから
  */
.page .e-con>.e-con-inner {
	padding-inline-start: 10px;
	padding-inline-end: 10px;
}

.page #header-img {
	width: 100%;
	height: 160px;
	background-position: center;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page #header-img h1 {
	color: #FFF;
	font-size: 35px;
	font-weight: bold;
	text-align: center;
	text-shadow: 0px 5px 8px #000;
}

.page h2 {
	margin: 20px auto 10px;
	padding: 3px 0px 3px 10px;
	border-left: 5px #d32432 solid;
	font-size: 30px;
	font-weight: normal;
	line-height: 1em;
}

.page h3 {
	margin: 20px auto 10px;
	padding: 0px 0px 12px 0px;
	border-bottom: 5px #b3b3b3 solid;
	font-size: 24px;
	font-weight: bold;
}

.page .elementor-button {
	background-color: #333333;
	border-radius: 4px;
}

.page .elementor-button:hover {
	opacity: 0.9;
}


 /***
  * 固定ページ メールマガジン登録・解除
  */

.page .flex-newsletter-area {
	display: flex;
	margin: 0px 0px 60px 0px;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
}


.page .flex-newsletter-area form {
	width: 100%;
}


.page .flex-newsletter-area .newsletter-area {
	flex: 1;
	width: 100%;
	padding: 20px;
	background-color: #f2f2f2;
}

.page .newsletter-area .newsletter-caption {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}

.page .newsletter-area .newsletter-text {
	text-align: center;
}

.page .newsletter-area .input-area {
	margin: 25px 0px;
	text-align: center;
}

.page .newsletter-area .email-input {
	padding: 0px 8px;
	width: 100%;
	height: 3em;
	border: 1px solid #666666;
	border-radius: 4px;
}

.page .newsletter-area .regist-area {
	text-align: center;
}

.page .newsletter-area .regist-button {
	height: 3em;
	padding: 0px 60px;
	background: black;
	color: #ffffff;
	border: none;
	border-radius: 5px;
	font-size: 16px;
	cursor: pointer;
}


 /***
  * 固定ページ 共通CSS
  */

/**
 * アーカイブページ 共通CSS
 */
 
/* 新着情報一覧 ページネーション */
.pagination {
	margin: 0px auto 50px;
	max-width: 760px;
}

/* 新着情報一覧 ページネーション */
.pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: 10px;
	align-items: center;
}

/* 新着情報一覧 ページネーション ページ番号 */
.pagination .page-numbers {
	display: block;
	min-width: 2em;
	padding: 8px 3px;
	border: 2px solid #333333;
	border-radius: 5px;
	color: #333333;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
}

/* 新着情報一覧 ページネーション ページ番号 現在選択中 */
.pagination .page-numbers.current {
	color: #FFFFFF;
	background-color: #333333;
}

.elementor-button {
	background-color: #333333;
	border-radius: 4px;
}

.elementor-button:hover {
	opacity: 0.9;
}

/* 区切り線を引くクラス */
.separator-border {
	margin: 16px 0;
	color: white;
	border: 0;
	border-top: 1px solid;
	opacity: .25;
}


/* 404ページ */
#notfound-msg {
	margin: 100px 0;
	color: #666;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

/* 開館園カレンダー */

/* 表示月 */
.calender-area .year-month-title {
	border: none;
	text-align: center;
	margin: 20px 0px;
}

.calender-area .month-button {
	margin-left: 20px;
	padding: 3px;
	color: #333333;
	font-size: 16px;
	border: 1px #333333 solid;
	border-radius: 3px;
}

.calender-area .prev-month-button {
	margin-right: 20px;
}

.calender-area .next-month-button {
	margin-left: 20px;
}

/* テーブル共通CSS */
.calender-area .calender-table,
.calender-area .calender-table tr,
.calender-area .calender-table th,
.calender-area .calender-table td {
	border-collapse: collapse;
	border: 1px solid #b3b3b3;
}

/* テーブル */
.calender-area .calender-table {
	width: 100%;
	border-spacing: 0;
}

/* カレンダー 曜日 */
.calender-area .calender-table th {
	width: calc(100% / 7);
	height: 40px;
	text-align: center;
	background-color: #e6e6e6;
}

/* カレンダー 日付 */
.calender-area .calender-table td {
	height: 150px;
	padding: 5px;
	vertical-align: top;
	font-size: 20px;
	font-weight: bold;
}

/* 当日箇所の修飾 */
.calender-area .calender-table .today {
	border: 2px #ff8089 solid;
	margin: 0px;
} 

/* 日曜日だった場合 */
.calender-area .calender-table th:nth-of-type(1) {
	background-color: #ffa4a4;
}
.calender-area .calender-table th:nth-of-type(1),
.calender-area .calender-table td:nth-of-type(1),
.calender-area .calender-table .holiday {
	color: #d32432;
}

/* 土曜日だった場合 */
.calender-area .calender-table th:nth-of-type(7) {
	background-color: #c2f1ff;
}
.calender-area .calender-table th:nth-of-type(7),
.calender-area .calender-table td:nth-of-type(7) {
	color: #284889;
}

/* 休館日だった場合 */
.calender-area .calender-table .closed-date {
	margin-top: 5px;
	padding: 3px;
	border: 2px solid #f45d68;
	background-color: #ffe9e9;
	border-radius: 5px;
	color: #f45d68;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}

/* イベント日だった場合 */
.calender-area .calender-table .event-date {
	margin-top: 5px;
	padding: 3px;
	border: 2px solid #284889;
	background-color: #284889;
	border-radius: 5px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
	text-decoration: underline;
}

/* イベント日だった場合 */
.calender-area .calender-table .exhibition-date {
	margin-top: 5px;
	padding: 3px;
	border: 2px solid #428bd3;
	background-color: #428bd3;
	border-radius: 5px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
	text-decoration: underline;
}

/* 月の日付ではないtd  */
.calender-area .calender-table .not-month-date {
	background-color: #f2f2f2;
}

/* カレンダー情報の詳細説明エリア */
.calender-area .plan-detail-area {
	display: flex;
	margin: 20px 0px;
}

/* カレンダー情報の詳細説明エリア 項目別 */
.calender-area .closed-date-explain,
.calender-area .event-explain,
.calender-area .exhibition-explain {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 20px;
}


/* カレンダー情報の詳細説明エリア 休館・休園日 */
.calender-area .plan-detail-area .closed-date-explain-square {
	width: 3em;
	height: 1.5em;
	border: 2px solid #f45d68;
	background-color: #ffe9e9;
	border-radius: 5px;
}

/* カレンダー情報の詳細説明エリア イベント */
.calender-area .plan-detail-area .event-explain-square {
	width: 3em;
	height: 1.5em;
	background-color: #284889;
	border-radius: 5px;
}

/* カレンダー情報の詳細説明エリア 展示 */
.calender-area .plan-detail-area .exhibition-explain-square {
	width: 3em;
	height: 1.5em;
	background-color: #428bd3;
	border-radius: 5px;
}

/* 刊行物 */
/* 刊行物検索フォーム2 */
#publication-search-form {
	display: flex;
	align-items: center;
}

#publication-search-box {
	margin: 0px 25px 0px 0px;
	padding: 0px 8px;
	width: 25em;
	height: 3.5em;
	border: 1px solid #666666;
	border-radius: 4px;
}

/* 刊行物 検索するボタン */
#publication-search-button {
	height: 3.5em;
	padding: 0px 50px;
	background: black;
	color: #ffffff;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
}

/***
 * 投稿ページ CSS ここから
 */

/* 投稿ページ 挿入画像の位置 */
.single .contents-area .aligncenter {
	margin: 0 auto;
}


 /***
 * 投稿ページ CSS ここまで
 */