@charset "UTF-8";
/* -----------------------------------
 
 (c) 2025 melong works
 contact：info@melong-works.com
  「/assets/css/form_style」@2025

----------------------------------- */
/*****************************************************

	システム

*****************************************************/
/*ベージュ*/
/*グレー*/
/*PC時カラー*/
/*SP時カラー*/
/*コンテンツ文字 基本*/
/*コンテンツ文字 白*/
/*コンテンツ文字 紺*/
/*コンテンツ文字 黒系*/
/*****************************************************

	フォントサイズ指定

*****************************************************/
/*使用例*/
.fontsize_example {
  font-size: clamp(1rem, 0.7rem + 0.89vw, 2.2rem) /* FontSizeClamp (10 - 22px, 375 - 1728px) */; }

/*****************************************************

	widthなどサイズ を　px　から % に

*****************************************************/
/*使用例*/
.size_example {
  width: calc(10.4167% + -0.4%); }

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル

*****************************************************/
/*使用例*/
.size_exampleVW {
  width: 4.6154vw; }

/*****************************************************

	widthなどサイズ を　px　から vh に シンプル

*****************************************************/
/*使用例*/
.size_exampleVH {
  width: 2.8125vh; }

/*****************************************************

	widthなどサイズ を　px　から % に シンプル

*****************************************************/
/*使用例*/
.size_examplePar {
  width: 2.8125%; }

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル
  min を使用して、最大値を設定

*****************************************************/
.size_sizeMinVW {
  width: min( 50vw, 320px ); }

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル
  clamp を使用して、最小と最大値を設定

*****************************************************/
/*使用例*/
.size_sizeClmpVW {
  font-size: clamp(14px, 1.5046vw, 26px); }

/*****************************************************

	line-heightの値 Photoshop
  行送りの数値（px）÷ フォントサイズ（px）

*****************************************************/
/*使用例*/
.size_line-height {
  line-height: 1.667; }

/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊
＊
＊
＊
＊
＊　共通パーツ
＊
＊
＊
＊
＊
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊
＊
＊
＊
＊
＊　お問い合わせページ　　page_contact
＊
＊
＊
＊
＊
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.main_contents.page_contents.page_contact {
  background-color: #FAF8F1;
  border-top: 2px solid #000; }
  .main_contents.page_contents.page_contact .sec__instagram {
    background-color: #fff; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .main_contents.page_contents.page_contact {
    border-top: 1px solid #000; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　.page_contact お問い合わせ .sec__kv 共通設定あり
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_contact .sec__kv {
  width: 100%;
  position: relative; }
  .page_contact .sec__kv .sec_wrap {
    width: 100%;
    position: relative;
    padding: 9.838vw 0 7.5231vw; }
  .page_contact .sec__kv .sec_wrap::before {
    content: '';
    background-image: url("../assets/img/form/kv_bg_parts01_pc.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 510px;
    aspect-ratio: 510 / 322;
    position: absolute;
    top: 50px;
    left: 58px; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_contact .sec__kv {
    width: 100%;
    position: relative; }
    .page_contact .sec__kv .sec_wrap {
      width: 100%;
      position: relative;
      padding: 12.8205vw 0 15.3846vw; }
    .page_contact .sec__kv .sec_wrap::before {
      content: '';
      background-image: url("../assets/img/form/kv_bg_parts01_sp_2x.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 61.2821vw;
      aspect-ratio: 478 / 406;
      position: absolute;
      top: -14.8718vw;
      left: 0; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　.page_contact お問い合わせ .sec__lead 共通設定あり
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_contact .sec__lead {
  width: 100%;
  position: relative; }
  .page_contact .sec__lead .sec_wrap {
    width: 100%;
    position: relative;
    padding: 0.5787vw 0 0; }
  .page_contact .sec__lead .sec_catch {
    border-bottom: 2px solid #000;
    max-width: 1228px;
    width: 96.7427vw;
    text-align: center;
    text-align-last: inherit;
    margin: auto;
    padding-bottom: 5.787vw; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_contact .sec__lead {
    width: 100%;
    position: relative; }
    .page_contact .sec__lead .sec_wrap {
      width: 100%;
      position: relative;
      padding: 2.5641vw 0 0; }
    .page_contact .sec__lead .sec_catch {
      border-bottom: 1px solid #000;
      max-width: 100%;
      width: 79.4872vw;
      text-align: justify;
      text-align-last: left;
      margin: auto;
      padding-bottom: 12.8205vw; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　page_contact お問い合わせ　.sec__contact_form
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* =========================================================

　全体

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.page_contact .sec__contact_form {
  border-bottom: 2px solid #000;
  width: 100%;
  position: relative; }
  .page_contact .sec__contact_form .sec_wrap {
    width: 100%;
    position: relative;
    padding: 2.8935vw 0 8.6806vw; }
  .page_contact .sec__contact_form .sec_wrap::after {
    content: '';
    background-image: url("../assets/img/form/contact_form_bg_parts01_pc.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 30.7292vw;
    aspect-ratio: 531 / 197;
    position: absolute;
    bottom: 0;
    right: 10px; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_contact .sec__contact_form {
    border-bottom: 1px solid #000;
    width: 100%;
    position: relative; }
    .page_contact .sec__contact_form .sec_wrap {
      width: 100%;
      position: relative;
      padding: 5.3846vw 0 43.5897vw; }
    .page_contact .sec__contact_form .sec_wrap::after {
      content: '';
      background-image: url("../assets/img/form/contact_form_bg_parts01_sp_2x.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 100vw;
      aspect-ratio: 780 / 262;
      position: absolute;
      bottom: 0;
      right: 0; }

  /**/ }
/*スマホ 表示 end*/
/* =========================================================

　フォーム部分

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.form_wrap {
  max-width: 1228px;
  width: 96.7427vw;
  margin: auto;
  /*入力部分 全体*/
  /*項目名*/
  /*.form_item dt .title_txt::before {
    content: '・';
    display: inline-block;
    margin-right: 0.2em;
  }*/
  /*必須マーク*/
  /*必須マーク 任意タイプ*/
  /*入力部分*/
  /*テキストエリアパーツ*/
  /*郵便番号パーツ*/
  /*都道府県パーツ*/
  /*セレクトボックスパーツ*/
  /* チェックボックス */
  /* 個人情報同意チェックボックス */
  /*チェックボックス設定*/
  /*ラジオボタン*/
  /*生年月日ドロップダウン*/
  /*送信ボタン*/ }
  .form_wrap input[type="text"],
  .form_wrap input[type="tel"],
  .form_wrap input[type="email"],
  .form_wrap select,
  .form_wrap textarea {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 0;
    width: 100%;
    font-size: clamp(16px, 1.6287vw, 20px);
    line-height: 2;
    letter-spacing: 0.1em;
    padding: 22px 1em;
    outline: none;
    /*フォーカス時デフォルトのハイライト消す*/
    transition: 0.1s; }
  .form_wrap input[type="text"]:focus,
  .form_wrap input[type="tel"]:focus,
  .form_wrap input[type="email"]:focus,
  .form_wrap select:focus,
  .form_wrap textarea:focus {
    box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.4);
    /*フォーカスした時に影をつける*/
    border: solid 2px #008CFF; }
  .form_wrap .form_item {
    width: 100%;
    display: flex;
    gap: 0 10px;
    align-items: center;
    justify-content: space-between;
    margin-top: 60px; }
  .form_wrap .form_item:first-of-type {
    margin-top: 0; }
  .form_wrap .form_item dt {
    width: 400px; }
  .form_wrap .form_item dt label {
    display: flex;
    gap: 0 2em;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end; }
  .form_wrap .form_item dt .title_txt {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 400;
    letter-spacing: 0.04em; }
  .form_wrap .form_item dt .mandatory_mark {
    background-color: #3E4E57;
    border-radius: 0;
    color: #fff;
    font-size: 20px;
    padding: 12px 18px; }
  .form_wrap .form_item dt .mandatory_mark.type_any {
    background-color: #D9D9D9; }
  .form_wrap .form_item dd {
    width: 723px;
    position: relative; }
  .form_wrap .form_item.textarea_parts {
    align-items: flex-start; }
  .form_wrap .form_item.textarea_parts dt {
    margin-top: 0.5em; }
  .form_wrap .form_item textarea {
    resize: vertical;
    /*縦方向にだけ伸縮*/ }
  .form_wrap .form_item.post_code_unit .post_code_inner {
    display: flex;
    gap: 0 20px;
    align-items: center; }
  .form_wrap .form_item.post_code_unit .post_code_inner span {
    font-size: clamp(16px, 1.5625vw, 20px);
    font-weight: 400; }
  .form_wrap .form_item.post_code_unit .post_code_inner input {
    width: 246px; }
  .form_wrap .form_item.post_code_unit .post_code_inner .post_code_note {
    font-size: clamp(12px, 1.0938vw, 14px);
    font-weight: 400;
    letter-spacing: 0.04em;
    margin-left: 53px; }
  .form_wrap .form_item.post_code_unit .post_code_btn {
    background-color: #008CFF;
    border-radius: 5px;
    width: 286px;
    aspect-ratio: 286 / 50;
    margin-top: 37px; }
  .form_wrap .form_item.post_code_unit .post_code_btn button {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: clamp(16px, 1.5625vw, 20px);
    font-weight: 400;
    letter-spacing: 0.04em; }
  .form_wrap .form_item.post_code_unit .btn_note {
    font-size: clamp(12px, 1.0938vw, 14px);
    font-weight: 400;
    letter-spacing: 0.04em;
    margin-top: 20px; }
  .form_wrap .form_item.prefectures_parts dd {
    flex-grow: 0;
    width: 280px; }
  .form_wrap .form_item .select_box {
    position: relative; }
  .form_wrap .form_item .select_box::after {
    content: '';
    background-image: url("img/select_box_arrow02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 18px;
    aspect-ratio: 18 / 14;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    pointer-events: none; }
  .form_wrap .checkbox_parts {
    width: 100%; }
  .form_wrap .checkbox_parts ul li {
    display: flex;
    align-items: center; }
  .form_wrap .checkbox_parts ul li label {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.11em;
    margin-left: 1em; }
  .form_wrap .checkbox_parts ul li + li {
    margin-top: 1em; }
  .form_wrap .agree_btn_wrap {
    width: 100%;
    margin-top: 66px;
    padding-left: 350px; }
  .form_wrap .agree_btn_inner {
    display: flex;
    align-items: center; }
  .form_wrap .agree_btn_wrap label {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.04em;
    margin-left: 1em; }
  .form_wrap input[type="checkbox"] {
    cursor: pointer;
    width: 20px;
    /*チェックボックスの横幅*/
    aspect-ratio: 1 / 1;
    /*ボックスの縦横比*/
    display: block;
    position: relative;
    margin-top: 2px; }
  .form_wrap input[type="checkbox"]::before,
  .form_wrap input[type="checkbox"]::after {
    content: '';
    display: block;
    position: absolute; }
  .form_wrap input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #3E1F00;
    width: 20px;
    /*チェックボックスの横幅*/
    aspect-ratio: 1 / 1;
    /*ボックスの縦横比*/
    top: 0;
    left: 0; }
  .form_wrap input[type="checkbox"]:checked::before {
    background-color: #1CADA1;
    /*チェック時背景カラー*/ }
  .form_wrap input[type="checkbox"]::after {
    border-bottom: 3px solid #fff;
    /*チェックの太さ*/
    border-left: 3px solid #fff;
    /*チェックの太さ*/
    opacity: 0;
    /*チェック前は非表示*/
    height: 7px;
    /*チェックの高さ*/
    width: 14px;
    /*チェックの横幅*/
    transform: rotate(-45deg);
    top: 4px;
    /*チェック時の位置調整*/
    left: 4px;
    /*チェック時の位置調整*/ }
  .form_wrap input[type="checkbox"]:checked::after {
    opacity: 1;
    /*チェック後表示*/ }
  .form_wrap .radio_btn_parts dt {
    display: flex;
    align-items: center; }
  .form_wrap .radio_btn_parts ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0; }
  .form_wrap .radio_btn_parts ul li {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.04em; }
  .form_wrap .radio_btn_parts.ver01 ul li {
    width: 25%; }
  .form_wrap .radio_btn_parts.ver02 ul li {
    width: 20%; }
  .form_wrap .radio_btn_parts label {
    position: relative;
    cursor: pointer;
    padding-left: 30px; }
  .form_wrap .radio_btn_parts label::before,
  .form_wrap .radio_btn_parts label::after {
    content: '';
    border-radius: 9999px;
    display: block;
    position: absolute;
    transform: translateY(-50%);
    top: 50%; }
  .form_wrap .radio_btn_parts label::before {
    background-color: #fff;
    border: 1px solid #262727;
    width: 17px;
    height: 17px; }
  .form_wrap .radio_btn_parts label::after {
    background-color: #008CFF;
    border: 1px solid #008CFF;
    opacity: 0;
    width: 9px;
    height: 9px;
    left: 4px; }
  .form_wrap .radio_btn_parts input:checked + label::before {
    border: 1px solid #0068E1; }
  .form_wrap .radio_btn_parts input:checked + label::after {
    opacity: 1; }
  .form_wrap .radio_btn_parts .visually-hidden {
    position: absolute;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0; }
  .form_wrap .form_item.birth_box dd {
    display: flex;
    gap: 10px;
    align-items: center; }
  .form_wrap .form_item.birth_box dd label {
    font-size: clamp(18px, 1.7188vw, 22px);
    font-weight: 500;
    letter-spacing: 0.04em; }
  .form_wrap .form_item.birth_box dd .select_box {
    position: relative; }
  .form_wrap .form_item.birth_box dd .select_box::after {
    content: '';
    background-image: url("img/select_box_arrow02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 18px;
    aspect-ratio: 18 / 14;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    pointer-events: none; }
  .form_wrap .agree_btn_wrap a {
    display: block;
    color: #001AFF;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-decoration: underline;
    text-underline-offset: 6px;
    margin-top: 20px; }
  .form_wrap .submit_btn {
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 9999px;
    width: 419px;
    aspect-ratio: 419 / 94;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: clamp(16px, 1.9544vw, 24px);
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin: 100px auto 0;
    transition: 0.3s; }
  .form_wrap .submit_btn::after {
    content: '';
    background-image: url("img/submit_btn_arrow02.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 26px;
    height: 12px;
    display: block;
    position: absolute;
    top: 50%;
    right: 60px;
    transform: translateY(-50%); }
  .form_wrap .submit_btn:hover {
    opacity: 0.6; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .form_wrap {
    max-width: 100%;
    width: 79.4872vw;
    margin: auto;
    /*入力部分 全体*/
    /*項目名*/
    /*.form_item dt .title_txt::before {
      content: '・';
      display: inline-block;
      margin-right: 0.2em;
    }*/
    /*必須マーク*/
    /*必須マーク 任意タイプ*/
    /*入力部分*/
    /*テキストエリアパーツ*/
    /*郵便番号パーツ*/
    /*都道府県パーツ*/
    /*セレクトボックスパーツ*/
    /* チェックボックス */
    /* 個人情報同意チェックボックス */
    /*チェックボックス設定*/
    /*ラジオボタン*/
    /*生年月日ドロップダウン*/
    /*送信ボタン*/ }
    .form_wrap input[type="text"],
    .form_wrap input[type="tel"],
    .form_wrap input[type="email"],
    .form_wrap select,
    .form_wrap textarea {
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 0;
      width: 100%;
      font-size: 3.5897vw;
      line-height: 1.714;
      letter-spacing: 0.1em;
      padding: 3.0769vw 1em;
      outline: none;
      /*フォーカス時デフォルトのハイライト消す*/
      transition: 0.1s; }
    .form_wrap input[type="text"]:focus,
    .form_wrap input[type="tel"]:focus,
    .form_wrap input[type="email"]:focus,
    .form_wrap select:focus,
    .form_wrap textarea:focus {
      box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.4);
      /*フォーカスした時に影をつける*/
      border: solid 2px #008CFF; }
    .form_wrap .form_item {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 15px 0;
      align-items: center;
      justify-content: space-between;
      margin-top: 30px; }
    .form_wrap .form_item:first-of-type {
      margin-top: 0; }
    .form_wrap .form_item dt {
      width: 100%; }
    .form_wrap .form_item dt label {
      display: flex;
      gap: 0 1em;
      flex-direction: row-reverse;
      align-items: center;
      justify-content: flex-end; }
    .form_wrap .form_item dt .title_txt {
      font-size: 3.5897vw;
      font-weight: 400;
      letter-spacing: 0.04em; }
    .form_wrap .form_item dt .mandatory_mark {
      background-color: #3E4E57;
      border-radius: 0;
      color: #fff;
      font-size: 3.5897vw;
      padding: 2.3077vw 3.0769vw; }
    .form_wrap .form_item dt .mandatory_mark.type_any {
      background-color: #D9D9D9; }
    .form_wrap .form_item dd {
      width: 100%;
      position: relative; }
    .form_wrap .form_item.textarea_parts {
      align-items: flex-start; }
    .form_wrap .form_item.textarea_parts dt {
      margin-top: 0.5em; }
    .form_wrap .form_item textarea {
      resize: vertical;
      /*縦方向にだけ伸縮*/ }
    .form_wrap .form_item.post_code_unit .post_code_inner {
      display: flex;
      gap: 0 20px;
      align-items: center; }
    .form_wrap .form_item.post_code_unit .post_code_inner span {
      font-size: clamp(16px, 1.5625vw, 20px);
      font-weight: 400; }
    .form_wrap .form_item.post_code_unit .post_code_inner input {
      width: 246px; }
    .form_wrap .form_item.post_code_unit .post_code_inner .post_code_note {
      font-size: clamp(12px, 1.0938vw, 14px);
      font-weight: 400;
      letter-spacing: 0.04em;
      margin-left: 53px; }
    .form_wrap .form_item.post_code_unit .post_code_btn {
      background-color: #008CFF;
      border-radius: 5px;
      width: 286px;
      aspect-ratio: 286 / 50;
      margin-top: 37px; }
    .form_wrap .form_item.post_code_unit .post_code_btn button {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: clamp(16px, 1.5625vw, 20px);
      font-weight: 400;
      letter-spacing: 0.04em; }
    .form_wrap .form_item.post_code_unit .btn_note {
      font-size: clamp(12px, 1.0938vw, 14px);
      font-weight: 400;
      letter-spacing: 0.04em;
      margin-top: 20px; }
    .form_wrap .form_item.prefectures_parts dd {
      flex-grow: 0;
      width: 280px; }
    .form_wrap .form_item .select_box {
      position: relative; }
    .form_wrap .form_item .select_box::after {
      content: '';
      background-image: url("img/select_box_arrow02.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      width: 18px;
      aspect-ratio: 18 / 14;
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 5%;
      pointer-events: none; }
    .form_wrap .checkbox_parts {
      width: 100%; }
    .form_wrap .checkbox_parts ul li {
      display: flex;
      align-items: center; }
    .form_wrap .checkbox_parts ul li label {
      font-size: 22px;
      font-weight: 400;
      letter-spacing: 0.11em;
      margin-left: 1em; }
    .form_wrap .checkbox_parts ul li + li {
      margin-top: 1em; }
    .form_wrap .agree_btn_wrap {
      width: 79.4872vw;
      margin-top: 7.6923vw;
      padding-left: 0; }
    .form_wrap .agree_btn_inner {
      display: flex;
      align-items: center; }
    .form_wrap .agree_btn_wrap label {
      font-size: 3.5897vw;
      font-weight: 400;
      letter-spacing: 0;
      margin-left: 1em; }
    .form_wrap input[type="checkbox"] {
      cursor: pointer;
      width: 20px;
      /*チェックボックスの横幅*/
      aspect-ratio: 1 / 1;
      /*ボックスの縦横比*/
      display: block;
      position: relative;
      margin-top: 2px; }
    .form_wrap input[type="checkbox"]::before,
    .form_wrap input[type="checkbox"]::after {
      content: '';
      display: block;
      position: absolute; }
    .form_wrap input[type="checkbox"]::before {
      background-color: #fff;
      border-radius: 0%;
      border: 1px solid #3E1F00;
      width: 20px;
      /*チェックボックスの横幅*/
      aspect-ratio: 1 / 1;
      /*ボックスの縦横比*/
      top: 0;
      left: 0; }
    .form_wrap input[type="checkbox"]:checked::before {
      background-color: #1CADA1;
      /*チェック時背景カラー*/ }
    .form_wrap input[type="checkbox"]::after {
      border-bottom: 3px solid #fff;
      /*チェックの太さ*/
      border-left: 3px solid #fff;
      /*チェックの太さ*/
      opacity: 0;
      /*チェック前は非表示*/
      height: 7px;
      /*チェックの高さ*/
      width: 14px;
      /*チェックの横幅*/
      transform: rotate(-45deg);
      top: 4px;
      /*チェック時の位置調整*/
      left: 4px;
      /*チェック時の位置調整*/ }
    .form_wrap input[type="checkbox"]:checked::after {
      opacity: 1;
      /*チェック後表示*/ }
    .form_wrap .radio_btn_parts dt {
      display: flex;
      align-items: center; }
    .form_wrap .radio_btn_parts ul {
      display: flex;
      flex-wrap: wrap;
      gap: 30px 0; }
    .form_wrap .radio_btn_parts ul li {
      font-size: 22px;
      font-weight: 400;
      letter-spacing: 0.04em; }
    .form_wrap .radio_btn_parts.ver01 ul li {
      width: 25%; }
    .form_wrap .radio_btn_parts.ver02 ul li {
      width: 20%; }
    .form_wrap .radio_btn_parts label {
      position: relative;
      cursor: pointer;
      padding-left: 30px; }
    .form_wrap .radio_btn_parts label::before,
    .form_wrap .radio_btn_parts label::after {
      content: '';
      border-radius: 9999px;
      display: block;
      position: absolute;
      transform: translateY(-50%);
      top: 50%; }
    .form_wrap .radio_btn_parts label::before {
      background-color: #fff;
      border: 1px solid #262727;
      width: 17px;
      height: 17px; }
    .form_wrap .radio_btn_parts label::after {
      background-color: #008CFF;
      border: 1px solid #008CFF;
      opacity: 0;
      width: 9px;
      height: 9px;
      left: 4px; }
    .form_wrap .radio_btn_parts input:checked + label::before {
      border: 1px solid #0068E1; }
    .form_wrap .radio_btn_parts input:checked + label::after {
      opacity: 1; }
    .form_wrap .radio_btn_parts .visually-hidden {
      position: absolute;
      white-space: nowrap;
      border: 0;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      overflow: hidden;
      height: 1px;
      width: 1px;
      margin: -1px;
      padding: 0; }
    .form_wrap .form_item.birth_box dd {
      display: flex;
      gap: 10px;
      align-items: center; }
    .form_wrap .form_item.birth_box dd label {
      font-size: clamp(18px, 1.7188vw, 22px);
      font-weight: 500;
      letter-spacing: 0.04em; }
    .form_wrap .form_item.birth_box dd .select_box {
      position: relative; }
    .form_wrap .form_item.birth_box dd .select_box::after {
      content: '';
      background-image: url("img/select_box_arrow02.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      width: 18px;
      aspect-ratio: 18 / 14;
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 5%;
      pointer-events: none; }
    .form_wrap .agree_btn_wrap a {
      display: block;
      color: #001AFF;
      font-size: 3.5897vw;
      font-weight: 400;
      letter-spacing: 0.04em;
      text-decoration: underline;
      text-underline-offset: 6px;
      margin-top: 4.1026vw; }
    .form_wrap .submit_btn {
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 9999px;
      width: 53.8462vw;
      aspect-ratio: 210 / 47;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      font-size: 3.5897vw;
      letter-spacing: 0.1em;
      text-indent: 0.1em;
      margin: 12.8205vw auto 0;
      transition: 0.3s; }
    .form_wrap .submit_btn::after {
      content: '';
      background-image: url("img/submit_btn_arrow02.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 13px;
      height: 6px;
      display: block;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%); }
    .form_wrap .submit_btn:hover {
      opacity: 0.6; }

  /**/ }
/*スマホ 表示 end*/
