@charset "utf-8";

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
 トップページ
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

div#topMainImg {
  position: relative;
  padding: 0;
  width: 100%;
  height: auto;
}
div#topMainImg img {
  width: 100%;
  height: auto;
}
div#topMainImg_sp {
  display: none;
}

/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  div#topMainImg {
    display: none
  }
  div#topMainImg img,
  div#topMainImg_sp img {
    width: 100%;
    height: auto;
  }
  div#topMainImg_sp {
    position: relative;
    padding: 0;
    width: 100%;
    height: auto;
    display: block;
  }
}

@keyframes rotation{
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes fadeIn {
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}


/*==========================================
 News
===========================================*/
section#top_news {
  margin: 0 0 40px;
  padding: 50px 0 0;
}
div#top_news_inner {
  width: 900px;
  margin: 0 auto;
  padding: 0 0 35px;
}
section#top_news h2 {
  margin: 0 0 30px;
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  font-weight: 300;
  text-align: center;
}
section#top_news dl {
  margin: 0 0 40px;
  font-size: 1.6rem;
  line-height: 1.8;
  border-top: solid 1px #3ABF8C;
}
section#top_news dt {
  padding: 27px;
  float: left;
  position: relative;
}
section#top_news dt::after {
  width: 115px;
  border-radius: 15px;
  display: block;
  color: #FFF;
  font-size: 1.3rem;
  text-align: center;
  position: absolute;
  top: 27px;
  left: 12em;
  padding: 4px 0;
}
section#top_news dt.cate01::after { content: "お知らせ"; background: #CCC; }
section#top_news dt.cate02::after { content: "分科会・研究会"; background: #EBD020; }
section#top_news dt.cate03::after { content: "報告"; background: #3ABF8C; }

section#top_news dd {
  padding: 27px 27px 27px 18em;
  border-bottom: solid 1px #3ABF8C;
}
section#top_news a.toIndex {
  width: 200px;
  font-size: 1.8rem;
  padding: 8px 0 11px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #FFF;
  color: #3ABF8C;
  font-size: 1.8rem;
  font-weight: normal;
  border-radius: 30px;
  position: relative;
  line-height: 1.8;
  border: solid 1px #3ABF8C;
}
section#top_news a.toIndex:hover {
  color: #FFF;
  background: #3ABF8C;
  text-decoration: none;
  border: solid 1px #3ABF8C;
}
section#top_news a.toIndex span {
  position: relative;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
}
section#top_news a.toIndex:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 1px;
  bottom: 0;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #3ABF8C;
  border-right: 1px solid #3ABF8C;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}
section#top_news a.toIndex:hover:after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}

/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  section#top_news {
    margin: 0;
    padding: 15% 0 0;
  }
  div#top_news_inner {
    width: 90%;
    padding: 0 0 10%;
  }
  section#top_news h2 {
    margin: 0 0 10%;
    font-size: 2.0rem;
  }
  section#top_news dl {
    margin: 0 0 10%;
    font-size: 1.4rem;
  }
  section#top_news dt {
    padding: 15px 0 10px;
    float: none;
  }
  section#top_news dt::after {
    font-size: 1.3rem;
    top: 13px;
    left: 8em;
    padding: 4px 0;
  }
  section#top_news dd {
    padding: 0 0 15px;
  }
  section#top_news a.toIndex {
    padding: 3px 0 5px;
    font-size: 1.6rem;
  }
}

/*==========================================
 About
===========================================*/
section#top_about {
  padding: 50px 0 0;
  margin: 0 0 40px;
  background: #3ABF8C;
}
div#top_about_inner {
  width: 1100px;
  margin: 0 auto;
  padding: 0 0 35px;
}
section#top_about h2 {
  margin: 0 0 30px;
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  font-weight: 300;
  color: #FFF;
  line-height: 1.5;
  text-align: center;
}
section#top_about img {
  width: 100%;
  margin: 0 0 20px;
}
section#top_about p {
  margin: 0 0 20px;
  line-height: 2;
  font-size: 1.4rem
}
section#top_about #topAbout2Wrap {
  margin: 0 0 45px;
}
section#top_about .columnBlock01 {
  width: 480px;
  float: left;
}
section#top_about .columnBlock02 {
  width: 580px;
  float: right;
}
section#top_about .columnBlock02 p {
  color: #FFF;
  font-size: 1.8rem;
}
section#top_about a {
  width: 200px;
  font-size: 1.8rem;
  padding: 8px 0 11px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #FFF;
  color: #3ABF8C;
  font-size: 1.8rem;
  font-weight: normal;
  border-radius: 30px;
  position: relative;
  line-height: 1.8;
  border: solid 1px #3ABF8C;
}
section#top_about a:hover {
  color: #FFF;
  background: #3ABF8C;
  text-decoration: none;
  border: solid 1px #FFF;
}
section#top_about a span {
  position: relative;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
}
section#top_about a:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 1px;
  bottom: 0;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #3ABF8C;
  border-right: 1px solid #3ABF8C;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}
section#top_about a:hover:after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}

/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  section#top_about {
    padding: 50px 0 0;
    margin: 0;
  }
  div#top_about_inner {
    width: 90%;
    margin: 0 auto;
    padding: 0 0 35px;
  }
  section#top_about h2 {
    margin: 0 0 10%;
    font-size: 2.0rem;
    line-height: 1.5;
  }
  section#top_about img {
    margin: 0 0 10%;
  }
  section#top_about p {
    margin: 0;
    line-height: 1.8;
    font-size: 1.4rem
  }
  section#top_about #topAbout2Wrap {
    margin: 0 0 8%;
  }
  section#top_about .columnBlock01 {
    width: 100%;
    float: none;
  }
  section#top_about .columnBlock02 {
    width: 100%;
    float: none;
  }
  section#top_about .columnBlock02 p {
    font-size: 1.4rem;
  }
  section#top_about a {
    padding: 0 0 5px;
    font-size: 1.6rem;
  }
}

/*==========================================
 Information
===========================================*/
section#top_info {
  margin: 0 0 40px;
  text-align: center;
}
div#top_info_inner {
  width: 900px;
  margin: 0 auto;
  padding: 35px 0 35px;
}
section#top_info h2 {
  margin: 0 0 30px;
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  font-weight: 300;
  line-height: 1.5;
}
section#top_info img {
  width: 100%;
  margin: 0 0 20px;
}
section#top_info p {
  font-size: 1.8rem;
  line-height: 1.8;
  margin: 0 0 40px;
}
section#top_info a {
  width: 200px;
  font-size: 1.8rem;
  padding: 8px 0 11px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #FFF;
  color: #3ABF8C;
  font-size: 1.8rem;
  font-weight: normal;
  border-radius: 30px;
  position: relative;
  line-height: 1.8;
  border: solid 1px #3ABF8C;
}
section#top_info a:hover {
  color: #FFF;
  background: #3ABF8C;
  text-decoration: none;
  border: solid 1px #FFF;
}
section#top_info a span {
  position: relative;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
}
section#top_info a:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 1px;
  bottom: 0;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #3ABF8C;
  border-right: 1px solid #3ABF8C;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}
section#top_info a:hover:after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  section#top_info {
    margin: 0;
    text-align: left;
  }
  div#top_info_inner {
    width: 90%;
    padding: 10% 0;
  }
  section#top_info h2 {
    margin: 0 0 10%;
    font-size: 2.0rem;
    text-align: center;
  }
  section#top_info p {
    font-size: 1.4rem;
    margin: 0 0 10%;
  }
  section#top_info a {
    padding: 0 0 5px;
    font-size: 1.6rem;
  }
}



/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
 About
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
section#about {
  margin: 0 0 100px;
  padding: 100px 0 0;
}
div#about_inner {
  width: 800px;
  margin: 0 auto;
}
section#about_mean {
  margin: 0 0 100px;
}
section#about_mean img {
  width: 100%;
}
section#about_mean p {
  font-size: 1.6rem;
  line-height: 2.0;
  margin: 0 0 25px;
}
section#about_mean h3 {
  margin: 0 0 70px;
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
section#about_plan h3 {
  padding: 10px;
  margin: 0 0 20px;
  font-family: 'Noto Serif JP', serif;
  font-size: 2.2rem;
  font-weight: 300;
  color: #FFF;
  background: #3ABF8C;
  line-height: 1;
}
section#about_plan dl {
  margin: 0 0 40px;
  font-size: 1.6rem;
  line-height: 1.8;
}
section#about_plan dt {
  padding: 0 0 10px;
  color: #3ABF8C;
  font-size: 2.2rem;
}
section#about_plan dd {
  padding: 0 0 40px;
  font-size: 1.6rem;
}
/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  section#about {
    margin: 0;
    padding: 10% 0 0;
  }
  div#about_inner {
    width: 90%;
  }
  section#about_mean {
    margin: 0 0 10%;
  }
  section#about_mean p {
    font-size: 1.4;
    margin: 0 0 10%;
  }
  section#about_mean h3 {
    margin: 0 0 10%;
    font-size: 2.0rem;
  }
  section#about_plan h3 {
    padding: 10px;
    margin: 0 0 7%;
    font-size: 1.8rem;
  }
  section#about_plan dl {
    margin: 0;
  }
  section#about_plan dt {
    padding: 0 0 10px;
    color: #3ABF8C;
    font-size: 1.8rem;
  }
  section#about_plan dd {
    padding: 0 0 7%;
    font-size: 1.4rem;
  }
}


/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
 Info
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
section#information {
  margin: 0 0 100px;
  padding: 100px 0 0;
}
div#information_inner {
  width: 800px;
  margin: 0 auto;
}
table#memberType {
  width: 100%;
  margin: 0 0 10px;
  font-size: 1.6rem;
  border-top: solid 1px #E3E3E3;
}
table#memberType th {
  padding: 15px 20px;
  background: #E3E3E3;
  text-align: left;
  line-height: 1.8;
  vertical-align: middle;
  border-bottom: solid 1px #E3E3E3;
}
table#memberType td {
  padding: 15px 20px;
  line-height: 1.8;
  vertical-align: middle;
  border-bottom: solid 1px #E3E3E3;
}
.t_center { text-align: center; }
p.table_txt { text-align: right; }
#information section {
  margin: 0 0 50px;
}
#information section p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 20px;
}
#information section h3 {
  margin: 0 0 10px;
  font-size: 2.2rem;
  font-weight: 300;
  color: #3ABF8C;
}
#information section a.toApp {
  width: 330px;
  font-size: 2.2rem;
  padding: 18px 0;
  margin: 30px auto 45px;
  display: block;
  text-align: center;
  background: #3ABF8C;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: normal;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px;
  position: relative;
  line-height: 1;
  border: solid 1px #FFF;
}
#information section a.toApp:hover {
  color: #3ABF8C;
  background: #FFF;
  text-decoration: none;
  border: solid 1px #3ABF8C;
}
#information section a.toApp span {
  position: relative;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
}
#information section a.toApp:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 1px;
  bottom: 0;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}
#information section a.toApp:hover:after {
  border-top: 1px solid #3ABF8C;
  border-right: 1px solid #3ABF8C;
}
/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  section#information {
    margin: 0 0 10%;
    padding: 10% 0 0;
  }
  div#information_inner {
    width: 90%;
  }
  table#memberType {
    margin: 0 0 10px;
    font-size: 1.4rem;
  }
  table#memberType th {
    padding: 3% 5%;
  }
  table#memberType td {
    padding: 3% 5%;
  }
  .nowrap { white-space: nowrap; }
  #information section p.table_txt { text-align: left; font-size: 1.2rem; }
  #information section {
    margin: 0 0 10%;
  }
  #information section img {
    width: 100%;
  }
  #information section p {
    font-size: 1.4rem;
    margin: 0 0 7%;
  }
  #information section h3 {
    margin: 0 0 5%;
    font-size: 1.8rem;
  }
  #information section a.toApp {
    width: 270px;
    font-size: 1.9rem;
    padding: 10px 0;
    margin: 30px auto 45px;
    display: block;
    text-align: center;
    background: #3ABF8C;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: normal;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    position: relative;
    line-height: 1;
    border: solid 1px #FFF;
  }
  #information section a.toApp:hover {
    color: #3ABF8C;
    background: #FFF;
    text-decoration: none;
    border: solid 1px #3ABF8C;
  }
  #information section a.toApp span {
    position: relative;
    display: inline-block;
    padding: 0;
    vertical-align: middle;
  }
  #information section a.toApp:after {
    content: "";
    position: absolute;
    margin: auto;
    top: 1px;
    bottom: 0;
    right: 25px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
  }
  #information section a.toApp:hover:after {
    border-top: 1px solid #3ABF8C;
    border-right: 1px solid #3ABF8C;
  }
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
 News
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
/*==========================================
 News 一覧
===========================================*/
#news_index {
  margin: 0 0 100px;
  padding: 100px 0 0;
}
div#news_index_inner {
  width: 900px;
  margin: 0 auto;
  padding: 0 0 35px;
}
section#news_index h2 {
  margin: 0 0 80px;
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  font-weight: 300;
  text-align: center;
}
section#news_index dl {
  margin: 0 0 40px;
  font-size: 1.6rem;
  line-height: 1.8;
  border-top: solid 1px #3ABF8C;
}
section#news_index dt {
  padding: 27px;
  float: left;
  position: relative;
}
section#news_index dt::after {
  width: 115px;
  border-radius: 15px;
  display: block;
  color: #FFF;
  font-size: 1.3rem;
  text-align: center;
  position: absolute;
  top: 27px;
  left: 12em;
  padding: 4px 0;
}
section#news_index dt.cate01::after { content: "お知らせ"; background: #CCC; }
section#news_index dt.cate02::after { content: "分科会・研究会"; background: #EBD020; }
section#news_index dt.cate03::after { content: "報告"; background: #3ABF8C; }

section#news_index dd {
  padding: 27px 27px 27px 18em;
  border-bottom: solid 1px #3ABF8C;
}


/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  #news_index {
    margin: 0 0 10%;
    padding: 10% 0 0;
  }
  div#news_index_inner {
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }
  section#news_index h2 {
    margin: 0 0 10%;
    font-size: 2.0rem;
  }
  section#news_index dl {
    margin: 0 0 10%;
    font-size: 1.4rem;
  }
  section#news_index dt {
    padding: 15px 0 10px;
    float: none;
  }
  section#news_index dt::after {
    font-size: 1.3rem;
    top: 13px;
    left: 8em;
    padding: 4px 0;
  }
  section#news_index dd {
    padding: 0 0 15px;
  }
}


/*==========================================
 News 記事
===========================================*/
#news_entry {
  margin: 0 0 100px;
  padding: 100px 0 0;
}
div#news_entry_inner {
  width: 800px;
  margin: 0 auto;
  padding: 0 0 35px;
}
section#news_entry h2 {
  margin: 0 0 80px;
  font-size: 3.0rem;
  font-weight: 300;
  text-align: center;
}
section#news_entry p.date {
  font-size: 1.8rem;
  margin: 0 0 40px;
}
section#news_entry p.entryTitle {
  font-size: 2.4rem;
  line-height: 1.8;
  font-weight: 200;
  margin: 0 0 30px;
  color: #3ABF8C;
}
section#news_entry p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin: 0 0 30px;
}
section#news_entry img {
  width: 100%;
}
section#news_entry a.toIndex {
  width: 200px;
  font-size: 1.8rem;
  padding: 8px 0 11px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #FFF;
  color: #3ABF8C;
  font-size: 1.8rem;
  font-weight: normal;
  border-radius: 30px;
  position: relative;
  line-height: 1.8;
  border: solid 1px #3ABF8C;
}
section#news_entry a.toIndex:hover {
  color: #FFF;
  background: #3ABF8C;
  text-decoration: none;
  border: solid 1px #3ABF8C;
}
section#news_entry a.toIndex span {
  position: relative;
  display: inline-block;
  padding: 0;
  vertical-align: middle;
}
section#news_entry a.toIndex:after {
  content: "";
  position: absolute;
  margin: auto;
  top: 1px;
  bottom: 0;
  right: 25px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #3ABF8C;
  border-right: 1px solid #3ABF8C;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
}
section#news_entry a.toIndex:hover:after {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  #news_entry {
    margin: 0 0 10%;
    padding: 10% 0 0;
  }
  div#news_entry_inner {
    width: 90%;
    padding: 0;
  }
  section#news_entry h2 {
    margin: 0 0 10%;
    font-size: 1.8rem;
  }
  section#news_entry p.date {
    font-size: 1.4rem;
    margin: 0 0 10%;
  }
  section#news_entry p.entryTitle {
    font-size: 1.8rem;
    line-height: 1.8;
    font-weight: 200;
    margin: 0 0 30px;
    color: #3ABF8C;
  }
  section#news_entry p {
    font-size: 1.4rem;
    margin: 0 0 10%;
  }
  section#news_entry a.toIndex {
    width: 200px;
    font-size: 1.6rem;
    padding: 7px 0;
    margin: 0 auto;
    display: block;
  }
}

/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
 Privacy
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
#privacy_index {
  margin: 0 0 100px;
  padding: 100px 0 0;
}
div#privacy_index_inner {
  width: 900px;
  margin: 0 auto;
}
section#privacy_index dl {
  margin: 0 0 40px;
  font-size: 1.6rem;
  line-height: 1.8;
}
section#privacy_index dt {
  padding: 0 0 10px;
  color: #3ABF8C;
  font-size: 2.2rem;
}
section#privacy_index dd {
  padding: 0 0 40px;
  font-size: 1.6rem;
}
/* PC向けレイアウトの指定：981px以上では固定レイアウト */
@media only screen and (max-width: 767px) {
  #privacy_index {
    margin: 0;
    padding: 10% 0 0;
  }
  div#privacy_index_inner {
    width: 90%;
  }
  section#privacy_index dl {
    margin: 0;
  }
  section#privacy_index dt {
    padding: 0 0 10px;
    color: #3ABF8C;
    font-size: 1.8rem;
  }
  section#privacy_index dd {
    padding: 0 0 10%;
    font-size: 1.4rem;
  }
}
