@charset "utf-8";



/*-------------------------------------------------*/

.h1 {
  margin-top: -4.5px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
}
.h2 {
  margin-top: 50px;
  padding-bottom: 7px;
  border-bottom: 1px solid #22ac38;
  color: #22ac38;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.h3 {
  margin-top: 40px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
}
.h4 {
  margin-top: 34px;
  padding-left: 10px;
  border-left: 4px solid #22ac38;
  font-size: 20px;
  font-weight: bold;
}

/*-------------------------------------------------*/

#main_box {
  padding-bottom: 57px;
}

/*-------------------------------------------------*/

.content .type {
  margin-top: 12px;
}
.main_visual {
  margin-top: 24px;
}
.description {
  margin-top: 16px;
}
.description p {
  line-height: 1.8;
}
.description li {
  line-height: 1.4;
}
.description * + * {
  margin-top: 31px;
}
* + .news_image {
  margin-top: 26px;
}
h2 + .news_image,
h3 + .news_image,
h4 + .news_image {
  margin-top: 15px;
}
.news_image + * {
  margin-top: 28px;
}
.description li {
  margin-left: 2em;
  list-style: disc;
}
.description ol li {
  list-style: decimal;
}

.description li + li {
  margin-top: 5px;
}
.note {
  font-size: 15px;
}
.note p {
  margin-top: 0;
}
.fr_image {
  float: right;
  width: 385px;
  margin: 0 0 10px 20px;
  margin-top: 0;
}
.fl_image {
  float: left;
  margin-top: 0;
}
.link_txt {
  text-align: right;
}
.float_block {
  margin-top: 16px;
  padding: 20px 30px 30px;
  background: #fff;
}
.float_block .title {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}
.float_block .sub_title {
  margin: 12px 0 8px;
  font-size: 18px;
  line-height: 1;
}
.float_block th {
  background: #f7fcea;
}
.float_block .comment {
  color: #ea0437;
}
.link_txt a, {
  color: #22ac38;
  text-decoration: underline;
  text-align: right;
}
.description p a {
  color: #22ac38;
  text-decoration: underline;
}
.link_txt a:hover,
.description p a:hover {
  color: #ea0437;
  opacity: 1;
}

/*-------------------------------------------------*/

.table5 {
  table-layout: fixed;
}
.table_title {
  margin-top: 34px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}
p.table_title + * {
  margin-top: 10px;
}
table {
  width: 100%;
  border-collapse: collapse;
}
th,td {
  padding: 5px 0;
  border: 1px solid #000;
  background: #fff;
  text-align: center;
}
.main_head th{
  padding: 5px 0;
  text-align: center;
  background: #d6e7ad;
}
.sub_head th {
  padding: 5px 15px;
  background: #f7fcea;
}
.table1 .sub_head th {
  width: 30%;
  text-align: left;
}
.table4 td,
.table5 .txt {
  padding: 5px 15px;
  text-align: left;
}
.table4 .sub_head th {
  width: 100px;
}
.table5 .main_head th:first-child {
  width: 200px;
}
.table5 .icn {
  width: 60px;
}
.table5 .data {
  width: 130px;
}
.table5 .icn img {
  width: 30px;
}
.table6 {
  table-layout: fixed;
}
.table6 .category {
  width: 160px;
}
.table6 .pm {
  width: 200px;
}
.table6 td {
  padding: 5px 15px;
}

/*-------------------------------------------------*/

.uke_area {
  margin-top: 50px;
}
.uke_area .fl_image {
  width: 163px;
  margin: 0 10px 0 0;
}
.uke_area .fl_image + p {
  padding-top: 30px;
}
.uke_area #b_uke_bar0 {
  margin-top: 10px;
}
.uke_area .fr_area #b_uke_bar0 {
  margin-top: 0;
}

/*-------------------------------------------------*/

section#modal {
  padding: 20px 30px;
}
.overlay-title {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
}
.overlay-note {
  margin-top: 11px;
}

/*-------------------------------------------------*/

.pager {
  margin-top: 38px;
  text-align: center;
}
.pager a,
.pager span {
  display: inline-block;
  width: 36px;
  height: 36px;
  background: #fff;
  color: #22ac38;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 40px;
}
.pager .current {
  background: #22ac38;
  color: #fff;
}
.pager a:hover {
  color: #ea0437;
  opacity: 1;
}
.pager * + * {
  margin-left: 10px;
}

/*-------------------------------------------------*/

.spotlight {
  margin-top: 59px;
}
.spotlight .title {
  margin-top: 59px;
  padding: 18px 10px;
  background: #fff;
  border: 3px solid #22ac38;
  color: #22ac38;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
.spotlight .bold {
  font-size: 20px;
  font-weight: bold;
}
a.spot_link {
  color: #22ac38;
  font-size: 20px;
  font-weight: bold;
  text-decoration: underline;
}
a.spot_link:hover {
  color: #ea0437;
  opacity: 1;
}

/*-------------------------------------------------*/

.banner_area {
  margin-top: 17px;
}
.banner_area .float_banner li {
  float: left;
}
.banner_area .float_banner li + li {
  float: right;
}

/*-------------------------------------------------*/

.cv_area {
  margin-bottom: 38px;
}
.cv_area li + li {
  margin-top: 6px;
}
.cv_tel  {
  display: none;
}
.cv_area li a:hover {
  opacity: .7;
}


/* === スマホ用 === */

@media screen and (max-width: 640px) {
  .h1 {
    font-size: 154%;
  }
  .h2 {
    margin-top: 30px;
    font-size: 123%;
  }
  .h3 {
    margin-top: 24px;
    font-size: 108%;
  }
  .h4 {
    margin-top: 20px;
    padding-left: 10px;
    border-left: 2px solid #22ac38;
    font-size: 100%;
  }

  /*-------------------------------------------------*/

  #main {
    margin-bottom: 0;
  }
  #main_box {
    padding-bottom: 0;
  }
  .type .type_name {
    font-size: 100%;
  }
  .description {
    margin-top: 11px;
  }
  .description * + * {
    margin-top: 24px;
  }
  * + .news_image {
    margin-top: 18px;
  }
  h2 + .news_image,
  h3 + .news_image,
  h4 + .news_image {
    margin-top: 10px;
  }
  .news_image + * {
    margin-top: 16px;
  }
  .note {
    font-size: 90%;
  }
  .note p {
    margin-top: 5px;
  }
  .fr_image {
    width: 50%;
    margin: 0 0 5px 3%;
  }
  .float_block {
    margin-top: 8px;
    padding: 15px 5%;
  }
  .float_block .f_right,.f_left {
    float: none;
  }
  .float_block .f_right {
    margin-top: 20px;
  }
  .float_block .title,
  .float_block .sub_title {
    font-size: 108%;
  }

  /*-------------------------------------------------*/

  .table_block {
    overflow: scroll;
  }
  .table2 {
    width: 310%;
  }
  .table3 {
    width: 300%;
  }
  .table5 {
    width: 200%;
  }
  .table6 {
    width: 200%;
  }
  .table_title {
    margin-top: 24px;
    font-size: 108%;
  }
  .table_title span {
    display: block;
    line-height: 1.2;
  }
  .main_head th span {
    display: block;
  }
  th,td {
    padding: 5px 3%;
  }
  .table2 .main_head th:first-child {
    width: 12%;
  }
  .table4 .sub_head th {
    width: 30%;
  }
  .table4 td {
    vertical-align: top;
    padding: 5px 3%;
  }
  .table5 .main_head th:first-child {
    width: 30%;
  }
  .table5 .data {
    width: 20%;
  }
  .table5 .icn {
    width: 10%;
  }
  .table5 .icn img {
    width: 100%;
  }
  .table5 .txt {
    padding: 5px 3%;
  }
  .table6 .category {
    width: 25%;
  }
  .table6 .pm {
    width: 20%;
  }
  .table6 td {
    padding: 5px 3%;
  }

  /*-------------------------------------------------*/

  .uke_area {
    margin-top: 30px;
  }
  .uke_area .fl_image {
    width: 23%;
    margin: 0 3% 0 0;
  }
  .uke_area .fl_image + p {
    margin-left: 30%;
    padding-top: 0;
  }
  .uke_area .note {
    text-align: left;
  }

  /*-------------------------------------------------*/

  .overlay-content {
    padding: 20px 3%;
  }
  .overlay-content .close_top {
    width: 100%;
    margin: -46px -2% 22px 0;
  }
  .overlay-close img {
    width: 4%;
  }
  .overlay-title {
    margin-bottom: 11px;
    font-size: 115%;
    line-height: 1.4;
  }

  /*-------------------------------------------------*/

  section#modal {
    padding: 20px 3%;
  }

  /*-------------------------------------------------*/

  .pager {
    margin-top: 21px;
  }
  .pager a, .pager span {
    width: 27px;
    height: 27px;
    font-size: 113%;
    line-height: 27px;
  }

  /*-------------------------------------------------*/

  .spotlight {
    margin-top: 50px;
  }
  .spotlight .title {
    margin-top: 50px;
    padding: 10px 2%;
    border: 2px solid #22ac38;
    font-size: 15px;
  }
  .spot_link .description {
    margin-top: 13px;
  }
  a.spot_link {
    font-size: 14px;
  }
  .spotlight .description p + p {
    margin-top: 22px;
  }

  /*-------------------------------------------------*/

  .banner_area .float_banner li {
    width: 48%;
  }
  .banner_area .float_banner li + li {
    float: right;
  }

  /*-------------------------------------------------*/

  #side {
    float: none;
    display: block;
    width: 100%;
    margin-bottom: 0;
    padding: 35px 3%;
    box-sizing: border-box;
  }
  .category_list, .topics {
    display: none;
  }
  .side_list li a {
    display: block;
  }

  /*-------------------------------------------------*/

  .cv_area {
    margin: 0;
  }
  .cv_tel  {
    display: block;
  }
  .cv_area li + li {
    margin-top: 8px;
  }
}
