@charset "UTF-8";

/* -----------------------------------------
 Reset
------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1.5;
  counter-reset: number 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
em {
  font-style: normal;
}
a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
main {
	display: block;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ddd;
  margin: .8rem 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
/* -----------------------------------------
 基本
------------------------------------------- */
html {
  font-size: 62.5%;
  font-size: calc(1em*.625);
}
body {
  color: #000;
  background: #fff;
  font-size: 1.6rem;
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}
img {
  max-width: 100%;
	vertical-align: top;
}
*, *::before, *::after {
	box-sizing: border-box;
}
.sp-only {
  display: none;
}
/* -----------------------------------------
 レイアウト
------------------------------------------- */
.wrap {
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
}
section {
  min-width: 98rem;
}
.inner-wrap{
  width: 98rem;
  margin: 0 auto;
}

/* -----------------------------------------
 文字装飾
------------------------------------------- */
.bold {
  font-weight: bold;
}
.normal {
  font-weight: normal;
}
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}
.txt-left {
  text-align: left;
}
.txt-red {
	color: #D00;
}
.txt-gray {
  color: #999;
}
.txt-green {
  color: #286243;
}
.mb0 {
  margin-bottom: 0;
}
.mb5 {
  margin-bottom: .5rem;
}
.mb10 {
  margin-bottom: 1rem;
}
.mb15 {
  margin-bottom: 1.5rem;
}
.mb20 {
  margin-bottom: 2rem;
}
.mb25 {
  margin-bottom: 2.5rem;
}
.mb30 {
  margin-bottom: 3rem;
}
.mb40 {
  margin-bottom: 4rem;
}
.mb50 {
  margin-bottom: 5rem;
}
.mb60 {
  margin-bottom: 6rem;
}
.mb1e {
  margin-bottom: 1em;
}
.mb15e {
  margin-bottom: 1.5em;
}
.mb2e {
  margin-bottom: 2em;
}
.mt1e {
  margin-top: 1em;
}
.mt2e {
  margin-top: 2em;
}
.ml10 {
  margin-left: 1rem;
}
.mr10 {
  margin-right: 1rem;
}
.mr20 {
  margin-right: 2rem;
}
.pt10 {
  padding-top: 10px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
/* -----------------------------------------
 共通
------------------------------------------- */
a:link {
  color: #286243;
	text-decoration: underline;
}
a:visited {
  color: #286243;
  text-decoration: underline;
}
a:active {
  color: #30A064;
  text-decoration: none;
}
a:hover {
  opacity: .8;
	text-decoration: none;
}
.d-block {
  display: block;
}
.d-iblock {
  display: inline-block;
}
.d-inline {
  display: inline;
}
/* Clear Fix */
.cf:after {
  content: "";
  display: block;
  clear: both;
}
/* comment */
.comment {
}
.comment li {
  padding-left: 1em;
  text-indent: -1em;
}


/* -----------------------------------------
 ページトップ
------------------------------------------- */
#pagetop a {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 5rem;
  height: 5rem;
  color: #fff;
  text-align: center;
  background-color: #286243;
  cursor: pointer;
  z-index: 10;
}
#pagetop a:before {
  content: "";
  display: block;
  position: absolute;
  top: 1.4rem;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 2.2rem;
  height: 2.2rem;
  border-top: .3rem solid #fff;
  border-left: .3rem solid #fff;
  transform: rotate(45deg);
}

/* -----------------------------------------
 見出し
------------------------------------------- */
.heading-a{
  padding: 7rem 0;
  font-size: 4rem;
  color: #fff;
  text-align: center;
  background: url("../img/pagetitle_bg.jpg") no-repeat;
  background-position: center center;
  background-size:cover;
  letter-spacing: 3px;
  text-shadow: -3px -3px 3px rgba(0,0,0,.5), 2px 2px 3px rgba(0,0,0,.5);
}
.heading-a span{
  font-size: 2rem;
}

.heading-b {
  margin-top: 6rem;
  margin-bottom: 3rem;
  padding-top:3rem; 
  font-size: 2.4rem;
  font-weight: bold;
  color: #286243;
  border-top: solid 1px #ccc;
  position: relative;
}
.heading-b::before{
  content: "";
  width: 120px;
  height: 5px;
  background-color: #286243;
  position: absolute;
  top: -3px;
  left: 0;
}
/* -----------------------------------------
 メインビジュアル
------------------------------------------- */
.mv img{
  width: 100%;
}
/* button */
.button {
	display: inline-block;
	padding: .45em .8em .35em;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	white-space: nowrap;
	background-color: #286243;
}
.button:link {
	color: #fff;
	text-decoration: none;
}
.button:visited {
	color: #fff;
}
.button.big{
  font-size: 130%;
}
a.box-link{
  border: 1px #286243 solid;
  padding: .5em 1em;
  text-decoration: none;
  font-weight: bold;
}
/* hrader */
header {
  min-width: 98rem;
}
.header-wrap{
  width: 98rem;
  margin: 0 auto;
  padding-top:2.5rem;
}
.header-logo{
  float:left;
}
.header-logo{
  width: 428px;
  height: auto;
}
.header-button-block{
  margin-top: 1rem;
  float: right;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
}
.header-block .button{
  width: 12rem;
  position: relative;
}
.header-block .button:visited{
  color: #fff;
}
.header-block .button::after{
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  margin-right: 8px;
}
.header-menu-button{
  display: none;
}
.sp-nav{
  display: none;
}
.header-nav{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 2rem;
  margin-bottom: 2rem;
}
.header-nav li{
  font-size: 1.5rem;
  padding: 0 4.6rem;
  border-right: solid 1px #ccc;
}
.header-nav li:first-child{
  padding-left: 0;
}
.header-nav li:last-child{
  border-right:none;
  padding-right: 0;
}
.header-nav li a{
  color: #000;
  padding-bottom: 1rem;
  text-decoration: none;
}
.header-nav li a:hover{
  color: #286243;
  border-bottom: solid 3px #286243;
}

.header-nav li a.current{
  color: #000;
  border-bottom: solid 3px #286243;
}

/* footer */
footer {
  min-width: 98rem;
	margin-top: 8rem;
  padding-top: 6rem;
  padding-bottom: 4rem;
  background: #286243;
  color: #fff;
}
.foot-wrap{
  width: 98rem;
  margin: 0 auto 5rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
}
.foot-block{
  font-size: 1.4rem;
}
.foot-logo{
  width: 499px;
  height: auto;
  margin-bottom: 1.2rem;
}
.foot-block a:link{
  color:#fff;
  text-decoration: underline;
}
.footer-nav {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  padding: 1.3rem;
  border-left: solid 1px #89A998;
  margin-left: 4rem;
}
.footer-nav ul{
  margin-left: 4rem;
}
.footer-nav ul li {
  margin-right: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.footer-nav ul li a::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 0.3em 0 0;
  border: 5px solid transparent;
  border-right: 0 solid transparent;
  border-left: 6px solid #fff;
}
.footer-nav ul li a {
  font-size: 1.4rem;
  color: #fff;
  text-decoration: none;
}
footer p.copyright{
  font-size: 1.2rem;
  text-align: center;
}

/*news*/
.top-news-wrap {
  padding: 5rem 0 8rem;
}
.top-news-wrap.inner-wrap{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.news-block{
  width: 60%;
  margin-right: 5rem;
}
.news-ttl{
  font-size: 3rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
  margin-bottom: 4rem;
  margin-left: 2rem;
}
.news-ttl::before{
  content: "NEWS";
  color: #F4F4F4;
  font-size: 8.6rem;
  position: absolute;
  top: -40px;
  left: -30px;
  z-index: -1;
	font-weight: normal;
}
.news-list-icon{
  width: 90px;
  border: solid 1px #ccc;
  text-align: center;
  position: absolute;
  top: 10px;
  right: 0;
}
.news-list-icon a{
  padding: .2rem 0;
  font-size: 1.2rem;
  color: #000;
  text-decoration: none;
  display: block;
  position: relative
}
.news-list-icon a::after{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  margin-right: 10px;
}
.news-list-icon a:hover{
  background-color: #286243;
  color: #fff;
  opacity: 1;
}
.news-list-icon a:hover::after{
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.news-list{
  border-top: dotted 1px #888888;
}
.news-list li{
  padding: 2rem 0 ;
  border-bottom: dotted 1px #888888;
}
.news-list li span{
  padding: .4rem .8rem;
  background-color: #286243;
  color: #fff;
  font-size: 1.2rem;
}
/* disc */
ul.disc li {
  position: relative;
  padding-left: 1.3em;
}
ul.disc li + li {
  margin-top: .3em;
}
ul.disc li::before {
  content: "";
  position: absolute;
  width: .3rem;
  height: .3rem;
  background: #000;
  border-radius: 50%;
  left: .3em;
  top: 2em;
}

.rotary-theme-img{
  width: 40%;
  text-align: center;
}

/*schedule*/
.top-schedule-wrap{
  background-color: #EEEEEE;
  padding: 7rem 8rem;
}
.top-content-ttl{
  font-size: 3rem;
  font-weight: bold;
  padding-left: 2rem;
  position: relative;
  z-index: 1;
}
.top-content-ttl::before{
  content: "SCHEDULE";
  color: #FAFAFA;
  font-size: 8.6rem;
  position: absolute;
  top: -40px;
  left: -10px;
  z-index: -1;
	font-weight: normal;
}
.monthly-ttl{
  width: 38rem;
  font-size: 2rem;
  font-weight: bold;
  padding: 2rem 4rem;
  margin: 6rem auto 3rem; 
  text-align: center;
  position: relative;
}
.monthly-ttl::before{
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  left: 0;
  border-top: solid 1px #000;
  border-left: solid 1px #000;
}
.monthly-ttl::after{
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 0;
  right: 0;
  border-right: solid 1px #000;
  border-bottom:solid 1px #000;
}
.schedule-summary{
  display: table;
  width: 100%;
}
.schedule ul li{
  border-bottom: dotted 1px #888888;
  padding: 2rem 0;
  text-align: left;
}
.schedule .data, .schedule .icon-green, .schedule .txt{
  display: table-cell;
  vertical-align: middle;
}
.schedule .data{
  width: 15rem;
}
.schedule .data span{
  font-size: 1.1rem;
  display: block;
}
.schedule .icon-gray{
  width: 15rem;
  margin-top: .4rem;
  padding: .5rem .6rem;
  color: #fff;
  background-color: #9DA7B1;
  display:inline-block;
  font-size: 1.4rem;
  text-align: center;
}
.schedule .icon-green{
  width: 15rem;
  margin-top: .4rem;
  padding: .5rem .6rem;
  color: #fff;
  background-color: #286243;
  display:inline-block;
  font-size: 1.4rem;
  text-align: center;
}
.schedule .txt{
  width:65rem;
  line-height: 2rem;
  text-align: left;
}
.schedule .txt span{
  font-size: 1.4rem;
}
.schedule-summary .txt span.fs20{
	font-size: 2rem;
}

.schedule-info-box{
	background-color: #fff;
	padding: 2rem;
	margin-top: 2rem;
}
.schedule-info-box p{
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	color: #d00;
}

/*top-contents-wrap*/
.top-contents-wrap{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 7rem;
}
.top-contents-block{
  width: 33%;
  box-sizing: border-box;
  border: solid 1px #888888;
  margin-right: 4rem;
  padding: 3rem 2rem;
  text-align: center;
}
.top-contents-block:last-child{
  margin-right: 0;
}
.top-contents-block p{
  font-size: 1.4rem;
}
p.top-contents-block-ttl{
  font-size: 2.4rem;
}
.sub_ttl{
  margin: 1rem 0;
  color:#ccc; 
  letter-spacing: 2px;
}
.sub_ttl::before{
  content: "";
  width: 4.5rem;
  height: 2px;
  display: block;
  background-color: #284b38;
  margin: 0 auto 10px;
}
.top-contents-block a{
  display: block;
  width: 20rem;
  margin: 2rem auto 0;
  padding: .8rem 0;
  color: #fff;
  text-decoration: none;
  background: #284b38; /* Old browsers */
  background: -moz-linear-gradient(left,  #284b38 0%, #021c0e 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left,  #284b38 0%,#021c0e 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right,  #284b38 0%,#021c0e 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#284b38', endColorstr='#021c0e',GradientType=1 ); /* IE6-9 */
  letter-spacing: 2px;
}

/*rc概要　表*/
.rc-about{
  width: 100%;
  border: solid 1px #ccc;
}
.rc-about th{
  width: 20rem;
  font-weight: bold;
  background-color: #eee; 
  padding: 2rem 0 2rem 3rem;
  border-bottom: solid 1px #ccc;
  text-align: left;
  vertical-align:middle;
}
.rc-about td{
  padding: 2rem 3rem;
  border-bottom: solid 1px #ccc;
}

/*メッセージ*/
.message-photo{
  width: 26rem;
  margin-left: 4rem;
  text-align: center;
  float: right;
}
.message-photo p{
  font-weight: bold;
  margin-top: 2rem;
  display: block;
}
.message-photo p span{
  font-size: 1.4rem;
  font-weight: normal;
  display: block;
}
.message-txt{
  width: 68rem;
  line-height: 1.8;
  float: left;
}

/*役員・理事の紹介*/
.introduction-block{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  margin-bottom: 3rem;
}
.introduction-block div{
  width : calc(100% / 3) ;
  font-size: 2rem;
}
.introduction-block div span{
  font-size: 1.2rem;
  display: block;
}

/*入会案内*/
.guide-block{
  border: solid 1px #707070;
  text-align: center;
  padding: 0 5rem 8rem 5rem;
  position: relative;
}
.guide-head{
  color: #286243;
  font-size: 5rem;
  position: absolute;
  top: -3.5rem;
  left: 0;
  right: 0;
  margin: 0 25rem;
  display: inline-block;
  margin-bottom: 5rem;
  background-color: #fff;
}
.guide-block .read-txt{
  color: #286243;
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 8rem;
  margin-bottom: 1rem;
}
.guide-ttl{
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  margin: 2rem 0;
  padding-bottom: 1rem;
  
}
.guide-ttl::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 8rem;
  height: .22rem;
  background-color: #286243;
}
/*週報アーカイブ*/
.archive-block{
  border-top: solid 1px #ccc;
}
.archive-block .year{
  border: solid 1px #ccc;
  border-top: none;
  padding: 2rem 4rem;
}
.archive-block .year-box{
  border: solid 1px #ccc;
  border-top: none;
  background-color: #F8F8F8;
  padding: 2rem 4rem;
}
.archive-block .year-box a{
  color: #333;
}
.archive-block .year-box .month{
  margin-top: 2rem;
  font-weight: bold;
}
.archive-block .year-box p{
  margin-bottom: 1.5rem;
}
.archive-block .year-box p:first-child{
  margin-top: 0;
}
/*奉仕活動*/
.activity-block{
  border: solid 1px #ccc;
  padding: 1rem 3rem;
}
.activity-ttl{
  background-color: #286243;
  padding: .5rem 1rem;
  display: inline-block;
  color: #fff;
}
.activity-block div{
  border-top: solid 1px #ccc;
  padding: 2rem 0;
}
.activity-block div dl{
  margin-bottom: .5rem;
}
.activity-block div dt{
  width: 160px;
  font-weight: bold;
  float: left;
}
.activity-block div dd{
  float: left;
}

.activity-block div:first-child{
  border-top: none;
}
.activity-block div p{
  margin-bottom:.5rem;
}
.introduction-block.link div{
  width: calc(100% / 3);
  font-size: 1.6rem;
}
/*topicslist*/
.topicslist p{
  margin-bottom: 1rem;
}
/*メークアップ*/
.makeup{
  width: 100%;
  border: solid 1px #ccc;
}

.pl1{
	padding-left:1.3em;
}
.form_box{
	width: 50rem;
	margin: 3rem auto;
}
.form_block{
	display: -webkit-box;
  display: flex;
	align-items:flex-start;
  padding: 1rem 1.6rem;
	line-height: 1.5;
}
.heading-c{
	width: 20rem;
	line-height: 1.6;
}
.form_inner{
	width: 30rem;
  margin-left: 3rem;
}
.full_width{
	width: 100%;
}
.form_inner input{
	padding: .5rem;
	border: solid 1px #ccc;
}
.submit_btn{
	text-align: center;
	margin: 3rem 0;
}
.submit_btn button{
	background-color:#286241;
	color: #fff;
	padding: .8rem 4rem;
	cursor: pointer;
	border: none;
	font-size: 1.6rem;
}
.submit_btn button:hover{
	opacity: .8;
}
.pay{
	width: 18rem;
	height: auto;
}

/*会員専用*/
.members-block{
  margin-bottom: 3rem;
}
.members .name{
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: bold;
}
.members table{
  width: 100%;
  border: solid 1px #ccc;
}
.members table th{
  width: 16rem;
  font-weight: bold;
  background-color: #eee; 
  border-bottom: solid 1px #ccc;
  text-align: left;
  vertical-align:middle;
  padding:1rem 0 1rem 2rem;
}
.members table td{
  padding: 1rem 2rem;
  border-bottom: solid 1px #ccc;
}
.members .introduction-block div{
  margin-right: 3rem
}
.members .introduction-block div:last-child{
  margin-right: 0;
}
.members .introduction-block div img{
  width: 100%;
}
.members .introduction-block p{
  text-align: center;
  font-size: 1.6rem;
  margin-top: 1rem;
}
.members h3{
  margin-bottom: 2rem;
}
.members h3.boder{
  border-top: solid 1px #ccc;
  margin-top: 5rem;
  padding-top: 2rem;
}
.border-box{
	border: solid 1px #ccc;
	padding: 2rem;
}
.flow{
  margin-left: 2rem;
}
/* -----------------------------------------
 タブレットサイズ
------------------------------------------- */
@media screen and (max-width: 768px){
html {
  /*font-size: calc(100vw/64);*/
}
body {
  font-size: 1.6rem;
  line-height: 1.8;
}
.wrap {
  max-width: none;
	padding: 0 3rem;
}
.inner-wrap{
  width: auto;
  margin: 0 1.5rem;
}
section,footer {
  min-width: 0;
}
a:hover {
  opacity: 1;
}
.sp-only {
  display: block;
}
.sp-only.no-tab {
  display: none;
}
.heading-a{
  padding:2.5rem 0;
  font-size: 2.5rem;
}
.heading-a span{
  font-size: 1.2rem;
  display: block;
}
.heading-b {
  margin-top: 4rem;
  margin-bottom: 2rem;
  padding-top:2rem; 
  font-size: 2.4rem;
	line-height: 1.4;
}
.pc-only {
	display: none;
}
/*schedule*/
.top-schedule-wrap{
  padding: 3rem 1rem;
}

/* header */
header {
  width: 100%;
  min-width: auto;
  padding-top: 10px;
}
.header-wrap{
  width: 100%;
  padding-top:0;
}
.header-logo{
  float:none;
}
.header-logo{
  width: 250px;
  height: auto;
  margin-left: 10px;
  margin-bottom: 10px;
  padding-left: 0;
}
.header-button-block{
  display: none;
}
.header-nav{
  display: none;
}
/*spメニュー*/
.header-menu-button{
  display: block;
  position: absolute;
  top:10px;
  right: 1rem;
  cursor: pointer;
  background-color: #fff;
  padding: 6px;
}
.menu-button-line{
  position: relative;
  width:26px;
  height: 21px;
}
.menu-button-line span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #286243;
}
.line-top{
  top:0;
  margin-top: 1px;
}
.line-middle{
  top:50%;
  margin-top: -1px;
}
.line-bottom{
  bottom: 0; 
}
.sp-nav{
  background-color: #286243;
  margin-top: 1rem;
}
.sp-nav ul li{
  border-bottom:solid 1px #3B805B;
}
.sp-nav ul li a{
  width: 100%;
  padding: 1rem 2rem;
  color: #fff;
  text-decoration: none;
  display: block;
}
  
/* footer */
footer {
  padding-top:2rem;
  padding-bottom: 1rem;
  margin-top:0;
}
.foot-wrap{
  width: 100%;
  display: block;
  margin: 0;
}
.foot-block{
  padding: 0 1.5rem;
  margin-bottom: 1.5rem;
}
.foot-logo{
  width: 65%;
  height: auto;
}
.footer-nav {
  border-top:solid 1px #89A998;
  border-left: none;
  margin-left: 0;
}
.footer-nav ul{
  width: 50%;
  margin-left: 0;
}
.footer-nav ul li {
  margin-right: 0;
  margin-bottom: .5rem;
}
.footer-nav ul li a{
  font-size: 1.2rem;
  display: inline-block;
  position: relative;
  width: 100%;
}


/*schedule*/
.top-schedule-wrap{
  background-color: #EEEEEE;
  padding: 4rem 2rem 1rem;
}
.monthly-ttl{
  margin: 3rem auto 0; 
}
.schedule li:last-child{
  border-bottom: none;  
}
.schedule-summary{
}
.schedule-summary .data, .schedule-summary .icon-green, .schedule-summary .icon-gray, .schedule-summary .txt{
  display: table-cell;
  vertical-align: middle;
}
.schedule-summary .data{
  width: 16rem;
  padding-right: 1rem;
}
.schedule-summary .icon-gray{
  width: 16rem;
}
.schedule-summary .icon-green{
  width: 16rem; 
}
.schedule-summary .icon-none{
  display: none;
}
.schedule-summary .txt{
  width:60%;
  padding-left: 1rem;
}

/*top-contents-wrap*/
.top-contents-wrap{
  display: block;
  padding-top: 0;
}
.top-contents-block{
  width: 100%;
  margin-right: auto;
  border-bottom: none;
  border-left: none;
  border-right:none;
  padding: 2.5rem 1.5rem;
}
.top-contents-block br + br{
  display: none;
}
.top-contents-block:first-child{
  border-top: none;
}
p.top-contents-block-ttl{
  font-size: 1.8rem;
}
.sub_ttl{
  margin: .5rem 0;
}
.sub_ttl::before{
  margin: 0 auto 6px;
}
.contents-block a{
  display: block;
  width: 20rem;
  margin: 2rem auto ;
  padding: .8rem 0;
}
/*rc概要　表*/
.rc-about{
    margin-bottom: 2rem;
}
.rc-about th{
  width: 100%;
  padding: 1rem 2rem;
  display: block;
}
.rc-about td{
  width: 100%;
  padding: 1rem 2rem;
  display: block;
}
/*メッセージ*/
.message-photo{
  width: 60%;
  margin: 0 auto 2rem;
  float: none;
}
.message-txt{
  width: 100%;
  float: none;
} 
/*入会案内*/
.guide-block{
  margin-bottom: 2rem;
  padding-bottom: 3rem;
}
.guide-head{
  font-size: 4rem;
  position: absolute;
  top: -3rem;
  margin: 0 25%;
}
.guide-block .read-txt{
    font-size:2.4rem;
    margin-top: 5rem;
}
.guide-ttl{
  margin: 2rem 0 1rem;  
}
/*奉仕活動*/
.activity-block{
  padding: 0 2rem;
  margin-bottom: 2rem;
}
.activity-block div dl{
  margin-bottom: 1rem;
}
.activity-block div dt{
  width: 100%;
  float: none;
}
.activity-block div dd{
  float: none;
}
.activity-block div p.activity-ttl{
  margin-bottom: 1rem;
}
/*メッセージ*/
.message-photo.volunteer{
  width: 100%;
  margin: 0 auto 2rem;
  float: none;
}
.message-txt.volunteer{
  border-top: dotted 1px #ccc;
  padding-top: 2rem;
}
/*リンク集*/
.introduction-block.link{
  display: block;
  margin-bottom: 0;
  }
.introduction-block.link div{
  width: 100%;
  border-bottom:solid 1px #ccc;
  margin-bottom: 1rem;
  padding: 0 0 1.5rem 0;
}
/*会員専用*/
.members-block{
  margin-bottom: 1rem;
}
.members .name{
  font-size: 1.8rem;
  margin-bottom: .5rem;
}
.members table{
}
.members table th{
  width: 16rem;
}
.members table td{
  width: auto;
  padding-right: 1rem;
}
.members table{
  border-bottom: none;
}
}

/* -----------------------------------------
 スマホサイズ
------------------------------------------- */
@media screen and (max-width: 599px){
html {
  /*font-size: calc(100vw/38);*/
}
body {
  font-size: 1.6rem;
  line-height: 1.8;
}
.sp-only.no-tab {
  display: block;
}
.wrap {
	padding: 0 1em;
}
/* pagetop */
#pagetop a {
  width: 4rem;
  height: 4rem;
}
#pagetop a:before {
  top: 1.1rem;
  width: 1.5rem;
  height: 1.5rem;
  border-top: .2rem solid #fff;
  border-left: .2rem solid #fff;
}

.foot-logo{
  width: 90%;
  height: auto;
}
footer p.copyright{
  padding: 0 1rem;
  font-size: 1rem;
}

/*news*/
.top-news-wrap {
  padding: 3rem 0;
}
.top-news-wrap.inner-wrap{
  display:block;
}
.news-block{
  width: auto;
  margin-right: 0;
}
.news-ttl{
  font-size: 2rem;
  margin-bottom: 4rem;
  margin-left: 0;
  padding-left: 2rem;
}
.news-ttl::before{
  font-size: 6rem;
  top: -3rem;
  left: 0;
  z-index: -1;
}
.news-list-icon{
  top: 0;
  right: 10px;
}

.news-list li{
  padding: 1rem 0  1rem 1rem;
  border-bottom: dotted 1px #888888;
}
ul.disc li::before {
  left: .5em;
	top:1.5em;
}

.rotary-theme-img{
  width: auto;
  padding: 3rem 0 1rem;
  text-align: center;
}
.rotary-theme-img img{
  width: 40%;
  height: auto;
}
/*schedule*/
.top-schedule-wrap{
  padding: 3rem 0 ;
}
.top-content-ttl{
  font-size: 2rem;
  padding-left: 2rem;
}
.top-content-ttl::before{
  font-size: 6rem;
  top: -3rem;
  left: 0;
  right: 0;
  margin: auto;
}
.monthly-ttl{
  width: 75%;
  font-size: 1.6rem;
  padding: 1rem;
  margin: 3rem auto 1rem; 
}
.monthly-ttl::before{
  width: 20px;
  height: 20px;
}
.monthly-ttl::after{
  width: 20px;
  height: 20px;
}
.schedule-summary{
  display: block;
  padding: 0 2rem;
}
.schedule ul li:last-child{
  border-bottom: none;
}
.schedule .data, .schedule .icon-green, .schedule .txt{
  display:block;
}
.schedule .data{
  width: auto;
}
.schedule .data span{
  font-size: 1.4rem;
  display: inline-block;
}
.schedule .icon-gray{
  width: auto;
  display: inline-block;
  padding: .3rem 1rem;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
.schedule .icon-green{
  width: auto;
  display: inline-block;
  margin-bottom: 1rem;
  padding: .3rem 1rem;
  font-size: 1.2rem;
}
.schedule .txt{
  width:auto;
  font-size: 1.6rem;
}
.schedule .txt span{
  font-size: 1.6rem;
  display: block;
  margin: .5rem 0;
}
.schedule-summary .txt span.fs20{
	font-size: 1.8rem;
	display: inline;
}

/*役員・理事の紹介*/
.introduction-block{
  display:block;
  margin-bottom: 0;
}
.introduction-block div{
  width :100%;
  border-bottom:solid 1px #ccc;
  padding: 1rem 0;
}
.introduction-block .last{
  border-bottom:none;
}
/*入会案内*/
.guide-head{
  font-size: 3rem;
  top: -2rem;
  margin: 0 25%;
}
.guide-block{
  padding: 0 2rem 3rem 2rem;
}
.guide-block .read-txt{
  font-size:2rem;
  margin-top: 4rem;
}
.guide-ttl{
  font-size: 1.8rem;
  margin: 1.5rem 0;  
}
/*週報アーカイブ*/
.archive-block{
  margin-bottom: 2rem;
}
.archive-block .year{
  padding: 1rem 2rem;
}
.archive-block .year-box{
  padding: 1rem 2rem;
}
.archive-block .year-box .month{
  margin-top: 1rem;
}
.archive-block .year-box p{
  margin-bottom: 1.5rem;
}
  
/*会員専用*/
.members table{
  width: 100%;
  border-collapse:collapse;
}
.members table tr{
  width: 100%;
  display: block;
}
.members table th{
  width: 100%;
  display:block;
  padding: 1rem;
}
.members table td{
  width: 100%;
  display: block;
  padding: 1rem;
}
.members .introduction-block div{
  border-bottom: none;
}
.members h3{
  margin-bottom: 1rem;
}
.members h3.boder{
  margin-top: 0;  
}
.form_box{
	width: auto;
	padding:0;
}
.form_block{
	display: block;
  padding:0;
	margin-bottom: 1.5rem;
}
.form_inner{
	width: auto;
  margin-left: 0;
}
.heading-c{
	width: auto;
	margin-bottom:0;
}
.submit_btn button{
	font-size: 1.6rem;	
}
	
/* end @media */}