.topmessage { margin: 20px 0px 10px 0px; padding: 0px;}
.topmessage h1  {
  color: #00561F;/*文字色*/
  padding: 0.5em 0;/*上下の余白*/
  border-top: solid 3px #00561F;/*上線*/
  border-bottom: solid 3px #00561F;/*下線*/
    margin-bottom: 20px
}

.img-border { border: 1px solid #ccc;}
.border-t0 { border-top: 0px;}
.border-n { border: none;}
.border-b { border-bottom: 3px double #00561F;}
.green {color: #00561F; }
.green-b {color: #00561F; font-weight: bold; }
.bold { font-weight: bold;}
.red { color: #57000c;}
.l-green { color: #009938; }
.l-green-b { color: #009938; font-weight: bold; }
.txt-large { font-size: 1.5em;}
.txt-small { font-size: 0.8em;}
.txt-r{ text-align: right;}
.txt-r2{ text-align: right;}
.fl-r15 { float: right; width: 15%; margin: 5px 0px 0px 15px;}
.fl-r15 img { width: 100%;}

.fl-r20 { float: right; width: 20%; margin: 5px 0px 0px 15px;}
.fl-r20 img { width: 100%;}
.fl-r30 { float: right; width: 30%; margin: 5px 0px 0px 15px;}
.fl-r30 img { width: 100%;}
.fl-r50 { float: right; width: 40%; margin: 5px 0px 0px 15px;}
.fl-r50 img { width: 100%;}
.ml-60 { margin-left: 60px;}
.mt30 { margin-top:30px;}
.mt15 { margin-top:15px;}
.mt5 { margin-top:5px;}
.txt-center { text-align: center; }
.txt-mid { font-size: 1.2em; }
.txt-right { text-align: right;}
.txt-mid-light { font-size: 1em; font-weight: 400; }

.style-none { margin-top:0px; padding-top:0px; list-style: none;}
.mb0 { margin-bottom: 0px}

.img-center { width: 60%; text-align: center; margin: 0 auto}
.img-center .img60 { width: 100%; }

@media screen and (min-width: 480px) {
    .br-sp{ display: none;}

}

@media screen and (max-width: 768px) {
    h2 .txt-large { font-size: 1.1em;}
    .txt-r2 { font-size: 0.8em;}
        .fl-r50 { float: none; width: 100%; margin: 5px 0px 0px 0px;}
}

@media screen and (max-width: 480px) {
    h2 .txt-large { font-size: 0.8em;}
    .img-center { width: 100%; text-align: center; margin: 0 auto}
    .img-center .img60 { width: 100%; }
    .br-pc{ display: none;}
    .fl-r50 { float: none; width: 100%; margin: 5px 0px 0px 0px;}
    .fl-r30 { float: none; width: 100%; margin: 5px 0px 0px 0px;}
    .fl-r20 { float: none; width: 100%; margin: 5px 0px 0px 0px;}
    .fl-r15 { float: none; width: 100%; margin: 5px 0px 0px 0px;}

}

ol.ranking{
  counter-reset:list;
  list-style-type:none;
  padding:0;
}
ol.ranking li{
  position:relative;
  margin: 7px 0 7px 0px;
  padding-left:43px;
  font-weight: bold;
  font-size:16px;
  line-height: 30px;
  color: #756C67;
}
ol.ranking li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: 0px;
  width: 30px;
  height: 30px;
  text-align: center;
  color: #fff;
  line-height:30px;
  background: #756C67;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
ol.ranking li:after{
  content:"";
  display: block;
  position: absolute;
  left: 30px;
  height: 0;
  width: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #756C67;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

ol.ranking li a { border-bottom:none;}

/* features22 */
.features2 {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -3em;
  width: calc(100% + 3em); }
  .features2 article {
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    margin: 0 0 3em 3em;
    position: relative;
    width: calc(100% - 3em); }
    .features2 article:nth-child(2n - 1) {
      margin-right: 1.5em; }
    .features2 article:nth-child(2n) {
      margin-left: 1.5em; }
    .features2 article:nth-last-child(1), .features2 article:nth-last-child(2) {
      margin-bottom: 0; }
    .features2 article .icon {
      -moz-flex-grow: 0;
      -webkit-flex-grow: 0;
      -ms-flex-grow: 0;
      flex-grow: 0;
      -moz-flex-shrink: 0;
      -webkit-flex-shrink: 0;
      -ms-flex-shrink: 0;
      flex-shrink: 0;
      display: block;
      height: 10em;
      line-height: 10em;
      margin: 0 2em 0 0;
      text-align: center;
      width: 10em; }
      .features2 article .icon:before {
        color: #006400;
        font-size: 2.75rem;
        position: relative;
        top: 0.05em; }
      .features2 article .icon:after {
        -moz-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        border-radius: 0.25rem;
        border: solid 2px rgba(210, 215, 217, 0.75);
        content: '';
        display: block;
        height: 7em;
        left: 50%;
        margin: -3.5em 0 0 -3.5em;
        position: absolute;
        top: 50%;
        width: 7em; }
    .features2 article .content {
      -moz-flex-grow: 1;
      -webkit-flex-grow: 1;
      -ms-flex-grow: 1;
      flex-grow: 1;
      -moz-flex-shrink: 1;
      -webkit-flex-shrink: 1;
      -ms-flex-shrink: 1;
      flex-shrink: 1;
      width: 100%; }
      .features2 article .content > :last-child {
        margin-bottom: 0; }
  @media screen and (max-width: 980px) {
    .features2 {
      margin: 0 0 2em 0;
      width: 100%; }
      .features2 article {
        margin: 0 0 3em 0;
        width: 100%; }
        .features2 article:nth-child(2n - 1) {
          margin-right: 0; }
        .features2 article:nth-child(2n) {
          margin-left: 0; }
        .features2 article:nth-last-child(1), .features2 article:nth-last-child(2) {
          margin-bottom: 3em; }
        .features2 article:last-child {
          margin-bottom: 0; }
        .features2 article .icon {
          height: 8em;
          line-height: 8em;
          width: 8em; }
          .features2 article .icon:before {
            font-size: 2.25rem; }
          .features2 article .icon:after {
            height: 6em;
            margin: -3em 0 0 -3em;
            width: 6em; } }
  @media screen and (max-width: 480px) {
    .features2 article {
      -moz-flex-direction: column;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-align-items: -moz-flex-start;
      -webkit-align-items: -webkit-flex-start;
      -ms-align-items: -ms-flex-start;
      align-items: flex-start; }
      .features2 article .icon {
        height: 6em;
        line-height: 6em;
        margin: 0 0 1.5em 0;
        width: 6em; }
        .features2 article .icon:before {
          font-size: 1.5rem; }
        .features2 article .icon:after {
          height: 4em;
          margin: -2em 0 0 -2em;
          width: 4em; } }
  @media screen and (max-width: 480px) {
    .features2 article .icon:before {
      font-size: 1.25rem; } }

ol.news{
  counter-reset:list;
  list-style-type:none;
  font: 14px/1.6 'arial narrow', sans-serif;
  padding:0;
}
ol.news li{
  position:relative;
  padding: 0 0 0 20px;
  margin: 7px 0 7px 0px;
  font-weight: bold;
  font-size:14px;
  line-height: 30px;
  border-bottom: dashed 1px #F6A38B;
}
ol.news li:before{
  counter-increment: list;
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 15px;
  width: 15px;
  border-radius: 50%;
  background: #F6A38B;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
ol.news li:after{
  content: "";
  display: block;
  position: absolute;
  left: 6px;
  height: 0;
  width: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #fff;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}



ul.list1{
  padding: 10px 10px 20px;
  color: #448ccb;
  list-style: none;
}
ul.list1 li{
  position: relative;
  line-height: 30px;
  padding-left: 20px;
  font-weight: bold;
  border-bottom: dashed 1px #448ccb;
}
ul.list1 li:before{
  content: "▶︎";
  position: absolute;
  left: 0px;
}

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #00b441;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
    border-bottom:none;
}
#page_top a::before{
font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

img{
-webkit-backface-visibility: hidden;
}
.story { width:100%; float:left; clear:both;}
.story dt{margin: 15px 0px 5px 0px}
.story dd { margin:0px; }

.clear { clear: both;}

.border-t { border-top: 4px double #ccc; margin-top: 30px; padding-top: 50px;}

.topmessage dl { width:100%; padding:0px 0px 20px 0px;}
.topmessage dt { float:left; width:75%; margin:0px 15px 0px 0px;}
.topmessage dd { margin:0px; padding: 0px; width:15%; float: left;}
.topmessage img { width:100%;}

.banner dl { width:100%; padding:0px 0px 20px 0px;}
.banner dt { float:left; width:70%; margin:0px 15px 0px 0px; font-weight: 400;}
.banner dd { margin:0px; padding: 0px; width:25%; float: left;}
.banner img { width:100%;}

#about3 dl { width:100%; padding:0px 0px 20px 0px;}
#about3 dt { float:left; width:15%; margin:0px 15px 0px 0px; font-weight: 400; padding-top: 10px; color: #5B5656;}
#about3 dd { margin:0px; padding: 10px; width:80%; float: left; color: #5B5656;}


  @media screen and (max-width: 480px) {
    .topmessage dt { float:none; width:100%; margin:0px 0px 15px 0px;}
    .topmessage dd { margin:0px; padding: 0px; width:100%; float: none;}
    .banner dt { float:none; width:100%; margin:0px 0px 15px 0px; font-weight: 400;}
    .banner dd { margin:0px; padding: 0px; width:100%; float: none;}
    #about3 dt { float:none; width:100%; margin:15px 0px 0px 0px; font-weight: bold;}
    #about3 dd { margin:0px; padding: 0px; width:100%; float: none;}

}

#melmaga img { max-width:300px; margin-top:30px;}

/* アコーディオン */
.ac-container{
    width: auto;
    margin: 30px auto;
}
.ac-container label{
    width: 200px;
    text-align: center;
    background: #f366a3;
    margin: auto;
    padding: 10px 5px;
    position: relative;
    display: block;
    height: 40px;
    cursor: pointer;
    color: #fff;
	border-radius: 30px;
}
.ac-container label:hover{
    background: rgba( 255, 155, 155, 0.55 );
    -webkit-transition: all .3s;
    transition: all .3s;
}
.ac-container label:after{
 color: #fff;
    font-family:"FontAwesome";
    content:"\f067";
}
.ac-container input:checked ~ label::after {
 color: #fff;
   font-family:"FontAwesome";
   content:"\f068";
}
.ac-container input{
   display: none;
}
.ac-container div{
   background: rgba(255, 255, 255, 0.5);
   margin-top: -1px;
   overflow: hidden;
   height: 0px;
   position: relative;
   z-index: 10;
   transition: 
   height 0.3s ease-in-out, 
   box-shadow 0.6s linear;
}
.ac-container input:checked ~ div{
   transition: 
   height 0.5s ease-in-out, 
   box-shadow 0.1s linear;
   box-shadow: 0px 0px 0px 1px rgba(155,155,155,0.3);
}
.ac-container div p{
   line-height: 1,6;
   font-size: 14px;
   padding: 5px 10px;
}
.ac-container div h4{
   line-height: 1,6;
   font-size: 13px;
   padding: 20px 10px 0px 10px;
	font-weight: bold;
}
/* 高さの定義 */
.ac-container input:checked ~ div.ac-small{
   height: auto;
}
.ac-container input:checked ~ div.ac-medium{
   height: 200px;
}
.ac-container input:checngked ~ div.ac-large{
   height: 300px;
}

#sign2 dl { width: 100%;}
#sign2 dt { width:10%; font-weight: bold; }
#sign2 dd { width: 40%; text-align:left; line-height:2.0; padding-bottom:20px;}
#sign2 dd img { width:80%;}
.fl-r45 { float: right; width: 45%; }
#sign2 p img { width: 80%; text-align: center;}
#sign2 .center { text-align: center;}

@media screen and (max-width: 480px) {
    #sign2 dt { width:100%; margin-top: 30px; float: none;}
#sign2 dd { width:100%; text-align:left; line-height:2.0; padding-bottom:20px;}
#sign2 dd img { width:100%;}
.fl-r45 { float: none; width: 100%; }
    #sign2 p img { width: 100%;}
}

.level {background: #09530B; color: #FFF; text-align: center; padding: 5px; border-radius: 5px; font-size:16px; font-weight:bold;}
.pb50 { padding-bottom: 50px;}

/* Posts-seminar */
.posts-seminar {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2em -6em;
  width: calc(100% + 6em); }
  .posts-seminar article {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    margin: 0 0 6em 6em;
    position: relative;
    width: calc(99% - 6em); }
    .posts-seminar article:before {
      background: rgba(210, 215, 217, 0.75);
      content: '';
      display: block;
      height: calc(100% + 6em);
      left: -3em;
      position: absolute;
      top: 0;
      width: 1px; }
    .posts-seminar article:after {
      background: rgba(210, 215, 217, 0.75);
      bottom: -3em;
      content: '';
      display: block;
      height: 1px;
      position: absolute;
      right: 0;
      width: calc(100% + 6em); }
    .posts-seminar article > :last-child {
      margin-bottom: 0; }
    .posts-seminar article .image {
      display: block;
      margin: 0 0 2em 0; }
      .posts-seminar article .image img {
        display: block;
        width: 100%; }
  @media screen and (min-width: 1681px) {
    .posts-seminar article:nth-child(3n + 1):before {
      display: none; }
    .posts-seminar article:nth-child(3n + 1):after {
      width: 100%; }
    .posts-seminar article:nth-last-child(1), .posts-seminar article:nth-last-child(2), .posts-seminar article:nth-last-child(3) {
      margin-bottom: 0; }
      .posts-seminar article:nth-last-child(1):before, .posts-seminar article:nth-last-child(2):before, .posts-seminar article:nth-last-child(3):before {
        height: 100%; }
      .posts-seminar article:nth-last-child(1):after, .posts-seminar article:nth-last-child(2):after, .posts-seminar article:nth-last-child(3):after {
        display: none; } }
  @media screen and (max-width: 1680px) {
    .posts-seminar article {
      width: calc(50% - 6em); }
      .posts-seminar article:nth-last-child(3) {
        margin-bottom: 6em; } }
  @media screen and (min-width: 481px) and (max-width: 1680px) {
    .posts-seminar article:nth-child(2n + 1):before {
      display: none; }
    .posts-seminar article:nth-child(2n + 1):after {
      width: 100%; }
    .posts-seminar article:nth-last-child(1), .posts-seminar article:nth-last-child(2) {
      margin-bottom: 0; }
      .posts-seminar article:nth-last-child(1):before, .posts-seminar article:nth-last-child(2):before {
        height: 100%; }
      .posts-seminar article:nth-last-child(1):after, .posts-seminar article:nth-last-child(2):after {
        display: none; } }
  @media screen and (max-width: 736px) {
    .posts-seminar {
      margin: 0 0 2em -4.5em;
      width: calc(100% + 4.5em); }
      .posts-seminar article {
        margin: 0 0 4.5em 4.5em;
        width: calc(50% - 4.5em); }
        .posts-seminar article:before {
          height: calc(100% + 4.5em);
          left: -2.25em; }
        .posts-seminar article:after {
          bottom: -2.25em;
          width: calc(100% + 4.5em); }
        .posts-seminar article:nth-last-child(3) {
          margin-bottom: 4.5em; } }
  @media screen and (max-width: 480px) {
    .posts-seminar {
      margin: 0 0 2em 0;
      width: 100%; }
      .posts-seminar article {
        margin: 0 0 4.5em 0;
        width: 100%; }
        .posts-seminar article:before {
          display: none; }
        .posts-seminar article:after {
          width: 100%; }
        .posts-seminar article:last-child {
          margin-bottom: 0; }
          .posts-seminar article:last-child:after {
            display: none; } }

.button003 a {
    background: #366A14;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 260px;
    padding: 10px 25px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button003 a:hover {
    background: #B9E7CC;
    color: #FFF;
}
.button003 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button003 a:hover:after {
    border-color: #FFF;
}
.pad-t20{ padding-top:20px;}


/*スライダー001*/
.slider-001 {
  width: 100%;
  position: relative;
  margin: 0 auto 30 auto;
  overflow: hidden;
  display: flex;
  border-radius: 6px;

}

.slide-001 {
  width: 100%;
  flex-shrink: 0;
  position: relative;
    text-align: center;
  top: 10;
  left: 0;
  transition: all 0.6s ease-in-out;
}

.slide-content-001 {
  width: 100%;
  background-color: #e2fae1;
}

.slide-content-001 img {
  width:80%;
  height: 80%;
    margin-top: 15px;
    margin-bottom: 30px
}

.prev-001,
.next-001 {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  height: 65px;
  padding: 16px;
  margin-top: -28px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: all 0.2s ease;
  border-radius: 0 4px 4px 0;
  user-select: none;
}

.next-001 {
  right: 0;
  border-radius: 4px 0 0 4px;
}

.prev-001:hover,
.next-001:hover {
  background-color: rgba(51, 153, 51, 0.8);
}

.slide-caption-001 {
  color: white;
  font-size: 15px;
  padding: 0;
  position: absolute;
  bottom: 31px;
  width: 100%;
  text-align: center;
}

.numbertext {
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 8px 16px;
  position: absolute;
  top: 0;
}

.dots {
  height: 15px;
  padding: 0;
  position: absolute;
  bottom: 22px;
  width: 100%;
  text-align: center;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 10px 4px;
  background-color: white;
  border-radius: 50%;
  display: inline-block;
  transition: all 0.2s ease;
}

.dot:hover {
  background-color: rgba(51, 153, 51, 0.8);
}

#sign3 dt {width:55%;}
#sign3 dt img {width:100%;}
#sign3 dd {width:40%;}

@media screen and (max-width: 736px) {
#sign3 dt {width:100%;}
#sign3 dt img {width:100%;}
#sign3 dd {width:100%;}
}

.social { text-align:center; margin-top:40px;}

.column_li {list-style: none; margin-left: 0px; padding-left: 0px; padding-left: 1em; text-indent: -1.3em;}
.column_minititle {background: #00561F; padding: 5px; color: #FFF; border-radius: 5px;}
.indent-1 {
	padding-left:1em;
	text-indent:-1em;
}

#kodawa .logo1 { max-width: 100px;}
#kodawa .logo2 { max-width: 100%;}
#kodawa .logo3 { width: 30%;}
#kodawa dt { width: 40%;}
#kodawa dd { width: 50%; text-align: center; padding-top: 90px;}
#kodawa h2 { float: left; padding-top:25px;}

  @media screen and (max-width: 480px) {
      #kodawa h2 { float: left; padding-top:5px;}
      #kodawa .logo1 { max-width: 50px;}
      #kodawa h3 {font-size: 14px; line-height: 1.6; clear: both;}
      #kodawa .logo2 { max-width: 80%;}
      #kodawa .logo3 { width: 50%;}
#kodawa dt { width: 100%; text-align: center; float: none;}
#kodawa dd { width: 100%; text-align: left; padding-top: 0px; float: none;}
}
#phasefree .logo1 { max-width: 100px;}
#phasefree .logo2 { max-width: 100%;}
#phasefree .logo3 { width: 30%;}
#phasefree dt { width: 40%;}
#phasefree dd { width: 50%; text-align: let; padding-top: 30px; color: #5B5656;}
#phasefree h2 { float: left; padding-top:25px;}
#phasefree a { text-decoration: none; border: none;}
  @media screen and (max-width: 480px) {
      #phasefree h2 { float: left; padding-top:5px;}
      #phasefree .logo1 { max-width: 50px;}
      #phasefree h3 {font-size: 14px; line-height: 1.6; clear: both;}
      #phasefree .logo2 { max-width: 80%;}
      #phasefree .logo3 { width: 50%;}
#phasefree dt { width: 100%; text-align: center; float: none;}
#phasefree dd { width: 100%; text-align: left; padding-top: 10px; float: none;}
}

.book {width: 30%; margin-top: 5px; margin-left: -30px;}
  @media screen and (max-width: 480px) {
      .book {width: 80%; margin-top: 5px; margin-left: 0px;}
}