@scope (.ct-legacy) {
:scope {
  --color-white: #FFFFFF;
  --color-main: #87b828;
  --color-main-dark: #229C2A;
  --color-accent: #222e0a;
  --color-text: #505050;
  --color-red: #C62F2B;
  --font-main: "neue-haas-grotesk-text", "ryo-gothic-plusn", sans-serif;
}

/* ******************************
 *
 * RESPONSIVE MIXIN
 *
 * ****************************** */
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
@font-face {
  font-family: "tsukuhou";
  src: url("../../font/Tsukuhou-35Point-Gothic.ttf") format("truetype");
}
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
@-webkit-keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.contactMain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .contactMain {
    margin: 5rem 5vw 0;
  }
}
@media screen and (min-width: 1025px) {
  .contactMain {
    margin: 8.5rem 20vw 0;
  }
}
@media screen and (min-width: 320px) {
  .contactMain .commonLinkBtn {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 1025px) {
  .contactMain .commonLinkBtn {
    margin-top: 5rem;
  }
}
.contactMain .commonLinkBtn:disabled {
  cursor: not-allowed;
  -webkit-filter: grayscale(1) opacity(0.65);
          filter: grayscale(1) opacity(0.65);
}

.contactForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

.contactDefList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 320px) {
  .contactDefList {
    gap: 2rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .contactDefList {
    gap: 3rem 0;
  }
}

.inputWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.contactDefTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 320px) {
  .contactDefTitle {
    font-size: 1.2rem;
    width: 100%;
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 1025px) {
  .contactDefTitle {
    font-size: 2.4rem;
    width: 30%;
    margin-bottom: 0;
  }
}
.contactDefTitle span {
  display: inline-block;
  font-weight: 400;
  color: #87b828;
  border: solid 1px;
  border-radius: 8px;
  margin-right: 5px;
  font-size: 85%;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 320px) {
  .contactDefTitle span {
    padding: 3px 8px;
  }
}
@media screen and (min-width: 1025px) {
  .contactDefTitle span {
    padding: 5px 8px;
  }
}

@media screen and (min-width: 320px) {
  .contactDefItem {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .contactDefItem {
    width: 70%;
  }
}

.inputItem {
  width: 100%;
  background: rgba(135, 184, 40, 0.15);
}
@media screen and (min-width: 320px) {
  .inputItem {
    font-size: 1.3rem;
    padding: 1rem 1.5rem;
    border-radius: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .inputItem {
    font-size: 2.4rem;
    padding: 2rem 3rem;
    border-radius: 2rem;
  }
}

.thanksMessage {
  line-height: 2.2;
  text-align: center;
}
@media screen and (min-width: 320px) {
  .thanksMessage {
    font-size: 1.5rem;
    padding: 4rem 0;
  }
}
@media screen and (min-width: 1025px) {
  .thanksMessage {
    font-size: 2rem;
    padding: 5rem 0;
  }
}
@media screen and (min-width: 320px) {
  .thanksMessage .pc {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .thanksMessage .pc {
    display: block;
  }
}

.formAtten {
  width: 100%;
  color: #229C2A;
  border: solid 1px;
  border-radius: 8px;
  text-align: center;
  padding: 16px 0;
}
@media screen and (min-width: 320px) {
  .formAtten {
    font-size: 1.3rem;
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 1025px) {
  .formAtten {
    font-size: 1.8rem;
    margin-bottom: 64px;
  }
}
@media screen and (min-width: 1025px) {
  .formAtten br {
    display: none;
  }
}

.checkKiyaku {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.checkKiyaku input {
  display: none;
}
.checkKiyaku input:checked + label .checkbox svg {
  opacity: 1;
}
.checkKiyaku .checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #229C2A;
  border-radius: 8px;
}
@media screen and (min-width: 320px) {
  .checkKiyaku .checkbox {
    width: 2.8rem;
    height: 2.8rem;
  }
}
@media screen and (min-width: 1025px) {
  .checkKiyaku .checkbox {
    width: 3.2rem;
    height: 3.2rem;
  }
}
.checkKiyaku .checkbox svg {
  display: block;
  width: 60%;
  height: 60%;
  stroke: white;
  opacity: 0;
}
.checkKiyaku label {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 8px;
}
@media screen and (min-width: 320px) {
  .checkKiyaku label {
    font-size: 1.4rem;
    width: calc(100% - 2.8rem - 8px);
  }
}
@media screen and (min-width: 1025px) {
  .checkKiyaku label {
    font-size: 1.8rem;
    width: calc(100% - 3.2rem - 8px);
  }
}
}
