@charset "utf-8";

/*//////////////////////////////////////////////////////////

	1: index
	2: message.html
	3: schedule.html
	4: event.html
	5: club.html
	6: download.html
	7: geshin.html
	8: rakuwa
	9: archive

//////////////////////////////////////////////////////////*/



/*=========================================================

	index

==========================================================*/

#mainimage{
	width: 100%;
	margin-bottom: 20px;
	background: #eee;
}

.slide{
	overflow: hidden;
	width: 80%;
	margin: 0 auto;
}
.slide-cell{
	position: relative;
}
.slide-cell img{
	width: 100%;
	height: auto;
}
.slide-cell span.alt{
	position: absolute;
	top: 50px;
	right: 0;
	z-index: 100;
	display: inline-block;
	color: #fff;
	padding: 10px 20px;
	margin-right: 50px;
	background: rgba(0,0,0,0.7);
}

.rotary-rate{
	text-align: center;
	margin: 0 0 20px 0;
}

ul.index-banner{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
}
ul.index-banner li{
	width: 455px;
	margin-bottom: 15px
}

.information{
	margin-bottom: 50px;
}
.information h2,
.news h2{
	font-family:'HansSerif';
	font-size:200%;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 3px solid #333;
}
.information h2{
	color: #a00;
}
.information .information-wrap dl{
	display: flex;
	flex-wrap: wrap;
	padding: 15px;
	border-bottom: 1px solid #ccc;
}
.information .information-wrap dl dt{
	color: #777;
}
.information .information-wrap dl dd span{
	display: inline-block;
	text-align: center;
	color: #fff;
	width: 100px;
	padding: 5px 0;
	border-radius: 5px;
	background: #a00;
}
.information .information-wrap dl dd{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.information .information-wrap dl ul{
	list-style: none;
	margin: 0;
}
.information .information-wrap dl ul li:not(:first-child){
	margin-top: 10px;
}

.news dl{
	overflow:hidden;
	line-height: 1.7;
	width:930px;
}
.news dl dt{
	float:left;
	color: #777;
	width:150px;
}
.news dl dd{
	margin: 0 0 10px 150px;
}

@media screen and (min-width: 737px){ /* PC */
	.information .information-wrap{
		overflow-y: scroll;
		height: 400px;
	}
	.information .information-wrap dl{
		justify-content: space-between;
	}
	.information .information-wrap dl dt{
		width: 140px;
	}
	.information .information-wrap dl dd{
		width: 730px;
	}
	.information .information-wrap dl dd span + ul{
		width: 620px;
	}
	.information .information-wrap dl dd span{
		margin-right: 10px;
	}
	
	.information.governor-elect{
		margin-bottom: 0;
	}
	.information.governor-elect .information-wrap{
		overflow-y: visible;
		height: auto;
	}
}

@media screen and (max-width: 736px){ /* SP */
	.slide{
		overflow: hidden;
		width: 100%;
		margin: 0 auto;
	}
	.slide-cell span.alt{
		top: 10px;
		right: 0;
		font-size: 80%;
		padding: 10px;
		margin: auto;
	}
	
	.rotary-rate{
		font-size: 90%;
		padding: 0 10px;
	}
	
	ul.index-banner li{
		width: 100%;
	}
	
	.information .information-wrap{
		overflow-y: scroll;
		height: 350px;
	}
	.information .information-wrap dl{
		padding: 15px 0;
	}
	.information .information-wrap dl dd{
		width: 100%;
	}
	
	.information.governor-elect{
		margin-bottom: 0;
	}
	.information.governor-elect .information-wrap{
		overflow-y: visible;
		height: auto;
	}
	
	.news dl{
		line-height: 1.5;
		width:100%;
	}
	.news dl dt{
		float: noe;
		width: 100%;
	}
	.news dl dd{
		margin: 0;
	}
	.news dl dd:not(:last-child){
		margin-bottom: 15px;
	}
}



/*=========================================================

	message.html

==========================================================*/

.message{
	position: relative;
}

.message h3{
	font-family: 'HansSerif';
	font-size:150%;
	color:#043981;
}
.message h3 span{
	font-size: 70%;
	color: #777;
}

.message h3 ~ h3{
	margin-top: 50px;
}

.message p{
	text-indent:1em;
	margin-top:30px;
}
.message p.name{
	font-family: 'HansSerif';
	text-indent: 0;
	font-size: 130%;
	margin: 50px 0 50px 0;
}

.message p.ri-name{
	font-family: 'HansSerif';
	text-indent: 0;
	font-size: 130%;
	margin: 0 0 50px 0;
}

.ri-movie{
	text-align: center;
	margin: 50px 0;
}

.message dl dt{
	font-weight: 700;
	margin-top: 30px;
}

.message .translation{
	clear: both;
	text-indent: 0;
	text-align: center;
	font-size: 130%;
	color: #fff;
	padding: 15px;
	background: #00ac9b;
}

p.ps{
	text-indent: 0;
	color: #777;
}

.ri-all-message{
	text-align: center;
	padding-top: 50px;
	margin-top: 50px;
	border-top: 1px dotted #aaa;
}
.ri-all-message a{
	display: block;
	text-decoration: none;
	color: #fff;
	padding: 20px 0;
	margin-top: 10px;
	border: 3px solid #f57c00;
	background: #f57c00;
}
.ri-all-message a:hover{
	color: #f57c00;
	background: #fff;
}


@media screen and (min-width: 737px){ /* PC */
	.message .g-photo{
		float: right;
		margin: 0 0 30px 30px;
	}
	
	.ri-theme{
		position: absolute;
		top: 0;
		right: 0;
		text-align: center;
	}
	.ri-theme img{
		display: block;
		margin: 15px auto 0;
	}
	
	.message-photo{
		float: right;
		width: 380px;
		margin: 0 0 30px 30px;
	}
}

@media screen and (max-width: 736px){ /* SP */
	.message h3{
		text-align: center;
		font-size:140%;
	}
	
	.ri-theme img{
		display: block;
		width: 80%;
		margin: 15px auto 30px auto;
	}
	
	.message .g-photo{
		text-align: center;
		margin: 15px 0;
	}
	
	.message p.name{
		text-align: center;
		font-size: 100%;
		margin: 0;
	}
	.message p.ri-name{
		text-align: center;
	}
	
	.message-photo{
		margin-left: -1em;
	}
	
	.message .translation{
		padding-top: 30px;
	}
}



/*=========================================================

	schedule.html

==========================================================*/

p.schedule-info{
	text-align:right;
	font-size:90%;
	color:#777;
}

table.schedule{
	font-size:90%;
	width: 930px;
}

table.schedule caption{
	text-align:left;
	font-size:150%;
	color:#4caf50;
}
table.schedule caption span{font-size:200%;}

table.schedule tr{background:#fff;}
table.schedule tr:nth-child(even){background: #f0f0f0;}
table.schedule tr:hover,
table.schedule tr:nth-child(even):hover{background:#e8f5e9;}

table.schedule thead th{
	box-sizing: border-box;
	text-align:center;
	color: #fff;
	padding:5px;
	border: 1px solid #ccc;
	background:#4caf50;
}
table.schedule td{
	box-sizing: border-box;
	text-align:center;
	padding:5px;
	border: 1px solid #ccc;
}
table.schedule td.sat{background: #b8e0ff;}
table.schedule td.sun{background: #ffb8b8;}

table.schedule th.day,
table.schedule tbody td:first-child{width:80px;}

table.schedule th.name,
table.schedule tbody td:nth-child(4),
table.schedule tbody td:last-child{width:115px;}

table.schedule th.club,
table.schedule tbody td:nth-child(3),
table.schedule tbody td:nth-child(6){width:278px;}

table.schedule th.district,
table.schedule tbody td:nth-child(2),
table.schedule tbody td:nth-child(5){width:30px;}


p.schedule-top{
	text-align:right;
	font-size:90%;
	margin:10px 0 50px 0;
}


@media screen and (min-width: 737px){ /* PC */
	p.schedule-top{
		margin-bottom: 0;
	}
	p.schedule-top + hr{
		padding-bottom: 80px;
	}
}

@media screen and (max-width: 736px){ /* SP */
	.schedule-box{
		overflow-x: scroll;
		width: 100%;
		padding-bottom: 60px;
		background: url('../img/arrow.jpg') 50% 100% no-repeat;
		background-size: auto 40px;
	}
	
	table.schedule thead{
		display: block;
	}
	table.schedule tbody{
		display: block;
		overflow-y: scroll;
		width: 930px;
		height: 300px;
	}
}





/*=========================================================

	event.html

==========================================================*/

table.event{
	line-height: 1.3;
	font-size: 90%;
	width:100%;
	margin-top:60px;
	border-collapse: separate;
	border-spacing:1px;
	border:0;
	background: #ccc;
}

table.event caption{
	text-align:left;
	font-size:150%;
	color:#043981;
}
table.event caption span{font-size:200%;}

table.event tr{background:#fff;}
table.event tr:hover{background:#EFF9FF;}

table.event thead th{
	text-align: center;
	padding: 5px;
	background: #eee;
}

table.event td{
	box-sizing: border-box;
	padding:5px;
}
table.event td:first-child{
	text-align: center;
}
table.event td span.cancel{
	color: #c00;
}

table.event.next-year caption{
	text-align: center;
	margin-bottom: 10px;
}

table.event.next-year tr{
	background: #fffde7;
}
table.event.next-year tr.next-g{
	background: #fce4ec;
}

@media screen and (min-width: 737px){ /* PC */
	table.event td.day{width:110px;}
	table.event td.detail{width:448px;}
	table.event td.build{width:368px;}
	
	table.event.next-year tr.fiscal-year td:nth-child(2){
		text-align: right;
	}
	table.event.next-year tr:not(.fiscal-year) td:first-child{
		text-align: right;
	}
}

@media screen and (max-width: 736px){ /* SP */
	table.event{
		border-collapse: collapse;
		border-spacing: 0;
		background: #fff;
	}
	
	table.event thead {
		display: none;
	}
	
	table.event tbody tr{
		display: flex;
		flex-wrap: wrap;
		margin-top: 20px;
		border: 1px solid #ccc;
	}
	table.event tbody tr:first-child{margin-top: 0;}
	
	table.event tbody tr td:first-child{
		color: #fff;
		width: 100%;
		background: #043981;
	}
	
	table.event tbody tr td:nth-child(2){
		width: 100%;
		min-height: calc(1.5em + 10px);
		border: 1px solid #ccc;
		border-width: 1px 0;
	}
	table.event tbody tr td:nth-child(3){
		width: 100%;
	}
	
	table.event tbody tr td br{
		display: none;
	}
	table.event tbody tr td.colspan br{
		display: block;
	}
	
	table.event.next-year tbody tr.fiscal-year td:first-child{
		font-size: 130%;
	}
	table.event.next-year tbody tr.fiscal-year td:nth-child(2){
		text-align: center;
		color: #fff;
		width: 100%;
		background: #043981;
	}
	table.event.next-year tbody tr.fiscal-year td:nth-child(3){
		border-bottom: 1px solid #ccc;
	}
	
	
	
	/*
	table.event tbody tr td:nth-child(3){
		width: 3.5em;
		min-height: calc(1.5em + 10px);
		border-right: 1px solid #ccc;
	}
	table.event tbody tr td:last-child{
		text-align: left;
		width: 100%;
		border-top: 1px solid #ccc;
	}
	table.event tbody tr td:last-child::before{
		content:attr(data-label);
		display: inline-block;
		color: #fff;
		padding: 5px;
		margin-right: 5px;
		background: #333;
	}*/
	
}



/*=========================================================

	club.html

==========================================================*/

p.clublist-print{
	text-align: right;
	margin-bottom: 30px;
}
p.clublist-print a{
	display: inline-block;
	text-decoration: none;
	color: #fff;
	padding: 10px 25px;
	background: #f57c00;
}
p.clublist-print a:hover{
	background: #ef6c00;
}

p.no1-attention{
	text-align: center;
	font-size: 90%;
	color: #6c4f06;
	padding: 10px;
	margin-bottom: 50px;
	border: 1px solid #f8e4aa;
	background: #fef2cd;
} 

.clublist h3{
	font-size:120%;
	color:#fff;
	padding:10px;
	margin:0 1px;
	background: #043981;
}

.clublist table{
	font-size: 90%;
	width:100%;
	border-collapse:separate;
	border-spacing:1px;
	border:0;
	background:#fff;
}

.clublist table tr{background:#fafafa;}
/*.clublist table tr:nth-of-type(even){background:#eee;}*/
.clublist table tr:hover{background:#ddd;}


.clublist table th{
	text-align:center;
	padding:5px;
	background:#ccc;
}

.clublist table td{
	box-sizing: border-box;
	text-align:center;
	padding:5px;
}
.clublist table td:first-child,
.clublist table td:nth-child(3){text-align: left;}

.clublist table td:last-child a{
	display: inline-block;
	text-decoration: none;
	line-height: 1;
	text-align: center;
	font-size: 130%;
	width: 1em;
	height: 1em;
	margin: 0 5px;
}
.clublist table a:hover{color: #0077AA;}
.clublist table a span{
	display: none;
}

p.clublist-top{
	text-align:right;
	font-size:90%;
	margin:10px 0 50px 0;
}


@media screen and (min-width: 737px){ /* PC */
	.clublist table th.clubname{width:150px;}
	.clublist table th.day{width:85px;}
	.clublist table th.place{width:400px;}
	.clublist table th.tel{width:170px;}
	.clublist table th.site{width:123px;}
	
	.clublist table td span.small{
		font-size: 80%;
	}
}

@media screen and (max-width: 736px){ /* SP */
	p.clublist-print{
		text-align: center;
	}
	
	.clublist table thead{
		display: none;
	}
	
	.clublist table tbody tr,
	.clublist table tbody tr td{
		display: block;
		box-sizing: border-box;
		text-align: left;
		width: 100%;
	}
	
	.clublist table tbody tr{
		margin-top: 15px;
		border: 1px solid #ccc;
		border-bottom: 0;
	}
	
	.clublist table tbody tr td{
		display: flex;
		min-height: calc(1.5em + 10px);
		border-bottom: 1px solid #ccc;
	}
	.clublist table tbody tr td:first-child{
		font-weight: 700;
		color: #fff;
		background: #177199;
	}
	.clublist table tbody tr td::before{
		content: attr(data-label);
		text-align: center;
		color: #fff;
		flex-shrink: 0;
		width: 90px;
		padding: 5px;
		margin: -5px 10px -5px -5px;
		background: #333;
	}
	
	.clublist table tbody tr td:first-child{
		display: block;
	}
	.clublist table tbody tr td:first-child::before{
		display: none;
	}
	.clublist table tbody tr td:first-child::after{
		content: attr(data-label);
	}
}



/*=========================================================

	download.html

==========================================================*/

a.myrotary{
	display: block;
	text-align: center;
	text-decoration: none;
	color: #fff;
	padding: 20px 0;
	margin: 0 20% 50px 20%;
	border-radius: 75px / 100%;
	border: 3px solid #a00;
	background: #a00;
}
a.myrotary:hover{
	color: #a00;
	background: #fff;
}

table.format-dl{
	width:100%;
	margin-top:30px;
	border-collapse:separate;
	border-spacing:1px;
	border:0;
	background:#fff;
}

table.format-dl tr{background:#eee;}

table.format-dl th,
table.format-dl td{
	text-align:center;
	padding:10px;
}

table.format-dl thead th{
	color:#fff;
}
table.format-dl thead tr th:first-child{
	color: #333;
	text-align: left;
}
table.format-dl thead tr th:nth-of-type(2){width:22%; background:#579d20;}
table.format-dl thead tr th:last-child{width:22%; background:#c01241;}

table.format-dl tbody th{
	text-align:left;
}
table.format-dl tbody tr td:nth-of-type(1){background:#e2efbc;}
table.format-dl tbody tr td:last-child{background:#ffdfed;}

table.format-dl td a{
	display: inline-block;
	text-decoration: none;
	line-height: 1;
	text-align: center;
	font-size: 120%;
	color: #111;
	width: 1em;
	height: 1em;
	margin: 0 5px;
}
table.format-dl a:hover{color: #0077AA;}
table.format-dl a span{
	display: none;
}


@media screen and (max-width: 736px){ /* SP */
	a.myrotary{
		margin-left: 0;
		margin-right: 0;
	}
	
	table.format-dl{
		font-size: 90%;
	}
	table.format-dl thead tr th{
		word-wrap: break-word;
	}
	table.format-dl thead tr th:nth-of-type(2),
	table.format-dl thead tr th:last-child{
		width: 20%;
	}
}



/*=========================================================

	geshin.html

==========================================================*/

ul.geshin-list{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	width: 930px;
	padding: 0;
	margin: 0;
}
ul.geshin-list li{
	text-align: center;
	width: 219px;
	margin: 0 18px 25px 0;
}
ul.geshin-list.trf li img{
	box-sizing: border-box;
	border: 1px solid #ccc;
}
ul.geshin-list li:nth-child(4n){margin-right: 0;}
ul.geshin-list li a{
	text-decoration: none;
	color: #111;
}
ul.geshin-list li a:hover img{
	opacity: 0.7;
}
ul.geshin-list li img{
	margin-bottom: 5px;
}
ul.geshin-list li i{
	color: #c00;
	margin-right: 5px;
}


@media screen and (max-width: 736px){ /* SP */
	ul.geshin-list{
		justify-content: space-between;
		width: 100%;
	}
	ul.geshin-list li{
		width: 48%;
		margin: 0 0 25px 0;
	}
}



/*=========================================================

	takuwa

==========================================================*/

ul.takuwa-list{
	list-style: none;
	margin: 0;
}
ul.takuwa-list li:not(:last-child){
	margin-bottom: 10px;
}
ul.takuwa-list li i{
	font-size: 130%;
	color: #ff5722;
	margin-right: 5px;
}
ul.takuwa-list li .video-wrap{
	display: none;
}

@media screen and (min-width: 737px){ /* PC */
	
}
@media screen and (max-width: 736px){ /* SP */
	
}



/*=========================================================

	archive

==========================================================*/

ul.archive-list{
	list-style: none;
	margin: 0;
}
ul.archive-list li::before{
	padding-right: 5px;
}

@media screen and (min-width: 737px){ /* PC */
	
}
@media screen and (max-width: 736px){ /* SP */
	
}
