@charset "UTF-8";
/*
Theme Name: redrive
Description: redrive Template
Author: redrive
*/
/* ブレイクポイント
   ========================================================================== */
/* フォント
   ========================================================================== */
/* 色
   ========================================================================== */
/* 共通
   ========================================================================== */
* {
  tap-highlight-color: rgba(0, 0, 0, 0); }

/* フォーム共通
   ========================================================================== */
.form-area .req {
  color: #f00;
  font-size: 1.2rem;
  font-weight: bold; }
.form-area p {
  margin-top: 2em; }
.form-area > p:first-of-type {
  margin-top: 0; }
.form-area table {
  width: 100%;
  font-size: 1.6rem;
  margin-top: 1em; }
.form-area th {
  display: block;
  width: 100%;
  text-align: left;
  padding: 1em 0 .5em; }
.form-area th .notes,
.form-area td .notes {
  margin-top: .5em !important; }
.form-area td {
  display: block;
  padding-bottom: 1em; }
  .form-area td.cols {
    padding-bottom: 0 !important; }
  .form-area td .notice {
    display: block;
    font-size: 1.2rem;
    padding: 0;
    border: 0;
    margin-top: .5em; }
    .form-area td .notice.notice-top {
      margin-top: 0;
      margin-bottom: .5em; }
.form-area input[type="text"],
.form-area input[type="email"],
.form-area textarea {
  width: 100%;
  font-size: 1.6rem;
  padding: .5em 1em;
  border: 1px solid #636363; }
.form-area input[type="text"]:focus,
.form-area input[type="email"]:focus,
.form-area textarea:focus,
.form-area select:focus {
  border-color: #b39733;
  outline: none; }
.form-area textarea {
  height: 80px; }
.form-area a {
  text-decoration: underline; }
  @media (hover: hover) {
    .form-area a:hover {
      text-decoration: none; } }
.form-area .wpcf7-list-item {
  margin-left: 0 !important; }
@media (min-width: 768px) {
  .form-area .req {
    font-size: 1.4rem; }
  .form-area table {
    display: table;
    font-size: 1.6rem !important; }
  .form-area th {
    display: table-cell;
    width: 1%;
    white-space: nowrap;
    line-height: 1.7;
    padding: 0 1em 0 0; }
  .form-area td {
    display: table-cell;
    width: auto;
    padding-top: 1em; }
    .form-area td .notice {
      font-size: 1.4rem; }
  .form-area input[type="text"],
  .form-area input[type="email"],
  .form-area textarea {
    font-size: 1.6rem; }
  .form-area input[type="text"]:hover,
  .form-area input[type="email"]:hover,
  .form-area textarea:hover,
  .form-area select:hover {
    border-color: #b39733; }
  .form-area textarea {
    height: 150px; } }
@media (min-width: 1025px) {
  .form-area .req {
    font-size: 1.4rem; }
  .form-area table {
    display: table;
    font-size: 1.8rem !important; }
  .form-area td .notice {
    font-size: 1.4rem; }
  .form-area input[type="text"],
  .form-area input[type="email"],
  .form-area textarea {
    font-size: 1.8rem; }
  .form-area textarea {
    height: 150px; } }

.form-short {
  width: 50% !important; }

.screen-reader-text {
  display: none; }

/* チェックボックス
   ====================================== */
.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin-top: 20px; }

input[type="checkbox"] {
  display: none; }

input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 44px;
  margin-right: 0;
  cursor: pointer; }

input[type="checkbox"] + span::before {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 30px;
  height: 30px;
  margin-top: -18px;
  border: 2px solid #636363; }

input[type="checkbox"]:checked + span::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 6px;
  width: 19px;
  height: 10px;
  margin-top: -11px;
  border-left: 3px solid #b39733;
  border-bottom: 3px solid #b39733;
  transform: rotate(-45deg); }

@media (min-width: 1025px) {
  input[type="checkbox"] + span {
    padding: 0 0 0 50px; }

  input[type="checkbox"] + span:hover::before {
    border-color: #b39733; } }
/* 排他的なチェックボックスを使用する場合はclass名を「.check-exclusive」に統一 */
.check-exclusive input[type="checkbox"] + span {
  position: relative;
  padding: 0 0 0 40px;
  margin-right: 0;
  cursor: pointer; }

.check-exclusive input[type="checkbox"] + span::before {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  width: 30px;
  height: 30px;
  margin-top: -18px;
  border: 2px solid #636363;
  border-radius: 40px; }

.check-exclusive input[type="checkbox"]:checked + span::after {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  left: 7px;
  width: 17px;
  height: 17px;
  margin-top: -11px;
  background: #b39733;
  border-radius: 20px;
  transform: none; }

@media (min-width: 1025px) {
  .check-exclusive input[type="checkbox"] + span {
    padding: 0 0 0 44px; }

  .check-exclusive input[type="checkbox"] + span:hover::before {
    border-color: #b39733; } }
/* ラジオボタン風横並び
   ====================================== */
.check-row .wpcf7-list-item {
  width: auto;
  margin: 20px 20px 0 0; }
  .check-row .wpcf7-list-item:last-of-type {
    margin-right: 0; }
@media (min-width: 1025px) {
  .check-row .wpcf7-list-item {
    display: inline-block;
    margin: 0 22px 0 0; } }

@media (min-width: 1025px) {
  .age .check-row .wpcf7-list-item,
  .payment .check-row .wpcf7-list-item,
  .delivery-time .check-row .wpcf7-list-item,
  .ps-first .check-row .wpcf7-list-item,
  .ps-plus .check-row .wpcf7-list-item {
    margin-top: 20px; } }
/* ラジオボタン
   ====================================== */
.wpcf7-radio > span.wpcf7-list-item {
  display: block !important;
  margin-top: 20px; }

input[type="radio"] {
  display: none; }

input[type="radio"] + span {
  position: relative;
  padding: 0 0 0 40px;
  margin-right: 0;
  cursor: pointer; }

input[type="radio"] + span::before {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  width: 30px;
  height: 30px;
  margin-top: -18px;
  border: 2px solid #636363;
  border-radius: 40px; }

input[type="radio"]:checked + span::after {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  left: 8px;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: #b39733;
  border-radius: 20px; }

@media (min-width: 1025px) {
  input[type="radio"] + span {
    padding: 0 0 0 46px; }

  input[type="radio"] + span:hover::before {
    border-color: #b39733; } }
/* 横並び */
.form-area .wpcf7-radio {
  display: flex; }
  .form-area .wpcf7-radio .wpcf7-list-item {
    margin-right: 20px; }
    .form-area .wpcf7-radio .wpcf7-list-item:last-of-type {
      margin-right: 0; }
@media (min-width: 1025px) {
  .form-area .wpcf7-radio .wpcf7-list-item {
    margin-right: 60px; } }

/* セレクト
   ====================================== */
select {
  width: 100%;
  height: 40px;
  color: #000 !important;
  padding: 0 0 0 10px;
  border: 1px solid #ccc;
  cursor: pointer; }
  @media (min-width: 768px) {
    select {
      width: auto; } }

/* 送信ボタンエリア
   ====================================== */
.submit-area {
  margin: 20px 0 30px 0; }
  .submit-area .submit-check {
    display: block; }
  .submit-area .input-wrap {
    text-align: center;
    margin-top: 20px; }
    .submit-area .input-wrap > div:last-of-type {
      margin-top: 20px; }
  .submit-area .wpcf7-list-item-label {
    font-size: 1.4rem;
    line-height: 1.7; }
  @media (min-width: 768px) {
    .submit-area .wpcf7-list-item-label {
      font-size: 1.6rem; } }
  @media (min-width: 1025px) {
    .submit-area {
      text-align: center;
      margin: 40px 0 50px 0; }
      .submit-area .wpcf7-list-item-label {
        text-align: left; }
      .submit-area .input-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 40px; }
        .submit-area .input-wrap > div:first-of-type {
          margin-right: 40px; }
        .submit-area .input-wrap > div:last-of-type {
          margin-top: 0; } }

/* ローディングアイコンを非表示 */
.wpcf7-spinner {
  display: none !important; }

.wpcf7-submit {
  display: block;
  margin: 0 auto; }

/* 送信ボタン */
input[type="submit"] {
  width: 80%;
  background-color: #000;
  font-size: 1.6rem;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  padding: calc(1em + 1px) 0 1em 0;
  margin-bottom: 0 !important;
  outline: 0 !important;
  border: none;
  appearance: none;
  transition: .3s; }
  @media (hover: hover) {
    input[type="submit"]:hover {
      cursor: pointer;
      opacity: .5; } }
  input[type="submit"][disabled] {
    background-color: #636363;
    color: #999;
    transition: 0; }
    @media (hover: hover) {
      input[type="submit"][disabled]:hover {
        cursor: not-allowed;
        opacity: 1; } }
  @media (min-width: 1025px) {
    input[type="submit"] {
      width: auto;
      font-size: 2.4rem;
      padding: calc(1em + 3px) 2em 1em 2em; } }

/* リセットボタン */
input[type="reset"] {
  display: block;
  width: 60%;
  background-color: input[type="reset"] color_gray_02;
  font-size: 1.4rem;
  color: #000;
  text-align: center;
  line-height: 1;
  padding: calc(1em + 1px) 0 1em 0;
  margin: 0 auto 0 auto !important;
  border: 1px solid #2e2e2e;
  transition: .3s; }
  @media (hover: hover) {
    input[type="reset"]:hover {
      cursor: pointer;
      opacity: .5; } }
  @media (min-width: 1025px) {
    input[type="reset"] {
      display: inline-block;
      width: auto;
      font-size: 1.6rem;
      padding: calc(.5em + 1px) 1em 0.5em;
      margin-top: 0; } }

/* 注意書き
   ====================================== */
.form-area .notice {
  padding: 1em;
  margin-top: 20px;
  border: 1px solid #f00; }
  .form-area .notice a {
    font-weight: bold;
    text-decoration: underline; }
    @media (hover: hover) {
      .form-area .notice a:hover {
        text-decoration: none; } }
  .form-area .notice p {
    margin-top: 1em; }
    .form-area .notice p:first-of-type {
      margin-top: 0; }
@media (min-width: 768px) {
  .form-area .notice {
    padding: 1em;
    margin-top: 30px; } }
@media (min-width: 1025px) {
  .form-area .notice {
    padding: 1.5em;
    margin-top: 40px; } }

/*cf7送信完了メッセージ*/
div.wpcf7-mail-sent-ok {
  display: none !important;
  /*非表示*/ }

/* 404
   ========================================================================== */
.page-404 p {
  margin-top: 2em; }
