@charset "utf-8";

/* text-align
**********************************/
.tc {
  text-align: center;
}
.tl {
  text-align: left;
}
.tr {
  text-align: right;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
.sp .sp_tl {
	text-align: left;
}
.nowrap {
	white-space: nowrap;
}

/* font-size
**********************************/
.fs10 {	font-size: 1.0rem;}
.fs11 {	font-size: 1.1rem;}
.fs12 {	font-size: 1.2rem;}
.fs13 {	font-size: 1.3rem;}
.fs14 {	font-size: 1.4rem;}
.fs15 {	font-size: 1.5rem;}
.fs16 {	font-size: 1.6rem;}
.fs17 {	font-size: 1.7rem;}
.fs18 {	font-size: 1.8rem;}
.fs20 {	font-size: 2.0rem;}
.fs24 {	font-size: 2.4rem;}
.fs30 {	font-size: 3.0rem;}

/* display
**********************************/
.blc {
	display: block;
}
.inblc {
	display: inline-block;
}
.ctr {
	margin-left: auto;
	margin-right: auto;
}

label {
    display: inline-block;
    cursor: pointer;
}


body#sougou .flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}
body#sougou .flex.flexac {
	-webkit-align-items: center !important;
	align-items: center !important;
}
body#sougou .flex.flexjc {
	-webkit-justify-content: center !important;
	justify-content: center !important;
}
body#sougou .flex.flexbtw {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
body#sougou .flex.flexw {
	flex-wrap: wrap;
}
body#sougou .flex.flex_1 .box {
	flex: 1;
	padding: 0 12px;
}
body#sougou .flex.flex_1 .box + .box {
	margin-left: 12px;
	border-left: 1px dotted #ccc;
}
body#sougou .flex.column {
	flex-direction: column;
}
body#sougou .flex.flexclear:after,
body#sougou .flex.flexclear:before {
	display: none;
}


body#sougou .aniv_main {
    border: 1px solid #d8d9d8;
}
body#sougou .aniv_list div {
	position: relative;
	width: 36%;
	height: 200px;
	margin: 0 7%;
	padding: 30px 20px;
	border: 1px solid #d8d9d8;
	background-color: #f1f2f1;
	flex-direction: column;
}
body#sougou .aniv_list div span {
	position: absolute;
	top: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	font-weight: bold;
}

body#sougou .category {
    background: #e5e5e5;
    display: block;
    margin-bottom: 1px;
    position: relative;
}
body#sougou .category .text {
    display: inline-block;
    width: 84%;
}
body#sougou .category .date {
    display: inline-block;
    width: 12%;
    font-size: 12px;
    color: #666;
}
body#sougou .category > .text {
    padding: 10px 2%;
    font-size: 16px;
    font-weight: bold;
}
body#sougou .sub > .text,
body#sougou .subsub > .text {
    padding: 5px;
}
body#sougou .category .text.able {
    position: relative;
    width: 96%;
    cursor: pointer;
}
body#sougou .category .sub .text.able {
    width: 98%;
}
body#sougou .category .able::after {
    position: absolute;
	display: inline-block;
	content: '+';
	top: -webkit-calc(50% - 14px);
	top: calc(50% - 14px);
	right: 15px;
	font-size: 2.4rem;
	text-align: center;
	font-weight: 400;
	line-height: 1;
}
body#sougou .category .able.open::after {
	content: '-';
	top: -webkit-calc(50% - 18px);
	top: calc(50% - 18px);
	font-size: 30px;
}
body#sougou .category ul {
    width: 98%;
    background-color: #fff;
}
body#sougou .category ul li {
    width: 100%;
    flex-wrap: wrap;
    border-bottom: 1px solid #e5e5e5;
}
body#sougou .category ul.submenu {
    display: none;
    padding: 10px 0% 10px 2%;
}
body#sougou .category ul.subsubmenu {
    display: none;
    padding: 10px 0% 10px 2%;
}
 
body#sougou .category .subsub {
    background: #fff;
}
body#sougou ul.resultmenu {
    width: 100%;
}
body#sougou ul.resultmenu li {
    display: flex;
    padding: 5px 0;
    border-bottom: 1px solid #e5e5e5;
}
body#sougou ul.resultmenu li .text {
    width: 60%;
}
body#sougou ul.resultmenu li .date {
    width: 12%;
    margin-left: auto;
    font-size: 12px;
    color: #666;
}
body#sougou ul.resultmenu li .committee {
    width: 24%;
    font-size: 12px;
}


@media only screen and (max-width: 999px) {			/* --------- Responsive Portrait --------- */
	body#sougou .aniv_main {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
    
    body#sougou .aniv_list div {
        height: auto;
        padding: 40px 20px 20px 20px;
    }
    
}

@media only screen and (max-width: 650px) {
	
}
@media only screen and (max-width: 479px) {			/* --------- Responsive Smart Phone --------- */
	body#sougou .aniv_list div {
		width: 46%;
		margin: 0 2%;
	}
	body#sougou .aniv_list div span {
		top: 6px;
	}
}