html {
	overflow-y: scroll;
	font-size: 62.5%;
	background:#ffffff;
}

/* フォント */
body {
	font-family: YuGothic, "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, “Droid Sans”,sans-serif;
	font-size:1.6rem;/* 16px*/
	color: black;
	line-height: 1.8;
}

/* リンクの効果 */
a {
	display: inline-block;
	color: black;
	font-weight:  bold;
	text-decoration: none;
	text-shadow: 0.5px 0.5px 1px #eeeeee;
}
a:hover {
	-webkit-animation: zoom .3s;
	animation: zoom .3s;
	color: #dc143c;
	transition: color .3s;
	
}
@-webkit-keyframes zoom {
	50% {
	-webkit-transform: scale(1.05);
	}
}
@keyframes zoom {
	50% {
	transform: scale(1.05);
	}
}

header {
	margin: 0 auto;
}
/*------------------- ヘッダーのアンダーライン-------------------*/
.header-bottom{
	border-bottom: solid 5px;
	border-image: linear-gradient(to right, #ff6347 0%,#0000cd 100%);
	border-image-slice: 1;
	height: 60px;
}
/*------------------- 地図リンクのフォント固定 -------------------*/
	.navi-font{
	font-size:  16px;
	}
/*------------------- ヘッダー地図メニュー（スマホ） -------------------*/
@media (max-width: 900px) {
	.navi-large {
	display:none;
	}
	.navi-small {
	top: 0;
	position: fixed;
	z-index:9;
	position:relative;
	}
	.navi-small-logo{
	width: 40px;
	max-height: 35px;
	position: fixed;
	z-index:9;
	}
	.navi-small-map{
	width: calc((100% - 40px - 200px)/2);]
	max-height: 30px;
	text-align: center;
	padding-right:auto;
	padding-left:auto;
	}
	.humburgerbase {
	top: 0;
	width: 100px;
	line-height: 60px;
	}
}
/*------------------- ヘッダー地図メニュー（PC） -------------------*/
@media (min-width: 900px) {
	.navi-small {
    	display:none;
  	}
	.navi-large {
	top: 0;
	width: 100%;
	line-height: 60px;
	}
	.navi-large-logo{
	width: 40px;
	max-height: 35px; 
	text-align: center;
	float:left;
	position:relative;
	}
	.navi-large-map{
	width: 180px;
	max-height: 30px;
	color: #000;
	float:left;
	margin-left:80px;
	text-align: center;
	}
}

.resizeimage-logo img {  
	max-height: 56px;
}

/*-------------------- 全体のレイアウト -----------------*/
.wrapper-all {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
/*----- PCで左カラムの幅を制限 -----*/
@media (min-width: 900px) {
	.main {
	width: calc(100% - 390px);
	}
	.sidebar {
	width: 370px;
	} 
}
/*----- スマホで右カラムを非表示 -----*/
@media (max-width: 899px) {
	.sidebar {
	  display: none; }
	} 
	.main {
	width : 100vw;
	max-width: 645px;
	}
}
/*------------------- トピックパス -------------------*/

.topic_path {	
 } 
.topic_path li {
	display: inline-block;
	float:left;
	list-style-type:none;
	font-size:1.6rem;
}
.topic_path > li > a > p{
	display: inline-block;
	float:left;
}
.topic_path > li > a > span{
	display: inline-block;
	float:left;
}
.topic_path > li > a{
	display: inline-block;
	float:left;
}
.topic_path > ul > li > strong {
	font-weight:  bold;
}

/* ホームアイコン（トピックパス） */
.topic-home {
	float:left;
}
.topic-home > a > strong {
	float:left;
}
.topic-home > a > span {
	top:10px;
	left:-5px;
}
.topic-home-icon {
	margin-left:5px;
	box-sizing: border-box;
	position: relative;
	display: block;
	transform: scale(var(--ggs,1));
	width: 18px;
	height: 14px;
	border: 2px solid;
	border-top: 0;
	border-radius: 2px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
	margin-bottom: -2px;
	float:left;
}

.topic-home-icon::after,
.topic-home-icon::before {
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute
}

.topic-home-icon::before {
	border-top: 2px solid;
	border-left: 2px solid;
	border-top-left-radius: 4px;
	transform: rotate(45deg);
	top: -5px;
	border-radius: 3px;
	width: 14px;
	height: 14px;
	left: 0
}

.topic-home-icon::after {
	width: 6px;
	height: 10px;
	background: currentColor;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	left: 4px;
	bottom: -2px
} 
.topic-home-icon p{
	width: 200px;
	margin-left:30px;position:relative;top:-9px;
}
/*----------------- 矢印のスペース　------------------*/			.arrow{
	position: relative;
	display: inline-block;
	margin-left: 10px;
	padding-left: 20px;
	height: 10px;
	vertical-align: middle;
}
/*------------------- 矢印のフォント等 -------------------*/
.arrow::before{
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #ff6347;
	border-right: solid 2px #ff6347;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	/*top: 50%;*/
	left: 0;
	/*margin-top: -9px;*/
}
/*------------------- ページタイトル -------------------*/

/* タイトル画像を入れるボックス */
.bg {
	background: url() center center no-repeat;
	background-size: cover;
	padding: 100px 0px; /*背景画像の高さを確保*/
	position: relative;
	border-radius:10px;
}

/* タイトル画像の大きさを画面に合わせる */
.bg img { 
	width:100%;
	max-width: 100%;
	height: auto;
}

/* タイトル画像を暗くする */
.bg:before {
	content: '';
	position: absolute;
  	/* 透過させた黒を重ねる */
	background-color: rgba(0,0,0,0.5);
  	/* どの範囲に重ねるかを指定 */
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius:10px;
}
/* タイトルの文字を入れるボックス */
.bg-inner {
	position: absolute;
	width: 98%;
	top:50%;
	left:50%;
	transform:translateY(-50%)translateX(-50%);
	-webkit-　　　
	transform:translateY(-50%)translateX(-50%);
}
/* タイトルのフォント */
h1 {
	text-align: center;
	margin-left:auto;
	margin-right:auto;
	z-index: 1;
	letter-spacing: 1px;
	font-weight:  bold;
	color: #fff;
	line-height: 1.1;
	font-size: 30px;
	text-shadow: 1px 2px 5px #000000;
}
/* タイトルにチョークを入れる
 h1 p {
	text-align: center;
	width:80%;
	background-image:url(images/crayon-lightlightpink.png);
	background-position:bottom;background-repeat:repeat-x;
} */
/* タイトル最初の1文字の色と大きさ */
h1:first-letter {
	font-size: 65px;
	color: #ffe4e1;
}
/* 改行位置の調整用 */
h1 span {
	display: inline-block;
}
/* サイズの値にパディング／ボーダーも含むようにする */
*, *::before, ::after {
	box-sizing: border-box;
}
/*------------------- 本文 -------------------*/

/* 余白 */
article {
	background: #ffffff;
	padding: 5px 20px 20px 20px;	
}
/* 右サイドなし（HOME用） */
.article-home {
	background: #ffffff;
	margin-left:auto;
	margin-right:auto;
	max-width:600px;
	padding: 5px 20px 20px 20px;	
}
/* 見出し */
h2{
	font-size: 24px; IE8以下とAndroid4.3以下用フォールバック 
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143)); 20px~24pxで可変
	line-height: 1.3;
	margin: 10 20;	上下 左右の余白（要素外）
	padding: 5 20;	上下 左右の余白（要素内）
	background: #fffff0;
	text-align: center;
	border-top: solid 5px #dc143c;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
	border-radius:10px;	/*枠の隅を丸くする*/
	max-width:640px;

}

/*h2 {
	text-align: center;
	margin: 15px 5px;	上下 左右の余白（要素外）
	padding: 0.25em 0em;	上下 左右の余白（要素内）
	color: #494949;	文字色
	background: #fffaf0;
	border-left: solid 5px #dc143c;		左線
	border-right: solid 5px #dc143c;	右線
	border-radius:10px;			枠の隅を丸くする
}*/
/* 本文 */
p {
	margin: 0px 20px;/*上下 左右の余白（要素外）*/
	white-space: pre-wrap;   /* 入力したものがそのまま反映される（折返し改行はする） */
	max-width: 600px;    
}
 
/* 画像サイズの幅と高さを制限・画像中央配置 */

.resizeimage{  
}
.resizeimage img{  
	max-height: 400px; 
	width:100vw;
	max-width: 600px;
	margin-left:20px;
	display: -webkit-flex;
	display: flex;
	object-fit: contain;
	-webkit-justify-content: center;
	justify-content: center;
	filter: drop-shadow(0.1px 0.1px 3px rgba(0, 0, 0,0.5));
}
.imageandtext{
	position: relative;
}
.forimage{
	display:block;
	display: -webkit-flex;
	display: flex;
	object-fit: contain;
	-webkit-justify-content: center;
	justify-content: center;
	margin: 20px 25px 20px 0px;
}
.forimage img{
	width:100%;
	filter: drop-shadow(0.1px 0.1px 3px rgba(0, 0, 0,0.5));
	z-index: 1;
}
.c-2020,c-2020-map{
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align:end;
	z-index: 2;
}
.c-2020::after,.c-2020-openmap::after {
	font-size:5px;
	padding:2px 30px 0px 2px;
	color:rgba(255,255,255, 0.7);
	text-shadow: 0.5px 0.5px 1px #555;
}
.c-2020::after {
	content:"\0a9 2021 Zue Maps";
}
.c-2020-openmap::after {
	content:"\0a9 2021 Zue Maps |OpenStreetMap contributors";
}

/* 写真キャプション */
figure {
	position: relative;
	display: inline-block;
	width: 100%;
	margin:0px 0px 0px 20px;
	background:black;
}
figure img {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	object-fit: contain;
	filter: drop-shadow(0.1px 0.4px 5px rgba(0, 0, 0,0.5));
}

figure figcaption {
	position: absolute;
	left: 0;
	top:0;
	padding: 5px 10px;
	font-size: 1.5rem;
	color: #fff;
	background: #333;
}
figure figcaption-up {
	position: absolute;
	left: 0;
	top:0;
	padding: 5px 10px;
	font-size: 1.5rem;
	color: #fff;
	background: #333;
}


/* 画像をスクロール可能にする */
.imgscroll {
	max-width: 100%;    
	max-height: 400px; 
	overflow: scroll;
	margin-left: auto;
	margin-right: auto;
	margin-top:10px;
	margin-bottom:2px;
	padding-left: auto;
	padding-right: auto;
	text-align : center
}

/* データ系のボックス */
.fordata {
	padding: 20px;
	max-width: 400px;
	background: #FFF;
	border-radius: 3px;
	box-shadow: 0 0px 20px rgba(0,0,0,0.2);
	display: block;
	margin-top: 40px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto
}
.fordata  p {
	margin: 0 10; 
	padding: 0;
	white-space: pre-wrap;   /* 入力したものがそのまま反映される（折返し改行はする） */
}
/* データ系の見出し */
h5 {
	margin: 5px 10px 10px 10px;/*上→左→下→右の余白（要素外）*/
	padding: 5px 10px;
	border-bottom: solid 2px #0000cd;
	font-weight:  bold;

}
/* データ系の情報 */
h6 {
	margin: 5px 30px 20px;/*上→左右→下の余白（要素外）*/
	padding: 0px 10px;
	white-space: pre-wrap;   /* 入力したものがそのまま反映される（折返し改行はする） */
}


/* index.html用リンクボックス */
.link-box {
	position:relative;
	padding: 20px;
	max-width: 500px;
	background: #FFF;
	border-radius: 3px;
	box-shadow: 0 0px 20px rgba(0,0,0,0.2);
	display: block;
	margin-top: 40px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto
}
.link-box .Link{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.link-box span{	
	display: inline-block;
	margin: 0px 20px;

	/*   	padding: 0px 20px;
white-space: nowrap; 
	入力したものがそのまま反映される（折返し改行はする） */
}
.link-box:hover {
	background-color: #fffaf0;
	transform:scale(1.05,1.05);
}

/* h2-4 1200px以上*/
@media (min-width: 1200px) {  
	h2 {
	font-size: 2.4rem;/* 24px*/
	}
	h3 {
	font-size: 2.4rem;/* 24px*/
	}
	h4 {
	font-size: 1.8rem;
	}
}

/* h2-4 640px以下*/
@media (max-width: 640px) {
	body{
	line-height: 2;
	}
	h2 {
        font-size: 2rem;/* 20px*/
	}
	h3 {
	font-size: 2rem;/* 20px*/
	}
	h4 {
	font-size: 1.6rem;
	}
}
/*------------------- 画像拡大の枠修正 -------------------*/
#lightbox .lb-container { padding: 0px; }

.noscroll {
	overflow: hidden;
}
/*------------------- 前後ページへのリンク -------------------*/
.prev-next-link {
	display: flex;
	justify-content: center;
}
.nextbox{
	display: flex;
	justify-content: center;
	text-align:right;
}
/*.nextbox p{
	text-align:right;
}*/
.prev-next-link a {
	border-bottom: 1px #ddd solid;
	display: block;
	text-decoration: none;
	padding: 5px 10px 5px 13px;
	color: #4b0082;
	line-height:1.2;
	width:300px;
}
.prev-next-link a:hover {
	background-color: #f6f6f6;
}
.prev-next-link a:first-child {
	border-top: 1px #ddd solid;
}
/* .prev-next-link a:last-child{
	margin-left: auto;
} */
.prev-next-label {
	font-size: 1.2rem;
	color: #000;
	margin-bottom: 0.5rem;
}
/* 矢印をつける */

.link-arrow{
	position: relative;
	display: inline-block;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
}
.link-arrow::before,
.link-arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.prev-link::before{
    left: 10px;
    width: 20px;
    height: 20px;
    border-top: 2px solid #dc143c;
    border-right: 2px solid #dc143c;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}
.next-link::before{
    right: 10px;
    width: 20px;
    height: 20px;
    border-top: 2px solid #dc143c;
    border-right: 2px solid #dc143c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media (max-width: 500px){
	.backbox{
	display: none;
	}
}

/*リンクを横に並べ、フォントを小さくする（PC）*/
@media (min-width: 500px){
	.prev-next-link {
	display: flex;
	justify-content: center;
	}
	.prev-next-link a {
	flex: 1;
	}
	.prev-next-link a,
	.prev-next-link a:first-child {

	width:190px;
	}
	.next-link {
	text-align: right;
	display: flex;
	justify-content: flex-end;
	}
	.link-arrow{
	font-size: 1.5rem;
	}
	.prev-next-label {
	font-size: .825rem;
	}
}

/*------------------- フッター -------------------*/
.footer {
	margin-top: 20px;
	background: #dc143c;
	text-align: center;
}
.footer a{
	font-size:  1rem;
	vertical-align:middle;
	color: #fff;
}
/*------------------- 右サイドメニュー -------------------*/

aside {
	background: #fffaf0;
	padding: 0px 15px 15px 15px;/*上→左→下→右の余白（要素内）*/
}

/* スクロール追尾 */
.widget {
	margin-bottom: 20px;
}
.widget:last-child {
	margin-bottom: 0;
}
.widget--sticky {
	position: sticky;
	top: 20px;
}

/* MENUの文字（PC） */
.formenu
{
	display: block;
	margin-left:auto;
	margin-right:auto;
	margin-top:5px;
	text-align: center;
	width:150px;
	font-weight:  bold;
	color: black;
	font-size: 20px;
	background-image:url(images/crayon-red.png);
	background-position:bottom;background-repeat:repeat-x;
}
/* メニュー見出し（大） */
h3 {
	font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
	line-height: 1.3;
	border-left: solid 2px #0000cd;
	border-bottom: solid 2px #0000cd;
	text-align: left;
	margin: 10px 0px 10px 0px;/*上→左→下→右の余白（要素外）*/
	padding: 3px 3px 3px 20px;/*上→右→下→左の余白（要素内）*/
	color: #494949;/*文字色*/
	/*  background: #fffaf0; */
	/*  border-left: solid 2px #ff6347; */
	/*  border-bottom: solid 2px #ff6347; */
	/*  border: 4px solid #ff6347; */
	/*border-radius:10px;枠の隅を丸くする*/
	font-weight:  bold;
}

/* メニュー見出し（中）のリスト */
ul.menu-list {
	padding: 0.5em;
	list-style: none;
}
ul.menu-list li {
	position: relative;
	padding: 0.25em 0.2em 0.25em 2.2em;
	margin-bottom:3px;
}
/* メニュー見出し（中）のアイコン */
ul.menu-list li:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #ff6347;
	border-right: solid 2px #ff6347;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	margin-left: 10px;
}

/* 中央に配置（NEXTリンク用他） */
.tocenter
{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	width:100%;
	object-fit: contain;
}
.tocenter img
{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	width:100%;
	object-fit: contain;
}
/* ホームアイコン用（サイドメニュー内） */
.widget--sticky a div{
	display: block;
	position:relative;
	margin-left:120px;
}
.widget--sticky > a {
	display: block;
	width:100%;
} 
/* アドセンス用（サイドメニュー内） */
.ads{
	position:relative;
	top:20px;
	bottom:20px;
}
/*----------- ハンバーガーメニュー用オーバーレイ ------------*/
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	cursor: auto;
	opacity: 0;
	visibility: hidden;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .5s;
	transition-duration: .5s;
	z-index: 1;
}

.side-open .overlay {
	visibility: visible;
	background: rgba(0,0,0,.4);
	opacity: 1;
}

.overlay:after {
	position: fixed;
	top: 35%;
	right: 0px;
	display: block;
	width: 100%;
	height: 100px;
	visibility: hidden;
	color: rgba(255,255,255,0);
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .5s;
	transition-duration: .5s;
}

.side-open .overlay:after {
	visibility: visible;
	color: rgba(255,255,255,1);
}

/* android browser */
@media (max-width: 500px) {
	.overlay:after {
	display: none;
	}
}

/* ------------------- ハンバーガーメニュー ------------------*/
.hum-menu {
	position: fixed;
	top: 0;
	right: 0;
	width: 320px;
	height: 88%;
	text-align: left;
	background: #fffaf0;
	margin: 53px 10px 0px 0px;/*上→右→下→左の余白（要素外）*/
	padding: 0px 0px 0px 15px;/*上→右→下→左の余白（要素内）*/
	border-radius:10px;/*枠の隅を丸くする*/
	-webkit-transition-delay: 0s;
	transition-delay: 0s;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .5s;
	transition-duration: .5s;
	-webkit-transform-origin: right center;
	transform-origin: right center;
	-webkit-transform: perspective(500px) rotateY(-90deg);
	transform: perspective(500px) rotateY(-90deg);
	opacity: 0;
	overflow-x: hidden;	/*横のスクロールをしない（はみ出す）*/
	overflow-y: scroll;	/*縦のスクロールを可能にする*/
	-webkit-overflow-scrolling: touch;/*iOS Safariの問題を解決*/
}

/* 開閉用ボタンがクリックされた時のスタイル */
.side-open .hum-menu {
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
	-webkit-transform: none;
	transform: none;
	opacity: 1;
	z-index: 2;
}
/* リスト部分全体の設定 */
.hum-menu__list {
	width: 100%;
	height: 80%;
	display: block;
}

/* 開閉用ボタンがクリックされた時の変化 */
.hum-menu__list * {
	-webkit-transition-delay: .8s;
	transition-delay: .8s;
	-webkit-transition-duration: .8s;
	transition-duration: .8s;
	-webkit-transition-property: opacity;
	transition-property: opacity;
	opacity: 0;
}

/* 開閉用ボタンがクリックされた時に透明解除 */
.side-open .hum-menu__list * {
  opacity: 1;
}

/* 大項目のスペース */
.hum-menu__list h4 {
	cursor: pointer;
	display:block;
	margin: 20px 20px 10px 0px;	/* 上→右→下→左の余白（要素外）*/
	padding: 3px 0px 3px 10px;	/* 上→右→下→左の余白（要素内）*/
	border-left: solid 2px #0000cd;
	border-bottom: solid 2px #0000cd;
	text-align: left;
	/* border-radius:10px;		枠の隅を丸くする*/
	-webkit-transition: all .5s;
	transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
	floar:left;
}
/* 大項目のアイコン */
 .list-icon {
	float:left;
	margin-top:6.8px;
	margin-right:5px;
	box-sizing: border-box;
	position: relative;
	display: block;
	transform: scale(var(--ggs,1));
	width: 22px;
	height: 20px;
	border: 2px solid;
	border-radius: 3px
}

.list-icon::after,
.list-icon::before {
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 2px;
	height: 2px;
	background: currentColor;
	top: 3px;
	left: 3px;
	box-shadow:
	0 4px 0,
	0 8px 0
}

.list-icon::after {
	border-radius: 3px;
	width: 8px;
	left: 7px
} 

/* 大項目のフォント*/
h4 {
	font-size: 18px;
	font-weight:  bold;
}

/* 大項目が閉じている時 */
.hum-menu__list > li > h4:after {
	content: ' +';
}

/* 大項目が開いている時 */
.hum-menu__list > li.active h4:after {
	content: ' -';
}

/* 大項目hover時に背景色を変える */
.hum-menu__list > li > h4:hover {
	background: #ffebcd;
}

/* 小項目を最初は閉じておく */
.hum-menu__list--child {
  display: none;
}

/* 大項目クリックで小項目を開く */
.active .hum-menu__list--child {
  display: block;
}

/* 小項目のリストスタイル */
ul.hum-menu__list--child {
	list-style: none;
}

/* 小項目のスペース */
ul.hum-menu__list--child li {
	position: relative;
	text-align: left;
	padding: 3px 0px 3px 25px;/* 上→右→下→左の余白（要素内）*/
	margin: 0px 0px 3px 0px;	/* 上→右→下→左の余白（要素外）*/
}
/* 小項目のフォント */
.active .hum-menu__list--child li a {
	font-size: 17px;
	text-align: left;
	-webkit-transition: all .5s;
	transition: all .5s;
}

/*長いテキストを長体にする（ハンバーガーメニュー用）*/
.narrow95 {
	transform: scale(0.95, 1) translateX(-6px);
	white-space: nowrap;
}
.narrow90 {
	transform: scale(0.90, 1) translateX(-14px);
	white-space: nowrap;
}
.narrow85 {
	transform: scale(0.85, 1) translateX(-25px);
	white-space: nowrap;
}
/* 小項目のアイコン */
.active ul.hum-menu__list--child li:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0px;
	border-top: solid 2px #ff6347;
	border-right: solid 2px #ff6347;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	margin-left: 5px;
}

.hum-menu__list > li h4,
.hum-menu__list > li > a {
	display: block;
} 

/* ハンバーガーメニューのホームアイコン */

.home-icon {
	margin-left:auto;
	margin-right:auto;
	box-sizing: border-box;
	position: relative;
	display: block;
	transform: scale(var(--ggs,1));
	width: 18px;
	height: 14px;
	border: 2px solid;
	border-top: 0;
	border-radius: 2px;
	border-bottom-left-radius: 3px;
	border-bottom-right-radius: 3px;
	margin-bottom: -2px
}

.home-icon::after,
.home-icon::before {
	content: "";
	display: block;
	box-sizing: border-box;
	position: absolute
}

.home-icon::before {
	border-top: 2px solid;
	border-left: 2px solid;
	border-top-left-radius: 4px;
	transform: rotate(45deg);
	top: -5px;
	border-radius: 3px;
	width: 14px;
	height: 14px;
	left: 0
}

.home-icon::after {
	width: 6px;
	height: 10px;
	background: currentColor;
	border-top-left-radius: 100px;
	border-top-right-radius: 100px;
	left: 4px;
	bottom: -2px
} 
.hum-menu p{
	display: block;
	position:absolute;
	margin-left:100px;
}
.home-icon span{
	position:relative;
	margin-left:30px;
	top:-9px;
}
/* --------------------- ハンバーガーボタン --------------------*/
.side-menu__btn {
	position: fixed;
	top: 10px;
	right: 10px;
	width: 70px;
	height: 40px;
	cursor: pointer;
	z-index: 3;
	background: rgba(220,20,60,.7);
	border-radius:10px;/*枠の隅を丸くする*/
}
@media (min-width: 900px) {
	.side-menu__btn {
    	display:none;
  	}
}
.side-menu__btn:hover {
	background: rgba(220,20,60,1);
	-webkit-animation: zoom .3s;
	animation: zoom .3s;
}

.ellipsis-v {
	cursor: pointer;
	width: 100%;
	line-height: 40px;
	text-align: center;
}

/* 開閉用ボタンのフォント */
.ellipsis-v span {  
	display: inline-block;
    	color: #fff;
	font-weight:  bold;
	font-size: 16px;
	vertical-align: middle;
}

.ellipsis-v span:after {
	content: attr(data-txt-menu);
}

/* 開閉用ボタンがクリックされた時のスタイル */
.side-open .ellipsis-v span:after {
	content: attr(data-txt-close);
}

/* --------------------- MAPボタン --------------------*/
.map-menu__btn {
	position: fixed;
	top: 10px;
	width: 70px;
	height: 40px;
	cursor: pointer;
	z-index: 3;
	background: rgba(220,20,60,.7);
	border-radius:10px;/*枠の隅を丸くする*/
}
@media (max-width: 900px) {
.map-menu__btn {
	display:none;
	}
}
@media (min-width: 900px) {
.map-menu__btn {
	right: 10px;
	}
}
.map-menu__btn:hover {
	background: rgba(220,20,60,1);
	-webkit-animation: zoom .3s;
	animation: zoom .3s;
}

/* 画像サイズの幅と高さを制限・画像中央配置 */
.resizeimage-map img { 
	max-height: 400px;  
	max-width: 500px;  
	display:table-cell;
	margin-left: auto;
	margin-right: auto;
	text-align:center;
}
.resizeimage-map{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.fit-map{
	text-align: center;
}
.fit-map img{
	width:400px;
	max-height:85vh;
	object-fit: contain;
}
/* --------------------- MAPタブ（スマホ縦） --------------------*/
.map-trigger {
	position: fixed;
	top: 10px;
	width: 70px;
	height: 40px;
	cursor: pointer;
	z-index: 4;
	background: rgba(220,20,60,.7);
	border-radius:10px;/*枠の隅を丸くする*/
	display: block;
    	color: #fff;
	font-weight:  bold;
	font-size: 16px;
	vertical-align: middle;
	right: 100px;
	line-height: 40px;
	text-align: center;
}
@media (min-width: 900px) {
.map-trigger {
    	display:none;
	}
}
.map-tab{
	display:none;
	border-radius: 1px;
	box-shadow: 0.2px 0.3px 5px rgba(0,0,0,0.3);
}
.map-tab-img{
	width:90vw;
	max-height:90vh;
	z-index: 2;
	position:absolute;
	top:0px;
	right:-80px;
	object-fit: contain;
	filter: drop-shadow(0.1px 0.1px 3px rgba(0, 0, 0,0.5));
}
.close{
	color:#000;
}

.burg-trigger:hover, .burg-trigger:active, .burg-trigger:focus {
    cursor: pointer;
}
.burg-child {
    height: 0;
    overflow: hidden;
}
.visible {
    height: auto;
}


