@charset "utf-8";
/* =========================================================================================================================================== */
/*
/* ベースCSS設定
/*	@media
/*		768px~ : パソコン
/*		~767px : スマホ
/*
/* =========================================================================================================================================== */
* {
  box-sizing: border-box;
}
body{
  font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}
body.open-menu {
  height: 100vh;
  overflow: hidden;
}
.pc_only   { display: block;  }
.pc_inline { display: inline; }
.sp_only   { display: none;   }
.sp_inline { display: none;   }

@media screen and (max-width: 900px) {
  .pc_only   { display: none;  }
  .pc_inline { display: none;  }
  .sp_only   { display: block; }
  .sp_inline { display: inline;}
}

a:hover,
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

select::-ms-expand {
  display: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}
.select_wrapper {
  position: relative;
}
.select_wrapper::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  border-bottom: solid 2px #b9b9b9;
  border-right: solid 2px #b9b9b9;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 10px;
  pointer-events: none;
}
.select_wrapper select {
  width: 100%;
  height: 100%;
  background-color: #d7d7d7;
  border: solid 1px #cccccc;
  padding-left: 10px;
}


.checkbox_wrapper {
  display: flex;
  flex-wrap: wrap;
}
input[type="checkbox"] {
  display: none;
}
input[type="checkbox"]+label {
    display: block;
    position: relative;
    font-size: 14px;
    line-height: 35px;
    padding-left: 20px;
    padding-right: 20px;
}
input[type="checkbox"]+label::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #d7d7d7;
  border: solid 1px #828282;
  box-sizing: border-box;
  border-radius: 2px;
}
input[type="checkbox"]:checked+label::after {
  content: "";
  border-left: solid 3px #e00000;
  display: block;
  position: absolute;
  left: 0px;
  top: -5px;
  bottom: 0;
  margin: auto;
  height: 6px;
  width: 11px;
  border-bottom: solid 3px red;
  transform: rotate(-45deg);
}