@charset "utf-8";
body, tooltip, popover {
}
 _:lang(x)::-ms-backdrop, .selector { /* IE11でのみ有効 */
}
.gothic {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: normal;
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Sawarabi Mincho", serif;
	font-weight: normal;
}
html {
	background: #ffffff;
}
body {
	letter-spacing: -.01em;
	line-height: 1.7;
	z-index: -9999;
	color: #534741;
	background-color: #ffffff;
}
.navbar {
}
.navbar-light .navbar-nav .nav-link {
	color: #534741;
}
img {
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
	flex-shrink: 0;
}
div {
	position: relative;
}
table {
	color: #534741;
	text-align: left;
}
table ol {
	margin-bottom: 0;
}
a {
	color: #42210B;
}
a:hover {
	color: #42210B;
	opacity: 0.7;
	transition: all 0.3s ease;
	text-decoration: none;
}
b, strong, .bold {
	font-weight: bold;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	line-height: 1.7;
}
h1 {
	font-size: 2rem;
}
h2 {
	font-size: 1.75rem;
}
h3 {
	font-size: 1.5rem;
}
h4 {
	font-size: 1.25rem;
}
h5 {
	font-size: 1.1rem;
}
h6 {
	font-size: 1.0rem;
}

/* ########### 991px以下 ＞lg ########### */
@media (max-width: 991px) {
}

/* ########### 767px以下 ＞md ########### */
@media (max-width: 767px) {
}

/* ########### 575px以下 ＞sm ########### */
@media (max-width: 575px) {
h1 {
	font-size: 1.75rem;
}
h2 {
	font-size: 1.5rem;
}
h3, h4 {
	font-size: 1.25rem;
}
}
.small{
	font-size: 80%;
}
.large{
	font-size: 120%;
}
/*テンプレート設定*/
img.h_rogo{
width: 407px;
}
img.f_rogo{
	width: 350px;
}
ol.kakko{
	padding-inline-start: 1em;
}
ol.kakko li{
	list-style-type: none;
	counter-increment: cnt;
}
ol.kakko li::before{
	content: "(" counter(cnt) ") ";
}

/*ヘッダー設定*/
#HeaderWrapper {
	border-top: #411b83 7px solid;
	z-index: 100;
}
#HeaderWrapper .headerBorder{
	border-top: #65c48d 7px solid;
}
.sticky-top {
    position: -webkit-sticky!important;
    position: sticky!important;
    top: 0;
    z-index: 1020!important;
	background-color: rgba(250,250,250,0.8)!important;
}
#header {
}
#header .navbar{
	font-weight: bold;
}
#header .navbar ul.navbar-nav li.bt1 a{
	height: 51px;
	width: 51px;
	background-color: #65c48d;
	margin: -.5rem .5rem -.5rem -1rem;
}
#header .navbar ul.navbar-nav li.bt2{
	border-right:#65c48d 1px solid;
}
#header .navbar ul.navbar-nav li:last-child{
	border: none;
}
#header .navbar .navbar-nav li.headTel{
}


#HeaderWrapper.sticky-top {
	background-color: rgba(242,242,242,0.85)
}
.sticky-top #header .navbar{
	padding: .3rem 1rem;
}
.sticky-top #header .navbar .navbar-brand img{
	height: 30px
}
.sticky-top #header .navbar #navRight{
	margin-top: 0;
}
/* =========================================
   Googleサイト内検索（余白・位置 完全修正版）
   ========================================= */

/* 1. コンテナ全体のサイズとリセット */
.gsc-control-cse {
    width: 260px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    display: inline-block !important;
    position: relative !important;
    vertical-align: middle !important; /* 横のボタンと高さを合わせる */
}

/* 2. ★追加：Bootstrapが勝手につけるフォームの下余白を抹消 */
.gsc-control-cse form.gsc-search-box,
form.gsc-search-box {
    margin-bottom: 0 !important;
}

/* 3. 内部要素のボックスモデルを統一 */
.gsc-control-cse * {
    box-sizing: border-box !important;
    float: none !important;
}

/* 4. テーブル・セルの余計な隙間を全消去 */
.gsc-search-box, 
.gsc-search-box td, 
.gsc-search-box tr {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-collapse: collapse !important;
}

/* 5. 入力欄の外枠（白い箱） */
.gsc-input-box {
    border: 1px solid #ccc !important;
    border-right: none !important; 
    border-radius: 4px 0 0 4px !important;
    background: #ffffff !important;
    background-image: none !important;
    height: 34px !important;
    width: 100% !important;
    box-shadow: none !important;
    position: relative !important;
    margin: 0 !important; /* 念のため */
}

/* 6. 入力欄本体（文字を入れる所） */
input.gsc-input {
    background: transparent !important;
    background-image: none !important;
    text-indent: 0 !important;
    padding: 0 10px !important;
    height: 32px !important;
    line-height: 32px !important; 
    font-size: 14px !important;
    color: #333 !important;
    width: 100% !important;
    margin: 0 !important;
}

/* 7. 不要なボタン（×ボタンなど）を非表示 */
.gsst_b, .gsc-clear-button, .gsib_b {
    display: none !important;
    width: 0 !important;
}

/* 8. 検索ボタン（青いボタン） */
td.gsc-search-button {
    width: 40px !important;
    display: table-cell !important;
    vertical-align: middle !important;
}

button.gsc-search-button-v2 {
    display: block !important;
    width: 40px !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #17a2b8 !important;
    background-color: #17a2b8 !important;
    border-radius: 0 4px 4px 0 !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 2 !important;
}

/* 9. ボタン内の虫眼鏡アイコン（ど真ん中固定） */
button.gsc-search-button-v2 svg {
    width: 16px !important;
    height: 16px !important;
    fill: #ffffff !important;
    
    /* ど真ん中配置 */
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
}

/* Googleロゴなどを消す */
.gsc-branding {
    display: none !important;
}

/* 文字サイズ拡大縮小 */
.fontS { font-size: 80% }
.fontM { font-size: 100% }
.fontL { font-size: 120% }
.TextSize,
#TextSizeText{
	vertical-align: middle;
}

/* ########### 1199px(xl)以下 ########### */
@media (max-width: 1199px) {
}

/* ########### 991px(lg)以下 ########### */
@media (max-width: 991px) {
}

/* ########### 767px(md)以下 ########### */
@media (max-width: 767px) {
#header .navbar{
	background-color: transparent!important;
	font-weight: normal;
}
#header .navbar .navbar-collapse {
	position: fixed;
	left: 0;
	top: 90px;
	background-color: rgba(220,240,250,0.96);
	width: 100%;
}
#header .navbar .navbar-collapse ul li.nav-item {
	padding: 3px 10px;
}
#header .navbar ul.navbar-nav li.bt2{
	border:  none;
}
#header .navbar .navbar-collapse ul li+li {
	border-top: #aaa 1px dotted!important;
}
#header .navbar ul.navbar-nav li.headTel{
	text-align: right;
	font-weight: bold;
	font-size: 120%;
}
}

/* ########### 428px(sm)以下 ########### */
@media (max-width: 428px) {
}
/*ヘッダー設定　ここまで*/

/*フッター設定*/
#FooterWrapper {
}
#footer{
	border-top: #65c48d 16px solid;
}
#footer ul li{
	padding-top: 3px;
	padding-bottom: 3px;
}
div.toTop {
	position: fixed;
	bottom: 40px;
	right: 15px;
	z-index: 9999;
}
div.toTop a {
	display: block;
	font-size: 80%;
	cursor: pointer;
}
/*フッター設定　ここまで*/

/*全ページ共通*/
.list_circle_num {
    list-style: none;
    counter-reset: list_circle_num_counter;
}

.list_circle_num > li {
    position: relative;
	padding-left: 3rem;
    counter-increment: list_circle_num_counter;
}
.list_circle_num > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    width: calc(1.5em);
    height: calc(1.5em);
    background-color: #000;
    color: #fff;
    font-weight: bold;
    border-radius: 50%;
    text-align: center;
    line-height: 1;
    content: counter(list_circle_num_counter);
}
.col1 > li::before {
    background-color: #28a745;
}
.col2 > li::before {
    background-color: #00a99d;
}
.col3 > li::before {
    background-color: #dc3545;
}
/* ########### 767px(md)以下 ########### */
@media screen and (max-width: 767px){
	.toggleBtn{
		pointer-events: all;
		cursor: pointer;
	}
	.toggleTarget{
		display: none;
	}
}

.title {
	letter-spacing: 1px;
}
p.date {
	font-size: 80%;
}
.breadcrumb {
	border-radius: 0;
}
.breadcrumb_bg {
	background-color: #6C6F6E!important;
}
.breadcrumb a, .breadcrumb-item.active, .breadcrumb-item+.breadcrumb-item::before {
	color: #cccccc;
}
.img-responsive {
	width: 100%;
	max-width: 100%;
}
/* ########### 428px(sm)以下 ########### */
@media (max-width: 428px) {
}
/*全ページ共通ここまで*/

/*お知らせ*/

/* ########### 991px(lg)以下 ########### */
@media (max-width: 991px) {
}

/* ########### 767px(md)以下 ########### */
@media (max-width: 767px) {
}

/* ########### 539px(sm)以下 スマホ用 ########### */
@media (max-width: 539px) {
}
/*防災体験プログラムページ*/
h4.bg-light{
	line-height: 1.2;
}
/*防災体験プログラムページ*/
/*サイトマップページ*/
#sitemap li, #sitemap ul.sub-menu {
	padding-left: 1.5rem;
	list-style: none;
}
#sitemap li li {
	padding-left: 0;
}
#sitemap li::before {
	padding-left: 0;
	content: "● ";
}
#sitemap li li::before {
	padding-left: 0;
	content: "├ ";
}
#sitemap li li:last-child::before {
	padding-left: 0;
	content: "└ ";
}
#sitemap #menu-topsitemap1 #menu-item-278 {
	margin-left: -1.5rem;
}

/*グッズ販売*/
img.goodsImg{
	max-width: 100%;
}
img.goodsImg2{
	max-width: 50%;
	padding: 2px;
}

.accordion a[aria-expanded="flse"] i{
	transform:rotate(0deg);
}
.accordion a[aria-expanded="true"] i{
	transform:rotate(180deg);
}
.youtube {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: 25px;
}
.youtube iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}