@charset "UTF-8";
/* Scss Document */
:root {
  --pc: 1000px;
  --sp: 999px;
  --fs48: 4.8rem;
  --fs40: 4rem;
  --fs36: 3.6rem;
  --fs28: 2.8rem;
  --fs22: 2.2rem;
  --fs20: 2.0rem;
  --fs18: 1.8rem;
  --fs16: 1.6rem;
  --fs14:1.4rem;
  --fs12:1.2rem; }

@media (max-width: 999px) {
  :root {
    --fs48: 2.6rem;
    --fs40: 2.2rem;
    --fs36: 2.4rem;
    --fs28: 2.2rem;
    --fs22: 2.0rem;
    --fs20: 1.8rem;
    --fs18: 1.4rem;
    --fs16: 1.4rem;
    --fs14: 1.2rem;
    --fs12: 1.0rem; } }
/* 
---------------------------------------
contact01
---------------------------------------
*/
#contact01 .txt {
  text-align: center; }
  @media (max-width: 999px) {
    #contact01 .txt {
      text-align: left; } }

#contact01 .txt small {
  display: block;
  line-height: 1.5;
  color: #e1222A; }

/*contactフォーム*/
.wpcf7 form.sent .wpcf7-response-output {
  padding: 20px;
  border-color: #ccc !important;
  text-align: center; }

.cf7__list dd input[type="text"], .cf7__list dd input[type="tel"], .cf7__list dd input[type="email"], .cf7__list dd textarea {
  border: 1px solid #ccc; }

.cf7__list dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #ddd;
  padding: 2rem 0;
  align-items: center; }

.cf7__list dl:last-child {
  border-bottom: 1px solid #ddd;
  align-items: flex-start; }

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 30px; }

.cf7__list dt {
  width: 35%;
  /*    background: #FDEDE5;*/
  padding: 0 20px;
  display: flex; }
  @media (max-width: 999px) {
    .cf7__list dt {
      width: 100%;
      padding: 0 10px; } }

.cf7__list dd {
  width: 55%;
  margin: 0 5%; }
  @media (max-width: 999px) {
    .cf7__list dd {
      width: 100%;
      padding: 10px;
      margin: 0; } }

.cf7__list dd a {
  color: #222;
  text-decoration: underline; }

.cf7__list p {
  font-weight: bold; }

.cf7__list p.formTxt {
  line-height: 1.5; }

.formTxt {
  text-align: center; }

.formTxt2 {
  font-weight: bold; }

.formTxt a {
  text-decoration: underline !important;
  font-weight: bold;
  color: #30884E; }

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px; }

.cf7__required {
  background: #e1222A; }

.cf7__optional {
  background: #7E7B7B; }

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 1rem;
  background: #F4F4F4; }
  @media (max-width: 999px) {
    .cf7__list dd input[type="text"],
    .cf7__list dd input[type="tel"],
    .cf7__list dd input[type="email"],
    .cf7__list dd textarea {
      padding: 10px; } }

/* ドロップダウンメニュー */
.cf7__select {
  position: relative;
  border-radius: 4px; }

.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: ''; }

.cf7__select select {
  width: 100%;
  padding: 1rem;
  background: #F4F4F4;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media (max-width: 999px) {
    .cf7__select select {
      padding: 10px; } }

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
  padding: 15px 0 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  @media (max-width: 999px) {
    .cf7__list dd .wpcf7-checkbox,
    .cf7__list dd .wpcf7-radio {
      padding: 0; } }

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
  display: block;
  margin: 0;
  margin-right: 20px; }

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer; }

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid #bcbcbc;
  vertical-align: -3px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* チェックボックス */
input[type="checkbox"]:checked {
  border: 1px solid #000;
  background: #000; }

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: ''; }

/* ラジオボタン */
input[type="radio"] {
  border-radius: 50%; }

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #000;
  content: ''; }

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5; }

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5; }

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5; }

/* 送信ボタン */
.cf7__button {
  text-align: center; }

input[type="submit"] {
  max-width: 260px;
  width: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  border: 1px solid;
  color: #222;
  position: relative;
  background: #fff;
  margin: 60px auto 0;
  transition: all 0.6s;
  cursor: pointer;
  font-size: 16px; }
  @media (max-width: 999px) {
    input[type="submit"] {
      margin: 30px auto 0; } }

input[type="submit"] i {
  position: absolute;
  right: 20px; }

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle; }

.wpcf7-spinner {
  display: none !important; }

.wpcf7-not-valid-tip {
  font-size: 12px; }

input[type="submit"] {
  padding: 16px 0;
  background: #30884E;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  max-width: 260px;
  margin: 0 auto;
  justify-content: center;
  width: 100%;
  transition: all 0.6s;
  margin-top: 40px; }
  @media (max-width: 999px) {
    input[type="submit"] {
      width: 90%;
      margin-top: 20px; } }

input[type="submit"]:hover {
  transition: all 0.6s;
  opacity: 0.7; }
