@charset "UTF-8";
/* CSS Document */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*--------  Media Queries --------*/
/*--------  var --------*/
/*------------------------------------------------
 ///// common /////
------------------------------------------------*/
/*--------  base --------*/
html, body {
  scroll-padding-top: 90px;
  /* 固定ヘッダの高さ分 */
}

@media (max-width: 999px) {
  html, body {
    scroll-padding-top: 80px;
  }
}

@media (max-width: 767px) {
  html, body {
    scroll-padding-top: 70px;
  }
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  min-width: 100%;
  width: 100%;
  overflow-x: hidden;
  position: relative;
  font-size: 1.6rem;
}

p, ul, li, th, td, dt, dd, h1, h2, h3, h4, address {
  font-size: 1.7rem;
  font-weight: normal;
  font-style: normal;
  line-height: 2.0;
  letter-spacing: -0.03em;
  color: #444;
}

@media (max-width: 999px) {
  p, ul, li, th, td, dt, dd, h1, h2, h3, h4, address {
    font-size: 1.6rem;
  }
}

@media (max-width: 767px) {
  p, ul, li, th, td, dt, dd, h1, h2, h3, h4, address {
    font-size: 1.5rem;
  }
}

p strong, ul strong, li strong, th strong, td strong, dt strong, dd strong, h1 strong, h2 strong, h3 strong, h4 strong, address strong {
  color: inherit;
  font-size: 102%;
  font-weight: normal;
}

img {
  width: 100%;
  height: auto;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/*--------  link --------*/
a:link, a:visited {
  color: #444;
  text-decoration: none;
}

a:hover, a:active {
  color: #80b556;
  text-decoration: none;
}

/*--------  button --------*/
.btn_L, .btn_S {
  display: block;
  position: relative;
  width: 48%;
  padding: 1.8em 1em 1.6em;
  font-size: 2.2rem;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  background-color: #80b556;
  background-image: url("../images/common/btn-l_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 115% auto;
}

.btn_L i, .btn_S i {
  margin-right: 0.5em;
}

@media (max-width: 767px) {
  .btn_L, .btn_S {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 1.2em 0.5em 1em;
  }
}

.btn_S {
  width: 24rem;
  padding: 1.2em 0.7em 1.1em;
  font-size: 1.7rem;
  background-image: url("../images/common/btn-s_bg.png");
  background-size: 125% auto;
}

a:link.btn_S, a:visited.btn_S, a:link.btn_L, a:visited.btn_L {
  color: #fff;
  text-decoration: none;
}

a:hover.btn_S, a:active.btn_S, a:hover.btn_L, a:active.btn_L {
  color: #fff;
}

.btn_S:hover, .btn_L:hover {
  background-color: #98dd47;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}

/*-------- max-width --------*/
.mxw_500 {
  max-width: 50rem;
}

.mxw_600 {
  max-width: 60rem;
}

.mxw_700 {
  max-width: 70rem;
}

.mxw_800 {
  max-width: 80rem;
}

.mxw_900 {
  max-width: 90rem;
}

.mxw_1000 {
  max-width: 100rem;
}

.mxw_1200 {
  max-width: 120rem;
}

/*--------  wrapper --------*/
.wrapper, .wrapper_1100, .wrapper_1200, .wrapper_1300, .wrapper_1400, .wrapper_full {
  width: 96%;
  height: auto;
  margin: 0 auto;
}

.wrapper {
  max-width: 100rem;
}

.wrapper_1100 {
  max-width: 110rem;
}

.wrapper_1200 {
  max-width: 120rem;
}

.wrapper_1300 {
  max-width: 130rem;
}

.wrapper_1400 {
  max-width: 140rem;
}

.wrapper_full {
  max-width: auto;
}

/*--------  display_inline --------*/
.bp1, .bp2, .pc, .pctb {
  display: inline;
}

.tb, .tbsp, .sp {
  display: none;
}

@media (max-width: 1199px) {
  .bp1 {
    display: none;
  }
}

@media (max-width: 1099px) {
  .bp1, .bp2 {
    display: none;
  }
}

@media (max-width: 999px) {
  .pc, .sp {
    display: none;
  }
  .tb, .tbsp {
    display: inline;
  }
}

@media (max-width: 767px) {
  .pctb, .tb {
    display: none;
  }
  .sp {
    display: inline;
  }
}

/*--------  display_block --------*/
.display_pc, .display_pctb {
  display: block;
}

.display_tb, .display_tbsp, .display_sp {
  display: none;
}

@media (max-width: 999px) {
  .display_pc, .display_sp {
    display: none;
  }
  .display_pctb, .display_tb, .display_tbsp {
    display: block;
  }
}

@media (max-width: 767px) {
  .display_pc, .display_pctb, .display_tb {
    display: none;
  }
  .display_sp, .display_tbsp {
    display: block;
  }
}

/*--------  layout --------*/
.l_right {
  margin-left: auto;
  margin-right: 0;
}

.l_left {
  margin-left: 0;
  margin-right: auto;
}

.l_center {
  margin-left: auto;
  margin-right: auto;
}

.f-box, .f-box_center, .f-box_left, .f-box_rev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.f-box_center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.f-box_left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.f-box_rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .f-box_rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}

.f-align_start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.f-align_center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.f-align_stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.f-align-self_center {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

/*--------  text --------*/
.t_center_pc, .t_center_tb, .t_center_sp {
  text-align: center;
}

.t_right_pc, .t_right_tb, .t_right_sp {
  text-align: right;
}

@media (max-width: 999px) {
  .t_center_pc, .t_right_pc {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .t_center_pc, .t_center_tb, .t_right_pc, .t_right_tb {
    text-align: left;
  }
}

.t_left {
  text-align: left;
}

.nowrap {
  white-space: nowrap;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

/*--------  banner --------*/
#banner_area {
  width: 40rem;
  height: 10rem;
  position: fixed;
  bottom: 3rem;
  right: 2rem;
  z-index: 997;
}

#banner_area .banner_img {
  width: 40rem;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 1px 10px rgba(0, 0, 0, 0.15));
  z-index: 998;
}

#banner_area .banner_close {
  width: 2.7rem;
  height: 2.7rem;
  position: absolute;
  top: -1.3rem;
  right: -1.2rem;
  -webkit-filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.15));
  z-index: 999;
}

@media (max-width: 767px) {
  #banner_area {
    width: 30rem;
    height: 7.5rem;
    bottom: 2rem;
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 997;
  }
  #banner_area .banner_img {
    width: 30rem;
    -webkit-filter: drop-shadow(0 1px 7px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0 1px 7px rgba(0, 0, 0, 0.15));
  }
  #banner_area .banner_close {
    width: 2.2rem;
    height: 2.2rem;
    top: -1.1rem;
    right: -1rem;
    -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.15));
            filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.15));
  }
}

#banner_area:hover {
  -webkit-filter: brightness(108%);
          filter: brightness(108%);
}

/*--------  etc. --------*/
/* ============================================================
 clearfix
============================================================ */
.clearfix {
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
