@charset "utf-8";
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  overflow-y: scroll;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  font-size: .875em;
  font-size: 14px;
  font-family: "Open Sans", "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 150%;
  word-wrap: break-word;
  color: var(--text);
  background-color: #fff;
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6 {
  clear: both;
}
ol, ul {
  list-style: none;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}
.clearfix::after, section::after, article::after, #gnavi::after, #contentsmain::after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}
a {
  color: var(--text);
  text-decoration: none;
  transition: all 0.3s ease;
  outline: none;
}
a:focus {
  outline: none;
}
img {
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
  -webkit-transition: .3s ease all;
  -moz-transition: .3s ease all;
  -o-transition: .3s ease all;
  transition: .3s ease all;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
}
figure {
  margin: 0;
}
figure img {
  width: 100%;
}
input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
input:focus {
  outline: none;
}
input:focus::after {
  outline: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
audio, canvas, video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
}
del {
  color: #333;
}
ins {
  background: #fff9c0;
  text-decoration: none;
}
hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin: 24px;
  margin-bottom: 1.714285714rem;
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -.5em;
}
sub {
  bottom: -.25em;
}
small {
  font-size: smaller;
}
/* -- ul,li -- */
ul, li {
  list-style: none;
  line-height: 1.8;
}
/* -- dl -- */
dl dt {
  clear: both;
  float: left;
}
/* -- em -- */
em {
  color: #999;
  font-size: .8em;
  font-weight: normal;
  font-style: normal;
}
/* -- text -- */
.kaiki {
  color: red;
  font-size: 15px;
}
.textleft, div.textleft {
  text-align: left;
}
.textright, div.textright {
  text-align: right;
}
.textcenter, div.textcenter {
  text-align: center;
}
.cancel_sche {
  text-decoration: line-through;
}
/* -- margin -- */
.ml_0 {
  margin-left: 0px !important;
}
.ml_10 {
  margin-left: 10px !important;
}
.ml_20 {
  margin-left: 20px !important;
}
.ml_30 {
  margin-left: 30px !important;
}
.mt_0 {
  margin-top: 0px !important;
}
.mt_10 {
  margin-top: 10px !important;
}
.mt_20 {
  margin-top: 20px !important;
}
.mt_30 {
  margin-top: 30px !important;
}
.mr_0 {
  margin-right: 0px !important;
}
.mr_10 {
  margin-right: 10px !important;
}
.mr_20 {
  margin-right: 20px !important;
}
.mr_30 {
  margin-right: 30px !important;
}
.mb_0 {
  margin-bottom: 0px !important;
}
.mb_10 {
  margin-bottom: 10px !important;
}
.mb_20 {
  margin-bottom: 20px !important;
}
.mb_30 {
  margin-bottom: 30px !important;
}
.mb_40 {
  margin-bottom: 40px !important;
}
.mb_50 {
  margin-bottom: 50px !important;
}
.mb_60 {
  margin-bottom: 60px !important;
}
/*  font-size  */
.f_10 {
  font-size: 10px !important;
}
.f_11 {
  font-size: 11px !important;
}
.f_12 {
  font-size: 12px !important;
}
.f_13 {
  font-size: 13px !important;
}
.f_14 {
  font-size: 14px !important;
}
.f_15 {
  font-size: 15px !important;
}
.f_16 {
  font-size: 16px !important;
}
.f_18 {
  font-size: 18px !important;
}
.f_20 {
  font-size: 20px !important;
}
.f_36 {
  font-size: 36px !important;
}
/*  border  */
.bd_n {
  border: none !important;
}
/*  float  */
.float_r {
  float: right !important;
}
.float_l {
  float: left !important;
}
.clear {
  clear: both !important;
}
/*  text-align  */
.t_r {
  text-align: right;
}
.t_l {
  text-align: left;
}
.t_c {
  text-align: center !important;
}
/*  color  */
.red {
  color: #ff0033 !important;
}
.blue {
  color: #2ea7e0 !important;
}
.purple {
  color: #006699 !important;
}
.gry01 {
  color: #666666 !important;
}
.bk {
  color: #000 !important;
}
.pink {
  color: #F6C !important;
}
.orange {
  color: #ff5151 !important;
}
.yellow {
  color: #FF0 !important;
}
:root {
  --primary: #6CAA77;
  --colorBg1: #ECECEC;
  --colorBg2: #f2f1ed;
  --border1: #C8C8C8;
  --border2: #decc45;
  --text: #262626;
  --sub1: #D8D8D8;
  --sub2:#727272;
  --sub3: #349044;
  --sub4: #ec3f3f;
  --sub5: #45a8de;
}
/* -- blod -- */
.f_b {
  font-weight: bold;
}
/* -- display -- */
.dp_blo {
  display: block;
}
.dp_ib {
  display: inline-block;
}
.dn_mob {
  display: none;
}
/* -- white-space -- */
.ws_nr {
  white-space: nowrap;
}
@media (min-width: 38.75em) {
  /* display */
  .dn_pc {
    display: none !important;
  }
  .dn_mob {
    display: block;
  }
  @media screen and (min-width: 46.25em) {
  }
  @media screen and (min-width: 55em) {
  }
  @media screen and (min-width: 64.5em) {
    body {
      font-size: 16px;
    }
    a:hover {
      color: var(--primary);
    }
  }
}