@import url("reset.css");

html {
  font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body {
  font-size: 16px;
  color: #252525;
  background-image: linear-gradient(180deg, rgba(249, 249, 249, 1), rgba(255, 255, 255, 1) 30%);
}

.wrapper {
  width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 200px 800px;
}

nav {
  padding: 50px 0;
}
nav .logo {
  margin-bottom: 30px;
  text-align: center;
}
nav .logo img {
  width: 50px;
  margin-bottom: 10px;
  vertical-align: bottom;
}
nav .logo h1 {
  font-size: 18px;
  letter-spacing: 1px;
  line-height: 130%;
  text-shadow: 0 0 5px rgba(255,255,255,1);
  color: #001A49;
}
nav .logo h1 small {
  font-size: 16px;
}
nav .logo h1 b {
  margin-top: 15px;
  font-size: 30px;
  display: block;
}

nav ul {
  margin-bottom: 50px;
}
nav li {
  border-bottom: 1px dashed #CDD0D5;
}
nav li:last-child {
  border-bottom: none;
}
nav li a {
  padding: 15px 0;
  font-weight: bold;
  color: #001A49;
  text-decoration: none;
  display: block;
  text-align: center;
}
nav li a:hover {
  color: #2F858A;
}
nav .anniv130 {
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
nav .anniv130 a {
  border-radius: 5px;
  overflow: hidden;
  display: block;
}
nav .anniv130 a:hover {
  opacity: 0.7;
}
nav .anniv130 img {
  width: 100%;
  vertical-align: bottom;
}

main {
  padding-left: 50px;
}

main .main {
  width: 800px;
  margin-right: -50px;
  margin-bottom: 50px;
  border-radius: 10px;
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
  overflow: hidden;
}
main .main img {
  width: 100%;
  display: block;
  vertical-align: bottom;
}

main .link {
  margin: 18px 0;
  text-align: right;
}
main .link li {
  margin-left: 30px;
  text-align: right;
  display: inline-block;
}
main .link li a {
  padding-left: 20px;
  font-size: 13px;
  text-decoration: none;
  color: #001A49;
  display: block;
}
main .link li a:hover {
  color: #2F858A;
}
main .link .dousou {
  background: url(../images/imgIcon01.png) no-repeat;
}
main .link .univ {
  background: url(../images/imgIcon02.png) no-repeat;
}

main .menu {
  margin-bottom: 50px;
}
main .menu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
main .menu li {
  width: 360px;
}
main .menu li a {
  color: #252525;
  text-decoration: none;
  display: block;
}
main .menu li img {
  width: 100%;
  vertical-align: bottom;
}
main .menu li span {
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
  border-radius: 5px;
  overflow: hidden;
  display: block;
}
main .menu li dl {
}
main .menu li dt {
  margin-bottom: 15px;
  padding: 25px 0 15px 0;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
main .menu li dt:before {
  content: '';
  width: 100%;
  height: 3px;
  border-bottom: 2px solid #E5E8EC;
  position: absolute;
  bottom: 0;
  left: 0;
}
main .menu li dt:after {
  content: '';
  width: 50px;
  height: 2px;
  background-color: #001A49;;
  position: absolute;
  bottom: 0;
  right: 0;
}
main .menu li dt b {
  display: block;
  position: relative;
}
main .menu li dt b:after {
  content: '';
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #001A49;
  border-right: 2px solid #001A49;
  transform: translateY(-50%) rotate(315deg);
  transition: transform .3s;
  display: inline-block;
  position: absolute;
  top: 5px;
  right: 20px;
}
main .menu li dd {
  line-height: 150%;
}
main .main_title {
  margin-bottom: 50px;
  padding-top: 20px;
  font-size: 21px;
  font-weight: bold;
  color: #001A49;
  position: relative;
}
main .main_title:before {
  content: '';
  width: 30px;
  height: 3px;
  background-color: #001A49;
  position: absolute;
  top: 0;
  left: 0;
}

main .box {
  margin: 0 50px;
}
main .back {
  margin: 100px 0 50px 0;
  text-align: center;
}
main .back a {
  padding-top: 20px;
  color: #001A49;
  text-decoration: none;
  display: block;
  position: relative;
}
main .back a:after {
  content: '';
  width: 50px;
  height: 1px;
  margin-left: -25px;
  background-color: #001A49;
  position: absolute;
  top: 0;
  left: 50%;
}

main .page_title {
  margin-bottom: 50px;
  padding: 80px 0 80px 0;
  font-size: 40px;
  font-weight: bold;
  line-height: 100%;
  color: #001A49;
  text-align: center;
  position: relative;
}
main .page_title:before {
  content: '';
  width: 100px;
  height: 2px;
  margin-left: -50px;
  background-color: #001A49;
  position: absolute;
  bottom: 0;
  left: 50%;
}

footer {
  width: 1000px;
  margin: 30px auto;
  padding: 30px 0;
  border-top: 1px solid #D8D8D8;
}
footer table {
  margin: 0 auto;
}
footer th {
  padding-right: 20px;
}
footer td {
  padding-top: 5px;
  line-height: 130%;
}
footer small {
  margin-top: 10px;
  display: block;
  text-align: center;
}

.left {
  text-align: left !important;
}
.center {
  text-align: center !important;
}
.right {
  text-align: right !important;
}

.middle {
  vertical-align: middle !important;
}

.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb50 {
  margin-bottom: 50px;
}

.text {
  line-height: 160%;
}

.t_down {
  line-height: 160%;
  text-indent: 1em;
}

.section_title {
  margin-bottom: 30px;
  padding-bottom: 30px;
  font-size: 21px;
  font-weight: bold;
  color: #001A49;
  position: relative;
}
.section_title:before {
  content: '';
  width: 30px;
  height: 1px;
  background-color: #001A49;
  position: absolute;
  bottom: 0;
  left: 0;
}

.chairman {
  margin-bottom: 30px;
}
.chairman img {
  width: 100%;
}

.list {
}
  .list li {
    line-height: 150%;
    list-style: disc outside;
  }

/***** 会長あいさつ greetings/ *****/
.greetings {
}

  .greetings .chairman {
    margin-bottom: 30px;
  }
    .greetings .chairman .pict {
      margin-right: 30px;
      float: left;
    }
    .greetings .chairman .name {
      margin-top: 140px;
      float: left;
    }

    .greetings .memorial h5 {
      margin-bottom: 15px;
      font-size: 18px;
      font-weight: normal;
    }
    .greetings .memorial h6 {
      margin-bottom: 10px;
      font-weight: normal;
    }
    .greetings .memorial .list {
      margin-left: 30px;
    }
    .greetings .memorial .ml {
      margin-left: 85px;
    }

/***** 事務局だより report/ *****/
.reportBox {
}
  .reportBox h3 {
    margin-bottom: 25px;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    line-height: 130%;
    color: #001F22;
    background-color: #EBEDED;
    -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
  }
  .reportBox h4 {
    margin: 0 20px 25px 20px;
    text-align: right;
  }
  .reportBox h5 {
    margin-bottom: 15px;
  }
  .reportBox h6 {
    margin-bottom: 10px;
    font-weight: normal;
  }
  .reportBox .ele {
    margin: 0 20px 30px 20px;
  }
  .reportBox p {
    line-height: 170%;
  }
  .reportBox hr {
    margin: 25px 0;
    border-top: none;
    border-right: none;
    border-bottom: 1px dotted #BBBBBB;
    border-left: none;
  }

.report_main img {
  width: 100%;
}

.report_table {
  width: 100%;
}
.report_table th {
  padding: 3px 15px 3px 0;
  font-weight: normal;
  color: #515151;
  white-space: nowrap;
}
.report_table th, .report_table td {
  line-height: 180%;
  text-align: left;
  vertical-align: top;
}
.report_table td {
  padding: 3px 0 3px 0;
  line-height: 180%;
  vertical-align: top;
}

.address {
  margin-bottom: 50px;
  padding: 30px;
  border: 10px solid #E5E5E5;
  border-radius: 5px;
}
.address_title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}

.committee table {
}
  .committee table th {
    font-weight: normal;
    vertical-align: top;
    line-height: 190%;
  }
  .committee table td {
    padding-bottom: 20px;
  }

.award_title {
  margin-bottom: 10px;
  font-weight: bold;
}
.award_list {
  width: 100%;
  margin-bottom: 30px;
}
  .award_list li {
    padding: 10px 10px 10px 20px;
    font-weight: normal;
    line-height: 150%;
    vertical-align: top;
  }
  .award_list em {
    margin-left: -10px;
    font-size: 12px;
    color: #656565;
    display: block;
  }
  .award_list em:nth-child(even) {
    margin-top: 5px;
  }


/***** 本部の事業 project/ *****/
.project {
}
  .project h3 {
    margin-bottom: 30px;
    padding: 10px;
    color: #001F22;
    background-color: #EBEDED;
    -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
  }
  .project dl {
    margin-bottom: 30px;
  }
    .project dt {
      margin-bottom: 10px;
      font-weight: bold;
      line-height: 140%;
    }
    .project dd {
      margin: 0 0 20px 50px;
    }
  .project p {
    margin-bottom: 10px;
    display: block;
  }
  .project ul {
    margin: 0 0 15px 10px;
  }
    .project li {
      padding: 2px 0 2px 20px;
      line-height: 130%;
      background: url(../images/template/imgCircle_green01.png) no-repeat 0 3px;
    }
  .project table {
  }
    .project table th, .project table td {
      vertical-align: top;
      line-height: 170%;
    }
    .project table th {
    width:95px;
      padding-right: 20px;
    }

  .project .title {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #CCCCCC;
  }
  .project .co {
    margin: 0 0 25px 20px;
  }

  .project .plan_table {
    width: 100%;
    border: 1px solid #999999;
  }

    .project .plan_table th, .project .plan_table td {
      padding: 8px;
      border: 1px solid #999999;
    }

/***** 吾峰会役員 officer01/ *****/
.officer01 {
}

  .officer01 table {
    width: 100%;
  }
    .officer01 th, .officer01 td {
      padding: 3px 5px;
      font-size: 14px;
      letter-spacing: 0;
      line-height: 160%;
      border: 1px solid #BBBBBB;
      text-align: center;
    }
    .officer01 th {
      padding: 7px;
      background-color: #EEEEEE;
    }
    .officer01 td {
    }

  .officer01 .title {
    margin-bottom: 10px;
    font-weight: bold;
  }
  .officer01 .branch {
    margin-bottom: 25px;
  }
    .officer01 .branch a {
      padding-left: 15px;
      background: url(../images/template/imgCircle_green01.png) no-repeat;
    }
  .officer01 .post {
    margin-bottom: 10px;
    font-weight: bold;
  }


/***** 各支部だより officer/ *****/
.listTable {
  width: 100%;
  margin-top: 10px;
}
  .listTable th, .listTable td {
    padding: 5px 7px;
    text-align: center;
    line-height: 130%;
  }
  .listTable th {
    background-color: #EEEEEE;
    border: 1px solid #BBBBBB;
  }
  .listTable td {
    border: 1px solid #CCCCCC;
  }
.listTableMargin {
  margin-right: 14px;
}

.officePictureText {
  margin-top: 5px;
  text-align: center;
}

.imgRight {
  margin: 10px 0 20px 20px !important;
  float: right !important;
  text-align: center;
}
.imgLeft {
  margin: 10px 20px 20px 0 !important;
  float: left !important;
  text-align: center;
}

.li_c {
}
  .li_c li {
    padding: 0 0 0 17px;
    line-height: 150%;
    background: url(../images/template/imgCircle_green01.png) no-repeat 0 3px;
  }

.award {
  width: 570px;
  margin-bottom: 50px;
  padding: 10px;
  background-color: #D6E3E6;
  border: 3px double #B5CDD2;
  border-radius: 5px;
  box-sizing: border-box;
}
  .award table {
    margin-bottom: 20px;
  }
    .award th {
      width: 130px;
      vertical-align: top;
      line-height: 140%;
      font-weight: normal;
    }
    .award td {
      padding: 3px 5px;
      font-size: 15px;
      line-height: 140%;
      letter-spacing: -1pt;
      vertical-align: top;
    }


.branchBox {
  margin: 5px 0;
}
  .branchBox h3 {
    margin-bottom: 15px;
    padding: 10px;
    color: #001F22;
    background-color: #EBEDED;
    -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
  }
  .branchBox h4 {
    margin-bottom: 20px;
    padding: 5px;
    background: #B7BEC0;
    border: 1px solid #92989A;
    text-align: center;
    -webkit-border-radius: 5px;
       -moz-border-radius: 5px;
            border-radius: 5px;
  }
  .branchBox h5 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #CCCCCC;
  }

  .branchBox .historyTable table {
  }
    .branchBox .historyTable th {
    }
    .branchBox .historyTable td {
      padding: 0 0 5px 0 !important;
      line-height: 150%;
      vertical-align: top;
    }

  .branchBox .historyTable .dayTd {
    width: 4em;
    text-align: right;
  }
  .branchBox .historyTable .weekTd {
    width: 3em;
  }

  .branchBox .floatRight, .reportBox .floatRight {
    margin: 0 0 20px 20px;
    padding: 5px;
    border: 1px solid #CCCCCC;
    box-shadow: 1px 1px 1px #DDDDDD;
    float: right !important;
  }
  .branchBox .floatLeft, .reportBox .floatLeft {
    margin: 0 20px 20px 0;
    padding: 5px;
    border: 1px solid #CCCCCC;
    box-shadow: 1px 1px 1px #DDDDDD;
    float: left !important;
  }
  .branchBox .imgB, .reportBox .imgB {
    margin: 0 10px 20px 10px;
    padding: 5px;
    border: 1px solid #CCCCCC;
    box-shadow: 1px 1px 1px #DDDDDD;
  }

.branchList {
  margin-bottom: 20px;
  padding: 3px;
  background-color: #E5E5E5;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
}
  .branchList p {
    padding: 6px 10px 5px 10px;
    background-color: #FFFFFF;
    border-radius: 3px;
  }
.branch_link {
  margin-bottom: 20px;
  text-align: right;
}


.branchBox td{
  padding:5px;
}

.basicT {
  width: 100%;
}
  .basicT th, .basicT td {
    line-height: 130%;
  }
  .basicT th {
    padding: 7px;
    background-color: #EEEEEE;
    border: 1px solid #BBBBBB;
    text-align: center;
  }
  .basicT td {
    padding: 5px 7px !important;
    border: 1px solid #CCCCCC;
  }

.bulletinT {
  width: 100%;
}
  .bulletinT th, .bulletinT td {
    width: 25%;
    padding-bottom: 20px;
    text-align: center;
  }
.bulletin_list {
  width: 600px;
  margin: 0 auto 30px auto;
  overflow: hidden;
}
  .bulletin_list li {
    width: 150px;
    margin-bottom: 10px;
    text-align: center;
    float: left;
  }
  .bulletin_list img {
    margin-bottom: 5px;
  }
  .bulletin_list img:hover {
    opacity: 0.7;
  }


.photoB {
  padding-bottom: 10px !important;
}

.branchBox .title {
  margin-bottom: 25px;
  font-size: 21px;
  font-weight: bold;
}

.branchBox .activity {
}
  .branchBox .activity dt {
    margin-bottom: 5px;
    padding-left: 15px;
    font-weight: bold;
    background: url(../images/template/imgCircle_green01.png) no-repeat;
  }
  .branchBox .activity dd {
    margin: 0 0 15px 15px;
    line-height: 150%;
  }

.branchBox .meeting {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #CCCCCC;
}
  .branchBox .meeting table {
  }
    .branchBox .meeting th, .branchBox .meeting td {
      padding: 5px;
      vertical-align: top;
    }
    .branchBox .meeting td b {
      margin: 10px;
      color: #CC0000;
    }

.branchBox .policy {
  padding: 15px;
  border: 1px solid #CCCCCC;
}
  .branchBox .policy p {
    margin-bottom: 10px;
    font-weight: bold;
  }
    .branchBox .policy ol {
    }
      .branchBox .policy ol li {
        margin-left: 30px;
        line-height: 150%;
        list-style: decimal;
      }

.aizu_img{
  margin-right:10px;
  float:left;
}

.aizu_photo{
  text-align:center;
}

.dl_list {
}
.dl_list dt {
  padding: 1px 0 1px 15px;
  font-weight: bold;
  background: url(../images/template/imgCircle_green01.png) no-repeat 0;
  line-height: 160%;
}
  .dl_list dd {
    margin: 5px 0 10px 30px;
    line-height: 180%;
  }

.branchBox .disc li {
  padding-left: 15px;
  background: url(../images/template/imgCircle_green01.png) no-repeat center left;
  line-height: 160%;
}

.convention ul {
  padding: 10px;
  border: 2px solid #000000;
  border-radius: 6px;
}
  .convention ul li {
    margin-bottom: 5px;
    line-height: 160%;
  }
.convention ol {
  margin-left: 22px;
}
  .convention ol li {
    margin-left: 3em;
    text-indent: -3em;
  }

  .img_sub .sub {
    margin-top: 0;
  }
/***** 事務用紙ダウンロード download/ *****/
.download {
  margin-bottom: 50px;
}
  .download table {
    width: 100%;
    table-layout: fixed;
  }
    .download th, .download td {
      padding: 5px;
    }
    .download a {
      padding-left: 15px;
      position: relative;
    }
    .download a:before {
      content: '';
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px 0 6px 8px;
      border-color: transparent transparent transparent #001A49;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      margin: auto;
    }


.support {
  margin-bottom: 20px;
  padding: 3px;
  background-color: #E5E5E5;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
}
.supportInner {
  padding: 15px;
  background-color: #FFFFFF;
}
  .support p {
    margin-bottom: 5px;
    font-size: 12px;
  }
  .support ul {
  }
    .support li {
      font-size: 12px;
      line-height: 150%;
      color: #005D6B;
    }

/***** 吾峰会会則 rules/ *****/
.i01 {
  margin-left: 2rem;
  text-indent: -2rem;
  line-height: 180%;
}
.i02 {
  margin-left: 4rem;
  text-indent: -3rem;
  line-height: 180%;
}
.i03 {
  margin-left: 5rem;
  text-indent: -2rem;
  line-height: 180%;
}
.i04 {
  margin-left: 6rem;
  text-indent: -2rem;
  line-height: 180%;
}


.movie_main {
  margin: 50px 0;
  padding: 30px 0;
  background-color: #FFFFFF;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 0 5px rgba(0,0,0,0.15);
}
.movie_main img {
  vertical-align: bottom;
}

.movie_list {
  margin-bottom: 2em;
}
.movie_list .notice {
  margin: 0 0 3em 0;
  padding: 5px 0;
  color: #888888;
  border: 1px solid #888888;
  text-align: center;
}
.movie_list video {
  margin-bottom: 2em;
}
.movie_list .title {
  margin-bottom: 1em;
  font-weight: bold;
  line-height: 150%;
}
.movie_list .memo {
  margin: 0 0 1.5em 2em;
  color: #666666;
  line-height: 150%;
}

.rule_table {
  width: 100%;
  table-layout: fixed;
}
.rule_table td {
  padding: 5px 10px;
  line-height: 150%;
}

.info-link {
  color: #291ce8;
  font-weight: bold;
  text-decoration: underline;
}
.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 50px;
  line-height: 160%;
  border-radius: 10px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.popup h4 {
  margin-bottom: 15px;
  font-size: 20px;
}
.popup button {
  margin-top: 15px;
  text-align: right;
  display: block;
}
.popup.active {
  display: block;
}
.overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
}
.overlay.active {
  display: block;
}


.officer h3 {
  margin-bottom: 25px;
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  line-height: 130%;
  color: #001F22;
  background-color: #EBEDED;
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
          border-radius: 5px;
}
.officer ul {
  margin: 0 0 30px 10px;
}
  .officer li {
    padding: 2px 0 2px 20px;
    line-height: 130%;
    background: url(../images/template/imgCircle_green01.png) no-repeat 0 3px;
  }
