@charset "UTF-8";
@media print, screen and (min-width: 740px) {
/* ==================================== */
#region-home{background:#89c8d7;}
	.base-header-width,
	.base-footer-width,
	.base-width
	{
		margin:0px auto;
		max-width:1000px;
		min-width:768px;
	}
	.base-width
	{
		padding:0px 20px;
	}

	.base-width2
	{
		margin:0px auto;
		padding:0px 10px;
		max-width:85%;
		min-width:768px;
	}
/* ==================================== */

/*-----------------------------------*/
/*--    　　    HEADER　　　         --*/
/*-----------------------------------*/
	#region-home header
	{
		background:#fff url(../img/header.jpg) no-repeat;
		background-size:100%;
		height: 0;
		/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
		padding-top: 12%;
		background-size: contain;
	}

/*-----------------------------------*/
/*--             FOOTER            --*/
/*-----------------------------------*/
	#region-home footer
	{
		z-index: 1;
		bottom: 0;
		left: 0;
		right: 0;
		max-width:1200px;
		min-width:768px;
		background:#fff url(../img/footer.jpg) bottom no-repeat;
		background-size:100%;
		margin:-90px auto 0px auto;

		height: 0;
		/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
		padding-top: 30%;
		background-size: contain;
	}

	@media print, screen and (max-height: 720px)
	{
		footer{display: none;}
	}

	#region-main footer img
	{
		width:100%;
		height:auto;
	}

/*-----------------------------------*/
/*--             Pankuzu           --*/
/*-----------------------------------*/

/*-----------------------------------*/
/*--         Contents共通          --*/
/*-----------------------------------*/

* { margin: 0; }
#region-home
{
  height: 100%;
  background:#89c8d7;
}


#wrap
{
	margin:0px auto;
	max-width: 1200px;
	min-width: 768px;
	height:100%;
}

#newbadge
{
	position:relative;
	right:0;
	background: #df002c;
	padding: 3px 5px;
	margin-top: 0px;			 /* 先行する文字列との間隔 */
	margin-right: 5px;			 /* 先行する文字列との間隔 */
	vertical-align: middle; /* 先行する文字列と上下中央揃え */
	font-size: 0.6em;
	font-weight: bold;
	color: #fff;
	border-radius: 6px;		 /* アイコンの角を丸める */
}

/*-----------------------------------*/
/*--           TOP PAGE            --*/
/*-----------------------------------*/
	#region-home #contents
	{
		margin: 0px auto;
		background: url(../img/middle.png) no-repeat #fff;
		background-size: 100%;
		height: 0px;
		padding-bottom: 43%;
		position: relative;
		z-index: 20;
	}

	#region-home #contents h1
	{
		position: relative;
		margin:0px auto;
		width:50%;
		background:url(../img/title.png);
		background-size:100%;

		height: 0;
		/* 表示画像の高さ ÷ 表示画像の幅 × 100 */
		padding-top: 35%;
		background-size: contain;
		margin-bottom:-20px;
		z-index:100;
	}

	#region-home #contents .form
	{
		position: relative;
		width:41%;
		margin:0px auto;
		background:#89c8d7;
		box-shadow:2px 2px 2px;
		border:1px solid #25b3b5;
		z-index: 10;
		padding:40px 20px;

		border-radius: 20px;
		-webkit-border-radius: 20px;
		-moz-border-radius: 20px;
	}

	#region-home #contents .guest
	{
		position: relative;
		width:41%;
		margin:25px auto;
		background:#89c8d7;
		box-shadow:2px 2px 2px;
		border:1px solid #25b3b5;
		z-index: 10;
		padding:40px 20px;
        font-weight: bold;
		border-radius: 20px;
		-webkit-border-radius: 20px;
		-moz-border-radius: 20px;
	}

    #region-home #contents .form .form-area .text-area
	{
		width:80%;
		float:left;
	}
	#region-home #contents .form .form-area .text-area .text
	{
		width:35%;
		float:left;
		font-weight:bold;
		font-size:1.1em;
		text-align:right;
		padding:5px;
		margin-bottom:10px;
	}
	#region-home #contents .form .form-area .text-area .input
	{
		width:65%;
		float:right;
		margin-bottom:10px;
		padding:0px 10px;
	}
	#region-home #contents .form .form-area .text-area .input input
	{
		width:100%;
		background:#fff;
		padding:5px;
	}
	#region-home #contents .form .form-area .btn-area
	{
		width:20%;
		float:right;
	}
	#region-home #contents .form .form-area .btn-area input
	{
		cursor: pointer;
		background:#ff9500;
		background: -webkit-gradient(linear, left top, left bottom, color-stop(0.99, #ffb500), color-stop(0.50, #ff9500), color-stop(0.00, #ffb500));
		background: -webkit-linear-gradient(top, #ffb500 0%, #ff9500 50%, #ffb500 99%);
		background: -moz-linear-gradient(top, #ffb500 0%, #ff9500 50%, #ffb500 99%);
		background: -o-linear-gradient(top, #ffb500 0%, #ff9500 50%, #ffb500 99%);
		background: -ms-linear-gradient(top, #ffb500 0%, #ff9500 50%, #ffb500 99%);
		background: linear-gradient(to bottom, #ffb500 0%, #ff9500 50%, #ffb500 99%);
		height:80px;
		width:100%;
		font-weight:bold;
		color:#fff;
	}

/*-----------------------------------*/
/*--          MAIN PAGE            --*/
/*-----------------------------------*/
#region-main header
{
	background:url(../img/main/header.png) bottom no-repeat;
	background-size:cover;
	height:240px;
}
#region-main header h1
{
	position: relative;
	background:url(../img/main/h1.png) bottom no-repeat;
	background-size:100%;
	height:240px;
}
#region-main header p
{
	position: absolute;/*絶対配置*/
	top: 1%;/*画像の左上に配置*/
	right: 1%;
	margin: 0; /*余計な隙間を除く*/
	color: #ffeaf3;/*文字を白に*/
	font-weight:bold;
	background: #ec609b;/*背景色*/
	font-size: 13px;
	line-height: 1;/*行高は1に*/
	padding: 10px 10px;/*文字周りの余白*/
	border-radius: 5px;
}
#region-main header p:hover
{
	color: #ec609b;/*文字を白に*/
	font-weight:bold;
	background: #ffeaf3;/*背景色*/
	font-size: 13px;
	line-height: 1;/*行高は1に*/
	padding: 10px 10px;/*文字周りの余白*/
	border-radius: 5px;
}

#region-main .town-map
{
	background:#ebebeb;
}
#region-main .town-map .block
{
	background:#ebebeb;
	float:left;
	width:8%;
	position: relative;
}
#region-main .town-map .block img{width:100%; height:auto; z-index:1;}
#region-main .town-map .road img{width:100%; height:auto; z-index:1;}

#region-main .town-map .block .txt,
#region-main .town-map .block .txt01,
#region-main .town-map .block .txt02,
#region-main .town-map .block .txt03
{
    font-size:1em;
	line-height: 120%;
	padding:3px 0px;
	color:#fff;
	border:1px solid #fff;
	z-index: 10;
    position: absolute;
    bottom:0px;
    left:0;
    right:0;
}

#region-main .town-map .block .txt,
#region-main .town-map .block .txt01
{background:#ec6649;}
#region-main .town-map .block .txt02{background:#426ab2;}
#region-main .town-map .block .txt03{background:#333;}

#region-main .town-map .block span{
	position:absolute;
	right:0;
	background: #df002c;
	padding: 1px 5px;
	margin-top: 15px;			 /* 先行する文字列との間隔 */
	margin-right: 20px;			 /* 先行する文字列との間隔 */
	vertical-align: middle; /* 先行する文字列と上下中央揃え */
	font-size: 0.6em;
	font-weight: bold;
	color: #fff;
	border-radius: 12px;		 /* アイコンの角を丸める */
    animation: newAnime .8s infinite alternate;
}

#region-main .town-map .block span.number{
	position:absolute;
	right:0;
	background: #df8c9d;
	padding: 1px 5px;
	margin-top: 15px;			 /* 先行する文字列との間隔 */
	margin-right: 50px;			 /* 先行する文字列との間隔 */
	vertical-align: middle; /* 先行する文字列と上下中央揃え */
	font-size: 0.6em;
	font-weight: bold;
	color: #fff;
	border-radius: 12px;		 /* アイコンの角を丸める */
    animation: slowBlink 2s ease-in-out infinite !important; /* 点滅効果を有効化 */
}

/* より具体的なセレクタで確実に適用 */
#region-main .town-map .block span.number.slow-blink {
    animation: slowBlink 2s ease-in-out infinite !important;
    opacity: 1 !important;
}

#region-main .town-map .road
{
	background:#fff;
	width:2%;
	float:left;
}

#region-main .load-map .block
{
	background:#fff;
	float:left;
	width:8%;
	position: relative;
}
#region-main .load-map .block img{width:100%; height:auto; z-index:1;}
#region-main .load-map .road
{
	background:#fff;
	width:2%;
	float:left;
}
#region-main .load-map.load-border
{
	border-bottom:2px dashed #eee;
}

#region-main #ajax-wrap
{
    margin: 10px auto;
    max-width: 700px;
    background: #fff;
    padding: 20px;
}

#region-main .senro-map
{
	background:url(../img/main/icon/senro.png) repeat-x;
	height:50px;

}
#region-main .senro-map .block
{
	float:left;
	width:8%;
	position: relative;
}
#region-main .senro-map .block img{width:100%; height:auto; z-index:1;}
#region-main .senro-map .road
{
	width:2%;
	float:left;
}

#region-main .info
{
	position:absolute;
	right:30px;
	padding:30px;
}
#region-main .info a
{
	background:#fff;
	padding:15px 15px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

/* rigion-detail */
#rigion-detail h1
{
	background:#9a1e45;
	color:#fff;
	font-size:1.5em;
	padding:30px 10px;
}

#rigion-detail #contents
{
	background:#fff;
	padding:15px;
}
#rigion-detail h2
{
	background:#e783a3;
	color:#fff;
	font-size:1.5em;
	padding:20px;
	margin-bottom:0.5em;
}
#rigion-detail h3
{
	background:#666;
	color:#fff;
	font-size:1.5em;
	padding:20px;
	margin-bottom:0.5em;
}

#rigion-detail .shisetsu li
{
	margin-bottom:1em;
}
#rigion-detail ul.shisetsu li a
{
	display: block;
	background:#eee;
	padding:15px 10px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}
#rigion-detail ul.shisetsu li a i
{
	color:#ec6d76;
}
#rigion-detail ul.shisetsu li a:hover
{
	background:#f2bc00;
	color:#fff;
}

#rigion-detail .shisetsu-form li
{
	display: block;
	background:#eee;
	padding:15px 10px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    margin-bottom:1em;
}

#rigion-detail ul.shisetsu-form li i
{
	color:#ec6d76;
}

#rigion-detail .shisetsu-form .column .select-name
{
    display: inline-block;
    padding:5px 10px;
}

#rigion-detail .shisetsu-form .column .select-file select
{
    display: inline-block;
    padding:5px 10px;
	background: #fff;
	border: 1px solid #aaa;
	width:300px;
}

#rigion-detail .shisetsu-form .column .select-file button
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#3886c7;
	border: 1px solid #aaa;
}

#rigion-detail .shisetsu-form .column .select-file button:active
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#054981;
	border: 1px solid #aaa;
}

#rigion-detail .karte li
{
	margin-bottom:1em;
}
#rigion-detail ul.karte li a
{
	display: block;
	background:#bd1745;
	padding:15px 10px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}
#rigion-detail ul.karte li a i
{
	color:#fff;
}
#rigion-detail ul.karte li a:hover
{
	background:#ec6d76;
	color:#fff;
}

#rigion-detail .karte-form li
{
	display: block;
	background:#eee;
	padding:15px 10px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    margin-bottom:1em;
}

#rigion-detail ul.karte-form li i
{
	color:#ec6d76;
}

#rigion-detail .karte-form .column .select-name
{
    display: inline-block;
    padding:5px 10px;
}

#rigion-detail .karte-form .column .select-file select
{
    display: inline-block;
    padding:5px 10px;
	background: #fff;
	border: 1px solid #aaa;
	width:200px;
}

#rigion-detail .karte-form .column .select-file button
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#3886c7;
	border: 1px solid #aaa;
}

#rigion-detail .karte-form .column .select-file button:active
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#054981;
	border: 1px solid #aaa;
}

#rigion-detail .close
{
	padding:30px;
}

#rigion-detail .close a
{
	background:#eee;
	padding:15px 30px;
	border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}

#rigion-detail .close a:hover
{
	background:#f2bc00;
	color:#fff;
}

/* image-data */
#rigion-detail .image-data
{
	margin-bottom:1.5em;
}
#rigion-detail .image-data .column img
{
	width:100%;
	height:200px;
	object-fit: contain; /* この一行を追加するだけ！ */
}

/* movie-data */
#rigion-detail .movie-data
{
	margin-bottom:1.5em;
}

#rigion-detail .movie-data video
{
	width:100%;
}



/* rigion-detail - 詳細 */

#rigion-detail .person-list li
{
	display: inline-block;
}
#rigion-detail .person-list
{
	width:100%;
	margin-bottom:2em;
}
#rigion-detail .person-list a
{
	padding:10px;
	background:#ddd;
	border-radius: 10px;
    -webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-bottom:1em;
}

#rigion-detail .person-list a:hover
{
	background:#f2bc00;
	color:#fff;
}
#rigion-detail .person-list a:hover .furigana{color:#fff;}

#rigion-detail .person-list li.image
{
	width:40px;
}
#rigion-detail .person-list li.image2
{
	width:40px;
	padding-bottom: 80px;
}

#rigion-detail .person-list li.image img{width:100%; height:auto;}
#rigion-detail .person-list li.image2 img{width:100%; height:auto; margin-top:2em;}

#rigion-detail .person-list .column
{
	background:#f8f8f8;
	border: 1px solid #ddd;
	border-radius: 10px;
    -webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-bottom:1em;
}

#rigion-detail .person-list .column .list-data
{
	width:90%;
	padding:25px 20px;
	float:left;
}

#rigion-detail .person-list .column .list-data ul
{
	line-height:100%;
	margin-bottom:1.8em;
}

#rigion-detail .person-list .column .list-data ul li
{
	float:left;
	margin-right:10px;
}
#rigion-detail .person-list li.names .name{font-size:1.4em; vertical-align: top;}
#rigion-detail .person-list li.names furigana{font-size:1em; color:#999; vertical-align: top;}
#rigion-detail .person-list li.sex{font-size:1.3em; vertical-align: top;}
#rigion-detail .person-list li.sex.male{color:#67b3f1;}
#rigion-detail .person-list li.sex.female{color:#ec6d76;}

#rigion-detail .person-list .column .list-data ul li p{display: inline-block;}

#rigion-detail .person-list .column .list-data .select-file
{
	text-align:left;
	padding-left: 55px;
}

#rigion-detail .person-list .column .ages
{
	float:right;
	padding:35px 20px;
	background:#d89293;
	color:#fff;
    border-top-right-radius: 10px;
    -webkit-border-top-right-radius: 10px;
	-moz-border-radius-topright: 10px;
	border-bottom-right-radius: 10px;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-radius-bottomright: 10px;
}
#rigion-detail .person-list .column .ages2
{
	float:right;
	padding:5px 5px;
	background:#d89293;
	color:#fff;
	border-radius: 10px;
	vertical-align: top;
}
#rigion-detail .person-list li.names ages2{font-size:1em; vertical-align: top;}

#rigion-detail .person-list .column .list-data .select-file select
{
	padding:5px 10px;
	background: #fff;
	border: 1px solid #aaa;
	width:200px;
}

#rigion-detail .person-list .column .select-file button
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#3886c7;
	border: 1px solid #aaa;
}

#rigion-detail .search
{
	display: inline-block;
	width:100%;
	margin-bottom:1em;
}

#rigion-detail .search .search-area
{
	background:#f8f8f8;
	width:100%;
	padding:25px 20px;
	border: 1px solid #ddd;
	border-radius: 10px;
    -webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-bottom:1em;
}

#rigion-detail .search .search-area input
{
	padding:5px 10px;
	background: #fff;
	border: 1px solid #aaa;
	width:400px;
}

#rigion-detail .search .search-area button
{
	cursor: pointer;
	padding:5px 20px;
	color:#fff;
	background:#3886c7;
	border: 1px solid #aaa;
}

}

@keyframes newAnime {
   0% { color      : transparent;      /* ブリンク時の文字色      */
        background : transparent;      /* ブリンク時の背景色      */
      }
 100% { color      : #ffffff;          /* ブリンク時の文字色      */
        background : #df002c;          /* ブリンク時の背景色      */
      }
}

@keyframes slowBlink {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.2;
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
