@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
---------------------------------------
*/
#contact {
  padding-bottom: 16rem; }
  @media (max-width: 999px) {
    #contact {
      padding-bottom: 0; } }
  #contact .deco {
    width: 24rem;
    height: auto;
    margin: 0 auto 2rem; }
    @media (max-width: 999px) {
      #contact .deco {
        width: 16rem;
        height: auto;
        margin: 0 auto 1rem; } }
  #contact .formBox {
    padding: 8vw 4vw 4vw;
    background: #F9F3D9;
    border-radius: 2rem; }
    @media (max-width: 999px) {
      #contact .formBox {
        padding: 4rem 2rem;
        width: 100%;
        border-radius: 2rem 2rem 0 0; } }
  #contact .box {
    width: 100%;
    padding: 0 0 4rem; }
    @media (max-width: 999px) {
      #contact .box {
        padding: 0rem 0 4rem;
        width: 89.33%; } }
    #contact .box .txt {
      text-align: center; }
      @media (max-width: 999px) {
        #contact .box .txt {
          text-align: left; } }
    #contact .box dl {
      background: #F7F7F7;
      padding: 6rem;
      display: flex;
      border-radius: 2rem; }
      @media (max-width: 999px) {
        #contact .box dl {
          flex-direction: column;
          padding: 3rem; } }
    #contact .box dt {
      width: 22%;
      font-weight: bold; }
      @media (max-width: 999px) {
        #contact .box dt {
          width: 100%; } }
    #contact .box dd {
      width: 78%; }
      @media (max-width: 999px) {
        #contact .box dd {
          width: 100%; } }
    #contact .box li {
      margin-bottom: 1rem;
      display: flex;
      align-items: center; }
      @media (max-width: 999px) {
        #contact .box li {
          margin-bottom: 0.5rem;
          align-items: flex-start; } }
    #contact .box li::before {
      content: '';
      width: 1rem;
      height: 1rem;
      border-radius: 2px;
      background: #6EBAF2;
      margin-right: 1rem;
      line-height: 1.5; }
      @media (max-width: 999px) {
        #contact .box li::before {
          content: '■';
          border-radius: 1px;
          width: auto;
          height: auto;
          color: #6EBAF2;
          background: none;
          margin-top: 0.5rem; } }
  #contact .inner14 {
    padding: 10rem;
    border-radius: 2rem;
    background: #fff; }
    @media (max-width: 999px) {
      #contact .inner14 {
        padding: 2rem 1rem 0; } }
  #contact .contactHow {
    padding: 0 0 7rem;
    text-align: center;
    color: #333; }
    @media (max-width: 999px) {
      #contact .contactHow {
        padding: 0 0 2rem; } }
  #contact .contactHow__ttl {
    display: inline-block;
    position: relative;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 4rem;
    padding-bottom: 1.8rem; }
    @media (max-width: 999px) {
      #contact .contactHow__ttl {
        font-size: 2.4rem;
        margin-bottom: 2.5rem;
        padding-bottom: 1.4rem; } }
    #contact .contactHow__ttl::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 0;
      width: 28rem;
      height: 0.6rem;
      background: repeating-linear-gradient(to right, #72c63b 0, #72c63b 1.5rem, transparent 1.5rem, transparent 2.4rem);
      border-radius: 10rem;
      transform: translateX(-50%); }
      @media (max-width: 999px) {
        #contact .contactHow__ttl::after {
          width: 18rem;
          height: 0.4rem;
          background: repeating-linear-gradient(to right, #72c63b 0, #72c63b 1rem, transparent 1rem, transparent 1.7rem); } }
  #contact .contactHow__lead {
    margin-bottom: 4rem; }
    @media (max-width: 999px) {
      #contact .contactHow__lead {
        margin-bottom: 2rem; } }
    #contact .contactHow__lead a {
      color: #72c63b;
      font-weight: 700;
      text-decoration: none; }
  #contact .contactHow__list {
    display: inline-block;
    text-align: left;
    background: #fff;
    padding: 5rem 8rem;
    border-radius: 2rem; }
    @media (max-width: 999px) {
      #contact .contactHow__list {
        display: block;
        font-size: 1.5rem;
        line-height: 1.8;
        padding: 2rem 3rem 2rem 4rem; } }
    #contact .contactHow__list li {
      margin-bottom: 1.2rem;
      list-style: auto; }
      @media (max-width: 999px) {
        #contact .contactHow__list li {
          margin-bottom: 1rem; } }
      #contact .contactHow__list li:last-child {
        margin-bottom: 0; }
    #contact .contactHow__list span {
      color: #72c63b;
      font-weight: 700; }

/*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;
  justify-content: center;
  width: 90%;
  margin: 0 auto; }
  @media (max-width: 999px) {
    .cf7__list dl {
      padding: 1rem 0 0;
      width: 100%; } }

.cf7__list dl.flex-start {
  align-items: flex-start; }

.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: 65%;
  margin: 0; }
  @media (max-width: 999px) {
    .cf7__list dd {
      width: 100%;
      padding: 10px;
      margin: 0; } }

.cf7__list dd a {
  color: #06C755;
  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; }

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 2px 6px;
  color: #fff;
  font-size: 12px; }
  @media (max-width: 999px) {
    .cf7__required,
    .cf7__optional {
      padding: 2px 6px; } }

.cf7__required {
  background: #6FCC35;
  border-radius: 0.5rem; }

.cf7__optional {
  background: #999999;
  opacity: 0; }
  @media (max-width: 999px) {
    .cf7__optional {
      display: none; } }

/* 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: #fff;
  border-radius: 1rem; }
  @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: 1rem; }

.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: #fff;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 1rem; }
  @media (max-width: 999px) {
    .cf7__select select {
      padding: 10px; } }

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
  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;
  border-radius: 999px;
  background: #fff; }

/* チェックボックス */
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: #21A934;
  border-radius: 999px;
  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; }
