/* reset
   ========================================================================== */
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

dl {
  margin: 0;
  padding: 0; }
  dl dt {
    margin: 0;
    padding: 0; }
  dl dd {
    margin: 0;
    padding: 0; }

figure {
  margin: 0 0 0 0; }

/* Utility
   ========================================================================== */
.reset {
  line-height: 1.5rem;
  margin: 0;
  padding: 0; }

.clearfix {
  min-height: 1px; }
  .clearfix:after {
    content: " ";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    line-height: 0; }

.column2 ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap; }
  .column2 ul li {
    width: 49%;
    margin-top: 20px; }
    .column2 ul li:nth-child(-n+2) {
      margin-top: 0; }

.column3 ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap; }
  .column3 ul li {
    width: 32%;
    margin-top: 20px; }
    .column3 ul li:nth-child(-n+3) {
      margin-top: 0; }
    .column3 ul li:nth-child(3n+2):last-child {
      margin-left: auto;
      margin-right: 34%; }
  .column3 ul::after {
    content: "";
    display: block;
    width: 32%; }

.column4 ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap; }
  .column4 ul li {
    width: 23.5%;
    margin-top: 20px; }
    .column4 ul li:nth-child(-n+4) {
      margin-top: 0; }
  .column4 ul::before {
    content: "";
    display: block;
    width: 23%;
    order: 1; }
  .column4 ul::after {
    content: "";
    display: block;
    width: 23%; }

.column5 ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: wrap; }
  .column5 ul li {
    width: 18.4%;
    margin-top: 20px; }
    .column5 ul li:nth-child(-n+5) {
      margin-top: 0; }

/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/
/*** main 710px ***/
#gallery_list ul {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap; }
  #gallery_list ul li {
    width: -moz-calc(32% - 2px);
    width: -webkit-calc(32% - 2px);
    width: calc(32% - 2px);
    margin-right: 2%;
    margin-top: 15px;
    border: 1px solid silver; }
    #gallery_list ul li a {
      display: block;
      color: #333;
      text-decoration: none;
      padding: 10px;
      height: 100%; }
      #gallery_list ul li a:hover {
        background: #fff9df; }
      #gallery_list ul li a img {
        max-height: 180px; }
      #gallery_list ul li a dl {
        margin: 10px 0 0 0;
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-direction: row;
        flex-wrap: wrap;
        font-size: 14px;
        line-height: 21px;
        font-size: 0.875rem;
        line-height: 1.3125rem; }
        #gallery_list ul li a dl dt {
          width: 5em;
          text-align: right; }
        #gallery_list ul li a dl dd {
          width: -moz-calc(100% - 6em);
          width: -webkit-calc(100% - 6em);
          width: calc(100% - 6em);
          text-align: left; }
    #gallery_list ul li:nth-child(-n+3) {
      margin-top: 0; }
    #gallery_list ul li:nth-child(3n) {
      margin-right: 0; }
@media print, screen and (max-width: 1200px) {
  #gallery_list ul {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap; }
    #gallery_list ul li {
      width: 49%;
      margin-right: 0; }
      #gallery_list ul li a dl {
        margin: 10px auto 0 auto; }
        #gallery_list ul li a dl dt {
          text-align: left; }
      #gallery_list ul li:nth-child(3) {
        margin-top: 15px; } }
@media only screen and (max-width: 480px) {
  #gallery_list ul {
    display: block; }
    #gallery_list ul li {
      width: auto; }
      #gallery_list ul li:nth-child(2) {
        margin-top: 15px; } }
