@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
フォーム送信
---------------------------------------------------------------------------------------------------------------------
*/
.grecaptcha-badge {
  left: 0px !important;
  width: 70px !important; }

.grecaptcha-badge:hover {
  left: 0px !important;
  width: 256px !important; }

.form-page {
  position: relative;
  padding: 0 0 60px; }
  @media (min-width: 768px) {
    .form-page {
      padding: 0 0 100px; } }
  @media (min-width: 1200px) {
    .form-page {
      padding: 0 0 140px; } }
  .form-page::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.95);
    height: 100%;
    mix-blend-mode: screen;
    z-index: -1; }
  .form-page__inner {
    max-width: 800px;
    margin: auto;
    width: 90%; }
  .form-page .urgent-contact {
    color: #223588;
    padding: 80px 0 0; }
    @media screen and (min-width: 768px) {
      .form-page .urgent-contact {
        padding: 100px 0 0; } }
    @media screen and (min-width: 1200px) {
      .form-page .urgent-contact {
        padding: 140px 0 0; } }
    .form-page .urgent-contact__inner {
      box-sizing: border-box;
      margin: 0 auto; }
    .form-page .urgent-contact h2 {
      font-size: 1.75em;
      font-weight: 600;
      line-height: 1.2em;
      margin: 0;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact h2 {
          font-size: 2.25em; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact h2 {
          font-size: 2.5em; } }
    .form-page .urgent-contact h3 {
      font-size: 1.25em;
      font-weight: 600;
      line-height: 1.2em;
      margin: 40px 0 0 0;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact h3 {
          font-size: 1.75em; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact h3 {
          font-size: 2.0em;
          margin: 80px 0 0 0; } }
    .form-page .urgent-contact__box {
      background-color: #fff;
      border-radius: 10px;
      box-sizing: border-box;
      margin: 20px auto 0;
      padding: 30px 20px;
      text-align: center; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact__box {
          border-radius: 12px;
          margin-top: 40px;
          padding: 40px 40px; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact__box {
          margin-top: 60px;
          padding: 60px 50px; } }
    .form-page .urgent-contact__name {
      border-bottom: 1px solid #223588;
      font-size: 0.9em;
      font-weight: 600;
      line-height: 1.4em;
      margin: 0 auto;
      max-width: 430px;
      padding-bottom: 10px; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact__name {
          font-size: 1.0em;
          padding-bottom: 10px; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact__name {
          font-size: 1.125em; } }
    .form-page .urgent-contact__tel {
      align-items: center;
      display: inline-flex;
      font-family: "Oswald", sans-serif;
      font-size: 1.75em;
      font-optical-sizing: auto;
      font-style: normal;
      font-weight: 600;
      gap: 10px;
      letter-spacing: 0.04em;
      line-height: 1.0em;
      margin-top: 24px;
      text-decoration: none; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact__tel {
          font-size: 2.0em;
          gap: 12px;
          margin-top: 28px; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact__tel {
          font-size: 2.6em;
          gap: 14px; } }
      .form-page .urgent-contact__tel img {
        display: block;
        height: auto;
        width: 25px; }
        @media screen and (min-width: 768px) {
          .form-page .urgent-contact__tel img {
            width: 30px; } }
        @media screen and (min-width: 1200px) {
          .form-page .urgent-contact__tel img {
            width: 35px; } }
    .form-page .urgent-contact__time {
      font-size: 0.85em;
      line-height: 1.2em;
      margin: 16px 0 0 0; }
      @media screen and (min-width: 768px) {
        .form-page .urgent-contact__time {
          font-size: 0.9em;
          margin: 20px 0 0 0; } }
      @media screen and (min-width: 1200px) {
        .form-page .urgent-contact__time {
          font-size: 1em; } }
  .form-page .online {
    padding-top: 40px; }
    @media screen and (min-width: 768px) {
      .form-page .online {
        padding-top: 60px; } }
    @media screen and (min-width: 1200px) {
      .form-page .online {
        padding-top: 80px; } }

.contact-form {
  box-sizing: border-box;
  padding: 30px 0 0; }
  @media screen and (min-width: 768px) {
    .contact-form {
      padding: 50px 0 0; } }
  @media screen and (min-width: 1200px) {
    .contact-form {
      padding: 60px 0 0; } }
  .contact-form.btn-area {
    padding: 0; }
  .contact-form__item + .contact-form__item {
    margin-top: 40px; }
    @media screen and (min-width: 768px) {
      .contact-form__item + .contact-form__item {
        margin-top: 50px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__item + .contact-form__item {
        margin-top: 60px; } }
  .contact-form__label {
    align-items: center;
    color: #111;
    display: flex;
    font-size: 0.9375em;
    font-weight: 700;
    gap: 10px;
    line-height: 1.5em;
    margin-bottom: 10px; }
    @media screen and (min-width: 768px) {
      .contact-form__label {
        font-size: 1em;
        margin-bottom: 12px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__label {
        font-size: 1.0625em; } }
  .contact-form__required {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1E58DE;
    border-radius: 4px;
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1.0em;
    padding: 4px 8px 6px; }
  .contact-form__field {
    width: 100%; }
    .contact-form__field .wpcf7-form-control-wrap {
      display: block;
      width: 100%; }
  .contact-form__field2 {
    align-items: center;
    display: grid;
    gap: 10px; }
    @media screen and (min-width: 768px) {
      .contact-form__field2 {
        grid-template-columns: 330px 1fr;
        gap: 0; } }
  .contact-form__input, .contact-form__textarea {
    appearance: none;
    background-color: #fff;
    border: none;
    border-radius: 10px;
    box-sizing: border-box;
    display: block;
    font-size: 1.0em;
    line-height: 1.4em;
    outline: none;
    padding: 14px 18px;
    width: 100%;
    border: 1px solid #ccc; }
    @media screen and (min-width: 768px) {
      .contact-form__input, .contact-form__textarea {
        border-radius: 15px;
        font-size: 1em;
        padding: 18px 22px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__input, .contact-form__textarea {
        padding: 20px 24px; } }
    .contact-form__input:focus, .contact-form__textarea:focus {
      box-shadow: 0 0 0 2px #223588; }
  .contact-form__input {
    height: 40px; }
    @media screen and (min-width: 768px) {
      .contact-form__input {
        height: 50px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__input {
        height: 60px; } }
  .contact-form__textarea {
    height: 220px;
    resize: vertical; }
    @media screen and (min-width: 768px) {
      .contact-form__textarea {
        height: 260px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__textarea {
        height: 285px; } }
  .contact-form__submit {
    margin-top: 50px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      .contact-form__submit {
        margin-top: 65px; } }
    @media screen and (min-width: 1200px) {
      .contact-form__submit {
        margin-top: 80px; } }
    .contact-form__submit .wpcf7-spinner {
      display: block;
      margin: 16px auto 0; }
  .contact-form__button {
    appearance: none;
    background-color: #223588;
    border: 1px solid #223588;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 1em;
    font-weight: 700;
    justify-content: center;
    line-height: 1.5em;
    min-width: 220px;
    padding: 16px 35px;
    transition: background-color 0.3s ease, color 0.3s ease; }
    @media screen and (min-width: 768px) {
      .contact-form__button {
        font-size: 1.0625em;
        min-width: 260px;
        padding: 18px 45px; } }
    .contact-form__button:hover {
      background-color: #fff;
      color: #223588; }
  .contact-form .wpcf7-not-valid-tip {
    color: #d90000;
    display: block;
    font-size: 0.8125em;
    line-height: 1.6em;
    margin-top: 8px; }
    @media screen and (min-width: 768px) {
      .contact-form .wpcf7-not-valid-tip {
        font-size: 0.875em; } }
  .contact-form .wpcf7-response-output {
    border-radius: 8px;
    font-size: 0.875em;
    line-height: 1.8em;
    margin: 35px 0 0;
    padding: 14px 18px; }
    @media screen and (min-width: 768px) {
      .contact-form .wpcf7-response-output {
        font-size: 0.9375em;
        margin-top: 45px;
        padding: 16px 20px; } }
  .contact-form .wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0; }
  .contact-form .wpcf7-list-item2 {
    display: inline-block;
    margin: 0 1em 0 0; }
  .contact-form .contact-form__item2 {
    display: block;
    margin: 60px 0; }
    .contact-form .contact-form__item2 .contact-form__field {
      display: grid;
      gap: 10px; }
    .contact-form .contact-form__item2 .wpcf7-list-item {
      display: block;
      margin: 0 1em 0.5em 0; }
      @media screen and (min-width: 768px) {
        .contact-form .contact-form__item2 .wpcf7-list-item {
          margin: 0 1em 0 0; } }
    .contact-form .contact-form__item2 .wpcf7-form-control-wrap {
      display: block; }

.contact-form__agree {
  margin-top: 0;
  text-align: center; }
.contact-form__agree-check {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .contact-form__agree-check {
      align-items: center;
      gap: 14px;
      justify-content: center; } }
  .contact-form__agree-check .wpcf7-form-control-wrap {
    display: inline-block; }
  .contact-form__agree-check .wpcf7-list-item {
    margin: 0; }
  .contact-form__agree-check label {
    align-items: flex-start;
    display: flex;
    gap: 14px; }
    @media screen and (min-width: 768px) {
      .contact-form__agree-check label {
        align-items: center; } }
  .contact-form__agree-check input[type="checkbox"] {
    appearance: none;
    background-color: #fff;
    border: 1px solid #111;
    border-radius: 4px;
    box-sizing: border-box;
    cursor: pointer;
    flex-shrink: 0;
    height: 20px;
    margin: 0;
    position: relative;
    width: 20px; }
    @media screen and (min-width: 768px) {
      .contact-form__agree-check input[type="checkbox"] {
        height: 22px;
        width: 22px; } }
    .contact-form__agree-check input[type="checkbox"]:checked {
      background-color: #223588;
      border-color: #223588; }
      .contact-form__agree-check input[type="checkbox"]:checked::after {
        border-bottom: 2px solid #fff;
        border-right: 2px solid #fff;
        content: "";
        height: 10px;
        left: 7px;
        position: absolute;
        top: 3px;
        transform: rotate(45deg);
        width: 5px; }
        @media screen and (min-width: 768px) {
          .contact-form__agree-check input[type="checkbox"]:checked::after {
            left: 8px;
            top: 4px; } }
  .contact-form__agree-check .wpcf7-list-item-label {
    color: #111;
    font-size: 0.8125em;
    font-weight: 500;
    line-height: 1.7em; }
    @media screen and (min-width: 768px) {
      .contact-form__agree-check .wpcf7-list-item-label {
        font-size: 0.9375em; } }
    @media screen and (min-width: 1200px) {
      .contact-form__agree-check .wpcf7-list-item-label {
        font-size: 1em; } }
  .contact-form__agree-check .contact-form__required {
    flex-shrink: 0;
    margin-top: 1px; }
    @media screen and (min-width: 768px) {
      .contact-form__agree-check .contact-form__required {
        margin-top: 0; } }
.contact-form__privacy-link {
  margin-top: 24px; }
  @media screen and (min-width: 768px) {
    .contact-form__privacy-link {
      margin-top: 26px; } }
  .contact-form__privacy-link a {
    color: #111;
    display: inline-block;
    font-size: 0.875em;
    font-weight: 500;
    line-height: 1.6em;
    text-decoration: underline;
    text-underline-offset: 5px; }
    @media screen and (min-width: 768px) {
      .contact-form__privacy-link a {
        font-size: 1em; } }
    .contact-form__privacy-link a:hover {
      color: #223588; }
.contact-form__submit {
  margin-top: 42px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .contact-form__submit {
      margin-top: 48px; } }
.contact-form__button {
  appearance: none;
  background-color: #223588;
  border: 1px solid #223588;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 1em;
  font-weight: 500;
  justify-content: center;
  line-height: 1.5em;
  min-width: 220px;
  padding: 15px 40px;
  transition: background-color 0.3s ease, color 0.3s ease; }
  @media screen and (min-width: 768px) {
    .contact-form__button {
      min-width: 260px;
      padding: 17px 50px; } }
  @media screen and (min-width: 1200px) {
    .contact-form__button {
      min-width: 280px; } }
  .contact-form__button:hover {
    background-color: #fff;
    color: #223588; }

.privacy-text {
  padding: 40px 0 40px; }
  @media screen and (min-width: 768px) {
    .privacy-text {
      padding: 50px 0 60px; } }
  @media screen and (min-width: 1200px) {
    .privacy-text {
      padding: 60px 0 80px; } }
  .privacy-text p.txt {
    font-size: 0.85em;
    font-weight: 400;
    text-align: justify;
    line-height: 1.6em;
    margin: 0 0 20px 0;
    padding: 0 5%; }
    @media screen and (min-width: 768px) {
      .privacy-text p.txt {
        font-size: 0.9em; } }
    @media screen and (min-width: 1200px) {
      .privacy-text p.txt {
        font-size: 1.0em;
        margin: 0 0 40px 0; } }
  .privacy-text__inner {
    background-color: #fff;
    border-radius: 10px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 20px;
    height: 500px;
    overflow: scroll; }
    @media screen and (min-width: 768px) {
      .privacy-text__inner {
        border-radius: 15px;
        padding: 40px; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__inner {
        padding: 60px; } }
  .privacy-text__title {
    font-size: 1.125em;
    font-weight: 700;
    line-height: 1.6em;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .privacy-text__title {
        font-size: 1.25em; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__title {
        font-size: 1.375em; } }
  .privacy-text__content {
    margin-top: 22px; }
    @media screen and (min-width: 768px) {
      .privacy-text__content {
        margin-top: 26px; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__content {
        margin-top: 28px; } }
  .privacy-text__section + .privacy-text__section {
    margin-top: 20px; }
    @media screen and (min-width: 768px) {
      .privacy-text__section + .privacy-text__section {
        margin-top: 30px; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__section + .privacy-text__section {
        margin-top: 40px; } }
  .privacy-text__section h3 {
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1.4em;
    margin: 0 0 2px; }
    @media screen and (min-width: 768px) {
      .privacy-text__section h3 {
        font-size: 0.9em; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__section h3 {
        font-size: 1.0em;
        margin-bottom: 5px; } }
  .privacy-text__section p {
    font-size: 0.8em;
    font-weight: 300;
    line-height: 2.0em;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .privacy-text__section p {
        font-size: 0.85em; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__section p {
        font-size: 0.9em; } }
    .privacy-text__section p + p {
      margin-top: 0; }
      @media screen and (min-width: 768px) {
        .privacy-text__section p + p {
          margin-top: 0; } }
  .privacy-text__block + .privacy-text__block {
    margin-top: 14px; }
    @media screen and (min-width: 768px) {
      .privacy-text__block + .privacy-text__block {
        margin-top: 16px; } }
  .privacy-text__end {
    font-size: 0.85em;
    line-height: 1.4em;
    margin: 20px 0 0;
    text-align: right; }
    @media screen and (min-width: 768px) {
      .privacy-text__end {
        font-size: 0.9em;
        margin-top: 40px; } }
    @media screen and (min-width: 1200px) {
      .privacy-text__end {
        font-size: 1.0em;
        margin-top: 60px; } }

/*
---------------------------------------------------------------------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------------------------------------------------------------------
*/
.privacy {
  position: relative;
  padding: 40px 0 80px; }
  @media (min-width: 1024px) {
    .privacy {
      padding: 55px 0 120px; } }
  .privacy::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.95);
    height: 100%;
    mix-blend-mode: screen;
    z-index: -1; }
  .privacy__inner {
    width: calc(100% - 40px);
    margin: 0 auto; }
    @media (min-width: 1024px) {
      .privacy__inner {
        width: 800px;
        max-width: calc(100% - 80px); } }
  .privacy__heading {
    margin-bottom: 55px;
    text-align: center; }
    @media (min-width: 1024px) {
      .privacy__heading {
        margin-bottom: 95px; } }
    .privacy__heading h1 {
      font-size: 1.5em;
      font-weight: 700;
      line-height: 1.35em;
      color: #223588;
      margin: 0; }
      @media (min-width: 1024px) {
        .privacy__heading h1 {
          font-size: 2.25em; } }
  .privacy__content {
    font-size: 0.85em;
    font-weight: 400;
    line-height: 2.0em;
    letter-spacing: 0.03em; }
    @media (min-width: 1024px) {
      .privacy__content {
        font-size: 1em; } }
    .privacy__content p {
      margin: 0 0 18px;
      line-height: 2.0em; }
      @media (min-width: 1024px) {
        .privacy__content p {
          margin-bottom: 22px; } }
    .privacy__content a {
      color: #223588;
      text-decoration: underline; }
  .privacy__list {
    margin: 30px 0 20px;
    padding-left: 0;
    list-style: none;
    counter-reset: privacy-counter; }
    @media (min-width: 1024px) {
      .privacy__list {
        margin: 65px 0 65px; } }
    .privacy__list li {
      position: relative;
      margin-bottom: 20px;
      padding-left: 24px;
      counter-increment: privacy-counter; }
      @media (min-width: 1024px) {
        .privacy__list li {
          margin-bottom: 30px;
          padding-left: 30px; } }
      .privacy__list li::before {
        content: counter(privacy-counter) ".";
        position: absolute;
        top: 0;
        left: 0; }
  .privacy__signature {
    margin: 0;
    text-align: right; }
    @media (min-width: 1024px) {
      .privacy__signature {
        margin: 0; } }
    .privacy__signature p {
      margin-bottom: 4px; }
      @media (min-width: 1024px) {
        .privacy__signature p {
          margin-bottom: 6px; } }
  .privacy__section {
    margin-top: 55px; }
    @media (min-width: 1024px) {
      .privacy__section {
        margin-top: 75px; } }
    .privacy__section h2 {
      font-size: 1.125em;
      font-weight: 700;
      line-height: 1.8em;
      margin: 0 0 14px; }
      @media (min-width: 1024px) {
        .privacy__section h2 {
          font-size: 1.25em; } }
    .privacy__section h3 {
      margin: 20px 0 10px;
      font-size: 1.125em;
      font-weight: 500;
      line-height: 1.8em; }
      @media (min-width: 1024px) {
        .privacy__section h3 {
          margin-top: 50px;
          font-size: 1.25em; } }
    .privacy__section h4 {
      margin: 36px 0 6px;
      font-size: 1.0em;
      font-weight: 500;
      line-height: 1.8em; }
      @media (min-width: 1024px) {
        .privacy__section h4 {
          margin-top: 40px;
          font-size: 1.125em; } }
    .privacy__section ul,
    .privacy__section ol {
      margin: 0 0 34px;
      padding-left: 0;
      list-style: none; }
      @media (min-width: 1024px) {
        .privacy__section ul,
        .privacy__section ol {
          margin-bottom: 42px; } }
      .privacy__section ul li,
      .privacy__section ol li {
        position: relative;
        margin-bottom: 4px;
        padding-left: 1em; }
        @media (min-width: 1024px) {
          .privacy__section ul li,
          .privacy__section ol li {
            margin-bottom: 6px; } }
        .privacy__section ul li::before,
        .privacy__section ol li::before {
          content: "・";
          position: absolute;
          top: 0;
          left: 0; }
    .privacy__section ol {
      counter-reset: privacy-number; }
      .privacy__section ol li {
        padding-left: 1.6em;
        counter-increment: privacy-number; }
        .privacy__section ol li::before {
          content: counter(privacy-number) ")"; }

.privacy__request {
  margin-top: 18px;
  margin-bottom: 60px; }
  @media (min-width: 1024px) {
    .privacy__request {
      margin-top: 22px;
      margin-bottom: 70px; } }
  .privacy__request p {
    margin-bottom: 12px; }
    @media (min-width: 1024px) {
      .privacy__request p {
        margin-bottom: 14px; } }
.privacy__request-indent {
  padding-left: 28px; }
  @media (min-width: 1024px) {
    .privacy__request-indent {
      padding-left: 36px; } }
.privacy__note {
  margin-top: 55px; }
  @media (min-width: 1024px) {
    .privacy__note {
      margin-top: 65px; } }
  .privacy__note p {
    margin-bottom: 10px; }
    @media (min-width: 1024px) {
      .privacy__note p {
        margin-bottom: 12px; } }

/*
---------------------------------------------------------------------------------------------------------------------
サンクスページ
---------------------------------------------------------------------------------------------------------------------
*/
.entry-thanks {
  text-align: center;
  padding: 0 20px 60px;
  margin: 40px auto 0;
  max-width: 1060px;
  width: 90%;
  color: #fff; }
  @media (min-width: 768px) {
    .entry-thanks {
      padding: 0 20px 80px;
      margin: 80px auto 0; } }
  @media (min-width: 1200px) {
    .entry-thanks {
      padding: 0 20px 100px;
      margin: 120px auto 0; } }
  .entry-thanks h2 {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.4em;
    border-bottom: 1px solid #fff;
    padding-bottom: 40px; }
    @media (min-width: 768px) {
      .entry-thanks h2 {
        font-size: 2.0em; } }
  .entry-thanks .txt {
    margin-top: 20px; }
    .entry-thanks .txt h3 {
      font-size: 1.125em; }
      @media (min-width: 768px) {
        .entry-thanks .txt h3 {
          font-size: 1.5em; } }
    .entry-thanks .txt p {
      font-size: 0.9em;
      line-height: 2.2em;
      text-align: justify;
      margin-top: 10px; }
      @media (min-width: 768px) {
        .entry-thanks .txt p {
          font-size: 1.0em;
          text-align: center; } }
