@charset "UTF-8";

#pamphlet {
  .contact_wrapper {
    background-color: #f5f5f5;
    margin-bottom: 0px !important;
  }

  .contact_inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0 200px;
  }

  .contact_inner.download {
    display: block;
    /* display: none; */
  }

  .contact_inner.profile {
    /* display: block; */
    display: none;
  }

  .collect {
    margin-bottom: 50px !important;
  }

  .collect ul {
    display: flex;
    justify-content: center;
    gap: 100px;
    max-width: 900px;
    margin: auto;
  }

  .collect ul li {
    width: 40%;
  }

  .collect ul li figure.icon {
    display: flex;
    align-items: center;
    gap: 30px;
  }

  .collect ul li figure.icon figcaption {
    font-size: 3rem;
    font-weight: 600;
    color: #008b75;
    line-height: 1.3;
  }

  .collect ul li figure.icon.none figcaption {
    color: #a5a5a5;
  }

  .collect ul li figure.icon img {
  }

  .collect ul li figure.fukidashi {
    margin-top: 25px;
  }

  .collect ul li figure.fukidashi figcaption {
    font-size: 3rem;
    font-weight: 600;
    color: #a5a5a5;
    line-height: 1.3;
  }

  .collect ul li figure.fukidashi img {
  }

  .collect h3 {
    text-align: center;
    font-size: 3rem;
    margin-top: 100px;
  }

  ul.column {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 5%;
    margin-bottom: 50px;
  }

  /* li と .mwform-checkbox-field 両方に同じスタイル */
  ul.column li,
  ul.column .mwform-checkbox-field {
    width: 30%;
  }

  ul.column li a {
  }

  ul.column li figure,
  ul.column .mwform-checkbox-field figure {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 10px;
    border: solid 2px rgb(0 0 0 / 0%);
  }

  ul.column li figure img,
  ul.column .mwform-checkbox-field figure img {
  }

  ul.column li figure figcaption,
  ul.column .mwform-checkbox-field figure figcaption {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.7;
  }

  ol.step {
    display: flex;
    margin: 100px 0;
    gap: 200px;
    justify-content: center;
  }

  .step li {
    text-align: center;
    position: relative;
  }

  .step li.active {
  }

  .step li span {
  }

  .step li span:nth-of-type(1) {
    width: 46px;
    height: 46px;
    display: grid;
    background: #c6c6c6;
    color: #fff;
    place-content: center;
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 600;
  }

  .step li span:nth-of-type(2) {
    color: #c6c6c6;
    font-weight: 600;
    font-size: 1.8rem;
    margin-top: 0.5em;
    display: block;
  }

  .step li:nth-of-type(2)::before {
    content: '';
    display: flex;
    width: 200px;
    height: 1px;
    background: #c6c6c6;
    align-items: center;
    position: absolute;
    top: 23px;
    left: -200px;
  }

  .step li:nth-of-type(3)::before {
    content: '';
    display: flex;
    width: 200px;
    height: 1px;
    background: #c6c6c6;
    align-items: center;
    position: absolute;
    top: 23px;
    left: -200px;
  }

  .step li.active span:nth-of-type(1) {
    background: #009375;
  }

  .step li.active span:nth-of-type(2) {
    color: #009375;
  }

  form {
  }

  /* ★修正箇所：li と .mwform-checkbox-field 両方にチェックボックススタイルを適用 */
  ul.column.checkbox-list li,
  ul.column.checkbox-list .mwform-checkbox-field {
    cursor: pointer;
    transition: all 0.3s;

    label {
      cursor: pointer;
      display: block;
      position: relative;
    }

    input[type='checkbox'] {
      position: absolute;
      opacity: 0;
      cursor: pointer;
    }

    .checkbox-icon {
      position: absolute;
      top: -5px;
      left: 100px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      z-index: 1;
      transition: all 0.3s;
      display: flex;
      align-items: center;
      justify-content: center;

      &::after {
        content: '';
        display: none;
        width: 12px;
        height: 20px;
        border: solid #fff;
        border-width: 0 3px 3px 0;
        transform: rotate(45deg);
        top: -2px;
        position: relative;
      }
    }

    figure {
      border: 2px solid transparent;
      border-radius: 10px;
      padding: 10px;
      transition: all 0.3s;
    }

    input[type='checkbox']:checked ~ .checkbox-icon {
      background: #008a75;
      border-color: #008a75;

      &::after {
        display: block;
      }
    }

    input[type='checkbox']:checked ~ figure {
      figcaption {
        color: #008a75;
      }
    }

    &:hover figure {
      opacity: 0.8;
    }

    &:hover .checkbox-icon {
      border-color: #008a75;
    }
  }

  form h3 {
    text-align: center;
    font-size: 3rem;
    margin-top: 100px;
    margin-bottom: 50px;
  }

  form dl {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  form dl + dl {
    margin-top: 50px;
  }

  form dt {
    font-size: 1.8rem;
    font-weight: 600;
  }

  form dt span {
    color: #c73a45;
  }

  form dd {
    display: flex;
    gap: 20px;
    align-items: center;
  }

  form dd button {
    background: #808080;
    color: #fff;
    font-weight: 600;
    font-size: 1.8rem;
    border-radius: 10px;
    width: 200px;
    padding: 18px 1em;
    text-align: center;
  }

  form dd input {
    background: #e6e6e6;
    width: 100%;
    padding: 18px 1em;
    border-radius: 10px;
  }

  form dd input.max200 {
    max-width: 200px;
  }

  form dd input::placeholder {
    color: #999;
    opacity: 1;
  }

  form dd textarea {
    background: #e6e6e6;
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    height: 400px;
  }

  form dd textarea::placeholder {
    color: #999;
    opacity: 1;
  }

  .submit_wrapper {
    margin-top: 70px;
  }

  .contact_link_btn {
    max-width: 400px;
    margin: 0px auto 0;
  }

  .contact_link_btn button {
    padding: 1em;
    position: relative;
    text-align: center;
    background: #008a75;
    clip-path: polygon(
      14px 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% calc(100% - 14px),
      calc(100% - 14px) 100%,
      14px 100%,
      0 calc(100% - 14px),
      0 14px
    );
    color: #008a75;
    isolation: isolate;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .contact_link_btn button::before {
    content: '';
    position: absolute;
    inset: 1px;
    background: #fff;
    clip-path: polygon(
      13px 0,
      calc(100% - 13px) 0,
      100% 13px,
      100% calc(100% - 13px),
      calc(100% - 13px) 100%,
      13px 100%,
      0 calc(100% - 13px),
      0 13px
    );
    z-index: -1;
  }

  .contact_link_btn button::after {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: bottom;
    content: '';
    background-image: url(../img/rightarrow_green.webp);
    width: 1em;
    height: 1em;
    margin-left: 1em;
  }

  @media screen and (max-width: 768px) {
    .contact_inner {
      width: 86%;
      padding: 50px 0 100px;
    }

    .collect h3 {
      font-size: 2rem;
      margin-top: 50px;
    }

    .collect ul {
      gap: 10%;
    }

    .collect ul li {
      width: 45%;
    }

    .collect ul li figure.icon {
      flex-direction: column;
      gap: 15px;
    }

    .collect ul li figure.icon figcaption {
      font-size: 2rem;
    }

    ul.column {
      gap: 20px 5%;
    }

    ul.column li,
    ul.column .mwform-checkbox-field {
      width: 100%;
    }
  }

  /* 確認画面・完了画面用のステップ表示 */
  ol.step.two-step {
    display: flex;
    margin: 100px 0 50px;
    gap: 200px;
    justify-content: center;
  }

  /* 確認画面・完了画面では上部タブを非表示 */
  body#pamphlet .mw_wp_form_confirm ~ .collect,
  body#pamphlet .contact_inner.profile .mw_wp_form_confirm .collect {
    display: none !important;
  }

  /* 確認画面のスタイル */
  .mw_wp_form_confirm h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: left;
  }

  .mw_wp_form_confirm form dl {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 30px;
  }

  .mw_wp_form_confirm form dl + dl {
    margin-top: 30px;
  }

  .mw_wp_form_confirm form dt {
    font-size: 1.8rem;
    font-weight: 600;
  }

  .mw_wp_form_confirm form dd {
    width: 100%;
    padding: 18px 0;
    border-radius: 0;
    border-bottom: solid 1px #ddd;
    display: block;
    font-size: 1.6rem;
  }

  .mw_wp_form_confirm dd > br {
    display: none;
  }

  /* 確認画面の資料選択表示(テキストのみ) */
  .mw_wp_form_confirm .visual-copy {
    display: none !important;
  }

  .mw_wp_form_confirm .checkbox-list {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .mw_wp_form_confirm .checkbox-list li {
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    line-height: 2;
  }

  .mw_wp_form_confirm .checkbox-list li::before {
    content: '・';
    margin-right: 5px;
  }

  /* 確認画面のボタン */
  .mw_wp_form_confirm .contact_link_btn {
    max-width: 600px;
    margin: 50px auto 0;
    display: flex;
    gap: 2em;
  }

  .mw_wp_form_confirm .contact_link_btn > br {
    display: none;
  }

  .mw_wp_form_confirm .contact_link_btn button {
    width: 50%;
  }

  .mw_wp_form_confirm .contact_link_btn button:nth-of-type(1) {
    background: #3e3e3e;
    color: #3e3e3e;
  }

  .mw_wp_form_confirm .contact_link_btn button:nth-of-type(1)::before {
    background: #f5f5f5;
  }

  .mw_wp_form_confirm .contact_link_btn button:nth-of-type(1)::after {
    background-image: url(../img/rightarrow_gray.webp);
  }

  /* 確認画面のフォーム内見出しを非表示 */
  .mw_wp_form_confirm form h3 {
    display: none;
  }

  /* 確認画面専用の見出しスタイル */
  .mw_wp_form_confirm .confirm-section-title {
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: left;
  }

  /* 確認画面の資料リストを縦一列に */
  .mw_wp_form_confirm .checkbox-list {
    display: block !important;
    flex-wrap: unset !important;
    gap: 0 !important;
  }

  .mw_wp_form_confirm .checkbox-list li {
    width: 100% !important;
    padding: 5px 0 !important;
    margin: 0 !important;
    font-size: 1.6rem;
    line-height: 2;
  }

  @media screen and (max-width: 768px) {
    ol.step.two-step {
      gap: 120px;
      margin: 50px 0 30px;
    }

    .mw_wp_form_confirm .contact_link_btn {
      flex-direction: column;
      gap: 20px;
    }

    .mw_wp_form_confirm .contact_link_btn button {
      width: 100%;
    }
  }

  /* 入力画面では「請求する資料」タイトルを非表示 */
  .mw_wp_form_input .pamphlet-title {
    display: none;
  }

  /* 確認画面では表示 */
  .mw_wp_form_confirm .pamphlet-title {
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: left;
  }

  /* 完了画面のスタイル */
  .complete_message {
    text-align: center;
    margin: 80px 0 60px;
  }

  .complete_message h3 {
    font-size: 3.2rem;
    font-weight: 600;
    color: #009375;
    margin-bottom: 30px;
  }

  .complete_message p {
    font-size: 1.6rem;
    line-height: 1.8;
    color: #3e3e3e;
  }

  .complete_link {
    max-width: 400px;
    margin: 0 auto;
  }

  .top_link_btn {
    padding: 1em;
    position: relative;
    text-align: center;
    background: #008a75;
    clip-path: polygon(
      14px 0,
      calc(100% - 14px) 0,
      100% 14px,
      100% calc(100% - 14px),
      calc(100% - 14px) 100%,
      14px 100%,
      0 calc(100% - 14px),
      0 14px
    );
    color: #008a75;
    isolation: isolate;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-decoration: none;
  }

  .top_link_btn::before {
    content: '';
    position: absolute;
    inset: 1px;
    background: #f5f5f5;
    clip-path: polygon(
      13px 0,
      calc(100% - 13px) 0,
      100% 13px,
      100% calc(100% - 13px),
      calc(100% - 13px) 100%,
      13px 100%,
      0 calc(100% - 13px),
      0 13px
    );
    z-index: -1;
  }

  .top_link_btn::after {
    position: relative;
    z-index: 1;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: bottom;
    content: '';
    background-image: url(../img/rightarrow_green.webp);
    width: 1em;
    height: 1em;
    margin-left: 1em;
  }

  @media screen and (max-width: 768px) {
    .complete_message {
      margin: 50px 0 40px;
    }

    .complete_message h3 {
      font-size: 2.4rem;
      margin-bottom: 20px;
    }

    .complete_message p {
      font-size: 1.4rem;
    }
  }
}
