@charset "utf-8";

/* 共通
------------------------------------------------------------ */
#maincontents-in{
  margin: auto;
}
#freearea{
  margin: 6em auto;
  background: #f5f5f5;
}
.freearea-in{
  padding: 4em 0;
}

@media screen and (min-width:521px) and ( max-width:1024px) {
  #maincontents-in {width: 100%;}

}
@media screen and (max-width: 520px) {
  #maincontents-in {width: 100%;}
  #freearea {margin: 3em auto;}

}

/* アーカイブ
------------------------------------------------------------ */
.archive #freearea dl{}
.archive #freearea .box{
  width: 80%;
  margin: 2em auto;
  background: #fff;
  padding: 1em 2em;
  border-radius: 20px;
}
.archive #freearea .box h3 {
    border-bottom: 1px solid #f59639;
    padding: 1em;
    margin-bottom: 1em;
}
.archive #freearea .box .box-in {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.archive #freearea .box .img {
    width: 40%;
}
.archive #freearea .box .txt {
    width: 55%;
    margin-left: 5%;
}
.archive #freearea .box .txt dl {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: 1px solid #cccccc;
    padding: 1em;
}
.archive #freearea .box .txt dt {
    width: 40%;
    font-weight: bold;
}
.archive #freearea .box .txt dd {
    width: 60%;
}
.archive #freearea .box .txt-btn {
    text-align: right;
}
.archive #freearea .box .txt-btn a {
    position: relative;
    font-weight: bold;
    transition: all 0.4s ease-in-out;
}
.archive #freearea .box .txt-btn a::before {
    content: "";
    position: absolute;
    top: 55%;
    left: -42%;
    transform: translateY(-55%);
    width: 35px;
    height: 1px;
    background: #878787;
    display: block;
    transition: all 0.4s ease-in-out;
}
@media screen and (min-width:521px) and ( max-width:1024px) {
  .archive #freearea .box {
      width: 95%;
      margin: 2em auto;
      padding: 1em 1em;
  }
}
@media screen and (max-width: 520px) {
  .archive #freearea .box {
      width: 95%;
      margin: 2em auto;
      background: #fff;
      padding: 1em 1em;
      border-radius: 20px;
  }
  .archive #freearea .box .img {
    width: 100%;
}
.archive #freearea .box .txt {
    width: 100%;
    margin-left: 0;
    font-size: 0.8em;
}
.archive #freearea .box .txt-btn a::before {
    top: 55%;
    left: -55%;
}
}
/* 詳細
------------------------------------------------------------ */
.detall #freearea{}
.detall #freearea .box{
    width: 90%;
    margin: 2em auto;
    background: #fff;
    padding: 1em 2em;
    border-radius: 20px;
  }
.detall #freearea .box h3 {
      border-bottom: 1px solid #f59639;
      padding: 1em;
      margin-bottom: 1em;
  }
.detall #freearea .box .img {
      width: 40%;
      margin: 3em 0;
  }
.detall #freearea .box .txt {
      width: 100%;
  }
.detall #freearea .box .txt dl {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: 1px solid #cccccc;
    padding: 2.5em 1em;
  }
  .detall #freearea .box .txt dt {
      width: 40%;
      font-weight: bold;
  }
  .detall #freearea .box .txt dd {
      width: 60%;
  }
  .detall .btn01{
  width: 30%;
  margin: 3em auto;
}
@media screen and (min-width:521px) and ( max-width:1024px) {
.detall .area-ttl .time {padding: 0.5em 0em 1em 1em;}
.detall #freearea {margin: 2em auto;}
.detall #freearea .box {
    width: 95%;
    margin: 0em auto;
    padding: 1em 1em;
}
.detall #freearea .box .img {
    width: 50%;
}
.detall #freearea .box .txt dl {
    padding: 2em 1em;
}
.detall .btn01 {width: 50%;}
}
@media screen and (max-width: 520px) {
  .detall .area-ttl {margin-top: 3em;}
  .detall .area-ttl .time {
    padding: 0.5em 0em 1em 1em;
    font-size: 0.8em;
}
.detall #freearea {
    font-size: 0.8em;
    min-height: 300px;
}
.detall #freearea .box {
    width: 95%;
    margin: 0em auto;
    padding: 1em 1em;
}
.detall #freearea .box .img {
    width: 100%;
    margin: 2em 0;
}
.detall #freearea .box .txt dl {
    padding: 1em 0em;
}
.detall #freearea .box .txt dt {
    width: 100%;
    padding: 1em;
    background: #f59639;
    color: #fff;
}
.detall #freearea .box .txt dd {
    width: 100%;
    padding: 1em;
}
.detall .btn01 {
    width: 100%;
}

}
