/*
Theme Name: library_city_tsu
*/

/* ベースカラーは仮なので後で検索置換で変更する
   ※今は「#0055BB」（デザイン候補の青の方）に設定している
     menu.cssも検索置換すること                      */

/* googleのWEBフォントインポート */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/**
 * -----------------------------------------------------------------------------
 * 目次：
 * -----------------------------------------------------------------------------
 * 1.0 - 初期設定
 * 2.0 - 共通利用パーツ
 * 3.0 - 基本レイアウト
 * 4.0 - ヘッダー
 * 5.0 - スライダー
 * 6.0 - コンテンツ
 * 7.0 - サイドバー
 * 8.0 - フッター
 
 * 9.0 - 個別ページ
 *   9.1 - トップページ
 * ? 9.2 - 中面共通（？）
 *   9.11 - FAQ
 *   9.12 - システム（？）
 *   9.14 - MW WP フォーム
 * 10.0 - メディアクエリー
 * 11.0 - 調整
 * 12.0 - 印刷
 * -----------------------------------------------------------------------------
 */


/* ----------------------------------------------------------------------------- *
 * 1.0　初期設定
 * ----------------------------------------------------------------------------- */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html {
	/* 文字の大中小がある場合、bodyに設定したサイズが上書きされるため「html」に設定。 */
	font-size: 21px;	/* フォントサイズは固定値 */
	color:#000000;
	font-family: "Zen Maru Gothic", serif;
	
	/*font-family: "Zen Kaku Gothic New", serif;	要所で使う（使うときに移動予定）*/
}

body {
	font-size: 100%;
	margin: 0;
	padding: 0;
}

header, main, aside, footer{
    display: block;
	margin: 0;
    padding: 0;
}

figure {
	margin: 0 0 0 0;
}
figcaption {
	font-size: 80%;
	margin: 5px 0 0 0;
}


a:link, a:visited {
	color: #3333EE;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	color: #EE3333;
	text-decoration: underline;
}

a {
	word-wrap: break-word;
}

a {
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

a img{
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

a:hover img{
	opacity: 0.5;
}


/* ■ルビ */

ruby rt {
  font-size: 0.5em; /* 少し小さく */
}

ruby {
  ruby-position: over; /* 文字の上に表示する場合 */
}

ruby rt {
  font-size: 0.5em; /* 少し小さく */
}

/* -----------------------------------
■カスタムテーマwp独自スタイルの補足
----------------------------------- */

.alignnone {
    margin: 5px 20px 20px 0;
}
 
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
 
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
 
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
 
.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
 
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
 
a img.alignnone {
    margin: 5px 20px 20px 0;
}
 
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
 
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
 
.wp-caption {
    background: #eee;
    border: 1px solid #ddd;
    max-width: 96%;
    padding: 10px;
}
 
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
 
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
 
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
 
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
 
.wp-caption p.wp-caption-text {
    margin: 0;
    padding: 5px 0;
}


/* ----------------------------------------------------------------------------- *
 * 2.0　共通利用パーツ
 * ----------------------------------------------------------------------------- */


/* ■ファイルアイコンの自動表示 */
a:not(.noIcon)[href$=".pdf"]:after,
span.markPdf:after{
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconPdf.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".doc"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconDoc.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".docx"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconDocx.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".xls"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconXls.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".xlsx"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconXlsx.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".csv"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconCsv.gif) no-repeat center right;
	vertical-align: sub;
}
a:not(.noIcon)[href$=".zip"]:after {
    content:" ";
    display: inline-block;
    width: 37px;
    height: 15px;
    background: url(images/file_icon/iconZip.gif) no-repeat center right;
	vertical-align: sub;
}

/* ■ファイルアイコン非表示エリア */
.linkNoMark a:not(.noIcon)[href$=".pdf"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".doc"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".docx"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".xls"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".xlsx"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".csv"]:after {
    display: none;
}
.linkNoMark a:not(.noIcon)[href$=".zip"]:after {
    display: none;
}


/* 外部リンクアイコン */
.ext::after {
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 1em;
    height: 1em;
	margin-left: 0.5em;
    background: url("images/common/icon_blank01.png") 50% 50% no-repeat;
    background-size: contain;
	vertical-align: middle;
}

/* ◆リンクボタン◆ */

.linkBtn{
	display: inline-block;
	width: 100%;
	color: #000000;
	background: #FFFFFF;
	border: 1px solid #000000;
	margin: 0 0 1rem 0;
	padding: 0;
}

.linkBtn a{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
	color: #000000;
	font-size: 114.285%;
	text-align: left;
	text-decoration: none;
	background: #FFFFFF;
	border-left: 7px solid #ffe45f;
	padding: 0.9em 2.1em 1em 1.0em;
}

.linkBtn a::after{
	position: absolute;
	line-height: 1;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 1.1em;
	font: var(--fa-font-solid);
	content: '\f054';
	color: #f9be00;
}

.linkBtn a:link {
	color: #000000;
	text-decoration: none;
}
.linkBtn a:visited {
	color: #000000;
	text-decoration: none;
}
.linkBtn a:hover, .linkBtn a:active, .linkBtn a:focus {
	background: #FFFFEE;
}

.linkBtn a:hover::after, .linkBtn a:active::after, .linkBtn a:focus::after {

}

/* ルビあり */
.linkBtn a:has(ruby)  {
	padding: 1.4em 2.1em 1em 1.0em;
}

/* リストボタン */
.listBtn{
	display: inline-block;
	width: auto;
	margin: 1rem 0 1rem 0;
	padding: 0;
}
.listBtn a{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
	color: #000000;
	text-align: left;
	text-decoration: none;
	background: #f9be00;
	border: 2px solid #f9be00;
	padding: 0.45em 2.1em 0.5em 1.0em;
	border-radius: 5px;
}
.listBtn a:hover{
	background: #FFFFFF;
}
.listBtn a::after{
	position: absolute;
	line-height: 1;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 1.1em;
	font: var(--fa-font-solid);
	content: '\f054';
	color: #000000;
}

/* ノーマルボタン */
ul.normalBtn {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: auto;
	margin: 1rem 0 1rem 0;
	padding: 0;
}

ul.normalBtn li {
	display: block;
	width: auto;
	margin: 0 0.5em;
	padding: 0;
}

.importantNews ul.normalBtn li {
	font-size: 86.9286%;
}

ul.normalBtn a{
	position: relative;
	display: inline-block;
	width: 100%;
	height: 100%;
	color: #000000;
	text-align: center;
	text-decoration: none;
	background: #FFFFFF;
	border: 1px solid #CCCCCC;
	padding: 0.25em 0.5em;
	margin: 0;
}

ul.normalBtn a:hover{
	background: #EEEEEE;
}


/* ◆表組◆ */

/* 表組：ベーシック */
.tableDesignBasic {
	margin: 0 auto 0;	/* table-scrollで囲むので空きはいらない */
	padding: 0;
	border-collapse: collapse;
	border: none;
}
.tableDesignBasic caption {
	color: #000000;
	font-size: 133.333%;
	font-weight: normal;
	line-height: 1.5;
	margin: 0 0 1.253em 0;
	text-align: left;
}
.tableDesignBasic th {
	background: #ffe45f;
	border: 1px solid #999999;
	padding: 0.7em 1.0em 0.8em 1.0em;
	font-weight: normal;
}
.tableDesignBasic td {
	border: 1px solid #999999;
	padding: 0.7em 1.0em 0.8em 1.0em;
}

/* 表組：電話 */
.tableDesignTel {
	margin: 0 auto 0;	/* table-scrollで囲むので空きはいらない */
	padding: 0;
	border-collapse: collapse;
	border: none;
}
.tableDesignTel caption {
	color: #000000;
	font-size: 108%;
	font-weight: normal;
	line-height: 1.5;
	margin: 0 0 1.253em 0;
	text-align: left;
}
.tableDesignTel th {
	font-size: 60%;
	font-weight: normal;
	background: #ffe45f;
	border: 1px solid #999999;
	padding: 0.5em;
}
.tableDesignTel td {
	font-size: 80%;
	border: 1px solid #999999;
	padding: 0.5em;
}


/* 表組：下線のみ */
.tableDesignLine {
	margin: 0 -1.3em 0 -1.3em;	/* table-scrollで囲むので空きはいらない */
	padding: 0;
	border-collapse: separate;
	border-spacing: 1.3em 0.9em;
	border: none;
	width:calc(100% + 2.6em);
}
.tableDesignLine caption {
	color: #000000;
	font-size: 133.333%;
	font-weight: normal;
	line-height: 1.5;
	margin: 0 1em 0.415em 1em;
	text-align: left;
}
.tableDesignLine th, .tableDesignLine td {
	padding-bottom: 0.9em;
	border-bottom: 1px solid #999999;
}
.tableDesignLine td:first-child {
	padding-right: 0.8em;
}
.tableDesignLine td:last-child {
	padding-left: 0.8em;
	padding-right: 0.8em;
}

/* 表組：透明（レスポンシブ：段組み解除） */
.tableDesignClear {
	margin: 0 0 45px;	/* table-scrollを使わないので空きがいる */
	padding: 0;
	border-collapse: collapse;
	border: none;
}
.tableDesignClear caption {
	color: #000000;
	font-size:133.333%;
	font-weight: normal;
	line-height: 1.5;
	margin: 0 0 1.253em 0;
	text-align: left;
}
.tableDesignClear th, .tableDesignClear td {
	padding: 0 1.0em 1.0em 0;
	font-weight: normal;
	line-height: 1.8em;
	text-align: left;
	vertical-align: top;
}
.tableDesignClear th:first-child {
	padding-right: 2.0em;
}
.tableDesignClear td:first-child {
	padding-right: 1.0em;
}
.tableDesignClear th:last-child, .tableDesignClear td:last-child {
	padding-right: 0;
}
.tableDesignClear tr:last-child th, .tableDesignClear tr:last-child td {
	padding-bottom: 0;
}

.tableDesignClear th > p, .tableDesignClear td > p {
	padding: 0;
	margin: 0;
}
.tableDesignClear th > ul, .tableDesignClear td > ul,
.tableDesignClear th > ol, .tableDesignClear td > ol {
	padding: 0;
	margin: 0 0 0 1.9em;
}


/* テーブルスクロール */
.table-scroll, .table-scroll2{
	overflow-y: hidden!important;
}

/* ◆表組◆ */

/* 表組：A */
.tableDesignA {
	width : 100%;
	margin: 0 auto 30px auto;
	padding: 0;
	border-collapse: collapse;
	border: none;
}
.tableDesignA {
	margin-bottom: 30px; /* なぜか上記で効かないので再指定 */
}
.tableDesignA th {
	line-height: 1.2;
	font-weight: normal;
	width: 25%;
	padding: 0.5em;
	background-color: #99CC00;
	color: #FFF;
	white-space: nowrap;
	border-radius: 5px;
}
.tableDesignA td {
	line-height: 1.2;
	padding: 0.5em 1em;
	background-color: #F6F6F6;
	border-radius: 5px;
}

/* ◆罫線◆ */

/* 罫線：A */
.hrDesignA {
	border: none;
	margin: 30px auto;
	border-bottom: 4px solid #090;
}

/* ◆キャッチコピー◆ */
.catchCopyArea {
	display: block;
	width: 100%;
	padding: 0.5em;
	background-color: #99CC00;
	color: #FFF;
}

/* ◆アイキャッチ画像◆ */
.eyeCatchArea img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto 30px auto;
}

/* ◆リンクエリア◆ */
.linkArea {
	display: block;
	width: 100%;
	text-align: right;
}
.linkArea a {
	text-decoration: none;
	display: inline-block;
	width: auto;
	margin: 0 0 1em 1em;
	padding: 0.5em 1em;
	background-color: #99CC00;
	color: #FFF;
	border-radius: 5px;
}


/* ◆画像◆ */

.imageArea{
	width: 100%;
	display: block;
	text-align: center;
	margin: 0 auto 1.5em auto;
}

.imageArea img{
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto 0 auto;
}

.imageArea2 {
	width: 100%;
	display: block;
	text-align: center;
	margin: 0 auto 1.5em auto;
	aspect-ratio: 16/16;
	background: #FDFDFD;
}

.imageArea2 img {
	display: block;
	width: 100%;
	aspect-ratio: 16/16;
	object-fit: contain;
}

/* ◆汎用Flex◆ */

.flexAreaA{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 0 auto;
}
.flexAreaA > *{
	width: 65%;
}
.flexAreaA > *:nth-child(odd){
	width: 32%;
}

.flexAreaB{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 0 auto;
}
.flexAreaB > *{
	width: 65%;
}
.flexAreaB > *:nth-child(even){
	width: 32%;
}

.flex2Area, .flex3Area, .flex4Area, .flex6Area{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 1em 60px;
	margin: 0 auto 0 auto;
}
ul.flex2Area, ul.flex3Area, ul.flex4Area, ul.flex6Area{
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
.flex2Area > div > img, .flex3Area > div > img, .flex4Area > div > img, .flex6Area > div > img,
.flex2Area > li > img, .flex3Area > li > img, .flex4Area > li > img, .flex6Area > li > img {
	margin: 0;
}
.flex2Area > div, .flex2Area > li {
	width: calc((100% - 60px * 1) / 2);
}
.flex3Area > div, .flex3Area > li {
	width: calc((100% - 60px * 2) / 3);
}
.flex4Area > div, .flex4Area > li{
	width: calc((100% - 60px * 3) / 4);
}
.flex6Area > div, .flex6Area > li{
	width: calc((100% - 60px * 5) / 6);
}
.opCenter{
	align-items: center;
}

/* ◆スクエアボード◆ */

.squareBoardA {
	padding: 30px;
	background: #FFFFFF;
	border: 1px solid #666666;
	border-radius: 0px;
}

.squareBoardA > *:first-child {
	margin-top: 0;
}
.squareBoardA > *:last-child {
	margin-bottom: 0;
}

.squareBoardB {
	padding: 30px;
	background: #FFFFFF;
	border: 4px double #666666;
	border-radius: 10px;
}

.squareBoardB > *:first-child {
	margin-top: 0;
}
.squareBoardB > *:last-child {
	margin-bottom: 0;
}


/* ◆グーグルマップ◆ */

.googleMap {
	margin: 0.5em auto;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.googleMap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* ----------------------------------------------------------------------------- *
 * 3.0　基本レイアウト
 * ----------------------------------------------------------------------------- */

/* -----------------------------------
■見出し
----------------------------------- */

/* ◆見出し◆ */

h1 {
	font-size: 133.333%;
	font-weight: 500;
	position: relative;
	display: inline-block;
	margin: 0 auto 1em auto;
	letter-spacing: 0.25em;
	text-indent: 0.25em;
}
h1:before {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 3em;
	height: 2px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #008b11;
	border-radius: 1px;
}

.homeMain h1:before {
	background-color: #f9be00;
}

h2 {
	color: #000000;
	font-size: 114.285%;
	font-weight: 500;
	background: #ffe45f;
	margin: 0 -0.5em 1em -0.5em;
	padding: 0.35em 1.5em 0.45em 1.5em;
	border-radius: 1em;
	line-height: 1.5;
}

.clipTitleA{
	color: #000000;
	font-size: 114.285%;
	font-weight: 500;
	background: #ffe45f;
	margin: 0 -0.5em 1em -0.5em;
	padding: 0.35em 1.5em 0.45em 1.5em;
	border-radius: 1em;
	line-height: 1.5;
}

h3 {
	color: #000000;
	font-size: 108%;
	font-weight: 500;
	border-left: 7px solid #ffe45f;
	border-bottom: 1px solid #ffe45f;
	margin: 0 0 1em 0;
	padding: 0em 0.5em 2px 0.5em;
	line-height: 1.5;
}

.clipTitleB{
	color: #000000;
	font-size: 108%;
	font-weight: 500;
	border-left: 7px solid #ffe45f;
	border-bottom: 1px solid #ffe45f;
	margin: 0 0 1em 0;
	padding: 0em 0.5em 2px 0.5em;
	line-height: 1.5;
}

h4 {
	color: #000000;
	font-size: 108%;
	font-weight: 500;
	padding: 0;
	margin: 0 0 1em 0;
}

.clipTitleC{
	color: #000000;
	font-size: 108%;
	font-weight: 500;
	padding: 0;
	margin: 0 0 1em 0;
}

h5 {
	color: #0055bb;
	font-size:100%;
	font-weight: 500;
	padding: 0;
	margin: 0 0 1em 0;
}

p {
	margin-top: 0;
	margin-bottom: 1rem;
	padding: 0;
}

.note {
	padding-left: 1em;
	text-indent: -1em;
}

.caution {
	color: #FF0000;
}


/* ◆パンくずリスト◆ */
#breadcrumb {
	width: 100%;
	padding: 0 0 0 0;
	margin: 15px auto 15px;
	font-size:66.667%;
	font-weight: normal;
}
#breadcrumb ul{
	padding: 0;
	margin:0;
}
#breadcrumb li{
	display:inline;
	list-style: none;
}
#breadcrumb li:after{
	content: '>';
	padding: 0 10px;
	color: #000000;
}
#breadcrumb li:last-child:after{
	content: '';
}
#breadcrumb li a {
	color: #000000;
	text-decoration: underline;
}
#breadcrumb li a:hover {
	color: #EE3333;
	text-decoration: underline;
}

/* ◆ページトップへ◆ */

#pageTop {
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: bold;
	position: fixed;
	font-size: 85.714%;
	right: 0.3em;
	bottom: 0.7em;
	z-index: 500;
}
#pageTop a {
	position: relative;
	border-top: 3px solid #008b11;
	border-left: 3px solid #008b11;
	border-right: 3px solid #008b11;
	background: #FFFFFF;
	border-radius: 10px 10px 0 0;
	padding: 0.7em 1em 0.7em 2em;
	line-height: 1.0;
}
#pageTop a::after {
	color: #008b11;
	position: absolute;
	top: 0;
	left: 0;
	font: var(--fa-font-solid);
	content: '\f077';
	line-height: 1.8;
	padding: 0.75em 0 0 0.7em;
}
#pageTop a:link,#pageTop a:visited {
	color: #000000;
	text-decoration: none;
}
#pageTop a:hover {
	opacity: 0.8;
}

/* ◆ページネーション◆ */
.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 40px 0;
	position: relative;
	font-size: 13px;
}

.pagination span, .pagination a {
	display: block;
	width: auto;
	margin: 4px;
	padding: 8px;
	border: 1px solid #000;
	background-color: #fff;
	text-decoration: none;
	text-align: center;
	line-height: 16px;
}

/* ページ番号 */
.pagination .pager{
	width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current {
	color: #fff;
	border-color: #000;
	background-color: #000;
}

/* 前へ */
.pagination a.prev {
	margin-right: 16px;
}
/* 次へ */
.pagination a.next {
	margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
	display: none;
}

/* ----------------------------------------------------------------------------- *
 * 4.0 　ヘッダー
 * ----------------------------------------------------------------------------- */


/* ヘッダ詳細 */

header {
	width: 100%;
	margin: 0 auto;
}
.headerBlockA {
	display: block;
    background: #FFFFFF;
}
.headerNest {
	width: 90%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0;
}

.headerBlockNest {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.headerBlockNest > div:first-child {
	padding: 0.476em 0;
}

/* -----------------------------------
□ヘッダー：ツールエリア
----------------------------------- */

/* ツールエリア */
.headerToolArea {
	margin: 0;
	padding: 0;
	display: block;
	font-size: 83.359%;
	line-height: 1;
}
.toolFlexBox {
	margin: 0;
	padding: 5px 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.toolFlexBox > div {
	display: inline-block;
	margin: 0;
	padding: 0 15px 0 0;
}
/* カラー変更 */
.naviTheme {
	margin: 0 auto;
}
.naviTheme ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: flex-start;
}
.naviTheme li {
	margin: 0 5px 0 0;
	padding: 0;
}
.naviTheme li a {
	font-family: "Zen Kaku Gothic New", serif;	
	font-size: 86.9286%;
	color: #333;
	margin: 0 0 0 0;
	padding: 6px 7px 7px;
	display: inline-block;
	text-align: center;
	border: 1px solid #CCCCCC;
	border-radius: 5px;
	background: #FFF;
	text-decoration: none
}
.naviTheme li .white a {
	color: #333;
	background: #FFF;
}
.naviTheme li .blue a {
	color: #FFF;
	background: #0033CC;
}
.naviTheme li .black a {
	color: #FFF;
	background: #000;
}
/* テキストサイズ変更 */
.naviFont {
	margin: 0 auto;
}
.naviFont ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: flex-start;
}
.naviFont li {
	margin: 0 5px 0 0;
	padding: 0;
}
.naviFont li a {
	font-family: "Zen Kaku Gothic New", serif;	
	font-size: 86.9286%;
	color: #000000;
	width:2.7em;
	margin: 0 0 0 0;
	padding: 0.35em 0 0.55em;
	display: inline-block;
	text-align: center;
/*	font-size: 13px;*/
	border: 1px solid #999999;
	border-radius: 5px;
	background: #FFF;
	text-decoration: none
}
.naviFont li a:hover {
	background: #CCC;
	text-decoration: none;
}

/* -----------------------------------
□ヘッダー：検索
----------------------------------- */

/* 開閉する検索窓 */
.searchArea {
	width: 2rem;
	height: 2rem;
	position: relative;
}
/*検索窓のエリア*/
.searchWrap {
	position: absolute;/*絶対配置にして*/
	z-index: 99;/*最前面に設定。数字は変更可*/
	top: -4px;
	right: -4px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: inherit;
	padding: 5px;
}
#js-search{
	color: transparent;
	color: #FFFFFF;
	-webkit-appearance: none;/*SafariやChromeのデフォルトの設定を無効*/
	width: 1.8rem;
	height: 1.8rem;
	padding: 0.45rem;
	background: #85bd24 url("images/common/icon_search01.svg") no-repeat 0.225rem center;/*虫眼鏡アイコンを背景に表示*/
	background-size: 1.125rem 1.125rem;
	outline: none;
	cursor: pointer;/*カーソルを指マークに*/
	border: 1px solid #85bd24;
	border-radius: 0.25rem;
}
#js-search span{
	position: absolute;
	left: -9999px;
}

.headerSearch{
	width: 0;
	opacity: 0;
	transition: 0.6s ease;
	pointer-events: none;
}

.headerSearch form{
	display: flex;
	align-items: center;
	justify-content: center;
}
.headerSearch input[type=text]{
	width: 100%;
	height: 2rem;
	border: 1px solid #c8c8c8;
	padding: 0.25em 0 0.25em 0.5em;
	border-radius: 0.25rem;
}
.headerSearch input[type=submit]{
	position: absolute;
	left: -9999px;
}
.headerSearchLabel{
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	width: 20%;
	height: 2rem;
	min-width: 3rem;
	padding: 0.25em 0.5em 0.25em 0.5em;
	overflow: hidden;
	color: #FFFFFF;
	background-color: #85bd24;
	white-space: nowrap;
	border: 1px solid #85bd24;
	transition: 0.4s ease;
	border-radius: 0.25rem;
}
.headerSearchLabel:hover{
	background-color: #FFFFFF;
	color: #85bd24;
}

/* ~~ PCのみ ~~ */
@media screen and (min-width:768px) {

	.is-search{
		pointer-events: auto;
		display: block;
		width: 14.2857em;
		opacity: 1;
	}

}


/* ページ内検索 */
.naviSearch {
	margin: 0 auto;
}

.searchForm{
	margin: 0;
	padding: 0;
/*	font-size: 13px;*/
	line-height: 1;
}
.searchField{
/*	font-size: 13px;*/
	line-height: 1;
	margin: 0;
	padding: 0.4em 0.7em 0.5em 0.7em;
	border: 1px solid #999999;
	border-radius: 3px;
	background: #FFF;
	outline: 0;
}
.searchSubmit {
/*	font-size: 13px;*/
	line-height: 1;
	background: #2299ff;
	margin: 0;
	padding: 0.55em 0.7em 0.65em 0.6em;
	border: 1px solid #2299ff;
	border-radius: 3px;
	color: #fff;
	cursor: pointer;
}

/* ボタン */
.mainMenuButton {
	display: none;
	top: 30px;
	right: 10px;
	margin: 0;
	width: auto;
	z-index: 1000000;
}
.menu_button_view4 {
  position: relative;
  display: inline-block;
  width: 90px;
  height: 90px;
  background: #f9be00;
  cursor: pointer;
}
.menu_button_view4 > .lineArea {
	position: relative;
	width: 100%;
	height: 70px;
}
.menu_button_view4 > .lineArea:before,
.menu_button_view4 > .lineArea:after {
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-1px);
	left: 15px;
	right: 15px;
	border-top: 3px solid #FFFFFF;
	transition: transform 0.3s;
}
.menu_button_view4 > .lineArea:after {
	border-bottom: 3px solid #FFFFFF;
	padding-top:16px;
}
.menu_button_view4 > .lineArea:before {
	transform: translateY(-20px);
}

.menu_button_view4.active > .lineArea:before {
	margin-top:-1px;
	transform: rotate(45deg);
}
.menu_button_view4.active > .lineArea:after {
	margin-top:-1px;
	transform: rotate(-45deg);
	border-bottom: none;
	padding-top:0;
}
.menu_button_view4 > .wordArea {
	position: absolute;
	bottom: 8px;
	padding:0 15px 0 15px;
	line-height: 0;
}


/* -----------------------------------
□ヘッダー：メインメニュー（枠）
　※メニュー本体はmenu.css参照
----------------------------------- */

.headerBlockMenu {
	display: block;
    background: #ffe45f;
    padding: 0.5em 0;
}

/* ----------------------------------------------------------------------------- *
 * 5.0 　スライダー
 * ----------------------------------------------------------------------------- */


/* -----------------------------------
□トップページ：スライダー
----------------------------------- */

/* ◆スライドエリア◆ */

.sliderArea {
	width: 100%;
	position: relative;
	margin: 0 auto;
	line-height: 0;
}
.sliderArea img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.slideBg {
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-color: #036EB8;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	transition: all 14s ease;
	transform: scale(1, 1);
	transform-style: preserve-3d;
	position: relative;
	pointer-events: auto;
}
.active .slideBg {

}

/* ◆スライダー：メインのスタイル◆ */

.mainSlider{
	list-style: none outside none;
	margin: 0 0 1rem 0;
	padding: 0 0 13px 0;
	width: 100%;
	height: auto;
}
.mainSlider li{
	list-style: none outside none;
	margin: 0;
	padding: 0;
}

.add-animation .slideBg {

}

.slickControl {
	text-align: center;
}

.mainBtn{
	position: absolute;
	bottom: -35px;
	left: calc(50% + 80px);
	z-index :110;
}

.slick-data-control {
	line-height: 1.2;
	color: #000000;
}

/* ドット */

.slide-dots-main {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	
	margin: 0 0 0 -14px;
	padding: 0;
	padding-top: 15px;
	text-align: center;
}
.slide-dots-main li {
	display: inline-block;
	margin: 0 12px;
	padding: 0;
}
.slide-dots-main li button {
	position: relative;
	text-indent: -9999px;
	background: none;
	border: none;
	outline: none;
	margin: 0;
	padding: 0;
}
.slide-dots-main li button::before {
	background-image: url(libs/slick/custom/dot_off.png);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	cursor: pointer;
	height: 14px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 14px;
	width: 14px;
}
.slide-dots-main li.slick-active button::before {
	background-image: url(libs/slick/custom/dot_on.png);
}

.slide-dots-main a {
	text-decoration: none;
}
.slide-dots-main a:link {
	text-decoration: none;
}
.slide-dots-main a:visited {
	text-decoration: none;
}
.slide-dots-main a:hover, a:active, a:focus {
	text-decoration: none;
}

/* 再生・一時停止ボタン */

.btn {
	width: 30px;
	height: 30px;
	background-color: #FFFFFF;
	border-radius: 100%;
	position: relative;
	cursor: pointer;
	border: solid 2px #666666;
	overflow: hidden;
	line-height: 1;
	font-size: 0.5em;
}
 
/* 一時停止 */
.btn:not(.playback)::before,
.btn:not(.playback)::after {
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 2px;
    height: 10px;
    box-sizing: border-box;
    background-color: currentColor;
    content: "";
    color: #666666;
}
.btn:not(.playback)::before {
    left: 40%;
}
.btn:not(.playback)::after {
    left: 60%;
}

/* 再生 */
.btn.playback::after {
	position: absolute;
	top: 50%;
	left: 40%;
	transform: translateY(-50%);
	width: 0px;
	height: 0px;
	border: 6px solid transparent;
	border-left: 10px solid #666666;
	box-sizing: border-box;
	content: "";
}

/* 文字を隠す */
.btn span {
	position: absolute;
	left: -9999px;
}
span.hide {
	position: absolute;
	left: -9999px;
}


/* ◆スライダー：slick用スタイル◆ */

/* ホーム：slick上書き */

.slick-slide {
	width: 90%;
	margin: 0 2rem;
}
.slick-slide img {
	width: 100%;
	max-width: 100%;
}
.slick-prev:before, .slick-next:before {
	color: #036EB8;
	font-size: 2rem;
}
.slick-prev {
    left: 0;
    z-index:2;
    width: 40px;
    height: 40px;
}
.slick-next {
    right: 0;
    width: 40px;
    height: 40px;
}

.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;
	opacity: 1;
}
.slick-active {
	opacity: 1;
}
.slick-current {
	opacity: 1;
}

/* 左右のボタン画像指定 */

.slick-arrow {
	position: absolute;
 	top: calc(50% - 15px);
    transform: translate(0,-50%);
	margin: auto;
}
.prev-arrow {
	cursor: pointer;
	left: 20px;
	z-index: 120;
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}
.next-arrow {
	cursor: pointer;
	right: 20px;
	z-index: 130;
	-webkit-transition: all 0.5s ease-out;  /* Saf3.2+, Chrome */
	-moz-transition: all 0.5s ease-out;  /* FF4+ */
	-ms-transition: all 0.5s ease-out;  /* IE10? */
	-o-transition: all 0.5s ease-out;  /* Opera 10.5+ */
	transition: all 0.5s ease-out;
}

.prev-arrow:hover {
	opacity: 0.6;
}
.next-arrow:hover {
	opacity: 0.6;
}

/* -----------------------------------------------------------------------------
 * 6.0 　コンテンツ
 * ----------------------------------------------------------------------------- */

.contentsNest {
	width: calc(90% + 1em);
	max-width: calc(1160px + 1em);
	margin: 0 auto;
	padding: 0 0.5em;
}

.contentsNest img{
	max-width: 100%;
	height: auto;
}

/* ◆メイン詳細◆ */

main {
	width: 100%;
	margin: 0 auto;
	padding: 0
}

.inMain {
	width: 100%;
	margin: 0 auto;
	padding: 60px 0;
}

.homeMain {
	width: 100%;
	margin: 0 auto;
	padding: 0
}

.calMain {
	width: 100%;
	margin: 0 auto;
	padding: 60px 0;
}

/* ◆汎用的なリスト◆ */
.inMain ul, .inMain ol {
	line-height: 1.5em;
	margin-left: 0.5em;
}
.inMain ul li, .inMain ol  li {
	padding-bottom: 0.5em;
}

/* ◆タイトル◆ */
.titleCover{
	background: #ccff99;
	padding: 1.5em 1em;
	text-align: center; 
}

/* ◆背景色のエリア◆ */

/* グレー */
.grayCover{
	background: #f6f6ec;
	padding: 2em 1em;
	text-align: center; 
}

/* グリーン */
.greenCover{
	background: #ccff99;
	padding: 2em 1em;
	text-align: center; 
}

/* ホワイト */
.whiteCover{
	background: #FFFFFF;
	padding: 3em 1em;
	text-align: center; 
}

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


/* ----------------------------------------------------------------------------- *
 * 8.0　フッター
 * ----------------------------------------------------------------------------- */

/* フッター詳細 */

.footerBlockA {
	font-family: "Zen Kaku Gothic New", serif;
	text-align: center;
	background: #ccff99;
	padding: 50px 0;
}
.footerCopyrightArea {
	background: #ffe45f;
	color: #000000;
	text-align: center;
	padding: 0.5em 0;
}
.footerCopyrightArea > .footerNest {

}

.footerNest {
	width: 90%;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0;
}

.footerCopyrightArea > .footerNest > small {
	font-size: 66.667%;
}
.footerCopyrightArea > .footerNest {
	line-height: 1;
	padding: 0.1em 0 0.45em 0;
}

.footerGaiyoAreaCover{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
.footerGaiyoArea{
	display: block;
	text-align: left;
}
.footerGaiyohead{
	font-size: 114.285%;
	font-weight: bold;
	margin-bottom: 0.5em;
	padding: 0;
}
.footerGaiyoMain{
	font-size: 85.714%;
	line-height: 1.7em;
}

/* -----------------------------------------------------------------------------
 * 9.0　個別ページ
 * ----------------------------------------------------------------------------- */


/* -----------------------------------------------------------------------------
 * 9.1　トップページ
 * ----------------------------------------------------------------------------- */

.flexHomeS{
	width: 80%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	margin: 0 auto 0 auto;
}
.flexHomeS > div > img {
	margin: 0;
}

.importantNews {
	border: 1px solid #CCCCCC;
	width: 100%;
	margin: 0 auto;
	padding: 1em 0;
	background: #FFFFFF;
}

.titleImportantNews {
	width: 225px;
	margin: 0 auto;
}

.importantNews .flexHomeS {
	width: 90%;
}

.importantNews .flexHomeS > div:nth-child(2) {
	width: calc(100% - 225px - 1em);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.importantBtn {
	width: auto;
	white-space: nowrap;
	font-size: 83.359%;
	margin: 1em 0; 
}
.importantBtn a {
	color: #000000;
}

.easySearch {
	width: 100%;
	margin: 0 auto;
	padding: 1em 0;
}

.titleEasySearch {
	width: 295px;
	margin: 0 auto;
}

.illEasySearch {
	text-align: right;
}

.easySearch input[type="text"] {
	margin: -5px auto 0 auto;
	padding: 1em;
	width: 390px;
	font-size: 15px;
	border: 1px solid #ccc;
}

.easySearch input[type="submit"],
.easySearch input[type="submit"]:hover {
	display: inline-block;
	margin: 0 auto 0 auto;
	padding: calc(1em - 2px);
	font-size: 15px;
	color: #FFF;
	background-color: #0052a4;
}

/* ◆2分割◆ */
.flexHomeA {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 36px;
	margin: 0 auto 0 auto;
}
.flexHomeA > div > img {
	margin: 0;
}
.flexHomeA > div {
	width: calc((100% - 36px * 1) / 2);
}

/* ◆2分割の2分割◆ */
.flexHomeB {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 18px;
	margin: 0 auto 0 auto;
}
ul.flexHomeB {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	line-height: 0;
}
.flexHomeB > div > img, ul.flexHomeB > li > img {
	margin: 0;
	padding: 0;
}
.flexHomeB > div, ul.flexHomeB > li {
	width: calc((100% - 18px * 1) / 2);
}

/* ◆SNSアイコン◆ */

.snsArea{;
	width: 90%;
	margin: 1em auto 1em auto;
	padding: 0;
}

.flexHomeC{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 40px;
	margin: 0 auto 0 auto;
}
ul.flexHomeC{
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	line-height: 0;
}
.flexHomeC > div > img, ul.flexHomeC > li > img {
	margin: 0;
}
.flexHomeC > div, ul.flexHomeC > li {
	width: 40px;
}

/* ◆開館情報◆ */

.kaikanTitleArea{
	max-width: 1080px;
	margin: 0 auto;
}

.kaikanTitle {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
}
.kaikanToday {
	display: block;
	width: 100%;
	text-align: center;
	bottom: 0;
	position: absolute;
	font-size: 20px;
	font-weight: 500;
}

.flexHomeD{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 20px;
	margin: 0 auto 0 auto;
}
.flexHomeD > div > img {
	margin: 0;
}
.flexHomeD > div {
	width: calc((100% - 20px * 2) / 3);
}


.flexHomeE {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	margin: 0 auto 0 auto;
}
ul.flexHomeE {
	width: 100%;
	margin: 20px auto 0 auto;
	padding: 0;
	list-style: none;
	text-align: center;
	line-height: 0;
}
.flexHomeE > div > img, ul.flexHomeE > li > img {
	margin: 0;
}
.flexHomE > div, ul.flexHomeE > li {
	width: calc((100% - 20px * 10) / 11);
	min-width: 87px;
}
.flexHomeE a {
	display: block;
	width: 100%;
	position: relative;
	border: 2px solid #000;
	background: #FFF;
	margin: 40px 0 0 0;
	text-decoration: none;
	color: #000000;
}

.flexHomeE a:hover {
	background: #FFFFCC;
}
.flexHomeE a:hover img {
	opacity: 1;
}

.ribbon {
	display: block;
	width: 100%;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	text-align: center;
}
.ribbon img {
	margin: 0 auto;
}

.kaikan {
	display: block;
	width: 100%;
	min-height: 105px;
	background: #ffe45f;
	margin: 210px auto 0 auto;
	padding: 5px;
	text-align: center;
	overflow-wrap: break-word; /* 必要に応じて単語を途中で改行 */
	font-size: 18px;
	line-height: 1;
}

.kaikanClose {
	background: #EEEEEE;
}

.kaikanStatus {
	font-size: 24px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 34px;
	padding: 5px 0;
}
.kaikanInfo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 0;
}
.kaikanInfo > p {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.verticalText {
	writing-mode: vertical-rl; /* 縦書き（右から左） */
	text-orientation: upright; /* 文字を縦向きに配置 */
	text-align: center;
}

/* ◆バナー横並び◆ */

.homeBannerArea{
	width: 90%;
	margin: 0 auto;
}

.flexHomeF{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 20px;
	margin: 0 auto 0 auto;
}
ul.flexHomeF{
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
	line-height: 0;
}
.flexHomeF > div > img, ul.flexHomeF > li > img {
	margin: 0;
}
.flexHomeF > div, ul.flexHomeF > li {
	width: calc((100% - 20px * 5) / 6);
}

.flexHomeF img{
	display: block;
	max-width: 100%;
	height: auto;
}

.homeBoardA{
	font-size: 0.88em;
	line-height: 1;
	background: #ffe45f; 
	border: 1px solid #000000;
	text-align: left;
	margin: 0;
	padding: 0.4em 1em; 
}

.homeBoardA > ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.homeBoardA > ul a{
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 0.25em 2em 0.25em 1em;
	text-decoration: none;
	border-radius: 2em;
	background: #FFFFFF;
	color: #000000;
}
.homeBoardA > ul a:hover{
	background: #FFFFC;
}
.homeBoardA > ul a::after{
	position: absolute;
	line-height: 1;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 1em;
	font: var(--fa-font-solid);
	content: '\f054';
	color: #000000;
}
.homeBoardA > ul a:hover::after{
	color: #f9be00;
}

.homeBoardA > ul > li{
	margin: 0 0 0.5em 0;
	padding: 0;
}
.homeBoardA > ul > li:first-child{
	text-align: center;
	width: 100%;
}
.homeBoardA > ul > li:first-child img{
	margin: 0 auto;
}

.homeBoardA > ul ul{
	list-style-type: disc;
}
.homeBoardA > ul ul li{
	margin: 0 0 0.5em 0;
}

.homeMap{
	position: relative;
}

.homeMap img{
	position: absolute;
	top: 0;
	left: -5.46875vw;
	max-width: 115%;
}

/* -----------------------------------
□トップページ：その他
----------------------------------- */

/* お知らせ */
#tab-button {
	overflow: hidden;
	list-style: none;
	display: flex;
	flex-wrap: no-wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	width: 89.552%;
	margin: 0 auto;
	padding: 0;

	font-family: "Zen Kaku Gothic New", serif;
	font-size: 114.286%;
	font-weight: 500;
	position: relative;
	z-index: 99;
}
#tab-button li {
	/*min-width: calc((100% - 20px * 4) / 5);*/
	width: 15.833em;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: middle;
}

#tab-button li span {
	width: 100%;
	display: block;
	background: #FFFFFF;
	color: #666666;
	border: 2px solid #666666;
	border-bottom: 2px solid #0055bb;
	padding: 0.833em 20px;
	line-height: 1em;
	margin: 0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	border-top-left-radius: 12px;
	-moz-border-radius-topleft: 12px;
	-webkit-border-top-left-radius: 12px;
	border-top-right-radius: 12px;
	-moz-border-radius-topright: 12px;
	-webkit-border-top-right-radius: 12px;
	text-align: center;
	text-decoration: none;
}

#tab-button li.is-active span {
	background: #FFFFFF;
	color: #0055bb;
	border: 2px solid #0055bb;
	border-bottom: 2px solid #FFFFFF;
}

.tab-contents {
	background: #FFFFFF;
	border-top: 2px solid #0055bb;
	border-bottom: 2px solid #0055bb;
	position: relative;
	margin: -2px 0 100px 0;
	padding: 0;	
	z-index: 0;
	width: 100%;
}
.tab-select-outer {
	background: #FFFFFF;
	color: #333333;
	border: 2px solid #0055bb;
	border-bottom: 2px solid #FFFFFF;
	padding: 0.6em 20px;
	line-height: 1em;
	margin: 0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	border-top-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-webkit-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-webkit-border-top-right-radius: 5px;
	text-align: center;
	text-decoration: none;
	position: relative;
	z-index: 99;
}


/**
 * -----------------------------------------------------------------------------
 * 9.11 FAQ
 * -----------------------------------------------------------------------------
 */

/* FAQ  */

details {
  &::details-content {
    @media (prefers-reduced-motion: no-preference) {
      transition-duration: 500ms;
      transition-property: content-visibility, opacity;
      transition-behavior: allow-discrete;
    }
  }

  &:not([open])::details-content {
    opacity: 0;
  }
}

details summary {
	list-style: none;
	cursor: pointer;
	width: 100%;
	margin: 1em auto 0 auto;
	padding: 0.5em 3em 0.5em 1em;
	color: #000000;
	border: 2px solid #f6f6ec;
	background: #f6f6ec;
	position: relative;
	border-radius: 15px 15px 0px 0px;
	font-weight: 500;
}

details summary::-webkit-details-marker {
	display: none;
}
details summary::after {
	position: absolute;
	font-family: FontAwesome;
	content: '\f067';
	color: #008b11;
	top: 0.75em;
	right: 1em;
}
details[open] summary::after {
	content: '\f068';
}

.squareBoxB  {
	display: block;
	width: 100%;
	text-align: left;
	margin: 0 auto 0 auto;
	padding: 1em 1em 1em 1em;
	background-color: #FFFFFF;
	color: #000000;
	border: 1px solid #CCCCCC;
	border-top: none;
	border-radius: 0px 0px 15px 15px;
}
.squareBoxB > *:first-child  {
	margin-top: 0;
}
.squareBoxB > *:last-child  {
	margin-bottom: 0;
}


/**
 * -----------------------------------------------------------------------------
 * 9.14 　MW WP フォーム
 * -----------------------------------------------------------------------------
 */

/* -----------------------------------
■MW WP フォーム
----------------------------------- */
.mw_wp_form dl {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0px 0px;
	padding: 0;
}

.mw_wp_form dl > dt {
	background: #ccff99;
	border-radius: 15px 15px 0 0;
	color: #000000;
}

.mw_wp_form dl > dt,
.mw_wp_form dl > dd {
	width: 100%;
	margin: 0;
	padding: 1em;
	text-align: center;
}

.mw_wp_form dl > dd {
	border-right: 2px solid #EEEEEE;
	border-left: 2px solid #EEEEEE;
	margin-bottom: 1em;
}


/* スマホ時の文字サイズの変更の為＋下に文字が続く場合の段落自動生成と行間の対応 */
.formTextCover {
	margin-bottom: 0.5em;
}
.mw_wp_form dl > dt *:last-child,
.mw_wp_form dl > dd *:last-child{
	margin-bottom: 0;
}

.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form textarea {
	padding: 1em;
	width: 100%;
	font-size: 15px;
	border: 1px solid #ccc;
}

.mw_wp_form .side_by_side_3 input[type="text"] {
	width: 25%;
}

.mw_wp_form input[type="submit"],
.mw_wp_form input[type="submit"]:hover {
	display: table;
	margin: 30px auto;
	padding: 0.5em 1em;
	color: #FFF;
	background-color: #666666;
}

/* ~~ wp外の擬似ボタン（プレゼントフォーム用） ~~ */

.formMimicButton {
	width: 100%;
	text-align: center;
}

.formMimicButton a {
	text-decoration: none;
	display: inline-block;
	margin: 30px auto;
	padding: 0.5em 1em;
	color: #FFF;
	background-color: #666666;
}

/* ~~ ステップ（パターンA） ~~ */

.mw_wp_form .form_step {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0px;
	list-style: none;
	background: #ffffff;
	background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 49%, #666666 49%, #666666 51%, #ffffff 51%, #ffffff 100%);
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 49%,#666666 49%,#666666 51%,#ffffff 51%,#ffffff 100%);
	background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 49%,#666666 49%,#666666 51%,#ffffff 51%,#ffffff 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 );
}

.mw_wp_form .form_step {
	width: 75%;
	margin: 0 auto;
	padding: 0;
}

.mw_wp_form .form_step > li {
	display: block;
	position: relative;
	margin: 0;
	padding: 0.5em;
	width: 22%;
	border: 1px solid #666666;
	border-radius: 5px;
	color: #666666;
	background-color: #ffffff;
	font-size: 1.25vw;
	font-weight: bold;
	text-align: center;
}
.mw_wp_form .form_step > li:nth-of-type(n + 2) {
	margin: 0px 0px 0px 4%;
}

.mw_wp_form_input .form_step > li:nth-of-type(1),
.mw_wp_form_preview .form_step > li:nth-of-type(2),
.mw_wp_form_complete .form_step > li:nth-of-type(4) {
	background-color: #666666;
	color: #ffffff;
}

.mw_wp_form_preview .previewHidden {
	display: none;
}

@media print, (min-width: 992px) {
    .mw_wp_form .form_step > li {
        font-size: 18px;
    }

}

.mw_wp_form_complete div {
    margin: 30px 0px 0px;
    text-align: center;
}

/* ~~ スマホ ~~ */
@media screen and (max-width:767px) {


	.mw_wp_form .form_step {
		background: #ffffff;
		background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 48%, #666666 48%, #666666 52%, #ffffff 52%, #ffffff 100%);
		background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 48%,#666666 48%,#666666 52%,#ffffff 52%,#ffffff 100%);
		background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 48%,#666666 48%,#666666 52%,#ffffff 52%,#ffffff 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 );
	}
	
	.mw_wp_form .form_step {
		width: 100%;
	}
	
	.mw_wp_form .form_step > li {
		font-size: 3vw;
	}

	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form input[type="tel"],
	.mw_wp_form textarea {
		padding: 0.5em;
		font-size: 36px;
	}
	
	.mw_wp_form input[type="checkbox"] {
		padding: 0.5em;
		font-size: 36px;
	}

}

/* -----------------------------------------------------------------------------
 * 9.12　システム
 * ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
 * 9.12　サイトマップ
 * ----------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------- *
 * 10.0　メディアクエリー
 * ----------------------------------------------------------------------------- */

/* -----------------------------------
■レスポンシブ対応
----------------------------------- */

.smOnly, .smOnly2 {
	display: none;
}
.table-scroll, .table-scroll2{
	overflow-y: hidden!important;
}

@media screen and (max-width:1400px) {

	.ribbon {
		top: -41px;
		left: 50%;
	}
	.flexHomE, ul.flexHomeE {
		width: 766px;
		margin-left: auto;
		margin-right: auto;
	}
	.flexHomE > div, ul.flexHomeE > li {
		width: calc((100% - 20px * 5) / 6);
		min-width: 87px;
	}

}

@media screen and (max-width:1080px) {


	.importantNews .flexHomeS {
		width: 100%;
	}
	
	.easySearch input[type="text"] {
		margin: -5px auto 0 auto;
		padding: 1em;
		width: 340px;
		font-size: 15px;
		border: 1px solid #ccc;
	}

	.importantNews .flexHomeS > div:nth-child(2) {
		width: 100%;
		display: block;
	}

	.flexHomeA > div {
		width: 100%;
	}
	
	.homeMap img{
		position: relative;
		top: 0;
		left: 0;
		max-width: 100%;
	}
	
	.flexHomE, ul.flexHomeE {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.flexHomE > div, ul.flexHomeE > li {
		width: calc((100% - 20px * 5) / 6);
		min-width: 87px;
	}

	.flexHomF > div, ul.flexHomeF > li {
		width: calc((100% - 20px * 2) / 3);
	}

}



/* ~~ スマホ ~~ */
@media screen and (max-width:767px) {
	
	html {
		font-size: 200%;
	}
	
	.pcOnly {
		display: none;
	}

	.smOnly {
		display: inline;
	}
	.smOnly2 {
		display: block;
	}
	
	html {
		font-size: 2em;
	}

	/* 基本レイアウト */
	#pageTop {
		font-size: 80%;
	}

	/* ヘッダー */
	.headerBlockA{
		padding-top: 0.25em;
	}
	.headerToolArea{
		display: none;
	}
	
	.mainMenuButton {
		display: block;
	}
	
	.headerBlockMenu{
		display: none;
		border-top: 1px solid #000000;
		border-bottom: 1px solid #000000;
		padding: 0 0;
	}
	
	/* フッター */
	.footerGaiyoAreaCover{
		display: block;
	}
	.footerGaiyoAreaCover > div:last-child{
		width: 100%;
		text-align: center;
	}
	.footerGaiyoAreaCover > div:first-child{
		margin-bottom: 50px;
	}
	.footerGaiyoAreaCover > div:last-child > img{
		max-width: 100%;
	}
	.footerGaiyoArea{
		display: block;
	}
	.footerGaiyohead {
		text-align: center;
	}
	.footerGaiyoArea > div:last-child{
		width: 100%;
		text-align: center;
	}
	.footerGaiyoArea > div:first-child{
		margin-left: 0;
		margin-bottom: 50px;
	}
	.footerGaiyoArea > div:last-child > img{
		max-width: 100%;
	}

	.footerCopyrightArea {
		text-align: left;
	}

	/* トップページ */

	/* グレー */
	.grayCover{
		background: #f6f6ec;
		padding: 2em 0;
		text-align: center; 
	}

	/* グリーン */
	.greenCover{
		background: #ccff99;
		padding: 2em 0;
		text-align: center; 
	}

	/* ホワイト */
	.whiteCover{
		background: #FFFFFF;
		padding: 3em 0;
		text-align: center; 
	}

	/* スライダー */
	.slideBg {

	}

	.slideText{
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-style: normal;
		position: absolute;
		width: auto;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		color: #036EB8;
		background-color: rgba(255,255,255,0.8);
		filter: drop-shadow(0.2857rem 0.2857rem 0.2857rem rgba(0,0,0,0.5));
		font-size: 2rem;
		line-height: 1.8;
		padding: 0.4em 0.4em;
		text-align: center;
		white-space: nowrap;
		border-radius: 10px;
	}

	.mainBtn{
		position: absolute;
		bottom: -85px;
		left: calc(50% + 160px);
		z-index :110;
	}

	/* ドット */

	.slide-dots-main {
		margin: 0 0 0 -36px;
	}
	.slide-dots-main li {
		display: inline-block;
		margin: 0 30px;
		padding: 0;
	}
	.slide-dots-main li button::before {
		height: 36px;
		top: 36px;
		width: 36px;
	}
	
	.adArea .slickControl {
		padding-top: 1.5rem;
	}
	
	/* 再生・一時停止ボタン */
	
	.btn {
		width: 60px;
		height: 60px;
		border: solid 3px #666666;
		font-size: 0.5em;
	}
	 
	/* 一時停止 */
	.btn:not(.playback)::before,
	.btn:not(.playback)::after {
	    width: 4px;
	    height: 20px;
	}

	/* 再生 */
	.btn.playback::after {
		border: 12px solid transparent;
		border-left: 20px solid #666666;
		left: 35%;
	}

	/* ◆スライダー：メインのスタイル◆ */

	.mainSlider{
		padding: 0 0 0.6em 0;
	}

	.slideCover {	/* 上に乗せるイラスト用 */
		top: auto;
		bottom: 10px;
	}

	/* ◇汎用Flex◇ */

	.flexAreaA{
		display: block;
	}
	.flexAreaA > *{
		width: 100%;
	}
	.flexAreaA > *:nth-child(odd){
		width: 100%;
	}

	.flexAreaB{
		display: block;
	}
	.flexAreaB > *{
		width: 100%;
	}
	.flexAreaB > *:nth-child(even){
		width: 100%;
	}

	.flex2Area, .flex3Area, .flex4Area {
		gap: 1rem;
	}
	.flex2Area > div, .flex3Area > div, .flex4Area > div,
	.flex2Area > li, .flex3Area > li, .flex4Area > li {
		width: 100%;
	}
 	.flex6Area{
		gap: 1rem;
	}
	.flex6Area > div, .flex6Area > li {
		width: calc((100% - 1rem * 1) / 2);
	}


	/* ノーマルボタン */
	
	ul.normalBtn li {
		width: 100%;
	}
	.importantNews ul.normalBtn li {
		width: auto;
	}

	◇表組◇
	
	/* スマホ時テーブルのスクロール */
	.table-scroll, .table-scroll2 {
		-webkit-overflow-scrolling: touch;
		overflow: auto;
		overflow-y: auto !important;
		margin-bottom: 1rem;
		width: 100%;
	}
	.table-scroll table{
		min-width: 1100px;
	}
	.table-scroll2 table{
		min-width: 1600px;
	}
	.table-scroll table:first-child, .table-scroll2  table:first-child{
		margin-top: 10px;
	}
	.table-scroll table:last-child, .table-scroll2  table:last-child{
		margin-bottom: 0;
	}

	/* お知らせ */
	#tab-button li {
		width: 100%;
	}
	ul.newsArea > li{
		margin: 0 0 1.7em 0;
	}
	ul.newsArea > li > a {
		display: block;
		margin: 0.5em 0 0 0;
	}

	/* ヘッダー：検索 */
	
	.searchArea {
		width: auto;
		height: auto;
		padding: 2rem 0;
		position: relative;
	}

	.headerSearch{
		pointer-events: auto;
		display: block;
		width: 100%;
		opacity: 1;
	}

	.searchWrap{
		position: relative;
		z-index: 99;
		width: 550px;
		top: 0;
		left: 1.25rem;
		padding: 0;
	}

	#js-search{
		cursor: auto;
	}

	/* ◆TOP◆ */
	
	.flexHomeS{
		gap: 0.5em;
	}
	
	.titleImportantNews {
		width: 450px;
	}
	
	.titleEasySearch {
		width: 590px;
	}

	.flexHomeA > div {
		width: 100%;
	}
	.flexHomeB > div {
		width: 100%;
	}
	
	.homeBoardA{
		display: flex;
	}
	.homeBoardA > div{
		width: 50%;
	}
	.homeBoardA > ul{
		width: 50%;
		margin-top: 15px;
	}

	.kaikanToday {
		font-size: 40px;
	}
	.ribbon {
		top: -41px;
		left: 50%;
	}
	.flexHomeD {
		gap: 40px;
	}
	.flexHomeD > div {
		width: 100%;
	}
	.flexHomeD > div:nth-child(1) img{
		max-width: 75%;
		margin: 0 auto;
	}
	.flexHomeD > div:nth-child(3){
		display: none;
	}

	.flexHomF > div, ul.flexHomeF > li {
		width: calc((100% - 20px * 1) / 2);
	}

	.homeMap img{
		position: relative;
		top: 0;
		left: 0;
		max-width: 100%;
	}

}

/* ↓から必要なものは↑に入れる　不要なものは最終的に削除 ------------------------------------------------------*/


/* -----------------------------------
□□未整理
----------------------------------- */

/* ~~ スマホ ~~ */
@media screen and (max-width:767px) {

	/* サーチエリア */
	.headerSearchArea {
		margin: 0;
		padding: 0;
		display: inline-block;
		font-size: 32px;
		line-height: 1;
		color: #FFF;
		text-align: center;
		width: 100%;
	}
	.searchFlexBox {
		width: 100%;
		margin: 0 auto;
		padding: 25px 0;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		text-align: center;
		border-bottom:1px solid #000000;
	}
	.searchFlexBox > div {
		width: auto;
		display: inline-block;
		margin: 0;
		padding: 0 10px 0 0;
	}
	/* ページ内検索 */
	.naviSearch {
		margin: 0 auto;
	}

	.searchForm{
		margin: 0;
		padding: 0;
		font-size: 32px;
		line-height: 1;
	}
	.searchField{
		font-size: 32px;
		line-height: 1;
		margin: 0;
		padding: 8px 10px;
		border: 1px solid #CCCCCC;
		border-radius: 5px;
		background: #FFF;
		outline: 0;
		color: #333;
	}
	.searchSubmit {
		font-size: 32px;
		line-height: 1;
		background: #55bb00;
		margin: 0;
		padding: 14px;
		border: 1px solid #55bb00;
		border-radius: 5px;
		color: #fff;
		cursor: pointer;
	}
	
	.contentsFlexContainer {
		display: block;
	}

	/* メイン詳細 */

	main {
		width: 100%;
	}


	/* フッター詳細 */


	h1 {
		font-size: 133.333%;
		font-weight: 500;
		position: relative;
		display: inline-block;
		margin: 0 auto 1em auto;
		letter-spacing: 0.125em;
		text-indent: 0.125em;
	}

	/* □ファイルアイコンの自動表示 */
	a:not(.noIcon)[href$=".pdf"]:after,
	span.markPdf:after{
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconPdf2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".doc"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconDoc2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".docx"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconDocx2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".xls"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconXls2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".xlsx"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconXlsx2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".csv"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconCsv2.gif) no-repeat center right;
	    background-size: contain;
	}
	a:not(.noIcon)[href$=".zip"]:after {
	    width: 84px;
	    height: 30px;
	    background: url(images/file_icon/iconZip2.gif) no-repeat center right;
	    background-size: contain;
	}


}

/* ~~ 上書きPC ~~ */
@media screen and (min-width:768px) {

    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }

}