@charset "UTF-8";
/* 20250730　お問い合わせ */
body {
  font-size: 16px;
  font-family: YakuHanJP, Avenir, 'Open Sans', 'Noto Sans JP', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
  /*background-color: #f7f2eb;*/
  line-height: 1.65;
  margin: 0;
  overflow-x: hidden;
  color: #222;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
}
*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
h1, h2, h3, h4, h5 {
  font-feature-settings: "palt";
}
html {
  -webkit-text-size-adjust: 100%;
}
body, #wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
footer {
  margin-top: auto;
}
table {
  width: 100%;
}
img {
  max-width: 100% !important;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
}
header a, footer a {
  border: none;
}
a {
  color: #167300;
  border-bottom: 1px solid;
  text-decoration: none;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
.formWrapper {
  max-width: 960px;
  margin: auto;
  padding: 0 0;
}
.formWrapper .inner {
  padding: 0 20px;
}
/*ヘッダー*/
header {
  padding: 8px 0;
  background: #fff;
  position: relative;
  z-index: 3;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
}
header h1 {
  text-align: center;
}
header h1 img {
  width: 160px;
  height: auto;
}
@media print, screen and (min-width: 641px) /*SPヨコ*/ {
  header {
    padding: 15px 0 20px;
  }
}
/*フッター*/
footer {
  padding: 20px 0;
}
.copyright {
  font-size: .7em;
  margin-top: 20px;
  text-align: center;
}
@media print, screen and (min-width: 641px) /*SPヨコ*/ {
  footer {
    padding: 30px;
  }
}
/*メイン*/
main {
  padding: 0px 0 60px 0;
}
@media print, screen and (min-width: 768px) /*横（1024）*/ {
  main {
    padding: 0px 0 80px 0;
  }
}
/*タイトル*/
.headerblock {
  text-align: center;
  margin-bottom: 35px;
}
.headerblock h1 {
  color: #846540;
  padding: 15px 0;
  margin: 50px auto 40px auto;
  border-top: 2px solid #8e7249;
  border-bottom: 2px solid #8e7249;
  font-size: 1.3em;
  position: relative;
  font-weight: bold;
}
.headerblock h1::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 1px;
  border-top: 4px solid #8e7249;
}
@media print, screen and (min-width: 760px) /*タブレットタテ〜横（1024）*/ {
  .headerblock {
    margin-bottom: 50px;
  }
  .headerblock h1 {
    font-size: 1.5em;
  }
}
.headerblock h1 {
  max-width: 960px;
}
@media print, screen and (min-width: 1024px) {
  .headerblock h1 {
    margin-left: auto;
    margin-right: auto;
  }
}
/*フォームフレーム*/
.formWrapper > div {
  background: #fff;
}
.formWrapper h2 {
  padding: 20px 0;
  font-weight: bold;
  font-size: 1.3em;
  border-bottom: 2px solid #167300;
  color: #167300;
}
.formWrapper p.txt {
  font-size: .95em;
  margin-bottom: 1em;
}
.formWrapper p.smallcap {
  font-size: 0.85em;
  margin-bottom: .5em;
}
.formSection {
  padding: 20px 0 0 0;
}
.spmgn {
  padding-left: 5%;
  padding-right: 5%;
}
@media (min-width: 751px) {
  .spmgn {
    padding-left: 0;
    padding-right: 0;
  }
}
/*表*/
table {
  display: table;
  width: 100%;
  border-collapse: collapse;
}
form th, form td, form dt, form dd {
  vertical-align: top;
  overflow-wrap: break-word;
}
form th .smallcap, form dt .smallcap {
  font-weight: normal !important;
  color: #167300;
  margin-top: .7em;
}
@media print, screen and (max-width: 759px) /*スマホ*/ {
  th, td {
    display: block;
  }
  form th, form dt {
    position: relative;
    padding: 1.5em 0;
    text-align: left;
    font-weight: bold;
    color: #167300;
    font-size: 1.1em;
  }
  form .reqired th, form th {
    position: relative;
    padding: 1em 0;
  }
  form td, form dd {
    display: block;
    padding: 0 0 2em 0;
    border-bottom: 1px solid #d4e3bb;
  }
  form th .smallcap, form dt .smallcap {
    margin-top: .3em;
  }
}
.reqmark {
  content: "必須";
  display: inline-block;
  background: #ff7800;
  font-weight: normal;
  font-size: .7em;
  line-height: 1;
  color: #fff;
  padding: 4px 7px;
  margin-left: 1em;
  position: relative;
  transform: translateY(-.2em);
  z-index: 0;
  letter-spacing: .1em;
  -webkit-font-smoothing: subpixel-antialiased;
  border-radius: 1.4em;
}
@media print, screen and (min-width: 760px) /*タブレットタテ〜横（1024）*/ {
  form th {
    border-bottom: 1px solid #e5e5e5;
  }
  form th, form dt {
    width: 16em;
    padding: 1.5em 0em 1em 0em;
    text-align: left;
    font-weight: bold;
    color: #167300;
    position: relative;
  }
  .reqmark {
    position: absolute;
    right: 0;
    top: 2.8em;
  }
  form td, form dt, form dd {
    border-bottom: 1px solid #e5e5e5;
    padding: 1.5em 0em 1.5em 1.5em;
  }
  form table tr:first-child th, form table tr:first-child td {
    /*border-top:none;*/
  }
  form dl {
    display: table;
    width: 100%;
  }
  form dt, form dd {
    display: table-cell;
  }
  form dt, form dd {
    border-top: none;
  }
  form dd {
    width: calc(100% - 13em);
  }
}
@media print, screen and (min-width: 1240px) /*PC*/ {
  form th, form dt {
    position: relative;
    width: 18em;
    padding: 1.5em 0em;
    text-align: left;
    font-weight: bold;
    color: #167300;
  }
  form td, form dd {
    padding: 1.5em 0em 1.5em 1.5em;
  }
}
/*フォーム設定*/
input, button, textarea, select {
  font-size: 1em;
  color: #111;
  font-family: 'Muli', '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', 'メイリオ', 'Noto Sans JP', sans-serif;
}
input[type="text"][disabled], input[type="email"][disabled] {
  background: #fff;
  color: #111 !important;
  cursor: not-allowed; /* 禁止カーソル */
  opacity: 1;
}
.isRequire::-webkit-input-placeholder {
  color: #aaa;
}
.isRequire::-moz-placeholder {
  color: #aaa;
}
.isRequire:-ms-input-placeholder {
  color: #aaa;
}
.inquiry_category {
  overflow: visible;
  display: inline-block;
  vertical-align: middle;
}
.inquiry_category select {
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 10px 2.5em 10px 8px;
  color: #111;
  border: 1px solid #ccc;
  border-radius: 0px;
}
.inquiry_category select::-ms-expand {
  display: none;
}
.inquiry_category {
  position: relative;
  background: #ffffff;
}
.inquiry_category::after {
  position: absolute;
  top: 50%;
  right: 0.7em;
  pointer-events: none;
  transform: translateY(-50%);
  content: '\f078';
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="number"] {
  line-height: 1;
}
textarea {
  height: 7em;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="number"], textarea {
  margin: 0;
  background: #fff;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  -webkit-transition: all .2s;
  transition: all .2s;
  padding: 10px 10px !important;
  width: 100%;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="number"]:focus, textarea:focus {
  box-shadow: 0 0 1px #167300;
  border: 1px solid #167300;
  background-color: #fff !important;
}
input[type="text"]:disabled, input[type="tel"]:disabled {
  -webkit-text-fill-color: #111;
  opacity: 1;
}
input[type="email"], .alphameric {
  letter-spacing: 0.05em;
}
input[type=radio], input[type=checkbox] {
  opacity: 0;
}
.checkbox label, .radio label {
  position: relative;
  padding: 0 0 0 32px;
  display: inline-block;
}
label:after, label:before {
  position: absolute;
  content: "";
  display: block;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
.checkbox label:after, .radio label:after {
  left: 0;
  top: 3px;
  width: 24px; /* ボックスの横幅を指定する */
  height: 24px; /* ボックスの高さを指定する */
  border-radius: 50%; /* ボックスの角丸を指定する */
  z-index: 1; /*box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.1) inset;*/
  background-color: #fff;
  border: 1px solid #ccc;
}
@media print, screen and (max-width: 750px) {
  .checkbox label, .radio label {
    font-size: 1.1em;
  }
}
.checkbox label:after {
  border-radius: 0%; /* ボックスの角丸を指定する */
}
.reqired label:after {
  /*border: 2px solid #f65d72;*/
}
.checkbox label:before, .radio label:before {
  content: '\f00c';
  font-family: "Font Awesome 5 Free";
  display: inline-block;
  font-weight: 900;
  color: #fff;
  left: 7px;
  top: 10px;
  opacity: 0;
  z-index: 2;
  font-size: 11px;
  line-height: 1;
}
input[type=radio]:checked + label:before {
  opacity: 1; /* 要素を表示する */
}
input[type=radio]:checked + label:after {
  border-color: #167300;
  background: #167300;
}
input[type=checkbox]:checked + label:before {
  opacity: 1; /* 要素を表示する */
}
input[type=checkbox]:checked + label:after {
  border-color: #167300;
  background: #167300;
}
label span {
  display: inline-block;
  padding-right: .7em;
}
input[type="text"].isRequire, input[type="tel"].isRequire, input[type="email"].isRequire, extarea.isRequire {
  /* background-color: #fff3f4;
 border: 1px solid #ff7d89;*/
}
input[type="text"].isDefault, input[type="tel"].isDefault, input[type="email"].isDefault, textarea.isDefault {
  background-color: #fff;
  /* border: 1px solid #ff7d89;*/
}
input[type="text"].isReady, input[type="tel"].isReady, input[type="email"].isReady, textarea.isReady {
  background-color: #fff;
  /*border: 1px solid #ff7d89;*/
}
/*フォームレイアウト調整*/
input.phone {
  width: 4.5em;
}
input.member_code {
  width: 9em;
}
input.phonenumber {
  width: 20em;
}
.telnumdiv p {
  font-weight: bold;
  margin-bottom: .3em;
  font-size: .95em;
}
span.hyphen {
  padding: 0 .5em;
}
span.hyphen2 {
  padding: 0 .3em;
}
.checkbox p, .radio p {
  margin-bottom: .3em;
}
.formflex {
  display: table;
  width: 100%;
}
.formflex > div, .formflex > span {
  display: table-cell;
}
.formflex > div:last-child {
  padding-left: 5px;
}
.formlist li {
  position: relative;
  margin: 7px 0 0 0;
  line-height: 2;
  font-weight: bold;
}
/*.formlist li:first-child {
 margin: 0 0 7px 0;
}*/
.formlist li input[type=radio], .formlist li input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.formlist.flex {
  display: flex;
}
.formlist.flex li {
  margin: 0;
}
.formlist.flex li:first-child {
  margin-right: 2em;
}
/*ボタン*/
.btn {
  text-align: center;
  margin: 0px auto;
  padding-top: 40px;
  padding-right: 0;
  padding-left: 0;
  padding-bottom: 0px;
}
button.submitbutton i {
  margin-right: .5em;
  color: #fff;
  font-size: .8em;
}
button {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 1em;
  width: 14em;
  cursor: pointer;
}
button.submitbutton, button.backbtn, .linkbigbtn {
  font-size: 1em;
  font-weight: bold;
  letter-spacing: .1em;
  color: #ffffff;
  padding: 16px 16px;
  background: #167300;
  border: none;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 30px;
  -moz-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  -webkit-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  box-shadow: 0px 3px 5px rgba(000, 000, 000, 0.2);
}
button.submitbutton[disabled] {
  background-color: #ccc;
  cursor: default;
}
button.backbtn {
  background: #bbb;
  -moz-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  -webkit-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  box-shadow: 0px 3px 5px rgba(000, 000, 000, 0.2);
}
button.submitbutton i {
  margin-left: .3em;
  font-size: 1em;
}
button.backbtn i {
  margin-right: .5em;
  font-size: 1em;
  color: #fff;
}
button:hover {
  transform: translate3d(0, 2px, 0);
}
button.submitbutton:hover {
  background: #318E17;
  -moz-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
  -webkit-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
  box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
}
button.submitbutton[disabled]:hover {
  transform: translate3d(0, 0, 0);
  background: #ccc;
  -moz-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  -webkit-box-shadow: 0px 3px 9px rgba(000, 000, 000, 0.2);
  box-shadow: 0px 3px 5px rgba(000, 000, 000, 0.2);
}
button.backbtn:hover {
  background: #aaa;
  -moz-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
  -webkit-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
  box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.4);
}
/*エラー時の表示*/
.areaError {
  margin: .7em 0 0 0;
  font-size: 1.2em;
}
input[type="text"].parsley-error, input[type="tel"].parsley-error, input[type="email"].parsley-error, input[type="number"].parsley-error, textarea.parsley-error, .inquiry_category select.parsley-error {
  border: 1px solid #ff4c65;
  box-shadow: 0 0 4px #ff4c65 !important;
}
.checkbox .parsley-error label:after, .radio .parsley-error label:after {
  box-shadow: 0 0 4px #ff4c65;
  border: 1px solid #ff4c65;
}
.parsley-errors-list li {
  font-size: .85em;
  color: #e00;
  line-height: 1.5;
}
#error-know .parsley-errors-list li, #error-settype .parsley-errors-list li {
  margin-top: 0em;
}
.parsley-errors-list {
  margin-top: .5em;
}
.error--msg > ul:first-child {
  margin-top: .5em;
}
.error--msg.above > ul:first-child {
  margin-top: 0;
}
.error--msg.above > ul:last-child {
  padding-bottom: .5em;
}
.error--msg .parsley-errors-list {
  margin-top: 0em;
}
/*注釈※付*/
.notearea {
  margin-bottom: 1em;
}
.notearea ul {
  margin-left: 1.1em;
  margin-right: 0;
  list-style: none;
  font-size: .9em;
}
.notearea ul li {
  position: relative;
}
.notearea ul li:before {
  content: "※";
  position: absolute;
  left: -1.1em;
}
/*画像添付*/
input[type="file"] {
  margin: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-transition: all .2s;
  transition: all .2s;
  font-size: .9em;
}
.file_upload {
  margin-top: 1em;
  background: #efefef;
  padding: 1em;
}
button.file_upload_btn {
  width: 80px;
  font-size: .9em;
  font-weight: bold;
  letter-spacing: .1em;
  color: #ffffff;
  padding: 8px 16px;
  margin: 0;
  background: #167300;
  border: none;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 30px;
}
button.file_clear_btn {
  width: 160px;
  font-size: .9em;
  font-weight: bold;
  letter-spacing: .1em;
  color: #333;
  padding: 4px 10px;
  margin: 0;
  background: #ffffff;
  border: 1px solid #aaa;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 3px;
  margin-top: 1em;
}
/*個人情報*/
.privacy_noice {
  font-size: .9em;
  margin-bottom: 2em;
}
.privacy_noice i {
  font-size: .9em;
  color: #167300;
  padding: 0 .5em;
}
.kiyakucheck {
  background: #e1f1c2;
  padding: 1em;
  margin-bottom: 1em;
  text-align: center;
}
.kiyakucheck .checkbox {
  margin-left: -1em;
}
/*ログイン済み*/
.logged td {
  font-weight: bold;
}
/*確認画面*/
.file_preview{display: flex;
flex-wrap: wrap;justify-content:space-between;align-items:flex-start;}
.file_preview img{width:48%;margin-bottom:1em;}
@media print, screen and (min-width: 568px) /*SPヨコ*/ {.file_preview img{width:32%;margin-bottom:0;}}
@media print, screen and (min-width: 568px) /*SPヨコ*/ {
  .kakuninSubmit {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
  }
  .kakuninSubmit span {
    width: 50%;
  }
  .kakuninSubmit span:last-child {
    padding-right: 1.5em;
  }
}
@media print, screen and (min-width: 760px) /*タブレットタテ〜横（1024）*/ {
  .kakuninSubmit {
    display: flex;
    justify-content: center;
  }
  .kakuninSubmit span {
    width: auto;
    padding: 0 1em;
  }
}
/*完了画面*/
.thanksWrapper {
  max-width: 600px;
  margin: auto;
  padding:2em 0;
}
.thankspage {
 text-align: center;
 padding: 40px 7% 20px 7%;
}
.thankspage .checkmark {
 color: #fff;
 background: #57b741;
 display: inline-block;
 width: 60px;
 line-height: 60px;
 border-radius: 50%;
 font-size: 1.4em;
}
.thankspage .thanksHead {
 font-size: 7vw;
 margin: 20px 0 40px 0;
 color: #167300;
 font-feature-settings: "palt";
}
.thankspage .taiou{margin-top:3em;border:2px solid #57b741}
.thankspage .taiou h3{color: #fff;
 background: #57b741;padding:.3em;font-weight: bold;}
.thankspage .taiou p{padding:1em;text-align: left;}
@media (min-width: 751px) {
 .thankspage {
  text-align: center;
  padding: 40px 0 20px 0;
 }
 .thankspage .thanksHead {
  font-size: 2em;
 }
 .thankspage .thanksComment {
  text-align: center;
 }
}
