@charset "UTF-8";

/*
 * 幅定義
 *
 */

/*
 * 色定義
 *
 */

input[type=radio],
input[type=checkbox] {
  display: inline-block;
  margin-right: 2px;
}

input[type=radio] + label,
input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  margin: 3px 10px 5px 0;
  font-size: 14px;
  line-height: 18px;
  cursor: pointer;
  width: 200px;
}

.s-ensen--line input[type=checkbox] + label {
  width: 200px;
}

@media (min-width: 1px) {
  input[type=radio],
  input[type=checkbox] {
    display: none;
    margin: 0;
  }

  input[type=radio] + label,
  input[type=checkbox] + label {
    padding: 0 0 0 23px;
  }

  input[type=radio] + label::before,
  input[type=checkbox] + label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    box-sizing: border-box;
    display: block;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    background: #fff;
  }

  input[type=radio] + label::before {
    border: 2px solid #c5c5c5;
    border-radius: 30px;
  }

  input[type=checkbox] + label::before {
    border: 2px solid #c5c5c5;
    border-radius: 3px;
  }

  input[type=radio]:checked + label::after,
  input[type=checkbox]:checked + label::after {
    content: "";
    position: absolute;
    top: 50%;
    box-sizing: border-box;
    display: block;
  }

  input[type=radio]:checked + label::after {
    left: 5px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #000;
    border-radius: 8px;
  }

  input[type=checkbox]:checked + label::after {
    left: 3px;
    width: 12px;
    height: 7px;
    margin-top: -6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
  }

  input[type=radio]:checked + label::before {
    border: 2px solid #000;
  }

  input[type=checkbox]:checked + label::before {
    background: #000;
    border: 2px solid #000;
  }
}

/* 元々のチェックボックス（非表示） */

.mycheckbox input[type=checkbox] {
  display: none;
  /* チェックボックスの代わりを成すラベル */
  /* チェックが入った時のレ点 */
}

.mycheckbox input[type=checkbox] + label {
  cursor: pointer;
  display: inline-block;
  position: relative;
  padding-left: 30px;
  padding-right: 10px;
  margin: 6px 0;
  /* ラベルの左に表示させる正方形のボックス□ */
}

.mycheckbox input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  left: 0;
  top: 50%;
  border: 1px solid;
  border-color: #ccc;
  /* 枠の色変更 お好きな色を */
  background-color: #FFF;
  /* 背景の色変更 お好きな色を */
}

.mycheckbox input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 18px;
  height: 9px;
  margin-top: -9px;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  border-bottom: 3px solid;
  border-left: 3px solid;
  border-color: #E50012;
  /* チェックの色変更 お好きな色を */
}

@media screen and (max-width: 750px) {
  .mycheckbox input[type=checkbox] {
    /* チェックボックスの代わりを成すラベル */
    /* チェックが入った時のレ点 */
  }

  .mycheckbox input[type=checkbox] + label {
    padding-left: 40px;
    padding-right: 17px;
    margin: 8px 5px;
    font-size: 18px;
    /* ラベルの左に表示させる正方形のボックス□ */
  }

  .mycheckbox input[type=checkbox] + label::before {
    width: 30px;
    height: 30px;
    margin-top: -17px;
  }

  .mycheckbox input[type=checkbox]:checked + label::after {
    width: 23px;
    height: 14px;
    margin-top: -14px;
    top: 50%;
    left: 5px;
  }
}

