@charset "utf-8";

/* -------------------------------------------------- */
/*  button
/* -------------------------------------------------- */
.btnOrange {
    display: inline-block;
    background: #f7931e;
    color: #fefefe;
    text-decoration: none;
    padding: 0.5em 1em 0.5em 0.75em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.btnBlue {
    display: inline-block;
    background: #3fa9f5;
    color: #fefefe;
    text-decoration: none;
    padding: 0.5em 1em 0.5em 0.75em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.btnRed {
    display: inline-block;
    background: #bb1f24;
    color: #fefefe;
    text-decoration: none;
    padding: 0.5em 1em 0.5em 0.75em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.btnYellow {
    display: inline-block;
    background: #f4d919;
    color: #333;
    text-decoration: none;
    padding: 0.75em 2em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.btnGray {
    display: inline-block;
    background: #ccc;
    color: #333;
    text-decoration: none;
    padding: 0.75em 2em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.btnLine {
    display: inline-block;
    background: #00B900;
    color: #fefefe;
    text-decoration: none;
    padding: 0.75em 2em;
    border: 1px solid #eee;
    border-radius: 4px;
}
.noIcon {
    padding: 0.5em 1em;
}

/* -------------------------------------------------- */
/*  select
/* -------------------------------------------------- */
select {
    max-width: 100%;/*selectはinputと違って-2pxと-1emの考慮が必要ない*/
    padding: 0.5em;
    font: inherit;
    border-radius: 4px;
    border: 1px solid #eee;
    background: #fefefe;
}
select.half {
    width: 50%;
}
select.year {
    width: 15%;
}
select.daymonth {
    width: 7%;
}
select.number {
    width: 18%;
}
@media screen and (max-width: 1023px) {
  select.year {
      width: 37%;
  }
  select.daymonth {
      width: 16%;
  }
}

/* -------------------------------------------------- */
/*  input
/* -------------------------------------------------- */
input[type="text"], input[type="email"], input[type="password"], input[type="button"], input[type="tel"], input[type="date"], input[type="number"] {
    width: calc(100% - 2px - 1.5em);
    padding: 0.5em 0.75em;
    font: inherit;
    border-radius: 4px;
    border: 1px solid #eee;
    background: #fefefe;
}
input[type="button"] {
    text-align: center;
}
input[type="radio"], input[type="checkbox"] {
  transform: scale(1.5);
  vertical-align: middle;
  margin: 0 0.5em 0 3px;
}
input.half {
    width: calc(49.2% - 2px - 1em);
}
input.mini {
    width: calc(25% - 2px - 1em);
}
@media screen and (max-width: 1023px){
  input.half {
      width: calc(48.9% - 2px - 1em);
  }
}
@media screen and (max-width: 767px){
  input.half {
      width: calc(48.2% - 2px - 1em);
  }
}

/* -------------------------------------------------- */
/*  textarea
/* -------------------------------------------------- */
textarea {
    width: calc(100% - 2px - 1.5em);
    padding: 0.5em 0.75em;
    font: inherit;
    border-radius: 4px;
    border: 1px solid #eee;
}

/* -------------------------------------------------- */
/*  withIcon
/* -------------------------------------------------- */
.widthIcon {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-radius: 4px;
}
.widthIcon label,
.widthIcon select,
.widthIcon input {
  border: 0;
  display: block;
}
.widthIcon select:focus,
.widthIcon input:focus {
  outline: none;
}
.widthIcon label {
  width: 1em;
  color: #aaa;
}

/* -------------------------------------------------- */
/*  必須or任意
/* -------------------------------------------------- */
span.h {
  display: inline-block;
  font-size: 70%;
  vertical-align: text-bottom;
  margin-right: 0.5em;
  padding: 0.25em;
  background: #c00;
  color: #fefefe;
}
span.n {
  display: inline-block;
  font-size: 70%;
  vertical-align: text-bottom;
  margin-right: 0.5em;
  padding: 0.25em;
  color: #555;
  background: #ccc;
}