/*-----------
Root
-------------*/
:root {
  --color-yellow: #FBC240;
  --color-dark-gray: #25201B;
  --color-gray: #373737;
  --color-light-beige: #F9F6F0;
  --color-black: #333333;
  --logo-size-large: 120px;
  --logo-size-small: 60px;
  --large: 6rem;
  --medium: 4rem;
  --small: 2rem;
  --section-padding: 8rem 0;
  --transition: all 0.3s ease; }

@media screen and (max-width: 1024px) {
  :root {
    --large: 3.5rem;
    --medium: 3rem;
    --small: 1.5rem; } }
@media screen and (max-width: 640px) {
  :root {
    --large: 3rem;
    --medium: 2rem;
    --small: 1rem;
    --section-padding: 4rem 0; } }
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/*-----------
Top-visual
-------------*/
.contact-wrap {
  position: relative; }
  .contact-wrap .contact_ttl {
    position: relative;
    z-index: 1;
    padding-top: 10rem;
    margin: 0 auto;
    width: 90%; }
  .contact-wrap .container {
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
    z-index: 100;
    padding: var(--large) var(--medium);
    text-align: center; }
    @media (max-width: 640px) {
      .contact-wrap .container {
        width: 90%; } }
  .contact-wrap li.group {
    margin-bottom: 3rem; }
    .contact-wrap li.group label {
      width: 100%;
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 1rem; }
      @media (max-width: 640px) {
        .contact-wrap li.group label {
          flex-direction: column;
          align-items: flex-start; } }
      .contact-wrap li.group label p {
        width: 25%;
        font-weight: 500;
        text-align: left; }
        .contact-wrap li.group label p span {
          font-feature-settings: 'palt'; }
        @media (max-width: 640px) {
          .contact-wrap li.group label p {
            width: 100%; } }
      .contact-wrap li.group label input[type="text"], .contact-wrap li.group label input[type="email"], .contact-wrap li.group label input[type="tel"], .contact-wrap li.group label textarea {
        width: calc(75% - 1rem);
        padding: 8px;
        border: 1px solid var(--color-light-beige);
        background: var(--color-light-beige); }
        @media (max-width: 640px) {
          .contact-wrap li.group label input[type="text"], .contact-wrap li.group label input[type="email"], .contact-wrap li.group label input[type="tel"], .contact-wrap li.group label textarea {
            width: 100%; } }
  .contact-wrap .error {
    color: red; }
  .contact-wrap .note {
    font-size: 84%;
    margin: 4rem auto 2rem; }
  .contact-wrap .btn {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--color-black);
    background: var(--color-yellow);
    text-decoration: none;
    padding: 1.4rem 3rem;
    display: inline-block;
    box-sizing: border-box;
    color: var(--color-black);
    border: 1px solid var(--color-yellow);
    transition: color 0.3s ease;
    position: relative;
    z-index: 1; }
    .contact-wrap .btn::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 0;
      height: 100%;
      background: var(--color-dark-gray);
      transition: width 0.4s ease;
      z-index: -1; }
    .contact-wrap .btn:hover {
      color: var(--color-yellow); }
      .contact-wrap .btn:hover::before {
        width: 100%; }
    @media (max-width: 1024px) {
      .contact-wrap .btn {
        padding: 1.4rem 2rem;
        width: 80%;
        max-width: 400px;
        text-align: center; } }
    .contact-wrap .btn.send, .contact-wrap .btn.return {
      display: block;
      width: 100%; }
      @media (max-width: 1024px) {
        .contact-wrap .btn.send, .contact-wrap .btn.return {
          padding: 1.4rem 2rem;
          width: 100%;
          max-width: 400px;
          text-align: center; } }
    .contact-wrap .btn.return {
      color: var(--color-yellow);
      border: 1px solid var(--color-yellow);
      background: var(--color-dark-gray); }
  .contact-wrap .to-confirm {
    max-width: 800px;
    width: 100%;
    margin: 0 auto; }
    .contact-wrap .to-confirm dl {
      text-align: left;
      margin: var(--medium) 0 var(--large); }
      .contact-wrap .to-confirm dl .definition-item {
        margin-bottom: 2rem;
        display: flex;
        flex-direction: row; }
        @media (max-width: 640px) {
          .contact-wrap .to-confirm dl .definition-item {
            flex-direction: column; } }
  .contact-wrap .return-send {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: row;
    gap: 2rem;
    margin: var(--medium) auto var(--small); }
    .contact-wrap .return-send form {
      width: 100%; }
    .contact-wrap .return-send.to-top {
      justify-content: center; }

.g-recaptcha {
  display: inline-block;
  margin: 1rem auto; }

button {
  cursor: pointer; }
