@charset "UTF-8";
/* form setting
----------------------------------------------------------- */
a:focus, *:focus {
  outline: none !important; }

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "メイリオ", Meiryo,'Roboto Condensed', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  sans-serif;
  background: #fff; }

input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number] {
  padding: 0 15px;
  font-size: 16px;
  line-height: 3.6em;
  height: 3.6em;
  width: 100%;
  box-sizing: border-box;
  border-radius: 3px; }
  input[type=text] .error, input[type=email] .error, input[type=tel] .error, input[type=password] .error, input[type=number] .error {
    border: 2px solid #e60012 !important;
    background: #fff !important; }
  input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=password]:focus, input[type=number]:focus {
    border: 2px solid #68310e;
    background: #fff;
    background: #fff; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }
input::-webkit-input-placeholder, input::placeholder {
  color: #aaa;
  font-weight: normal;
  padding-top: 0.2em; }

textarea {
  width: 100%;
  padding: 1.1em 15px;
  box-sizing: border-box;
  border: none;
  font-size: 16px;
  border-radius: 3px;
  box-sizing: border-box; }
  textarea .error {
    border: 2px solid #e60012 !important;
    background: #fff !important; }
  textarea:focus {
    border: 2px solid #68310e;
    background: #fff; }
  textarea::placeholder {
    color: #aaa;
    font-weight: normal;
    padding-top: 0.2em; }

.error [type=text],
.error [type=email],
.error [type=tel],
.error [type=number],
.error [type=password],
.error select,
.error textarea {
  border: 2px solid #e60012 !important;
  background: #fff !important; }

.errorNote {
  display: block;
  font-size: 14px;
  color: #e60012;
  margin-top: 5px; }

button {
  transition: 0.3s all;
  cursor: pointer; }

label {
  display: flex;
  align-items: center;
  line-height: 1;
  cursor: pointer; }

form {
  min-height: 100%; }

/*---------------------input[type=checkbox]--------------------------*/
input[type=checkbox] {
  display: none; }
  input[type=checkbox] + span {
    position: relative;
    width: 18px;
    height: 18px;
    display: block;
    margin-right: 10px;
    background: #fff;
    border: 2px solid #DCDDDD;
    cursor: pointer;
    flex-shrink: 0;
    transition: 0.3s all; }
    input[type=checkbox] + span svg {
      display: none; }
  input[type=checkbox]:checked + span {
    background: #68310e;
    border-color: #68310e; }
    input[type=checkbox]:checked + span svg {
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      z-index: 3;
      stroke-width: 2px;
      stroke: #fff;
      fill: none; }
      input[type=checkbox]:checked + span svg polyline {
        animation: checkbox_anim 0.3s forwards ease-in;
        stroke-dasharray: 20px;
        stroke-dashoffset: 20px; }

@keyframes checkbox_anim {
  0% {
    stroke-dashoffset: 20px; }
  100% {
    stroke-dashoffset: 0; } }
.error input[type=checkbox] + span {
  border-color: #e60012; }

/*----------------------input[type=radio]-------------------------*/
input[type=radio] {
  display: none; }
  input[type=radio] + span {
    position: relative;
    width: 22px;
    height: 22px;
    display: block;
    margin-right: 10px;
    border-radius: 50%;
    cursor: pointer;
    flex-shrink: 0;
    transition: 0.3s all;
    transform: translateY(0); }
  input[type=radio] + span::after {
    content: "";
    display: block;
    position: absolute;
    width: 22px;
    height: 22px;
    top: 0px;
    left: 0px;
    border-radius: 50%;
    z-index: 6;
    background: #dee2e6;
    transition: 0.3s all; }
  input[type=radio]:checked + span {
    background: #68310e; }
  input[type=radio]:checked + span::after {
    background: #fff !important;
    width: 10px;
    height: 10px;
    top: 6px;
    left: 6px; }

.error input[type=radio] + span::after {
  background: rgba(230, 0, 18, 0.4); }

/*---------------------select--------------------------*/
.selectWrap {
  position: relative; }
  .selectWrap::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 15px;
    right: 12px;
    width: 10px;
    height: 10px;
    border-bottom: 1px solid #9a9a9a;
    border-right: 1px solid #9a9a9a;
    transform: rotate(45deg);
    pointer-events: none; }
  .selectWrap select {
    display: block;
    width: 100%;
    appearance: none;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 0 30px 0 15px;
    line-height: 3em;
    height: 3em;
    cursor: pointer;
    font-size: 15px;
    box-sizing: border-box;
    border: 1px solid #fff; }
    .selectWrap select::-ms-expand {
      display: none; }
