body {
  padding: 3rem 3rem 0rem 3rem;
  background-image: url(../img/main_back.jpg);
}
main {
  padding-top: 4rem;
}
.gwrap,
#news ul,
#copy_r small {
  margin: 0 auto;
}
main .wrap,
#f_link ul,
#news ul li {
  display: flex;
}
.gwrap {
  background-color: #fff;
  max-width: 1200px;
}
.wrap {
  justify-content: center;
}

h1 {
  text-align: center;
  margin: 0 auto;
  padding: 2rem 0 1rem 0;
  font-size: 50px;
}
h2 {
  background-color: #42bdd8;
  color: #fff;
  margin-bottom: 1rem;
  padding-left: 2rem;
  line-height: 36px;
  position: relative;
}

#content h2::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 6px;
  height: 28px;
  background-color: #fff100;
  left: 14px;
  top: calc(50% - 14px);
}
h3,
h4 {
  margin-bottom: 0.2rem;
}
p {
  overflow-wrap: break-word;
  margin-bottom: 1rem;
}
#gaiyo a,
#jimk a {
  display: inline-block;
}

/* 
サイドメニュー
 */
#side {
  width: 300px;
  box-shadow: 0px 0px 7px 2px rgba(0, 0, 0, 0.35);
  padding: 2rem 1rem;
}
#content {
  width: 750px;
  margin-left: 24px;
}
#side h2 {
  padding-left: 1rem;
}
#side .item {
  margin-left: 0.5rem;
}
#side .name {
  font-weight: 500;
  font-size: 24px;
  margin-bottom: 0;
}

#menu a._pin {
  background-color: #42bdd8;
  color: #fff;
}
/* メニュー */
#news ul {
  height: 120px;
  overflow: scroll;
  scrollbar-width: none;
}
#menu ul li {
  border-bottom: solid 1px;
}
#menu ul li:first-of-type {
  border-top: solid 1px;
}
#menu ul li a {
  padding: 0.8rem 0.5rem;
  font-weight: 500;
}
#menu ul li a::before {
  content: "";
  display: inline-block;
  width: 6.5px;
  height: 13px;
  background-image: url(../img/mark-001.png);
  background-size: contain;
  margin-right: 0.4rem;
  margin-bottom: 3px;
  vertical-align: middle;
}
#menu ul li a._pin::before {
  background-image: url(../img/mark-002.png);
}
#menu ul li a:hover::before {
  background-image: url(../img/mark-002.png);
}
#menu ul li a:hover {
  background-color: #42bdd8;
  opacity: 1;
  color: #fff;
}
#s_link {
  margin-bottom: 10rem;
}
#s_link p {
  text-align: center;
}
#s_link ul li {
  margin-bottom: 2rem;
}

/* ファーストビュー */
#fst_view {
  width: 1080px;
  margin: 0 auto;
}

/* 会長挨拶 */
#greet .sign {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
#greet ._prof {
  display: flex;
  margin-bottom: 1rem;
  justify-content: flex-end;
}

#greet ._name {
  align-self: flex-end;
  margin-left: 1rem;
}
/* infomation */
#news ul {
  max-width: 720px;
}
#news ul li {
  border-bottom: 1px dotted;
  padding: 0.5rem 1rem;
}
#news ul p {
  font-weight: 400;
  margin-bottom: 0;
}
#news ul a {
  margin-left: 2rem;
}
#greet .sign p:nth-of-type(2) {
  font-size: 0.8rem;
}

/* 開催概要 */
#gaiyo p {
  margin-bottom: 2rem;
}

/* フッターリンク */
#f_link {
  background-color: #898989;
}
#f_link ul {
  justify-content: center;
  padding: 1.5rem;
}
#f_link ul a {
  color: #fff;
  margin: 0 1rem;
  font-size: 0.8rem;
}
#f_link ul li {
  border-right: 1px solid #fff;
}

/* コピーライト */
#copy_r {
  text-align: center;
  padding: 1rem;
}
#copy_r small {
  color: #fff;
}

/* パーツ */
a._btn {
  position: relative;
  background: linear-gradient(90deg, rgba(246, 171, 0, 1) 9%, rgba(255, 241, 0, 1) 96%);
  color: #333;
  font-size: 14px;
  font-weight: bold;
  padding: 0.5rem 2.5rem;
  display: inline-block;
}
a._btn::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 1rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 7px solid #333;
  border-right: 0;
}
