@charset "utf-8";

.contract_page a {
  text-decoration: underline;
}


/* 見出し */
.page_title{
  margin-bottom: 40px;
}

.page_subTitle{
  margin-bottom: 40px;
}

.rule_title{
  margin: 96px auto 24px;
}

.rule_subTitle{
  margin: 64px auto 24px;
}

.page_subTitle + .rule_title{
  margin-top: 40px;
}

.rule_title + .rule_subTitle{
  margin-top: 24px;
}

.rule_subTitle.-anchorLink{
  padding-top: 80px;
  margin: -16px auto 24px;
}


/* レイアウト */
#main_column{
  width: 1200px;
  margin: 0 auto 96px;
}

.olsguidelines dl{
  clear: both;
}

.olsguidelines dt {
  margin: 0;
  float: left;
  white-space: nowrap;
  width: 3.5em;
}

.olsguidelines dd {
  margin: 0 0 10px 3.5em;
}

.olsguidelines dd dl{
  margin-top: 10px;
}

.olsguidelines dt.-anchorLink,
.olsguidelines dt.-anchorLink + dd{
  padding-top: 70px;
  margin-top: -70px;
}

span.indent_list,
p.indent_list,
ul.indent_list li{
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}


/* grid
------------------------------*/
.grid {
  padding-bottom: 64px;
}

.grid_body {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.grid_cell {
  margin: 0 auto;
  min-height: 1px;
  position: relative;
  width: 100%;
}

.grid_cell p {
  margin: 0 0 40px;
  width: 100%;
}

.grid_cell-border {
  border-top: 1px dotted #ccc;
  margin-bottom: 1em;
  width: 100%;
}

.grid_cell-border dl {
  border-bottom: 1px dotted #ccc;
  display: flex;
  flex-wrap: nowrap;
  padding: 1em 0 0.25em;
}

.grid_cell-border dt {
  padding: 1em 0 0;
  width: 30%;
}

.grid_cell-border dt .ec-label {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 5px;
}

.grid_cell-border dd {
  line-height: 3;
  width: 70%;
}



@media screen and (max-width:768px){
  /* 見出し */
  .page_title{
    margin-bottom: calc(40/375*100vw);
  }

  .page_subTitle{
    margin-bottom: calc(40/375*100vw);
  }

  .rule_title{
    margin: calc(96/375*100vw) auto calc(20/375*100vw);
  }

  .rule_subTitle{
    margin: calc(64/375*100vw) auto calc(20/375*100vw);
  }

  .page_subTitle + .rule_title{
    margin-top: calc(40/375*100vw);
  }

  .rule_title + .rule_subTitle{
    margin-top: calc(20/375*100vw);
  }

  .rule_subTitle.-anchorLink{
    padding-top: calc(102/375*100vw);
    margin: calc(-38/375*100vw) auto calc(20/375*100vw);
  }


  /* レイアウト */
  #main_column{
    width: calc(335/375*100vw);
    margin: 0 auto;
  }

  .olsguidelines dl{
    clear: both;
  }

  .olsguidelines dt{
    margin: 0;
    float: left;
    white-space: nowrap;
    width: 3em;
  }

  .olsguidelines dt:empty{
    width: 0;
  }

  .olsguidelines dd{
    margin: 0 0 calc(8/375*100vw) 3em;
    width: 86%;
    width: calc(100% - 3em);
  }

  .olsguidelines dt.-anchorLink,
  .olsguidelines dt.-anchorLink + dd{
    padding-top: calc(62/375*100vw);
    margin-top: calc(-62/375*100vw);
  }

  .olsguidelines dd dl{
    margin-top: calc(8/375*100vw);
  }

  .olsguidelines dd dt {
    width: 3em;
  }

  .olsguidelines dd dd {
    margin: 0 0 calc(8/375*100vw) 3em;
    width: 84%;
    width: calc(100% - 3em);
  }

  span.indent_list,
  p.indent_list,
  ul.indent_list li{
    display: block;
    text-indent: -1em;
    padding-left: 1em;
  }

  p.day_rule.cb {
    padding-bottom: calc(96 / 375* 100vw);
  }


  /* Grid  */
  .grid {
    padding-bottom: calc(64 / 375* 100vw);
  }

  .grid_cell-border dt {
    padding: 0;
    width: 100%;
  }

  .grid_cell-border dl {
    flex-wrap: wrap;
  }

  .grid_cell-border dd {
    line-height: 1.5;
    padding: 0.5em 0 1em 0;
  }

  .grid_cell p {
    margin: 0 0 calc(40 / 375* 100vw);
  }

  .grid_cell-border dt .ec-label {
    margin-bottom: calc(5 / 375* 100vw);
  }

}
