@charset "utf-8";

/* CSS Document */







/*スマホのみ*/



.pc, .koukoku, #koukoku_right, #facebook, .bx-controls, #category, #pctoplogo {

	display: none !important;

}

/*基本共通*/



body, p, h1, h2, h3, h4, h5, h6, ul, ol, li {

	padding: 0;

	font-size: 100%;

	margin: 0;

}

body {

	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	line-height: 1.5;

	color: #333;

	font-size: 87%;

}

input, select, button, textarea {

	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	font-size: 100%;

	line-height: 1.5;

}

ul {

	list-style: none;

}

a {

	color: #d30000;

	text-decoration: none;

}

a:hover {

	text-decoration: underline;

}

a:visited {

	color: #9f4800;

}

img {

	max-width: 100% !important;

	height: auto !important;

}

a img {

	border: none;

}

/*トップヘッダー*/



#spheaderwrap {

	background: url(../contents_images/common/red.png);

	height: 52px;

}

#joububanner {

	display: block;

	max-width: 383px;

	max-height: 50px;

	margin-right: 60px;

	height: 50px;

}

#joububanner img{

	max-height:50px;

	width:auto;

}

#topheader {

	position: relative;

}

#sptoplogo {

	position: absolute;

	top: 57px;

	right: 5px;

	width: 35% !important;

	z-index: 60;

}

#slidecover {

	position: absolute;

	z-index: 55;

}

#language {

	background: #FFF;

	border-spacing: 0;

	border-radius: 5px;

	width: 90%;

	margin: 0 auto 20px;

	display: table;

	font-size: 10px;

	line-height: 1;

	color: #666;

}

#language li {

	display: table-cell;

	text-align: center;

	vertical-align: middle;

	border-left: 1px solid #CCC;

	width: 25%;

}

#language a {

	color: inherit;

	display: block;

	padding: 5px 0;

}

#language li:first-child {

	border: 0;

}

#kaiki {

	margin-bottom: 20px;

}

/*メインメニュー*/







#topmenu, #kasoumenu {

	position: absolute;

	top: 52px;

	background: url(../contents_images/common/red.png);

	width: 100%;

	z-index: 70;

	display: none;

}

#mainmenu {

	background: url(../contents_images/common/red.png);

	overflow: hidden;

}

#topmenu li, #mainmenu li {

	float: left;

	width: 50%;

	border-bottom: 1px solid #D08580;

}

#topmenu li.matsuri, #mainmenu li.matsuri {

	width: 100%;

	border-top: 1px solid #D08580;

}

#topmenu li.shiru, #topmenu li.tsukuru, #mainmenu li.shiru, #mainmenu li.tsukuru {

	border-right: 1px solid #D08580;

	margin-right: -1px;

}

.matsuri a {

	background: url(../contents_images/sp_common/matsuri.png);

}

.shiru a {

	background: url(../contents_images/sp_common/shiru.png);

}

.sanka a {

	background: url(../contents_images/sp_common/sanka.png);

}

.tsukuru a {

	background: url(../contents_images/sp_common/tsukuru.png);

}

.archive a {

	background: url(../contents_images/sp_common/archive.png);

}

#topmenu2 {

	background: url(../contents_images/common/red.png) !important;

	width: 100%;

	overflow: hidden;

}

.matsuri2 a {

	background: url(../contents_images/sp/top_matsuri.png);

}

.shiru2 a {

	background: url(../contents_images/sp/top_shiru.png);

}

.sanka2 a {

	background: url(../contents_images/sp/top_sanka.png);

}

.tsukuru2 a {

	background: url(../contents_images/sp/top_tsukuru.png);

}

.archive2 a {

	background: url(../contents_images/sp/top_archive.png);

}

#topmenu li a, #topmenu2 li a, #mainmenu li a {

	display: block;

	text-indent: -9999px;

	height: 50px;

	background-position: center center;

	background-repeat: no-repeat;

	background-size: 100px 50px;

}

#topmenu2 li {

	border-bottom: 1px solid #d08580;

}

#topmenu2 li a {

	background-size: 320px 50px;

	background-position: 0 0;

}

#sp_menu {

	width: 40px;

	height: 40px;

	padding: 6px;

	background: url(../contents_images/sp/menu.png) no-repeat center center;

	background-size: 40px 40px;

	position: absolute;

	top: 0;

	right: 0;

}

/*お知らせ*/



#topleft>h2 {

	background: url(../contents_images/common/toph2.png);

	font-size: 130%;

	padding: 5px 10px;

	margin-top: 20px;

	position: relative;

}

#topleft>h2.accordion_head{

	padding-right:35px;

}

#topleft>h2.accordion_head:before {

	content: "";

	position: absolute;

	display: block;

	width: 20px;

	height: 20px;

	top: 8px;

	right: 10px;

	background: url(../contents_images/sp/open.png);

	background-size: 40px 20px;

}

#topleft>h2.accordion_head.open:before {

	background-position: top right;

}

.news {

	background: #FFF;

	padding: 10px 15px;

}

/*更新情報*/



#koushinwrap {

	background: #FFF;

	margin-bottom: 20px;

	width: 100%;

	max-height: 180px;

	overflow-y: scroll;

}

#koushin {

	border-spacing: 0;

	padding: 5px 10px;

}

#koushin li {

	border-bottom: 1px dashed #CCC;

	padding: 5px 0;

}

#koushin span {

	color: #666;

	display: block;

	font-size: 85%

}

#koushin li:last-child {

	border: none;

}

/*トップその他メニュー*/



#toprightmenu {

	background: #FFF;

	margin-bottom: 20px;

}

#toprightmenu a {

	display: block;

	padding: 10px;

	border-bottom: 1px solid #CCC;

	color: inherit;

	position: relative;

}

#toprightmenu a:before {

	content: "";

	position: absolute;

	display: block;

	right: 15px;

	top: 16px;

	width: 6px;

	height: 6px;

	border-top: 3px solid #b3b3b3;

	border-right: 3px solid #b3b3b3;

	transform: rotate(45deg);

	-webkit-transform: rotate(45deg);

}

#sp_facebook a {

	display: block;

	margin: 0 10px 20px;

}

#change a {

	display: block;

	margin: 20px;

	text-align: center;

	background: #FFF;

	border-radius: 5px;

	padding: 10px;

	color: inherit;

}

/*バナー*/

#banner-A ul,#banner-B ul{

	display: flex;

	flex-wrap: wrap;

}

#banner-A li,#banner-B li{

	box-sizing:border-box;

	width:50%;

	padding:5px;

}



#banner-A li.Akoukoku,#banner-B li.Akoukoku{

	display:none;

}



#sns-icon{

	display: flex;

	justify-content: space-around;

	margin: 10px 0 20px;

}



#sns-icon li{

	width: 24%;

}



#sns-icon img{

	width: 100%;

}



/*pagetop*/



#pagetop {

	display: block;

	height: 60px;

	background: url(../contents_images/sp/pagetop.png) no-repeat center center;

	background-size: 53px 29px;

}

/*フッター*/



#footerwrap {

	background: url(../contents_images/common/gray.png);

	padding: 10px;

	font-size: 85%;

}

#footerwrap * {

	display: block;

}

#footer td {

	padding: 10px 0

}

#footer ul {

	margin: 0px 0 20px 20px;

}

#footer ul a {

	color: inherit;

	padding: 5px 0;

}

#footerend {

	text-align: center;

}

/*----------下層----------*/







/*ヘッダーメニュー*/



#headerwrap {

	background: url(../contents_images/common/red.png);

	height: 52px;

}

#logo {

	display: block;

	background: url(../contents_images/sp_common/logo.png) no-repeat 1px 1px;

	background-size: 215px 48px;

	text-indent: -9999px;

	margin-right: 60px;

	height: 52px;

	z-index: 2;

}

#main {

	margin: 0 auto;

	margin-top: -52px;

}

/*左メニュー*/







#submenu>ul {

	background: #FFF;

	padding-bottom: 1px;

	margin-bottom: 5px;

}

#submenu>ul>li>span, #submenu>ul>li>a {

	display: block;

	background: #f3e7e4;

	border-left: 6px solid #c1272d;

	font-size: 112%;

	padding: 10px;

	margin-bottom: 1px;

}

#submenu>ul>li>ul {

	margin-bottom: 10px;

}

#submenu>ul>li>ul>li a {

	display: block;

	padding: 6px 20px 4px 35px;

	border-top: 1px solid #DDD;

	position: relative;

}

#submenu>ul>li>ul>li:first-child a {

	border: none;

}

/*コンテンツ*/



#contents {

	background: #FFF;

	padding: 10px 15px 30px;

	margin-bottom: 20px;

}

#pankuzu {

	font-size: 75%;

	border-bottom: 1px dashed #CCC;

	padding-bottom: 5px;

	margin: 0 -10px 5px;

}

#seireki {

	font-size: 75%;

	text-align: right;

	margin: 5px -10px -1.8em;

}

#contents h1 {

	font-size: 150%;

	border-bottom: 6px solid #cc1400;

	margin: 20px -10px 20px;

	padding-bottom: 10px;

}

#contents h2, .news h2 {

	font-size: 113%;

	background: #f3e7e4;

	border-radius: 5px;

	padding: 8px 15px 5px;

	margin: 20px -10px 10px;

	position: relative;

}

#contents h2:before, .news h2:before {

	content: "";

	display: block;

	background: #cc1400;

	width: 6px;

	height: 50%;

	position: absolute;

	top: 25%;

	left: 0;

}

#contents h3, .news h3 {

	background: url(../contents_images/common/h3.png) no-repeat bottom;

	padding: 8px 15px 5px;

	margin: 15px -10px 8px;

	position: relative;

	font-size: 100%;

}

#contents h3:before, .news h3:before {

	content: "";

	display: block;

	background: #999;

	width: 3px;

	height: 40%;

	position: absolute;

	top: 30%;

	left: 0;

	border-radius: 2px;

}

#contents h4, .news h4 {

	position: relative;

	padding-left: 2em;

	margin: 10px 0 5px;

	font-weight: normal;

}

#contents ul, .news ul {

	margin-top: 5px;

}

#contents ul li, .news ul li {

	position: relative;

	padding-left: 2em;

	margin: 0 0 5px;

}

#contents h4:before, #contents ul li:before, #submenu>ul>li>ul>li>a:before, .news h4:before {

	content: "";

	position: absolute;

	display: block;

	left: 10px;

	top: 5px;

	width: 5px;

	height: 5px;

	border-top: 2px solid #333;

	border-right: 2px solid #333;

	transform: rotate(45deg);

	-webkit-transform: rotate(45deg);

}

#submenu>ul>li>ul>li>a:before {

	left: 16px;

	top: 11px;

}

#contents ol, .news ol {

	padding-left: 2em;

	margin-top: 5px;

}

#contents ol li, .news ol li {

	margin: 0 0 5px;

}

#contents img {

	float: none !important;

}

table,th,td{

	width:auto !important;

}

table.fix_table{
	width:100% !important;
	table-layout: fixed;
}


table.fix_table > tbody >tr > th,
table.fix_table > tbody >tr > td{
	width: inherit!important;
}

table[border="1"] {

	background: #ad7f7f;

	border-spacing: 1px;

	margin: 5px 0;

	border: none;

}

table[border="1"]>tbody>tr>td {

	padding: 5px;

	background: #FFF;

	border: none;

	white-space: normal;

}

table[border="1"]>tbody>tr>th, table[border="1"]>thead>tr>th {

	padding: 4px;

	background: #f3e7e4;

	border: 1px solid #FFF;

	white-space: normal;

}

table[border="1"]>tbody>tr>td.red {

	background: #f3e7e4;

}

/*特定の下層ページ*/







#nebuta_table tr:nth-of-type(2n-1) td, #child_table tr:nth-of-type(2n-1) td {

	background: #f3e7e4 !important;

}

.nowrap {

	white-space: nowrap;

}

.unkoubi tr:nth-of-type(2n) td {

	background: #f3e7e4 !important;

}

.unkoubi td, .unkoubi th {

	padding: 0 !important;

}

.unkoubi td.nebutainfo {

	padding: 5px !important;

}

.center {

	text-align: center;

}

#shoukaifooter {

	width: 100%;

	color: #CCC;

	font-size: 12px;

	line-height: 1;

}

#shoukaifooter td {

	width: 33%;

}

.shoukaicenter {

	text-align: center;

	border-left: 1px solid #CCC;

	border-right: 1px solid #CCC;

}

.jushou_back {

	font-size: 14px;

	text-align: center;

	padding-top: 30px;

}

.myPic {

	margin: 0px;

	border-radius: 5px;

	width: 80px !important;

	height: 50px !important;

	background-size: 80px 50px !important;

}

.movie {

	width: 100%;

	height: 250px;

}

#ninteihyou {

	border-spacing: 0;

	border-bottom: 1px solid #CCC;

	border-right: 1px solid #CCC;

}

#ninteihyou td {

	border-top: 1px solid #CCC;

	border-left: 1px solid #CCC;

	padding: 1px;

}

.haken {

	background: #000;

}

.kodomo_nebuta {

	color: #090;

}

td.title {

	color: #cc0000;

	font-weight: bold;

	padding-top: 1em;

}

td.ans {

	color: #00C;

	font-weight: bold;

	width: 2em;

}

a[name] {

	display: block;

}

.google-maps {

	position: relative;

	padding-bottom: 75%;

	height: 0;

	overflow: hidden;

}

.google-maps iframe {

	position: absolute;

	top: 0;

	left: 0;

	width: 100% !important;

	height: 100% !important;

}

ul#linkkiji li {

	padding: 5px;

	overflow: hidden;

	background: #f3e7e4;

}

ul#linkkiji li:before {

	display: none;

}

#linkkiji li a {

	display: block;

	float: right;

}

#linkkiji li a:first-child {

	display: block;

	float: left;

}

#cboxCurrent {

	display: none !important;

}

#choicewrap {

	width: 100%;

}

#choicewrap, #choicewrap>tbody, #choicewrap>tbody>tr, #choicewrap>tbody>tr>td {

	display: block;

}

#choice {

	width: 100%;

}

#choice th {

	white-space: nowrap;

}

#choice select, #choice input[type="text"] {

	width: 98%;

	border: none;

}

#choice select {

	cursor: pointer;

}

#choice input[type="text"] {

	padding-left: 5px;

}

input[type="submit"],input.submit {

	padding: 10px;

	min-width: 6em;

	background: #cc1400;

	color: #FFF;

	border: none;

	border-radius: 5px;

	cursor: pointer;

}

input.button{

	padding: 10px;

	min-width: 6em;

	background: #CCC;

	border: 1px  solid #999;

	color: #333;

	border: none;

	border-radius: 5px;

	cursor: pointer;

}

#form1, #form1 table, #form1 tbody, #form1 tr, #form1 td, #form1 th {

	display: block;

	background: none;

	padding: 0;

}

#form1 th {

	padding-top: 10px;

}

#form1 th br {

	display: none;

}

#form1 input[type="text"], #form1 textarea, #form1 select {

	width: 98%;

	padding: 3px;

	border: 1px solid #CCC;

	border-radius: 3px;

	background: #FFF;

}

.yu3 {

	width: 3em !important;

}

.yu4 {

	width: 4em !important;

}

.keyword {

	background: #FF0;

	font-weight: bold;

}

.redfont {

	color: #C00;

	font-size: 75%;

}

.cm table {

	width: 100%;

}

.cm input[type="text"] {

	border: none;

	width: 99%;

}

.hissu {

	color: #FF0000;

	font-size: 80%;

	display: inline-block;

	margin-left: 10px;

}

.example, .small {

	font-size: 80%;

}



.error2{

	display: inline-block;

	background:#B10002;

	color: #FFF;

	font-weight: bold;

	padding: 5px 10px;

	border-radius: 5px;

	margin-top: 10px;

	position: relative;

}



.error2::before{

	content: "";

	display: block;

	border-bottom: 15px solid #B10002;

	border-left: 6px solid transparent;

	border-right: 6px solid transparent;

	position: absolute;

	top: -15px;

	left: calc(50% - 6px);

}



/*360度動画*/



.l-wrapper {

    position: relative;

    width: 100%;

}

.l-wrapper::before {

    content: "";

    display: block;

    padding-top: 53.33%;

}

.l-content {

    height: 100%;

    left: 0;

    position: absolute;

    top: 0;

    width: 100%;

}



/*ファイルアイコン*/



#contents a[target="_blank"], #contents a[href$="pdf"], #contents a[href$="xlsx"], #contents a[href$="xls"], #contents a[href$="docx"], #contents a[href$="doc"], #submenu a[href$="pdf"], #submenu a[target="_blank"] {

	background-position: center right;

	background-repeat: no-repeat;

	padding-right: 20px;

	margin-right: 3px;

}

#submenu a[href$="pdf"], #submenu a[target="_blank"] {

	background-position: top 50% right 10px;

	margin-right: 0;

	padding-right: 30px;

}

#contents a[target="_blank"], #submenu a[target="_blank"] {

	background-image: url(../contents_images/common/ico_blank.png);

}

#contents a[href$="pdf"], #submenu a[href$="pdf"] {

	background-image: url(../contents_images/common/ico_pdf.png);

}

#contents a[href$="xlsx"], #contents a[href$="xls"] {

	background-image: url(../contents_images/common/ico_xls.png);

}

#contents a[href$="docx"], #contents a[href$="doc"] {

	background-image: url(../contents_images/common/ico_doc.png);

}

#linkkiji li a:nth-of-type(2) {

	background: none;

	padding-right: 0;

}



iframe{

	max-width:100%;

	height:auto;

}

/*###############################
大型ねぶた用
###############################*/
.oogata_2021:before{
	content: "2021年度は中止となりました。";
	margin-bottom: 10px;
	display: block;
	background: url(/contents_images/common/red.png);
	color: #FFF;
	padding: 10px;
	border-radius: 5px;
	font-weight: bold;
	text-align: center;
	font-size: 120%;
}

.oogata_2021:after{
	content: "以下は出陣予定だった ねぶたの情報です";
	margin-bottom: 10px;
	display: block;
}

/*###############################
各団体日毎運行順序
###############################*/

.flex_box{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}
.flex_box table{
	margin: 10px;
}