@charset "UTF-8";
/* ヘッダー */
/*-------------------------------------------*/
header {
  position: fixed; /* ヘッダーを固定する */
  top: 0px; /* 画面の上部に固定 */
  background-color:var(--background-color);
  width: 100%;
  z-index: 1000; /* ヘッダーを他の要素の上に表示 */
}

.header {
  max-width: 343px;
  margin: 0 auto;
}

.header_title-1 {
  background-size: 160px;
  background-image: url(../img/logo-1.png);
  background-position: left;
  background-repeat: no-repeat;
  height: 28px;
}

.header_title-2 {
  background-size: 160px;
  background-image: url(../img/logo-2.png);
  background-position: left;
  background-repeat: no-repeat;
  height: 28px;
  max-width: 343px;
  margin-top: 10px;
  margin-bottom: 10px;
}

body {
  background-color:var(--background-color);
  margin: 0;
  max-width: 100%;   /* スマホの幅ぐらいに制限 */
  padding: 80px 0 0 0;      /* 端から少し余白 */
  box-sizing: border-box; /* パディング込みで幅を計算 */
  justify-content: center;
}

.main_title_div {
  display: flex;
  flex-direction: column;
  padding: 0px 0px 0px 0px;
  gap: 2px;
}
.text_main_title {
  color: var(--text_main, #181B35);
  font-feature-settings: 'palt' on;
  font-family: var(--font-family);
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 28.8px */
}
.text_main_title_sub {
  font-family: var(--font-family);
  color: #181b35;
  font-style: var(--base-font-style);
  font-weight: 700;
  line-height: 130%;
  font-size: 14px;
}

.progress_state {
   text-align:center;
   font-weight:bold;
   max-width: 343px;
   display: flex;
   margin-top: 10px;
}

.progress_state_num-1 {
  color:#3762fe;
}

.progress_state_num-2 {
  color:#fc244f;
}

.progress_bar {
  width: 100%;
  height: 20px;
}

.progress_frame {
  width: 100%;
  height: 20px;
}

.progress_container {
  width: 100%;
  height: 10px;
  padding: 5px 5px;
  background-color: #eee;
  border-radius: 10px;
  overflow: hidden;
}

.progress_fill {
  height: 10px;
  background-color: #fc244f;
  transition: width 0.3s ease;
}

/* Chrome, Safari 用 */
.progress_bar::-webkit-progress-bar {
  background-color: #eee;
}

.progress_bar::-webkit-progress-value {
  background-color: #fc244f;
}

/* Firefox 用 */
.progress_bar::-moz-progress-bar {
  background-color: #fc244f;
}

.progress_state_title{
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #3a3a3a;
  font-size: 12px;
  text-align: center;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.status_bar_1 {
  display: flex;
  height: 26px;
  padding: 0 20px;
  justify-content: center;
  align-items: center;
  gap: -23px;
  align-self: stretch;
  background: #FFFFFF url('../img/status_bar_1.png') no-repeat center/cover;
  margin-top: 5px;
  margin-bottom: 2px;
}

.status_bar_2 {
  display: flex;
  height: 26px;
  padding: 0 20px;
  justify-content: center;
  align-items: center;
  gap: -23px;
  align-self: stretch;
  background: #FFFFFF url('../img/status_bar_2.png') no-repeat center/cover;
  margin-top: 10px;
  margin-bottom: 2px;
}
/*-------------------------------------------*/
.block_style1{
  margin-top: 10px;
}

.block_style2{
  margin-top: 10px;
}
.block_style2{
  margin-bottom: 10px;
}

.select_pointer{
  cursor: pointer;
}

.default_select{
  font-family: var(--font-family);
  cursor: pointer;
  color: black;
}

.default_font{
  font-family: var(--font-family);
  color: black;
}

/* アイコン */
/*-------------------------------------------*/
/* アイコン（正面） */
.avatar_front {
  width: 44px;
  height: 44px;
  background: #FFFFFF url('../img/shima1.png') no-repeat center/cover;
  border-radius: 48px;
  flex: none;
}

/* 左側のアイコン */
.avatar {
  width: 44px;
  height: 44px;
  background: #FFFFFF url('../img/shima2.png') no-repeat center/cover;
  border-radius: 48px;
  flex: none;
}

/* 大アイコン */
.big_title_avatar {
  width: 70px;
  height: 70px;
  background: var(--background-color) url('../img/avatar_big.png') no-repeat center/cover;
  flex: none;
}
/*-------------------------------------------*/


.main {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  gap: 28px;
  position: relative;
  /*background-color: var(--bgmain);*/
  justify-content: center;
  margin: auto;
  padding: 5px 0;
}

.input_area {
  display: flex;
  flex-direction: column;
  gap: 28px;
  width: 100%;
}

.confirm_area {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.confirm-text-wrapper-4 {
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  white-space: nowrap;
  position: relative;
  font-family: var(--font-family);
  font-style: var(--action-primary-m-font-style);
}

.confirmation_message_red {
  color: #E81829;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP", Helvetica;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
/* フォーム選択 */
/*-------------------------------------------*/
.select_fdcd {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.select_fdcd_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.select_fdcd_thumnail {
  position: relative;
  width: 44px;
  height: 44px;
}

.select_fdcd_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.select_fdcd_div-wrapper {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.select_fdcd_text-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.select_fdcd_container-wrapper {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.select_fdcd_container {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 10px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.select_fdcd_select {
  min-width: 118px;
  height: 187px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.select_fdcd_item-wrapper {
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.select_fdcd_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
}

.select_fdcd_LOGO {
  align-items: center;
  width: 101px;
  aspect-ratio: 1.72;
  position: relative;
  height: 100%;
  object-fit: contain;
}

.select_fdcd_div {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.select_fdcd_text-wrapper-2 {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.select_fdcd_text-wrapper-3 {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

.select_fdcd_select-2 {
  min-width: 118px;
  justify-content: center;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.select_fdcd_img {
  left: calc(50.00% - 52px);
  width: 102px;
  position: absolute;
  top: calc(50.00% - 30px);
  height: 59px;
}

.select_fdcd_select-3 {
  width: 135px;
  justify-content: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.business_frame{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.business_text_1 {
  color: var(--color-font-black-3-a-3-a-3-a, #3A3A3A);
  font-feature-settings: 'palt' on;
  
  /* chat_base */
  font-family: var(--font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 18.2px */
  margin-top: 20px;
}

.business_text_2 {
  color: var(--color-font-black-3-a-3-a-3-a, #3A3A3A);
  font-feature-settings: 'palt' on;
  
  /* caption */
  font-family: var(--font-family);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.business_text_3 {
  color: #999;
  font-feature-settings: 'palt' on;
  
  /* caption */
  font-family: var(--font-family);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%; /* 15.6px */
}

.business_logo {
  width: 112px;
  height: 26px;
  aspect-ratio: 56/13;
}
/*-------------------------------------------*/


/* 子供の生年月日（Babyのみ） */
/*-------------------------------------------*/
.birthday_baby_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_baby_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.birthday_baby_bc_frame {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  padding: 0 0 25px;
}

.birthday_baby_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.birthday_baby_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.birthday_baby_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_baby_chat {
  display: flex;
  flex-direction: column;
  width: 284px;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.birthday_baby_frame {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_baby_select {
  display: flex;
  width: 98px;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
}


/* デフォルトのボタンを非表示に */
.birthday_baby_button_input {
  display: none;
}

.birthday_baby_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.next_button_label {
  display: flex;
  max-width: 310px;
  width: 210px;
  height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
  cursor: pointer;
}

.birthday_baby_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* 受講講座確認 */
/*-------------------------------------------*/
.course_select_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.course_select_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.course_select_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.course_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.course_select_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.course_select_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.course_select_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.course_select_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.course_select_input {
  display: none;
}

.course_select_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.course_select_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.course_select_input:checked + .course_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.course_select_input:checked + .course_select_label .course_select_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 開始号選択 */
/*-------------------------------------------*/
.start_issue_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.start_issue_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.start_issue_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.start_issue_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.start_issue_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.start_issue_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.start_issue_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.start_issue_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.start_issue_input {
  display: none;
}

.start_issue_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

/* .start_issue_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
} */

.start_issue_text {
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.start_issue_input:checked + .start_issue_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
/* .start_issue_input:checked + .start_issue_label .start_issue_text {
  color: #FFFFFF;
} */
/*-------------------------------------------*/

/* 特別号申し込み */
/*-------------------------------------------*/
.special_div {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.special_bc_chat {
  width: 335px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.special_bc_chat_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.special_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.special_bc_chat_div {
  font-weight: 400;
  color: transparent;
  line-height: 18.2px;
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: 14px;
  letter-spacing: 0;
}

.special_bc_chat_text {
  font-weight: 700;
  color: #181b35;
}

.special_bc_chat_span {
  font-weight: 700;
  color: #fc244f;
}

.special_bc_chat_text_2 {
  font-family: var(--font-family);
  color: #181b35;
  font-size: 12px;
  line-height: 15.6px;
}

.special_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.special_chat_frame {
  display: flex;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
}

.special_chat_box {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  position: relative;
  flex: 0 0 auto;
  padding: 0px 10px 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.special_chat_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 224.69px;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.special_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 0.67;
}

.special_chat_image {
  position: absolute;
  width: 123px;
  height: 178px;
  top: 0;
  left: 0;
  aspect-ratio: 0.67;
  background: #FFFFFF url('../img/special_item_1.png') no-repeat center/cover;
}

.special_chat_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.special_chat_text {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.special_chat_image_2 {
  object-fit: cover;
  position: absolute;
  width: 123px;
  height: 178px;
  top: 0;
  left: 0;
  aspect-ratio: 0.67;
  background: #FFFFFF url('../img/special_item_2.png') no-repeat center/cover;
}

/* デフォルトのラジオボタンを非表示に */
.special_input {
  display: none;
}
.fix_special_input {
  display: none;
}

.special_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* height: 224.69px; */
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.special_chat_text {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.special_input:checked + .special_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}
.fix_special_input:checked + .special_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.special_input:checked + .special_label .special_chat_text {
  color: #FFFFFF;
}
.fix_special_input:checked + .special_label .special_chat_text {
  color: #FFFFFF;
}

/*-------------------------------------------*/

/* 学習スタイル選択 */
/*-------------------------------------------*/
.learning_style_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}

.frame .text-wrapper {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  font-size: var(--action-caption-font-size);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  text-align: center;
  white-space: nowrap;
  font-style: var(--action-caption-font-style);
}

.learning_style_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.learning_style_bc_chat {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.learning_style_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.learning_style_bc_chat_box {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  justify-content: center;
  gap: 5px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}


.learning_style_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: 343px;
  gap: 8px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
}

.learning_style_chat_box {
  display: flex;
  width: 300px;
  height: 210px;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.learning_style_chat_box_sub {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  gap: 10px;
  position: relative;
}

.learning_style_chat_select {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  margin-top: -10.00px;
  margin-bottom: -10.00px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.learning_style_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
}

.learning_style_chat_item img {
  width: 119px;
  height: 120px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF;
}

.learning_style_chat_hop_img {
  position: absolute;
  width: 119px;
  height: 120px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_hop1.png') no-repeat center/cover;
}

.learning_style_chat_step_img {
  position: absolute;
  width: 119px;
  height: 120px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_step1.png') no-repeat center/cover;
}

.learning_style_chat_img_2 {
  position: absolute;
  width: 119px;
  height: 120px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_2.png') no-repeat center/cover;
}

.learning_style_chat_img_3 {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_3.png') no-repeat center/cover;
}

.learning_style_chat_img_4 {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_4.png') no-repeat center/cover;
}

.learning_style_chat_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.learning_style_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.learning_style_chat_text_2 {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textmain);
  font-size: 11px;
  text-align: center;
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

.learning_style_pic_div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px;
  position: absolute;
  top: 1px;
  left: 55px;
  background-color: #e81829;
  border-radius: 16px;
}

.fix_learning_style_pic_div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px;
  position: absolute;
  top: 11px;
  left: 43px;
  background-color: #e81829;
  border-radius: 16px;
}

.learning_style_pic_text {
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--white);
  font-size: 10px;
  letter-spacing: 0.40px;
  line-height: 13.0px;
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  text-align: center;
  white-space: nowrap;
}

/* デフォルトのラジオボタンを非表示に */
.learning_style_input {
  display: none;
}

.learning_style_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 131px;
  height: 174px;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  margin-top: -10.00px;
  margin-bottom: -10.00px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.learning_style_chat_text {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.learning_style_input:checked + .learning_style_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.learning_style_input:checked + .learning_style_label .learning_style_chat_text {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.learning_style_input:checked + .learning_style_label .learning_style_chat_text_2 {
  color: #F5F5F5;
}

.color_select_div {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.color_select_bc_chat {
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.color_select_bc_chat_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.color_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.color_select_bc_chat_text {
  margin-top: -1.00px;
  font-family: var(--chat-base-font-family);
  font-weight: var(--chat-base-font-weight);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.color_select_bc_chat_text_2 {
  font-family: var(--caption-font-family);
  font-weight: var(--caption-font-weight);
  font-size: 11px;
  line-height: var(--caption-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.color_select_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.color_select_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 10px;
  padding: 0 12px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.color_select_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.color_select_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.color_select_chat_item img {
    /* 画像をコンテナの幅と高さに合わせる */
    width: 100%;
    height: 100%;

    /* アスペクト比を維持しつつ、画像全体が表示されるように調整 */
    object-fit: contain;
}

.color_select_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.color_select_text {
  margin-top: -1.00px;
  font-family: var(--action-medium-font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.color_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.color_select_input:checked + .color_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.color_select_input:checked + .color_select_label .color_select_text {
  color: #FFFFFF;
}

.challenge_pad_img {
  position: static;
  width: 280px;
  height: 165px;
  top: 0;
  left: 0;
  background: url('../img/color/challengepad_img.png') no-repeat center/cover;
}

/*-------------------------------------------*/

/* タブレット申請 */
/*-------------------------------------------*/
.tablet_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.tablet_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.tablet_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.tablet_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.tablet_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.tablet_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.tablet_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.tablet_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.tablet_input {
  display: none;
}

.tablet_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.tablet_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.tablet_input:checked + .tablet_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.tablet_input:checked + .tablet_label .tablet_text {
  color: #FFFFFF;
}

.tablet_sub_text_frame {
  flex-direction: column;  /* 生本追加 */
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: transparent;
  font-size: var(--action-caption-font-size);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-style: var(--action-caption-font-style);
}

.tablet_sub_text_frame_2 {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  gap:5px
}

.tablet_sub_text_red {
  font-weight: var(--action-caption-font-weight);
  color: #fc244f;
  font-family: var(--font-family);
  font-style: var(--action-caption-font-style);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}

.tablet_sub_text {
  font-family: var(--font-family);
  color: #181b35;
  font-style: var(--action-caption-font-style);
  font-weight: var(--action-caption-font-weight);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}
/*-------------------------------------------*/

/* タブレットサポート申請 */
/*-------------------------------------------*/
.tablet_suport_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  width: 100%;
}

.tablet_suport_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.tablet_suport_bc_chat_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.tablet_suport_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.tablet_suport_bc_chat_text_frame {
  align-self: stretch;
  margin-top: -1.00px;
  color: transparent;
  font-size: 14px;
  line-height: 18.2px;
  position: relative;
  font-family: var(--font-family);
  font-weight: 700;
  letter-spacing: 0;
}

.tablet_suport_bc_chat_text {
  color: #f93a6b;
  font-size: 13px;
}

.tablet_suport_bc_chat_text_2 {
  color: #181b35;
  font-size: 13px;
}

.tablet_suport_bc_chat_link_text {
  color: var(--color-alias-red-800);
  text-decoration: underline;
  font-size: 13px;
}

.tablet_suport_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.tablet_suport_chat_box {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.tablet_suport_chat_div {
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* デフォルトのラジオボタンを非表示に */
.tablet_suport_input {
  display: none;
}

.tablet_suport_label {
  display: flex;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.tablet_suport_text {
  flex: 1;
  margin-top: -2.00px;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.tablet_suport_input:checked + .tablet_suport_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.tablet_suport_input:checked + .tablet_suport_label .tablet_suport_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 時計選択 */
/*-------------------------------------------*/
.clock_select_div {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.clock_select_bc_chat {
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.clock_select_bc_chat_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.clock_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.clock_select_bc_chat_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.clock_select_bc_chat_text_2 {
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  font-size: 11px;
  line-height: var(--caption-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.clock_select_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.clock_select_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 10px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.clock_select_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.clock_select_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.clock_select_img_1 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_blue.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.clock_select_img_2 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_pink.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.clock_select_img_3 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_sky.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.clock_select_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.clock_select_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.clock_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.clock_select_input:checked + .clock_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.clock_select_input:checked + .clock_select_label .clock_select_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 思考力ぐんぐん申請 */
/*-------------------------------------------*/
.thinking_ability_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.thinking_ability_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.thinking_ability_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.thinking_ability_bc_chat_box {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.thinking_ability_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.thinking_ability_bc_chat_text_sub {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 12px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.thinking_ability_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.thinking_ability_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.thinking_ability_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.thinking_ability_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.thinking_ability_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.thinking_ability_input:checked + .thinking_ability_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.thinking_ability_input:checked + .thinking_ability_label .thinking_ability_text {
  color: #FFFFFF;
}

.challenge_pad_parent_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.challenge_pad_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/*-------------------------------------------*/

/* 子供性別選択 */
/*-------------------------------------------*/
.select_sex_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.select_sex_bc_chat {
  width: 318px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.select_sex_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.select_sex_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.select_sex_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.select_sex_bc_chat_text_big {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 18px;
  letter-spacing: 0;
  line-height: normal;
}

.select_sex_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.select_sex_chat_box {
  width: 274px;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

/* デフォルトのラジオボタンを非表示に */
.select_sex_input {
  display: none;
}

.select_sex_label {
  display: flex;
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.select_sex_text_1 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.select_sex_text_2 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.select_sex_input:checked + .select_sex_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_sex_input:checked + .select_sex_label .select_sex_text_1 {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_sex_input:checked + .select_sex_label .select_sex_text_2 {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 子供名前 */
/*-------------------------------------------*/
.child_name_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.child_name_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.child_name_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.child_name_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.child_name_right_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_accordion_accordion {
  position: relative;
  width: 300px;
}

.child_name_accordion_text {
  width: 300px;
  height: 17px;
  top: -1px;
  left: 0;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.child_name_chat {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.child_name_chat_frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_chat_title_frame {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_chat_title_text {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.child_name_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_field_frame {
  display: flex;
  gap: 5px;
}

.half_input_field {
  display: flex;
  width: 137.5px;
  height: 56px;
  gap: 10px;
  padding: 0px 20px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.half_input_field.err {
  border: 4px solid;
  border-color: var(--error);
}

.half_input_field.integrity_err {
  border: 4px solid;
  border-color: var(--error);
}

/* デフォルトのボタンを非表示に */
.child_name_button_input {
  display: none;
}

.child_name_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.child_name_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

/*-------------------------------------------*/

/* 子供の生年月日（Baby以外） */
/*-------------------------------------------*/
.birthday_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.birthday_bc_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.birthday_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.birthday_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 130%;
}

.birthday_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_chat {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.birthday_frame {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_select {
  display: flex;
  width: 98px;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 10px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  font-size: var(--textfield-font-size);
}

.birthday_input_text {
  justify-content: center;
  display: flex;
  width: 66px;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
}

.birthday_input_text.err {
  border: 4px solid;
  border-color: var(--error);
}

.birthday_warning_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}

.birthday_warning_alart_field {
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
}

/* デフォルトのボタンを非表示に */
.birthday_button_input {
  display: none;
}

.birthday_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.birthday_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* 親の名前 */
/*-------------------------------------------*/
.parent_name_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.parent_name_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.parent_name_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.parent_name_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.parent_name_right_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_chat {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.parent_name_chat_frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_chat_title_frame {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_chat_title_text {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.parent_name_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_field_frame {
  display: flex;
  gap: 5px;
}

/* デフォルトのボタンを非表示に */
.parent_name_button_input {
  display: none;
}

.parent_name_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.parent_name_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* 住所入力 */
/*-------------------------------------------*/
.address_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.address_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.address_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.address_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.address_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.address_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.address_chat_box {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.address_chat_toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.address_chat_uncheck_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.address_chat_check_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #FFFFFF;
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  cursor: pointer;
}

/* デフォルトのラジオボタンを非表示に */
.address_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.address_select_input:checked + .address_chat_toggle_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.address_chat_field_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.address_chat_field_frame_sub_1 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.address_chat_field_frame_title_text {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.address_chat_field_1 {
  display: flex;
  width: 127px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.address_chat_field_1.err {
  border: 4px solid;
  border-color: var(--error);
}

.address_chat_field_frame_sub_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  /*padding: 5px 0px 0px 0px;*/
}

.input_field {
  display: flex;
  width: 280px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.address_input_field{
  display: flex;
  width: 280px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
  font-family: var(--font-family);
  cursor: pointer;
}

.input_field_font{
  font-family: var(--font-family);
  font-size: 16px;
}

.input_field.err {
  border: 4px solid;
  border-color: var(--error);
}

/* デフォルトのボタンを非表示に */
.address_button_input {
  display: none;
}

.address_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.address_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

.address_second_frame {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.address_second_frame-2 {
  display: inline-flex;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.address_second_selector {
  display: flex;
  width: 129px;
  height: 56px;
  align-items: center;
  gap: 4px;
  padding: 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.address_second_text-wrapper-4 {
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  width: fit-content;
  letter-spacing: var(--chat-base-letter-spacing);
  white-space: nowrap;
  font-style: var(--chat-base-font-style);
}

.address_second_text-wrapper-5 {
  color: var(--color-font-black-3-a-3-a-3-a, #3A3A3A);
  font-feature-settings: 'palt' on;

  /* action_base */
  font-family: var(--chat-base-font-family);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 19.2px */
}

.address_second_frame-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.address_second_label {
  font-family: var(--font-family);
  display: flex;
  width: 50px;
  height: 41px;
  gap: 26px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}

.address_second_frame-4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  padding: 16px 0px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.address_second_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.address_second_select_input:checked + .address_second_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.address_second_frame-5 {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
  gap: 5px;
  /*padding: 5px 0px 0px 0px;*/
}
/*-------------------------------------------*/

/* 教材配送場所指定 */
/*-------------------------------------------*/
.delivery_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.delivery_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.delivery_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.delivery_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.delivery_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.delivery_bc_chat_sub_text_frame {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 15.6px;
}

.delivery_bc_chat_sub_text {
  color: #181b35;
}

.delivery_bc_chat_sub_text_red {
  color: #fc244f;
}

.delivery_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.delivery_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.delivery_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.delivery_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.delivery_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.delivery_input:checked + .delivery_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.delivery_input:checked + .delivery_label .delivery_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 電話番号入力 */
/*-------------------------------------------*/
.phone_number_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.phone_number_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.phone_number_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.phone_number_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.phone_number_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.phone_number_bc_chat_text_attention {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textsub);
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
}

.phone_number_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.phone_number_chat_box {
  display: flex;
  flex-direction: column;
  width: 301px;
  align-items: center;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.phone_number_chat_field_frame {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

/* デフォルトのボタンを非表示に */
.phone_number_button_input {
  display: none;
}

.phone_number_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

.phone_number_warning_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}
/*-------------------------------------------*/

/* メールアドレス入力 */
/*-------------------------------------------*/
.mail_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.mail_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.mail_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.mail_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.mail_bc_chat_text_frame {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 130%;
}

.mail_bc_chat_text {
  font-size: 14px;
  color: #181b35;
}

.mail_bc_chat_text_sub {
  font-size: 12px;
  color: #181b35;
}

.mail_bc_chat_text_sub2 {
  font-size: 12px;
  color: #181b35;
  font-weight: 400;
}

.mail_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.mail_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.mail_chat_box {
  display: flex;
  flex-direction: column;
  width: 301px;
  align-items: center;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.mail_chat_field_frame {
  height: 56px;
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.mail_chat_pick_text_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}

.mail_chat_pick_text {
  color: var(--textmain);
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.mail_chat_pick_frame {
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 auto;
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  display: none;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.mail_chat_pick_field_frame {
  gap: 10px;
  padding: 0px 20px;
  align-self: stretch;
  width: 100%;
  margin-top: -2px;
  border: 1px solid;
  border-color: var(--color-function-primary-inverted);
  display: flex;
  height: 56px;
  align-items: center;
  position: relative;
  background-color: var(--white);
}

/* デフォルトのボタンを非表示に */
.mail_button_input {
  display: none;
}

.mail_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.mail_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

.mail_address_warning_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}
/*-------------------------------------------*/

/* パスワード入力 */
/*-------------------------------------------*/
.password_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.password_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.password_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.password_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.password_bc_chat_text_frame {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.password_bc_chat_text {
  color: #181b35;
}

.password_bc_chat_text_sub {
  color: #181b35;
  font-size: 12px;
}

.password_bc_chat_sub_text {
  color: #e81829;
  font-size: 12px;
}

.password-wrapper {
  width: 100%;
  height: 100%;
  padding: 0px 10px 0px 20px;
  border-radius: 28px;
  padding-right: 40px; /* アイコン分の余白 */
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  outline: none;
}

.password__toggle {
  width: 40px;
  border: none;
  background: url('../img/toggle.png') no-repeat center center;
  background-size: 50% auto;
  cursor: pointer;
  position: absolute;
  right: 10px;
  height: 50%;
}

.password__toggle__visible {
  width: 40px;
  border: none;
  background: url('../img/toggle_visible.png') no-repeat center center;
  background-size: 50% auto;
  cursor: pointer;
  position: absolute;
  right: 10px;
  height: 50%;
}

.password_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.password_chat_box {
  display: flex;
  flex-direction: column;
  width: 301px;
  align-items: center;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.password_chat_field_frame {
  height: 56px;
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.password_chat_pick_text_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}

.password_chat_pick_text {
  color: var(--textmain);
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

/* デフォルトのボタンを非表示に */
.password_button_input {
  display: none;
}

.password_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.password_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

.password_warning_field {
    display: flex;
    align-items: flex-start;
    position: relative;
    align-self: stretch;
    width: 100%;
}
/*-------------------------------------------*/

/* お支払い方法選択 */
/*-------------------------------------------*/
.payment_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_bc_chat_box {
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 130%;
}

.payment_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.payment_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.payment_chat_label_frame {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.payment_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.payment_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.payment_chat_discount_text_1 {
  color: #7e7e7e;
}

.payment_chat_discount_text_2 {
  color: #fc244f;
}

.payment_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.payment_chat_discount_text_4 {
  font-size: 10px;
}

.payment_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.payment_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.payment_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.payment_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payment_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.payment_chat_price_text_5 {
  font-size: 14px;
}

.payment_label {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.payment_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.payment_chat_price_text_frame_6 {
  position: relative;
  width: 89px;
  height: 12px;
}

.payment_chat_price_text_frame_7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 23px;
  text-align: right;
  letter-spacing: 0;
  line-height: normal;
}

.payment_chat_price_text_6 {
  font-family: var(--font-family);
  font-weight: 400;
  color: #181b35;
  font-size: 23px;
  letter-spacing: 0;
}

/* デフォルトのラジオボタンを非表示に */
.payment_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payment_input:checked + .payment_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.payment_input:checked + .payment_label .payment_label_text {
  color: #FFFFFF;
}

/* デフォルトのボタンを非表示に */
.payment_button_input {
  display: none;
}

.payment_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* お支払い方法選択（baby） */
/*-------------------------------------------*/
.payment_baby_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_baby_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_baby_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_baby_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_baby_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.payment_baby_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.payment_baby_bc_chat_sub_text_red {
  font-family: var(--font-family);
  color: var(--error);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.payment_baby_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_baby_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.payment_baby_chat_label_frame {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.payment_baby_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_baby_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.payment_baby_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.payment_baby_chat_discount_text_1 {
  color: #7e7e7e;
}

.payment_baby_chat_discount_text_2 {
  color: #fc244f;
}

.payment_baby_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_baby_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.payment_baby_chat_discount_text_4 {
  font-size: 10px;
}

.payment_baby_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_baby_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.payment_baby_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_baby_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_baby_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.payment_baby_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.payment_baby_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_baby_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payment_baby_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.payment_baby_chat_price_text_5 {
  font-size: 14px;
}

.payment_baby_label {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.payment_baby_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.payment_baby_chat_price_text_frame_6 {
  position: relative;
  width: 89px;
  height: 12px;
}

.payment_baby_chat_price_text_frame_7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 23px;
  text-align: right;
  letter-spacing: 0;
  line-height: normal;
}

.payment_baby_chat_price_text_6 {
  font-family: var(--font-family);
  font-weight: 400;
  color: #181b35;
  font-size: 23px;
  letter-spacing: 0;
}

/* デフォルトのラジオボタンを非表示に */
.payment_baby_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payment_baby_input:checked + .payment_baby_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.payment_baby_input:checked + .payment_baby_label .payment_baby_label_text {
  color: #FFFFFF;
}

/* デフォルトのボタンを非表示に */
.payment_baby_button_input {
  display: none;
}

.payment_baby_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_baby_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/
/* 有料オプション申請 */
/*-------------------------------------------*/
.option_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.option_bc_chat {
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  align-self: stretch;
  width: 100%;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.option_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.option_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.option_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.option_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.option_accordion {
  align-items: flex-end;
  position: relative;
  width: 300px;
}

.option_accordion_text {
  width: 300px;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  list-style: none;
  cursor: pointer;
}

.option_accordion_text_sub {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
}

.option_accordion_text_sub_red {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--action);
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
}

.option_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.option_chat_box {
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.option_label {
  display: flex;
  flex-direction: column;
  width: 132px;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.option_chat_item {
  display: flex;
  align-items: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.option_chat_item img{
  /* 親divの幅に合わせて画像の最大幅を100%に設定 */
  max-width: 100%;
  /* 縦横比を保つために高さを自動調整 */
  height: auto;
  display: block;
  margin: 0 auto;
}

.option_text_frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.option_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.option_sub_text {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-style: var(--action-caption-font-style);
}

.option_img_1 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_1.png') no-repeat center/cover;
}

.option_img_2 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_2.png') no-repeat center/cover;
}

.option_img_3 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_3.png') no-repeat center/cover;
}

.option_img_4 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_4.png') no-repeat center/cover;
}

.option_img_5 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_5.png') no-repeat center/cover;
}

.option_img_6 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_6.png') no-repeat center/cover;
}

/* デフォルトのラジオボタンを非表示に */
.option_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.option_input:checked + .option_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.option_input:checked + .option_label .option_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* コチャレイングリッシュのお支払い方法選択 */
/*-------------------------------------------*/
.payment_english_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_english_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_english_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_english_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_english_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.payment_english_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.payment_english_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_english_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.payment_english_chat_select_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payment_english_chat_label_frame {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.payment_english_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_english_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.payment_english_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.payment_english_chat_discount_text_1 {
  color: #7e7e7e;
}

.payment_english_chat_discount_text_2 {
  color: #fc244f;
}

.payment_english_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_english_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.payment_english_chat_discount_text_4 {
  font-size: 10px;
}

.payment_english_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_english_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.payment_english_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_english_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payment_english_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.payment_english_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.payment_english_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.payment_english_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payment_english_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.payment_english_chat_price_text_5 {
  font-size: 14px;
}

.payment_english_label {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.payment_english_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.payment_english_label_text_small {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.payment_english_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payment_english_input:checked + .payment_english_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.payment_english_input:checked + .payment_english_label .payment_english_label_text {
  color: #FFFFFF;
}

.payment_english_input:checked + .payment_english_label .payment_english_label_text_small {
  color: #FFFFFF;
}

/* デフォルトのボタンを非表示に */
.payment_english_button_input {
  display: none;
}

.payment_english_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payment_english_button_text {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* お支払者の指定 */
/*-------------------------------------------*/
.payer_select_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_select_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_select_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payer_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_select_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.payer_select_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_select_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_select_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.payer_select_input {
  display: none;
}

.payer_select_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.payer_select_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payer_select_input:checked + .payer_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.payer_select_input:checked + .payer_select_label .payer_select_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 英語のラジオ選択 */
/*-------------------------------------------*/
.radio_select_div {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.radio_select_bc_chat {
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.radio_select_bc_chat_frame {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.radio_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.radio_select_bc_chat_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.radio_select_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.radio_select_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.radio_select_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 10px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.radio_select_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.radio_select_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
  display: flex;
  justify-content: center;
  align-items: center;
}

.radio_select_img {
  width: 119px;
  height: 89px;
  background-size: 100% 100%;
}

.radio_select_img_1 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_green.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.radio_select_img_2 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_yellow.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.radio_select_img_3 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_orang.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.radio_select_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.radio_select_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.radio_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.radio_select_input:checked + .radio_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.radio_select_input:checked + .radio_select_label .radio_select_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 支払者情報入力 */
/*-------------------------------------------*/
.payer_info {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.payer_info_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_thumnail {
  position: relative;
  width: 44px;
  height: 44px;
}

.payer_info_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.payer_info_div-wrapper {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_div {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payer_info_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_view {
  width: 302px;
  align-items: center;
  border-radius: 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
}

.payer_info_view-2 {
  align-items: flex-start;
  gap: 16px;
  padding: 15px 10px;
  align-self: stretch;
  width: 100%;
  border-radius: 32px 0px 32px 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
}

.payer_info_frame-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_frame-3 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_text-wrapper-2 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.payer_info_frame-4 {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_select {
  flex: 1;
  flex-grow: 1;
  display: flex;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.payer_info_text-wrapper-3 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--title-04-16-r-font-size);
  line-height: var(--title-04-16-r-line-height);
  position: relative;
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.payer_info_frame-5 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_address {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 0px 10px 15px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.payer_info_frame-6 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_frame-7 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_text-wrapper-4 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payer_info_select-2 {
  width: 127px;
  display: flex;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.payer_info_select-3 {
  align-self: stretch;
  width: 100%;
  display: flex;
  height: 56px;
  align-items: center;
  padding: 0px 10px 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.payer_info_tel {
  display: flex;
  flex-direction: column;
  width: 301px;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.payer_info_select-wrapper {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.payer_info_text-wrapper-5 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--textmain);
  font-size: var(--title-04-16-r-font-size);
  line-height: var(--title-04-16-r-line-height);
  position: relative;
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.payer_info_button_frame {
  display: flex;
  flex-direction: column;
  width: 274px;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px;
}

.payer_info_button_text {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  white-space: nowrap;
  font-style: var(--action-primary-m-font-style);
}

.payer_info_delivery_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_delivery_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 7px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_delivery_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.payer_info_delivery_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.payer_info_delivery_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payer_info_delivery_input:checked + .payer_info_delivery_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.payer_info_delivery_input:checked + .payer_info_delivery_label .payer_info_delivery_text {
  color: #FFFFFF;
}

.payer_info_name_chat_frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_name_chat_title_frame {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_name_chat_title_text {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.payer_info_name_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_name_field_frame {
  display: flex;
  gap: 5px;
}

.payer_info_phone_number_frame {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.payer_info_address_chat_frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
}

.payer_info_address_chat_toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.payer_info_address_chat_uncheck_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
}

.payer_info_address_chat_check_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #FFFFFF;
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* デフォルトのラジオボタンを非表示に */
.payer_info_address_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payer_info_address_select_input:checked + .payer_info_address_chat_toggle_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.payer_info_address_chat_field_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.payer_info_address_chat_field_frame_sub_1 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_address_chat_field_frame_sub_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのボタンを非表示に */
.payer_info_address_button_input {
  display: none;
}

.payer_info_address_second_frame {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_address_second_frame-2 {
  display: inline-flex;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_address_second_selector {
  display: flex;
  width: 129px;
  height: 56px;
  align-items: center;
  gap: 4px;
  padding: 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.payer_info_address_second_frame-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.payer_info_address_second_label {
  font-family: var(--font-family);
  display: flex;
  width: 50px;
  height: 41px;
  gap: 26px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}



.payer_info_address_second_frame-4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  padding: 16px 0px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.payer_info_address_second_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.payer_info_address_second_select_input:checked + .payer_info_address_second_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.payer_info_address_second_frame-5 {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}
/*-------------------------------------------*/

/* 入金方法の選択 */
/*-------------------------------------------*/
.credit_card {
  display: flex;
  width: 343px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
}

.credit_card_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.credit_card_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.credit_card_div-wrapper {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.credit_card_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  line-height: var(--chat-base-line-height);
  position: relative;
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.credit_card_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.credit_card_accordion {
  position: relative;
  width: 300px;
}

/* デフォルトのラジオボタンを非表示に */
.payment_select_input {
  display: none;
}

.credit_card_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.credit_card_view_sub {
  display: flex;
  flex-direction: column;
  /* width: 300px; */
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0px 10px;
  position: relative;
  flex: 0 0 auto;
}

.credit_card_toggle_frame {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.credit_card_check_label {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  background-color: var(--button-primary);
  border-radius: 28px;
  border: 1px solid;
  border-color: var(--b-primary);
  align-items: center;
  gap: 10px;
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.credit_card_uncheck_label {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  gap: 10px;
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.credit_card_frame-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.credit_card_text-wrapper-5 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  position: relative;
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.credit_card_select-3 {
  display: inline-flex;
  height: 41px;
  justify-content: center;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  gap: 10px;
  position: relative;
}

.credit_card_text-wrapper-6 {
  width: fit-content;
  margin-top: -10.00px;
  margin-bottom: -6.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.credit_card_frame-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.credit_card_frame-4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.credit_card_text-wrapper-7 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.credit_card_group {
  position: relative;
  width: 137.24px;
  height: 16px;
}

.credit_card_container {
  align-items: flex-start;
  gap: 10px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 32px;
}

.credit_card_text-wrapper-9 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.credit_card_text {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 10px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.credit_card_frame-5 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.credit_card_frame-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.credit_card_select-wrapper {
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 32px;
}

.credit_card_select-5 {
  display: inline-flex;
  height: 44px;
  padding: 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 5px;
  position: relative;
}

.credit_card_select-5.err {
  border: 4px solid;
  border-color: var(--error);
}
/* フォーカス時に全体を強調 */
.credit_card_select-5:focus-within {
  border-radius: 28px;
  border: 4px solid var(--Buttton-Primary, #E85298);
  background: var(--white, #FFF);
  outline: none;         /* アウトラインを消す */
}

.credit_card_select-6 {
  display: inline-flex;
  height: 44px;
  width: 100px;
  padding: 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 10px;
  position: relative;
}

.credit_card_select-6.err {
  border: 4px solid;
  border-color: var(--error);
}

.credit_card_frame-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.other_chat_div {
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  width: 280px;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* デフォルトのラジオボタンを非表示に */
.other_input {
  display: none;
}

.other_label {
  display: flex;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.other_text {
  flex: 1;
  margin-top: -2.00px;
  color: var(--color-ink-text-100);
  font-size: 15px;
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.other_input:checked + .other_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.other_sub_element {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--caption-font-size);
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
}

.other_sub_span {
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: #3a3a3a;
  font-size: 11px;
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
}

.other_sub_text-wrapper-2 {
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  font-style: var(--caption-font-style);
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-size: 11px;
}

.other_sub_text-wrapper-2_red {
    color: rgb(232, 24, 41);
    font-feature-settings: "palt";
    font-family: var(--action-caption-font-family);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
}

.credit_card_select-7 {
  width: 40px;
  border: none;
  outline: none;
}

.credit_card_select-8 {
  display: inline-flex;
  height: 44px;
  width: 78px;
  padding: 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 10px;
  position: relative;
}

/*-------------------------------------------*/

/* 入金方法の選択 */
/*-------------------------------------------*/
.direct_debit {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  padding: 28px 0px 0px 0px;
}

.direct_debit_element {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
}

.direct_debit_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.direct_debit_thumnail {
  position: relative;
  width: 44px;
  height: 44px;
}

.direct_debit_chat-wrapper {
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

.direct_debit_div-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.direct_debit_div {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: transparent;
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.direct_debit_text-wrapper {
  color: #181b35;
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  font-weight: var(--chat-base-font-weight);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.direct_debit_span {
  color: #fc244f;
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  font-weight: var(--chat-base-font-weight);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.direct_debit_container-wrapper {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.direct_debit_container {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

/* デフォルトのラジオボタンを非表示に */
.direct_debit_select_input {
  display: none;
}

.direct_debit_select-wrapper {
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.direct_debit_select {
  display: flex;
  width: 280px;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.direct_debit_text-wrapper-2 {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.direct_debit_select_input:checked + .direct_debit_select {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.direct_debit_select_input:checked + .direct_debit_select .direct_debit_text {
  color: #FFFFFF;
}


/*-------------------------------------------*/

/* 割引コード入力 */
/*-------------------------------------------*/
.discount_code_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.discount_code_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.discount_code_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.discount_code_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.discount_code_bc_chat_text_frame {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
}

.discount_code_bc_chat_text {
  font-weight: 700;
  color: #181b35;
}

.discount_code_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.discount_code_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.discount_code_chat_box {
  display: flex;
  width: 296px;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.discount_code_chat_field_frame {
  display: flex;
  width: 230px;
  height: 59px;
  align-items: center;
  gap: 10px;
  padding: 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
}

.discount_list{
  display: contents;
}
/*-------------------------------------------*/

/* 紹介者の選択 */
/*-------------------------------------------*/
.referrer_radio_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.referrer_radio_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.referrer_radio_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.referrer_radio_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.referrer_radio_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.referrer_radio_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7E7E7E;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.referrer_radio_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.referrer_radio_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.referrer_radio_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.referrer_radio_input {
  display: none;
}

.referrer_radio_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.referrer_radio_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.referrer_radio_input:checked + .referrer_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.referrer_radio_input:checked + .referrer_radio_label .referrer_radio_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 紹介者の情報入力 */
/*-------------------------------------------*/
.referrer {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.referrer_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.referrer_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.referrer_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.referrer_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.referrer_text-wrapper-2 {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--textmain);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  position: relative;
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.referrer_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.referrer_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.referrer_thumnail-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.referrer_thumnail-toggle_frame {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.referrer_select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  background-color: var(--button-primary);
  border-radius: 28px;
  border: 1px solid;
  border-color: var(--b-primary);
  cursor: pointer;
}

.referrer_text-wrapper-3 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.referrer_div-wrapper {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
  cursor: pointer;
}

.referrer_text-wrapper-4 {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.referrer_div-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.referrer_div-3 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.referrer_text-wrapper-5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.referrer_select-2 {
  display: flex;
  width: 193px;
  height: 56px;
  padding: 0px 20px;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
}

.referrer_select-2.err {
  border: 4px solid;
  border-color: var(--error);
}

.referrer_text-wrapper-6 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-size: var(--title-04-16-r-font-size);
  line-height: var(--title-04-16-r-line-height);
  position: relative;
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.referrer_div-4 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.referrer_text-wrapper-7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.referrer_selector {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 4px;
  padding: 0px 20px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.referrer_selector.err {
  border: 4px solid;
  border-color: var(--error);
}

.referrer_text-wrapper-8 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--textmain);
  font-size: var(--action-base-font-size);
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.referrer_text-wrapper-9 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--button-primary);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  white-space: nowrap;
  font-style: var(--title-04-16-r-font-style);
}

.referrer_div-5 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.referrer_input {
  display: none;
}

.referrer_select-3 {
  display: flex;
  justify-content: center;
  padding: 4px 8px;
  flex: 1;
  flex-grow: 1;
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
}

.referrer_text-wrapper-10 {
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.referrer_button_label {
  display: flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--action);
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
  cursor: pointer;
}

.referrer_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}
/*-------------------------------------------*/

/* ご兄弟情報登録の選択 */
/*-------------------------------------------*/
.family_info_select_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_select_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_select_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.family_info_select_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_select_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.family_info_select_text-wrapper-2 {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--textmain);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  position: relative;
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.family_info_select_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_select_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_select_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.family_info_select_input {
  display: none;
}

.family_info_select_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.family_info_select_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.family_info_select_input:checked + .family_info_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.family_info_select_input:checked + .family_info_select_label .family_info_select_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* 兄弟情報の登録 */
/*-------------------------------------------*/
.family_info_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 343px;
  flex: 0 0 auto;
}

.family_info_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_box {
  display: flex;
  flex-direction: column;
  width: 302px;
  align-items: center;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px;
}

.family_info_frame {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_view {
  gap: 10px;
  padding: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.family_info_div-wrapper {
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.family_info_div {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.family_info_text-wrapper-2 {
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* デフォルトのラジオボタンを非表示に */
.family_info_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.family_info_input:checked + .family_info_div-wrapper {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.family_info_input:checked + .family_info_div-wrapper .family_info_div {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.family_info_input:checked + .family_info_div-wrapper .family_info_text-wrapper-2 {
  color: #FFFFFF;
}

.family_info_view-2 {
  flex-direction: column;
  gap: 16px;
  padding: 15px 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.family_info_frame-2 {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_frame-3 {
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_text-wrapper-3 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.family_info_frame-4 {
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_frame-5 {
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 8px 0px 15px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_frame-wrapper {
  flex-direction: column;
  gap: 10px;
  padding: 15px 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.family_info_frame-6 {
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_select-3 {
  width: 95px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
}

.family_info_text-wrapper-5 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  line-height: var(--title-04-16-r-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.family_info_container {
  display: flex;
  flex-direction: column;
  width: 274px;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px;
}

.family_info_polygon {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 28px;
  left: 274px;
}

/* デフォルトのラジオボタンを非表示に */
.family_info_link-button_input {
  display: none;
}

.family_info_text-wrapper-7 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  white-space: nowrap;
  font-style: var(--action-primary-m-font-style);
}
/*-------------------------------------------*/

/* お支払者の指定 */
/*-------------------------------------------*/
.family_info_add_radio_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_add_radio_bc_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_add_radio_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.family_info_add_radio_bc_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_add_radio_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.family_info_add_radio_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.family_info_add_radio_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.family_info_add_radio_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.family_info_add_radio_input {
  display: none;
}

.family_info_add_radio_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.family_info_add_radio_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.family_info_add_radio_input:checked + .family_info_add_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.family_info_add_radio_input:checked + .family_info_add_radio_label .family_info_add_radio_text {
  color: #FFFFFF;
}
/*-------------------------------------------*/

/* タブレットサポート申請 */
/*-------------------------------------------*/

/*-------------------------------------------*/


.main .frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.main .chat {
  width: 100%;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .thumnail {
  position: relative;
  width: 44px;
  height: 44px;
}

.main .chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.main .div {
  flex-direction: column;
  align-items: left;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .p {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.main .text-wrapper {
  font-weight: 700;
}

.main .span {
  font-family: var(--font-family);
  font-size: 12px;
  line-height: 15.6px;
}

.main .div-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .chat-2 {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .text-wrapper-3 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.main .frame-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .container {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .frame-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .select {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-4 {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

.main .element {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .chat-3 {
  width: 318px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .view {
  width: 274px;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.main .div-wrapper {
  display: flex;
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--button-primary);
  border-radius: 30px;
  border: 1px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.main .select-2 {
  display: flex;
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-6 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.main .text-wrapper-7 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.main .text-wrapper-8 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.main .frame-4 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .accordion {
  position: relative;
  width: 300px;
  height: 17px;
}

.main .frame-wrapper {
  flex-direction: column;
  width: 300px;
  align-items: flex-start;
  gap: 16px;
  padding: 15px 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.main .frame-5 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .frame-6 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0px 8px 0px 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .text-wrapper-10 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .frame-7 {
  display: flex;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .select-3 {
  display: flex;
  height: 56px;
  padding: 0px 10px 0px 20px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 28px;
  border: 4px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-11 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .select-4 {
  display: flex;
  height: 56px;
  gap: 10px;
  padding: 0px 20px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.main .div-3 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--placeholder);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .chat-selector {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0px 0px 0px 16px;
  position: relative;
  flex: 0 0 auto;
}

.main .image {
  position: relative;
  width: 14.44px;
  height: 14.44px;
}

.main .text-wrapper-12 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--error);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .view-2 {
  flex-direction: column;
  width: 300px;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.main .frame-8 {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .select-5 {
  display: inline-flex;
  height: 56px;
  padding: 0px 10px 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 4px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-13 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--textmain);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  white-space: nowrap;
  font-style: var(--title-04-16-r-font-style);
}

.main .select-6 {
  display: flex;
  width: 66px;
  height: 56px;
  justify-content: center;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 4px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-14 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--title-04-16-r-font-size);
  text-align: center;
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .select-7 {
  display: flex;
  width: 66px;
  height: 56px;
  justify-content: center;
  gap: 10px;
  padding: 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.main .text-wrapper-15 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--placeholder);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  white-space: nowrap;
  font-style: var(--title-04-16-r-font-style);
}

.main .text-wrapper-16 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--textmain);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .address {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.main .select-8 {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  background-color: var(--button-primary);
  border-radius: 28px;
  border: 1px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-17 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
}

.main .select-9 {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
}

.main .text-wrapper-18 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
}

.main .frame-9 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .frame-10 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.main .text-wrapper-19 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .select-10 {
  display: flex;
  width: 127px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 4px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .select-11 {
  display: flex;
  height: 56px;
  padding: 0px 10px 0px 20px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 28px;
  border: 4px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .link-button-submit-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .link-button-submit {
  display: flex;
  max-width: 310px;
  width: 210px;
  height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
}

.main .text-wrapper-20 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  white-space: nowrap;
  font-style: var(--action-primary-m-font-style);
}

.main .text-wrapper-21 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.main .div-4 {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 12px;
  letter-spacing: 0;
  line-height: 15.6px;
}

.main .text-wrapper-22 {
  color: #181b35;
}

.main .text-wrapper-23 {
  color: #fc244f;
}

.main .frame-wrapper-2 {
  display: flex;
  flex-direction: column;
  width: 301px;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.main .select-wrapper {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.main .text-wrapper-24 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--color-mono-800);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .div-5 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
}

.main .text-wrapper-25 {
  font-weight: 700;
  color: #181b35;
}

.main .text-wrapper-26 {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.main .text-wrapper-27 {
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: #9d9d9d;
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.main .text-wrapper-28 {
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-style: var(--title-04-16-r-font-style);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-size: var(--title-04-16-r-font-size);
}

.main .div-6 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.main .text-wrapper-29 {
  color: #e81829;
}

.main .view-3 {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.main .polygon {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 28px;
  left: 274px;
}

.main .card-shirai {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.main .select-12 {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--button-primary);
  border-radius: 30px;
  border: 1px solid;
  border-color: var(--b-primary);
  align-items: center;
  position: relative;
}

.main .frame-11 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .frame-12 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.main .element-2 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.main .text-wrapper-30 {
  color: #7e7e7e;
}

.main .element-3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.main .text-wrapper-31 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.main .text-wrapper-32 {
  font-size: 10px;
}

.main .rectangle {
  position: absolute;
  width: 14px;
  height: 7px;
  top: 32px;
  left: 208px;
}

.main .frame-13 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .frame-14 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.main .text-wrapper-33 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.main .frame-15 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.main .frame-16 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.main .text-wrapper-34 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.main .text-wrapper-35 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.main .element-4 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .text-wrapper-36 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.main .text-wrapper-37 {
  font-size: 14px;
}

.main .select-13 {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .frame-17 {
  position: relative;
  width: 89px;
  height: 12px;
}

.main .element-5 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 23px;
  text-align: right;
  letter-spacing: 0;
  line-height: normal;
}

.main .text-wrapper-38 {
  font-family: var(--font-family);
  font-weight: 400;
  color: #181b35;
  font-size: 23px;
  letter-spacing: 0;
}

.main .button-submit {
  width: 210px;
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
}

.main .chat-4 {
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  align-self: stretch;
  width: 100%;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .container-2 {
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 16px;
  padding: 18px 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .select-14 {
  display: flex;
  flex-direction: column;
  width: 132px;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.main .overlap-group {
  position: relative;
  width: 120px;
  height: 91px;
}

.main .img {
  position: absolute;
  width: 119px;
  height: 83px;
  top: 0;
  left: 1px;
}

.main .image-2 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  aspect-ratio: 1.5;
  object-fit: cover;
}

.main .frame-18 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .text-wrapper-39 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.main .text-wrapper-40 {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-style: var(--action-caption-font-style);
}

.main .image-3 {
  position: absolute;
  width: 119px;
  height: 91px;
  top: 0;
  left: 1px;
}

.main .image-4 {
  position: absolute;
  width: 120px;
  height: 81px;
  top: 0;
  left: 0;
  object-fit: cover;
}

.main .image-wrapper {
  position: relative;
  width: 120px;
  height: 91px;
  background-image: url(./img/item.png);
  background-size: 100% 100%;
}

.main .item-2 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
}

.main .text-wrapper-41 {
  width: 300px;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.main .view-4 {
  flex-direction: column;
  width: 300px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 18px 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.main .text-wrapper-42 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .select-15 {
  display: inline-flex;
  height: 41px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .text-wrapper-43 {
  position: relative;
  width: fit-content;
  margin-top: -10.00px;
  margin-bottom: -6.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
}

.main .frame-19 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .text-wrapper-44 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .group {
  position: relative;
  width: 137.24px;
  height: 16px;
}

.main .container-3 {
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  width: 100%;
  border-radius: 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .select-16 {
  display: flex;
  height: 44px;
  gap: 10px;
  padding: 0px 20px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.main .text-wrapper-45 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-06-14-r-font-weight);
  color: var(--color-mono-800);
  font-size: var(--title-06-14-r-font-size);
  letter-spacing: var(--title-06-14-r-letter-spacing);
  line-height: var(--title-06-14-r-line-height);
  font-style: var(--title-06-14-r-font-style);
}

.main .text-wrapper-46 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.main .frame-20 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .frame-21 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.main .container-4 {
  align-items: center;
  gap: 5px;
  align-self: stretch;
  width: 100%;
  border-radius: 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.main .select-17 {
  display: inline-flex;
  height: 44px;
  gap: 10px;
  padding: 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.main .text-wrapper-47 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--title-06-14-r-font-weight);
  color: var(--color-mono-800);
  font-size: var(--title-06-14-r-font-size);
  letter-spacing: var(--title-06-14-r-letter-spacing);
  line-height: var(--title-06-14-r-line-height);
  white-space: nowrap;
  font-style: var(--title-06-14-r-font-style);
}

.main .frame-22 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.main .element-7 {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  flex: 0 0 auto;
}

.main .select-18 {
  display: flex;
  width: 280px;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

.main .div-7 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
}

.main .text-wrapper-48 {
  font-family: var(--font-family);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.main .chat-button-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.main .chat-button_input {
  display: none;
}

.main .chat-button {
  display: flex;
  width: 296px;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.signup_button_label {
  flex: 1;
  flex-grow: 1;
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
}

.signup_button_check {
  flex-grow: 1;
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  background-color: var(--button-primary);
  border: 2px solid;
  border-color: var(--button-primary);
  border-radius: var(--common-radius-button-1000);
  cursor: pointer;

  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: var(--white);
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  font-style: var(--action-primary-m-font-style);
}

.signup_button_uncheck {
  flex-grow: 1;
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--button-secondary);
  border-radius: var(--common-radius-button-1000);
  cursor: pointer;

  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  font-style: var(--action-primary-m-font-style);
}

/*-------------------------------------------*/

/* お子さまの情報修正 */
/*-------------------------------------------*/
.fix_child {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_child_bc_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.fix_child_bc_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_child_bc_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.fix_child_bc_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_child_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_child_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_child_frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_child_text-wrapper-10 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_child_input {
  display: none;
}

.fix_child_frame-25 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.update_button_label {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--action);
  border-radius: 30px;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_child_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* お子さまの情報修正 性別 */
.fix_selectsex_frame {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_selectsex_view {
  gap: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_selectsex_div-wrapper {
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_selectsex_div {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_selectsex_text-wrapper-2 {
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_selectsex_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_selectsex_input:checked + .fix_selectsex_div-wrapper {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_selectsex_input:checked + .fix_selectsex_div-wrapper .fix_selectsex_div {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_selectsex_input:checked + .fix_selectsex_div-wrapper .fix_selectsex_text-wrapper-2 {
  color: #FFFFFF;
}

/* お子さまの情報修正 お子さまのお名前（漢字）・お子さまのフリガナ */
.fix_child_frame-2 {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_child_frame-4 {
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* お子さまの情報修正 生年月日 */
.fix_family_info_frame-wrapper {
  flex-direction: column;
  gap: 5px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_birthday_frame {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/*-------------------------------------------*/

/* 保護者の情報修正 */
/*-------------------------------------------*/
.fix_parent {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_parent_bc_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.fix_parent_bc_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_parent_bc_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.fix_parent_bc_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_parent_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_parent_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_parent_frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_parent_text-wrapper-10 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_parent_input {
  display: none;
}

.fix_parent_frame-25 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_parent_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* 保護者の情報修正 保護者様のお名前（漢字）・保護者様のフリガナ */
.fix_payer_info_name_chat_frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payer_info_name_chat_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payer_info_name_field_frame {
  display: flex;
  gap: 5px;
}

/* 保護者の情報修正 住所 */
.fix_address_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_address_chat_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 19px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_address_chat_toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.fix_address_chat_uncheck_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.fix_address_chat_check_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #FFFFFF;
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  cursor: pointer;
}

.fix_address_select_input {
  display: none;
}

.fix_address_chat_field_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_address_chat_field_frame_sub_1 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.fix_address_chat_field_1 {
  display: flex;
  width: 127px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.fix_address_chat_field_frame_sub_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_address_chat_field_2 {
  display: flex;
  width: 280px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.fix_address_second_frame {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.fix_address_second_frame-2 {
  display: inline-flex;
  gap: 8px;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.fix_address_second_selector {
  display: flex;
  width: 129px;
  height: 56px;
  align-items: center;
  gap: 4px;
  padding: 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_address_second_text-wrapper-4 {
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  width: fit-content;
  letter-spacing: var(--chat-base-letter-spacing);
  white-space: nowrap;
  font-style: var(--chat-base-font-style);
}

.fix_address_second_frame-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

.fix_address_second_label {
  font-family: var(--font-family);
  display: flex;
  width: 50px;
  height: 41px;
  gap: 26px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}

.fix_address_second_frame-4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 0px;
  padding: 16px 0px 0px;
  align-self: stretch;
  width: 100%;
  align-items: flex-start;
  position: relative;
  flex: 0 0 auto;
}

/* デフォルトのラジオボタンを非表示に */
.fix_address_second_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_address_second_select_input:checked + .fix_address_second_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* 保護者の情報修正 配送場所 */
.fix_delivery_chat_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  align-self: stretch;
  gap: 7px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.fix_delivery_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_delivery_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

.fix_delivery_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_delivery_input:checked + .fix_delivery_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_delivery_input:checked + .fix_delivery_label .fix_delivery_text {
  color: #FFFFFF;
}

/* 保護者の情報修正 電話番号 */
.fix_payer_info_tel {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  align-items: center;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_payer_info_phone_number_frame {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

/* 保護者の情報修正 メールアドレス */
.fix_mail {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_mail_frame {
  height: 56px;
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.fix_mail_text-wrapper {
  color: var(--textmain);
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
  font-style: var(--title-04-16-r-font-style);
}

.fix_mail_div {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.fix_mail_frame-2 {
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 auto;
  border-radius: 20px;
  overflow: hidden;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  display: none;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.fix_mail_select-2 {
  gap: 10px;
  padding: 0px 20px;
  align-self: stretch;
  width: 100%;
  margin-top: -2px;
  border: 1px solid;
  border-color: var(--color-function-primary-inverted);
  display: flex;
  height: 56px;
  align-items: center;
  position: relative;
  background-color: var(--white);
}

/* 保護者の情報修正 パスワード */
.fix_pass {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_pass_frame {
  height: 56px;
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.fix_password-wrapper input {
  width: 100%;
  padding-right: 40px;
  box-sizing: border-box;
}

.fix_pass_div {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.fix_pass_select-3 {
  gap: 10px;
  padding: 0px 10px 0px 20px;
  flex: 1;
  flex-grow: 1;
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  display: flex;
  width: 281px;
  height: 56px;
  align-items: center;
  position: relative;
  background-color: var(--white);
}

.fix_password-wrapper {
  width: 100%;
  height: 50%;
  padding-right: 40px; /* アイコン分の余白 */
  border: none;
  outline: none;
  font-size: 12px;
}

.fix_password__toggle {
  width: 40px;
  border: none;
  background: url('../img/toggle.png') no-repeat center center;
  background-size: 50% auto;
  cursor: pointer;
  position: absolute;
  right: 10px;
  height: 50%;
}

.fix_password__toggle__visible {
  width: 40px;
  border: none;
  background: url('../img/toggle_visible.png') no-repeat center center;
  background-size: 50% auto;
  cursor: pointer;
  position: absolute;
  right: 10px;
  height: 50%;
}
/*-------------------------------------------*/

/* 支払方法の情報修正 */
/*-------------------------------------------*/
.fix_pay_method {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_pay_method_bc_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.fix_pay_method_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: flex-end;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_pay_method_bc_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_pay_method_bc_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.fix_pay_method_bc_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_pay_method_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_pay_method_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_pay_method_frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_pay_method_text-wrapper-10 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_pay_method_input {
  display: none;
}

.fix_pay_method_frame-25 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_pay_method_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* 支払方法の修正 入金方法 */
.fix_credit_card_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payment_select_input {
  display: none;
}

.fix_credit_card_view {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_credit_card_view_sub {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 16px;
  position: relative;
  flex: 0 0 auto;
}

.fix_credit_card_toggle_frame {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.fix_credit_card_check_label {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  background-color: var(--button-primary);
  border-radius: 28px;
  border: 1px solid;
  border-color: var(--b-primary);
  align-items: center;
  gap: 10px;
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.fix_credit_card_uncheck_label {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  gap: 10px;
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.fix_credit_card_frame-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_credit_card_text-wrapper-5 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  position: relative;
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.fix_credit_card_select-3 {
  display: inline-flex;
  height: 41px;
  justify-content: center;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  gap: 10px;
  position: relative;
}

.fix_credit_card_text-wrapper-6 {
  width: fit-content;
  margin-top: -10.00px;
  margin-bottom: -6.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.fix_credit_card_frame-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_credit_card_frame-4 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_credit_card_text-wrapper-7 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_credit_card_group {
  position: relative;
  width: 137.24px;
  height: 16px;
}

.fix_credit_card_container {
  align-items: flex-start;
  gap: 10px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 32px;
}

.fix_credit_card_text-wrapper-9 {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.fix_credit_card_frame-5 {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_credit_card_frame-6 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.fix_credit_card_select-wrapper {
  align-items: center;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 32px;
}

.fix_credit_card_select-5 {
  display: inline-flex;
  height: 44px;
  width: 118px;
  padding: 0px 20px;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 10px;
  position: relative;
}

.fix_credit_card_frame-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_other_chat_div {
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.fix_other_input {
  display: none;
}

.fix_other_label {
  display: flex;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_other_text {
  flex: 1;
  margin-top: -2.00px;
  color: var(--color-ink-text-100);
  font-size: 15px;
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_other_input:checked + .fix_other_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
  color: #FFFFFF;
}

.fix_other_sub_element {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--caption-font-size);
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
}

.fix_other_sub_span {
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: #3a3a3a;
  font-size: 11px;
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
}

.fix_other_sub_text-wrapper-2 {
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  font-style: var(--caption-font-style);
  letter-spacing: var(--caption-letter-spacing);
  line-height: var(--caption-line-height);
  font-size: 11px;
}

.fix_credit_card_select-7 {
  width: 55px;
  border: none;
  outline: none;
}
/* すべてのブラウザを対象にするための共通スタイル */
.fix_credit_card_select-7::placeholder {
  font-size: 14px; 
}

/* Safari, Chrome (Webkit系ブラウザ) 用のプレフィックス */
.fix_credit_card_select-7::-webkit-input-placeholder {
  font-size: 14px;
}

/* Firefox 用のプレフィックス */
.fix_credit_card_select-7:-moz-placeholder { /* 古いFirefox対応 */
  font-size: 14px;
}
.fix_credit_card_select-7::-moz-placeholder { /* 標準的なFirefox対応 */
  font-size: 14px;
  opacity: 1; /* Firefoxではデフォルトで透明度が設定されるため、これを解除することが推奨されます */
}

/* Internet Explorer 10/11 (Edge レガシー) 用のプレフィックス */
.fix_credit_card_select-7:-ms-input-placeholder {
  font-size: 16px;
}

/* 支払方法の修正 口座引落 */
.fix_direct_debit_chat-wrapper {
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
}

.fix_direct_debit_div-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_direct_debit_div {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: transparent;
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.fix_direct_debit_text-wrapper {
  color: #181b35;
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  font-weight: var(--chat-base-font-weight);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.fix_direct_debit_span {
  color: #fc244f;
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  font-weight: var(--chat-base-font-weight);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.fix_direct_debit-3 {
  display: inline-flex;
  height: 41px;
  justify-content: center;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  gap: 10px;
  position: relative;
  width: 100%;
}

.fix_direct_debit_text-wrapper-6 {
  width: fit-content;
  margin-top: -10.00px;
  margin-bottom: -6.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* 支払方法の修正 お支払い者 */
.fix_payer_view {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-end;
  gap: 19px;
  position: relative;
  flex: 0 0 auto;
}

.fix_payer_select_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payer_select_input {
  display: none;
}

.fix_payer_select_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_payer_select_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_payer_select_input:checked + .fix_payer_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_payer_select_input:checked + .fix_payer_select_label .fix_payer_select_text {
  color: #FFFFFF;
}

/* 支払方法の修正 支払者情報 */
.fix_payer_info_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 支払方法の修正 支払者情報 住所 */
.fix_payer_info_frame {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payer_info_address_chat_frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
}

.fix_payer_info_address_chat_uncheck_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
}

.fix_payer_info_address_chat_check_label {
  display: inline-flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  border-radius: 28px;
  align-items: center;
  position: relative;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #FFFFFF;
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

.fix_payer_info_address_select_input {
  display: none;
}

.fix_payer_info_address_chat_field_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payer_info_address_chat_field_frame_sub_1 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.fix_payer_info_address_chat_field_frame_sub_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 支払方法の修正 支払者情報 電話番号 */
.fix_payer_info_tel {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.fix_payer_info_phone_number_frame {
  display: flex;
  height: 56px;
  align-items: center;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

/*-------------------------------------------*/

/* 申し込み内容の情報修正 */
/*-------------------------------------------*/
.fix_application {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_application_bc_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.fix_application_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: flex-end;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_application_bc_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_application_bc_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.fix_application_bc_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_application_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_application_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_application_frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_application_text-wrapper-10 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_application_input {
  display: none;
}

.fix_application_frame-25 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_application_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_learning_style_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
}

.fix_learning_style_chat_img {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_1.png') no-repeat center/cover;
}

.fix_learning_style_chat_img_2 {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_2.png') no-repeat center/cover;
}

.fix_learning_style_chat_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_learning_style_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.fix_learning_style_chat_text_2 {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: 11px;
  text-align: center;
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

.fix_learning_style_pic_div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px;
  position: absolute;
  top: 11px;
  left: 47px;
  background-color: #e81829;
  border-radius: 16px;
}

.fix_learning_style_pic_text {
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--white);
  font-size: 10px;
  letter-spacing: 0.40px;
  line-height: 13.0px;
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  text-align: center;
  white-space: nowrap;
}

.fix_learning_style_input {
  display: none;
}

.fix_learning_style_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  margin-top: -10.00px;
  margin-bottom: -10.00px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_learning_style_chat_text {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_learning_style_input:checked + .fix_learning_style_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_learning_style_input:checked + .fix_learning_style_label .fix_learning_style_chat_text {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_learning_style_input:checked + .fix_learning_style_label .fix_learning_style_chat_text_2 {
  color: #F5F5F5;
}

/* 申し込み内容の情報修正 専用タブレット */
.fix_tablet_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_tablet_input {
  display: none;
}

.fix_tablet_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_tablet_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_tablet_input:checked + .fix_tablet_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_tablet_input:checked + .fix_tablet_label .fix_tablet_text {
  color: #FFFFFF;
}

.fix_tablet_sub_text_frame {
  flex-direction: column;
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: transparent;
  font-size: var(--action-caption-font-size);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-style: var(--action-caption-font-style);
}

.fix_tablet_sub_text_red {
  font-weight: var(--action-caption-font-weight);
  color: #fc244f;
  font-family: var(--font-family);
  font-style: var(--action-caption-font-style);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}

.fix_tablet_sub_text {
  font-family: var(--font-family);
  color: #181b35;
  font-style: var(--action-caption-font-style);
  font-weight: var(--action-caption-font-weight);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}

.fix_tablet_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 申し込み内容の情報修正 チャレンジパットサポートサービス */
.fix_tablet_suport_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  position: relative;
}

.fix_tablet_suport_chat {
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.fix_tablet_suport_chat_box {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 16px;
  padding: 18px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_tablet_suport_chat_div {
  align-items: flex-start;
  gap: 7px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.fix_tablet_suport_input {
  display: none;
}

.fix_tablet_suport_label {
  display: flex;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_tablet_suport_text {
  flex: 1;
  margin-top: -2.00px;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_tablet_suport_input:checked + .fix_tablet_suport_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_tablet_suport_input:checked + .fix_tablet_suport_label .fix_tablet_suport_text {
  color: #FFFFFF;
}

.fix_tablet_suport_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 申し込み内容の情報修正 お支払い方法 */
.fix_payment_chat_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_payment_chat_label_frame {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.fix_payment_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payment_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.fix_payment_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_chat_discount_text_1 {
  color: #7e7e7e;
}

.fix_payment_chat_discount_text_2 {
  color: #fc244f;
}

.fix_payment_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.fix_payment_chat_discount_text_4 {
  font-size: 10px;
}

.fix_payment_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payment_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.fix_payment_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_payment_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.fix_payment_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.fix_payment_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.fix_payment_chat_price_text_5 {
  font-size: 14px;
}

.fix_payment_label {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_payment_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.fix_payment_chat_price_text_frame_6 {
  position: relative;
  width: 89px;
  height: 12px;
}

.fix_payment_chat_price_text_frame_7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 23px;
  text-align: right;
  letter-spacing: 0;
  line-height: normal;
}

.fix_payment_chat_price_text_6 {
  font-family: var(--font-family);
  font-weight: 400;
  color: #181b35;
  font-size: 23px;
  letter-spacing: 0;
}

.fix_payment_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_payment_input:checked + .fix_payment_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_payment_input:checked + .fix_payment_label .fix_payment_label_text {
  color: #FFFFFF;
}

/* 申し込み内容の情報修正 有料オプション */
.fix_option_chat_box {
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  gap: 10px 16px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.fix_option_input {
  display: none;
}

.fix_option_label {
  display: flex;
  flex-direction: column;
  width: 132px;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_option_input:checked + .fix_option_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_option_input:checked + .fix_option_label .fix_option_text {
  color: #FFFFFF;
}

.fix_option_chat_item {
  display: flex;
  align-items: center;
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.fix_option_text_frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_option_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.fix_option_sub_text {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-style: var(--action-caption-font-style);
}

.fix_option_img_1 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_1.png') no-repeat center/cover;
}

.fix_option_img_2 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_2.png') no-repeat center/cover;
}

.fix_option_img_3 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_3.png') no-repeat center/cover;
}

.fix_option_img_4 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_4.png') no-repeat center/cover;
}

.fix_option_img_5 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_5.png') no-repeat center/cover;
}

.fix_option_img_6 {
  position: absolute;
  width: 120px;
  height: 91px;
  top: 0;
  left: 0;
  background: #FFFFFF url('../img/option_6.png') no-repeat center/cover;
}

/* 申し込み内容の情報修正 こどもちゃれんじほっぷENGLISHのお支払い方法 */
.fix_payment_english_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  gap: 19px;
}

.fix_payment_english_chat_box {
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 0px 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_payment_english_chat_select_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 10px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.fix_payment_english_chat_label_frame {
  display: flex;
  flex-direction: column;
  width: 280px;
  align-items: flex-start;
  gap: 10px;
  padding: 8px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 32px;
}

.fix_payment_english_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payment_english_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.fix_payment_english_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_english_chat_discount_text_1 {
  color: #7e7e7e;
}

.fix_payment_english_chat_discount_text_2 {
  color: #fc244f;
}

.fix_payment_english_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_english_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.fix_payment_english_chat_discount_text_4 {
  font-size: 10px;
}

.fix_payment_english_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_payment_english_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.fix_payment_english_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_english_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_payment_english_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.fix_payment_english_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.fix_payment_english_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_english_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.fix_payment_english_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.fix_payment_english_chat_price_text_5 {
  font-size: 14px;
}

.fix_payment_english_label {
  display: flex;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_payment_english_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.fix_payment_english_label_text_small {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.fix_payment_english_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_payment_english_input:checked + .fix_payment_english_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_payment_english_input:checked + .fix_payment_english_label .fix_payment_english_label_text {
  color: #FFFFFF;
}

.fix_payment_english_input:checked + .fix_payment_english_label .fix_payment_english_label_text_small {
  color: #FFFFFF;
}

/* 申し込み内容の情報修正 My First English Radioのカバー色 */
.fix_radio_select_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  gap: 19px;
}

.fix_radio_select_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px 10px;
  padding: 0px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_radio_select_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_radio_select_label.err{
  border: 4px solid;
  border-color: var(--error);
}

.fix_radio_select_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.fix_radio_select_img_1 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_green.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_radio_select_img_2 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_yellow.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_radio_select_img_3 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/radio_orang.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_radio_select_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.fix_radio_select_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.fix_radio_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_radio_select_input:checked + .fix_radio_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_radio_select_input:checked + .fix_radio_select_label .fix_radio_select_text {
  color: #FFFFFF;
}

/* 申し込み内容の情報修正 思考力ぐんぐん */
.fix_thinking_ability_chat_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 7px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.fix_thinking_ability_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_thinking_ability_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

.fix_thinking_ability_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_thinking_ability_input:checked + .fix_thinking_ability_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_thinking_ability_input:checked + .fix_thinking_ability_label .fix_thinking_ability_text {
  color: #FFFFFF;
}

.fix_thinking_ability_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 申し込み内容の情報修正 教材の色 */
.fix_clock_select_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  gap: 10px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_clock_select_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_clock_select_chat_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 1.31;
}

.fix_clock_select_img_1 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_blue.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_clock_select_img_2 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_pink.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_clock_select_img_3 {
  width: 119px;
  height: 89px;
  background: #FFFFFF url('../img/clock_sky.png') no-repeat center/cover;
  background-size: 100% 100%;
}

.fix_clock_select_text_frame {
  align-items: center;
  gap: 2px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.fix_clock_select_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  color: var(--textmain);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.fix_clock_select_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_clock_select_input:checked + .fix_clock_select_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_clock_select_input:checked + .fix_clock_select_label .fix_clock_select_text {
  color: #FFFFFF;
}
.fix_clock_select_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}
/*-------------------------------------------*/

/* 紹介者の情報修正 */
/*-------------------------------------------*/
.fix_referrer {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_referrer_chat {
  display: flex;
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  flex: 0 0 auto;
}

.fix_referrer_chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_referrer_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.fix_referrer_text-wrapper {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_referrer_view-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 19px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_referrer_view_frame {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 19px;
  position: relative;
  flex: 0 0 auto;
}

.fix_referrer_thumnail-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.fix_referrer_thumnail-toggle_frame {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -6.00px;
  border-radius: 24px;
  border: 3px solid;
  background-color:var(--background-color);
  border-color: var(--background-color);
}

.fix_referrer_select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  position: relative;
  flex: 0 0 auto;
  margin-top: -3.00px;
  margin-left: -3.00px;
  background-color: var(--button-primary);
  border-radius: 28px;
  border: 1px solid;
  border-color: var(--b-primary);
  cursor: pointer;
}

.fix_referrer_text-wrapper-3 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: #ffffff;
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.fix_referrer_div-wrapper {
  display: inline-flex;
  justify-content: center;
  padding: 12px 16px;
  flex: 0 0 auto;
  margin-top: -3.00px;
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
  cursor: pointer;
}

.fix_referrer_text-wrapper-4 {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.fix_referrer_div-2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_div-3 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  flex: 0 0 auto;
}

.fix_referrer_select-2 {
  display: flex;
  width: 193px;
  height: 56px;
  padding: 0px 20px;
  background-color: var(--white);
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
}

.fix_referrer_select-2.err {
  border: 4px solid;
  border-color: var(--error);
}

.fix_referrer_text-wrapper-6 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  font-size: var(--title-04-16-r-font-size);
  line-height: var(--title-04-16-r-line-height);
  position: relative;
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.fix_referrer_div-4 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_text-wrapper-7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-font-black3a3a3a);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.fix_referrer_text-wrapper-8 {
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--textmain);
  font-size: var(--action-base-font-size);
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_referrer_div-5 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_input {
  display: none;
}

.fix_referrer_select-3 {
  display: flex;
  justify-content: center;
  padding: 4px 8px;
  flex: 1;
  flex-grow: 1;
  align-items: center;
  gap: 10px;
  position: relative;
  border-radius: 28px;
}

.fix_referrer_frame-25 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_text-wrapper-11 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_referrer_frame-15 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_referrer_text-wrapper-10 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.fix_referrer_text-wrapper-12 {
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

/* 紹介者の情報修正 ごきょうだい情報 */
.fix_family_info_radio_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_radio_input {
  display: none;
}

.fix_family_info_radio_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_family_info_radio_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_family_info_radio_input:checked + .fix_family_info_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_radio_input:checked + .fix_family_info_radio_label .fix_family_info_radio_text {
  color: #FFFFFF;
}

.fix_family_info_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 19px;
  align-items: center;
  position: relative;
}

/* 紹介者の情報修正 ごきょうだい情報 性別 */
.fix_family_info_frame {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_view {
  gap: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_family_info_div-wrapper {
  width: 78px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_family_info_div-wrapper.err{
  border: 4px solid;
  border-color: var(--error);
}

.fix_family_info_div {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_family_info_text-wrapper-2 {
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_family_info_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_family_info_input:checked + .fix_family_info_div-wrapper {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_input:checked + .fix_family_info_div-wrapper .fix_family_info_div {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_input:checked + .fix_family_info_div-wrapper .fix_family_info_text-wrapper-2 {
  color: #FFFFFF;
}

/* 紹介者の情報修正 ごきょうだい情報 お名前（漢字）・フリガナ */
.fix_family_info_frame-2 {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_frame-4 {
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* 紹介者の情報修正 ごきょうだい情報 生年月日 */
.fix_family_info_frame-wrapper {
  flex-direction: column;
  gap: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_frame-6 {
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_select-3 {
  width: 95px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
}

/* 紹介者の情報修正 ごきょうだい情報（追加） */
.fix_family_info_add_radio_chat_frame{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_radio_input {
  display: none;
}

.fix_family_info_add_radio_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_family_info_add_radio_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_family_info_add_radio_input:checked + .fix_family_info_add_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_add_radio_input:checked + .fix_family_info_add_radio_label .fix_family_info_add_radio_text {
  color: #FFFFFF;
}

.fix_family_info_add_box {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 19px;
  align-items: center;
  position: relative;
}

/* 紹介者の情報修正 ごきょうだい情報（追加） 性別 */
.fix_family_info_add_frame {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_view {
  gap: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.fix_family_info_add_div {
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_family_info_add_text-wrapper-2 {
  width: fit-content;
  margin-top: -2.00px;
  margin-left: -1.00px;
  margin-right: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  position: relative;
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.fix_family_info_add_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_family_info_add_input:checked + .fix_family_info_div-wrapper {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_add_input:checked + .fix_family_info_div-wrapper .fix_family_info_add_div {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_family_info_add_input:checked + .fix_family_info_div-wrapper .fix_family_info_add_text-wrapper-2 {
  color: #FFFFFF;
}

/* 紹介者の情報修正 ごきょうだい情報（追加） お名前（漢字）・フリガナ */
.fix_family_info_add_frame-2 {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_frame-4 {
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_select-2 {
  width: 137.5px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
}

/* 紹介者の情報修正 ごきょうだい情報（追加） 生年月日 */
.fix_family_info_add_frame-wrapper {
  flex-direction: column;
  gap: 10px;
  display: flex;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_frame-6 {
  align-items: center;
  gap: 8px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_family_info_add_select-3 {
  width: 95px;
  height: 56px;
  padding: 0px 10px 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  display: flex;
  align-items: center;
  position: relative;
}
/*-------------------------------------------*/

.address_second_selector_2 {
  display: flex;
  width: 266px;
  height: 56px;
  align-items: center;
  gap: 4px;
  padding: 0px 20px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.address_second_selector_2.err {
  border: 4px solid;
  border-color: var(--error);
}

.confirm-element {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-element .chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.confirm-element .thumnail {
  position: relative;
  width: 44px;
  height: 44px;
}

.confirm-frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  position: relative;
}

.confirm-div-wrapper {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
}

.confirm-element .text-wrapper {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.confirm-element .div {
  flex-direction: column;
  width: 262px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 7px 8px 12px;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
}

.confirm-element .div-2 {
  gap: 4px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-element .div_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-frame-2 {
  align-items: flex-start;
  justify-content: space-between;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.confirm-frame-3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  gap:10px;
}

.confirm-frame-4 {
  margin-left: auto;
}

.confirm-element .text-wrapper-2 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--textmain);
  font-size: var(--action-base-font-size);
  line-height: var(--action-base-line-height);
  white-space: normal;
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.confirm-element .text-wrapper-3 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--button-primary);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  white-space: nowrap;
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.confirm-div-3 {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var( --textfield-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.confirm-view {
  gap: 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-element .span {
  font-family: var(--font-family);
  font-weight: var(--amedium-font-weight);
  color: #181b35;
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.confirm-element .text-wrapper-4 {
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  font-style: var(--chat-base-font-style);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.confirm-element .p {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  line-height: 18.2px;
  position: relative;
  letter-spacing: 0;
}

.confirm-element .fix_discount_text {
  font-weight: var(--chat-base-font-weight);
  color: #fc244f;
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-size: var(--chat-base-font-size);
}

.confirm-text-wrapper-6 {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.confirm-element-2 {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: transparent;
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.confirm-text-wrapper-7 {
  font-family: var(--font-family);
  font-weight: var(--caption-font-weight);
  color: var(--textsub);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--caption-letter-spacing);
  font-style: var(--caption-font-style);
}

.confirm-text-element-3 {
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 16px;
  line-height: 16px;
  position: relative;
  letter-spacing: 0;
}

.confirm-text-wrapper-8 {
  color: #181b35;
  line-height: var(--action-base-line-height);
  font-family: var(--font-family);
  font-style: var(--action-base-font-style);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-size: var(--action-base-font-size);
}

.confirm-text-wrapper-9 {
  color: #e81829;
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  font-family: var(--font-family);
  font-style: var(--chat-base-font-style);
  font-weight: var(--chat-base-font-weight);
  letter-spacing: var(--chat-base-letter-spacing);
}

.confirm_area .frame-3 {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.confirm_area .chat-button {
  width: 300px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.confirm_area .select {
  width: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.text-wrapper-10 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.confirm-element .element-4 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-element .text-wrapper-11 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.confirm-element .accordion {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0px 0px 0px 40px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.confirm-element .text-wrapper-12 {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  font-style: var(--action-medium-font-style);
}

.confirm-element .container {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-gradient-bg-blue-start);
  border-radius: 32px;
}

.confirm-element .polygon {
  position: absolute;
  width: 10px;
  height: 10px;
  top: 28px;
  left: 274px;
}

.confirm-element .select-2 {
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
}

.confirm-element .div-4 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.confirm-element .text-wrapper-13 {
  font-weight: 700;
}

.confirm-element .text-wrapper-14 {
  font-family: var(--font-family);
  font-size: 12px;
}

.confirm-element .div-5 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}

.confirm-element .text-wrapper-15 {
  font-weight: 700;
  color: #181b35;
}

.confirm-element .text-wrapper-16 {
  font-family: var(--font-family);
  color: #181b35;
  font-size: 12px;
}

.confirm-element .text-wrapper-17 {
  font-family: var(--font-family);
  color: #2351ff;
  font-size: 12px;
}

.confirm-element .text-wrapper-18 {
  font-weight: 700;
  color: #181b35;
  font-size: 12px;
}

.confirm-element .cv {
  display: flex;
  flex-direction: column;
  width: 343px;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.confirm-element .chat-wrapper {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.confirm-element .text-wrapper-19 {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 18.2px;
}

.confirm-element .button-submit-wrapper {
  width: 296px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.confirm-element .button-submit {
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
}

.confirm-element .text-wrapper-20 {
  position: relative;
  width: fit-content;
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  white-space: nowrap;
  font-style: var(--action-primary-m-font-style);
}

.confirm_input {
  display: none;
}

.confirm_area .text-wrapper-10 {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.confirm_sub_text_red {
  color: var(--action_kocha, #E81829);
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 18.2px */
}

.chat_frame {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  display: flex;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.warning {
  padding: 0px 8px 0px 15px;

}
.credit_alert_frame {
  display: none;
  position: relative;
  width: 300px;
}

.alart {
  padding: 0px 8px 0px 15px;

}

.warning_text-wrapper {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--error);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
  /* 擬似要素が基準となるように設定 */
  position: relative; 
  /* アイコン分の左側の余白を確保 */
  padding-left: 20px; 
}

.alart_text-wrapper {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--error);
  font-size: 12px;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
  /* 擬似要素が基準となるように設定 */
  position: relative; 
  /* アイコン分の左側の余白を確保 */
  padding-left: 20px; 
}

.warning_text-wrapper::before {
  /* 擬似要素としてアイコンを表示するために必須 */
  content: ""; 
  display: block;
  
  /* アイコンの表示設定 */
  display: inline-block;
  width: 14px; /* アイコンの幅 */
  height: 14px; /* アイコンの高さ */
  
  /* アイコン画像の指定 */
  background-image: url('../img/ng.png');
  background-size: contain; /* サイズに合わせて画像を調整 */
  background-repeat: no-repeat;
  
  /* アイコンをテキストの左側に配置 */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%); /* 縦方向の中央寄せ */
}

.alart_text-wrapper::before {
  /* 擬似要素としてアイコンを表示するために必須 */
  content: ""; 
  display: block;

  /* アイコンの表示設定 */
  display: inline-block;
  width: 14px; /* アイコンの幅 */
  height: 14px; /* アイコンの高さ */
  
  /* アイコン画像の指定 */
  background-image: url('../img/ng.png');
  background-size: contain; /* サイズに合わせて画像を調整 */
  background-repeat: no-repeat;
  
  /* アイコンをテキストの左側に配置 */
  position: absolute;
  top: 1px;
  left: 1px;
}

/* アイコンを常に非表示にするクラス */
.hide-icon::before {
  /* アイコンが描画されないようにする */
  display: none !important; 
}

.next_button_label.disabled_button  {
  background-color: var(--placeholder);
}

.signup_button_label.disabled_button  {
  background-color: var(--placeholder);
}

.update_button_label.disabled_button  {
  background-color: var(--placeholder);
}

.referrer_button_label.disabled_button  {
  background-color: var(--placeholder);
}

.pass_input_field {
  display: flex;
  width: 280px;
  height: 56px;
  align-self: stretch;
  background-color: var(--white);
  border-radius: 28px;
  border: none;
  border-color: var(--color-function-primary-inverted);
  align-items: center;
  position: relative;
}

.password-wrapper.err {
  border: 4px solid;
  border-color: var(--error);
}

.accordion_text {
  width: 100%;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-medium-font-size);
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  list-style: none;
  cursor: pointer;
}

.accordion_text_tokushohou {
  width: 100%;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  font-size: var(--action-medium-font-size);
  line-height: var(--action-medium-line-height);
  position: relative;
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
  list-style: none;
  cursor: pointer;
}
.accordion_text_sub {
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
}
.accordion_red_text_sub {
  position: relative;
  align-self: stretch;
  font-family: "Noto Sans JP-Bold", Helvetica;
  font-weight: 400;
  color: var(--action);
  font-size: 12px;
  letter-spacing: 0;
  line-height: normal;
}
.text-red {
  color: var(--action);
  font-family: var(--font-family);
}

.accordion_text_family {
  font-family: var(--font-family);
}

ul.custom-dot {
  list-style: none; /* デフォルトのマーカーを消す */
}

ul.custom-dot li::before {
  content: "・";
  margin-right: 0.5em;
}

.confirm_moushikomi_item_div {
  display: flex;
}

input[type="text"] {
  font-size: 16px;
}

/*--------------------------------------------*/
.apply_div {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  position: relative;
}

.apply_frame {
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.apply_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.apply_chat_frame {
  gap: 5px;
  padding: 0px 0px 12px;
  flex: 1;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.apply_chat_box {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.apply_text {
  align-items: center;
  justify-content: center;
  align-self: stretch;
  margin-top: -1.00px;
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  font-style: var(--chat-base-font-style);
}

.tokusho_text {
  align-items: center;
  justify-content: center;
  align-self: stretch;
  margin-top: -1.00px;
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  position: relative;
  font-family: var(--font-family);
  font-weight: 400;
  font-style: var(--chat-base-font-style);
}

.apply_chat_frame .text-wrapper-2 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--textmain);
  font-size: var(--action-base-font-size);
  line-height: var(--action-base-line-height);
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}
.apply_button_box {
  display: flex;
  width: 296px;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.apply_button_submit {
  display: flex;
  max-width: 310px;
  height: 59px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0px var(--responsive-left-right-20-20-block-m) 0px
    var(--responsive-left-right-20-20-block-m);
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: var(--action);
  border-radius: var(--common-radius-button-1000);
  border: none;
}

.apply_button_text {
  width: fit-content;
  color: #ffffff;
  font-size: var(--action-primary-m-font-size);
  letter-spacing: var(--action-primary-m-letter-spacing);
  line-height: var(--action-primary-m-line-height);
  font-family: var(--font-family);
  font-weight: var(--action-primary-m-font-weight);
  font-style: var(--action-primary-m-font-style);
}

/*-----------------------------------------------------------------*/

.confirm_button_uncheck {
  display: flex;
  width: 230px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;

  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-family: var(--font-family);
  font-style: var(--action-base-font-style);
}

.confirm_button_check {
  display: flex;
  width: 230px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--button-primary);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-primary);
  cursor: pointer;

  font-weight: var(--action-base-font-weight);
  color: var(--white);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-family: var(--font-family);
  font-style: var(--action-base-font-style);
}

.confirm_button_check_2 {
  display: flex;
  width: 230px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  position: relative;
  background-color: var(--action);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--action);
  cursor: pointer;

  font-weight: var(--action-base-font-weight);
  color: var(--white);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-family: var(--font-family);
  font-style: var(--action-base-font-style);
}

.confirm-chat-button-wrapper {
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.confirm-chat-button {
  border: none;
  flex: 0 0 auto;
  display: flex;
  width: 300px;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  position: relative;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

/* 利用規約のテキストフレーム */
/*-------------------------------------------*/
.important_accordion {
  flex-direction: column;
  position: relative;
  width: 100%;
}

.important_accordion_text {
  width: 100%;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  color: var(--button-primary);
  font-size: var(--action-caption-font-size);
  line-height: var(--action-caption-line-height);
  position: relative;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
  list-style: none;
  cursor: pointer;
}

.important_frame {
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  gap:15px;
}

.important_text_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.important_text_6_red {
  color: var(--action, #FC244F);
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.important_text_6 {
  /*color: var(--action, #FC244F);*/
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.important_text_7 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #181b35;
  font-size: 13px;
}

.important_chat_text {
  font-family: var(--font-family);
  font-weight: 700;
  color: #181b35;
  font-size: 13px;
  line-height: 130%;
}

.important_text_title {
  font-family: var(--font-family);
  font-weight: 700;
  color: #181b35;
  font-size: 13px;
  text-decoration-line: underline;
}

.important_text_7_accordion {
  font-family: var(--font-family);
  font-style: var(--action-caption-font-style);
  font-weight: 700;
  color: var(--color-alias-red-800);
  font-size: 13px;
  list-style: none;
  text-decoration-line: underline;
  text-decoration-color: var(--color-alias-red-800);
  cursor: pointer;
}

.link_text_underline {
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-alias-red-800);
  text-decoration-line: underline;
}

.important_text_underline {
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--color-alias-red-800);
  font-size: 12px;
  text-decoration-line: underline;
}

.important_text_underline_num {
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 12px;
  text-decoration-line: underline;
  text-decoration-color: var(--color-alias-red-800);
}

.important_text_8 {
  font-family: var(--font-family);
  color: #181b35;
  font-size: 12px;
}

.important_text_8_underline {
  font-family: var(--font-family);
  color: #181b35;
  font-size: 12px;
  text-decoration: underline;
}

.important_text_8_red {
  font-family: var(--font-family);
  color: var(--action, #FC244F);
  font-size: 12px;
}

.important_text_9 {
  font-family: var(--font-family);
  color: #2351ff;
  font-size: 12px;
}

.important_text_10 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #181b35;
  font-size: 13px;
}

.attention_text_2 {
  color: var(--text_main, #181B35);
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
}
/*-------------------------------------------*/

/* 利用規約のテキストフレーム */
/*-------------------------------------------*/
.link_text {
  color: var(--color-alias-red-800);
  font-family: var(--font-family);
  font-size: var(--caption-font-size);
  text-decoration: underline;
}
.link_text_red {
  color: var(--action);
  font-family: var(--font-family);
  font-size: var(--caption-font-size);
  text-decoration: underline;
}
.option_confirm_title_text {
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: 13px;
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}
.option_confirm_text {
  font-family: var(--font-family);
  font-size: var(--caption-font-size);
  color: #181b35;
}
.option_confirm_text_red {
  font-family: var(--font-family);
  font-size: var(--caption-font-size);
  color: var(--action);
}
/*-------------------------------------------*/

/*教材の色選択
/*-------------------------------------------*/
.select_color_material_img_1 {
  position: absolute;
  width: 119px;
  height: 90px;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/select_color_material_img_1.png') no-repeat center/cover;
}

.select_color_material_img_2 {
  position: absolute;
  width: 119px;
  height: 90px;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/select_color_material_img_2.png') no-repeat center/cover;
}

.select_color_material_input {
  display: none;
}

.select_color_material_radio_label {
  display: flex;
  flex-direction: column;
  width: 131px;
  height: 129px;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.select_color_material_label_text_main {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.select_color_material_label_text_sub {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.select_color_material_input:checked + .select_color_material_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_color_material_input:checked + .select_color_material_radio_label .select_color_material_label_text_main {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_color_material_input:checked + .select_color_material_radio_label .select_color_material_label_text_sub {
  color: #F5F5F5;
}

.radio_label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  position: relative;
  flex: 1;
  flex-grow: 1;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.label_text_main {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.label_text_sub {
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textsub);
  font-size: var(--action-caption-font-size);
  text-align: center;
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.select_color_material_input:checked + .radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_color_material_input:checked + .radio_label .label_text_main {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.select_color_material_input:checked + .radio_label .label_text_sub {
  color: #F5F5F5;
}
/*-------------------------------------------*/

/* 割引コード入力 */
/*-------------------------------------------*/
.discount_code_bc_chat_text_frame {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: transparent;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 14px;
}

.discount_code_bc_chat_text {
  font-weight: 700;
  color: #181b35;
}

.discount_code_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.discount_code_chat-button-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  flex: auto;               /* flex: 0 0 auto → auto に変更 */
  align-items: flex-end;  /* flex-end → flex-start に変更 */
  justify-content: flex-start; /* center → flex-start に変更 */
  position: relative;
}


.discount_code_chat-button {
  display: flex;
  flex-direction: column;
  width: 296px;
  gap: 10px;
  padding: 10px;
  align-items: flex-start;
  flex: auto;               /* flex: 0 0 auto → auto に変更 */
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
  position: relative;
}


.fix_discount_code_chat-button {
  flex-direction: column;
  width: 296px;
  align-items: flex-start;
  gap: 10px;
  padding: 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.discount_code_text-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  height: auto; 
  padding: 0px 0px 5px;            
}


.discount_code_select {
  display: flex;
  width: 190px;
  align-items: center;
  gap: 10px;
  padding: 0px 20px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  height: auto;             /* 固定高さを削除 */
  min-height: 56px;         /* 必要なら最小高さを維持 */
}


.discount_code_text_2 {
  position: relative;
  flex: 1;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--textmain);
  font-size: var(--title-04-16-r-font-size);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  line-height: var(--title-04-16-r-line-height);
}

.discount_code_select-2 {
  width: 78px;
  align-items: center;
  gap: 26px;
  padding: 20px 16px;
  align-self: stretch;
  background-color: var(--button-primary);
  border-radius: 30px;
  border: 1px solid;
  border-color: var(--b-primary);
  display: flex;
  justify-content: center;
  position: relative;
}

.discount_code_text_3 {
  margin-top: -1.00px;
  color: #ffffff;
  font-size: var(--action-base-font-size);
  text-align: center;
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

.discount_code_select-3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 20px;
  flex: 1;
  flex-grow: 1;
  min-height: 56px;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--color-function-primary-inverted);
  justify-content: center;
}


.discount_code_text_4 {
  font-size: var(--action-caption-font-size);
  line-height: var(--action-caption-line-height);
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--action-caption-font-weight);
  color: var(--textmain);
  letter-spacing: var(--action-caption-letter-spacing);
  font-style: var(--action-caption-font-style);
}

.discount_code_text_5 {
  font-size: var(--title-04-16-r-font-size);
  line-height: var(--title-04-16-r-line-height);
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  font-weight: var(--title-04-16-r-font-weight);
  color: var(--textmain);
  letter-spacing: var(--title-04-16-r-letter-spacing);
  font-style: var(--title-04-16-r-font-style);
}

.discount_code_button_frame {
  width: 77px;
  align-items: center;
  gap: 26px;
  padding: 12px 16px;
  align-self: stretch;
  border-radius: 28px;
  display: flex;
  justify-content: center;
  position: relative;
}
/*-------------------------------------------*/

/*汎用用スタイル
/*-------------------------------------------*/
.main_div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  position: relative;
}

.main_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.bc_chat_frame {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.bc_chat_boxframe {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.bc_chat_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

/*テキスト用メイン設定*/
.chat_text_setting {
  display: flex;
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
  line-height: 1.2;
}

/*チャットテキスト（メイン）*/
.chat_text {
  margin-top: -1.00px;
  font-family: var(--font-family);
  color: var(--textmain);
  font-weight: var(--chat-base-font-weight);
  font-size: var(--chat-base-font-size);
  font-style: var(--chat-base-font-style);
}
/*チャットテキスト（サブ）*/
.chat_text_sub {
  font-family: var(--font-family);
  color: var(--textmain);
  font-weight: var(--caption-font-weight);
  font-size: var(--caption-font-size);
  font-style: var(--caption-font-style);
}
/*チャットテキスト（青色）*/
.chat_text_blue {
  font-family: var(--font-family);
  color: var(--button-primary);
  font-weight: var(--chat-base-font-weight);
  font-size: var(--chat-base-font-size);
  font-style: var(--chat-base-font-style);
}

/*buttonタグの背景色、枠色を削除*/
.button_frame_none {
  background: none;
  border: none;
}


/*青チャットフレーム*/
.bulue_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  gap: 8px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
}

/*青チャット吹き出し*/
.bulue_chat_box {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.direct_debit_text {
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}

.button_frame {
  display: flex;
  height: 41px;
  width: 120px;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  border: 2px solid;
  position: relative;
  font-family: var(--font-family);
  font-weight: var(--action-medium-font-weight);
  font-size: var(--action-medium-font-size);
  text-align: center;
  letter-spacing: var(--action-medium-letter-spacing);
  line-height: var(--action-medium-line-height);
  white-space: nowrap;
  font-style: var(--action-medium-font-style);
  cursor: pointer;
}

.button_color_uncheck{
  background-color: var(--white);
  border-color: var(--button-secondary);
  color: var(--textmain);
}

.button_color_check{
  background-color: var(--button-primary);
  border-color: var(--button-secondary);
  color: var(--white);
}

[data-keyword][data-active-hide].is-active {
  display: none;
}

.address-loading {
  position: absolute;
  /*top: calc(100% + 10px);*/
  left: -10px;
  right: -10px;
  display: flex;
  align-items: center;
  height: 100px;
  padding: 10px 10px 10px 10px;
  background-color: rgba(255, 231, 171, 0.8);
  border-radius: 4px;
  font-family: var(--font-family);
  font-weight: bold;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.address-loading .loading {
  position: relative;
  font-size: 4px;
}
.address-loading.is-active {
  opacity: 1;
  transition-duration: 0.2s;
}

.loading:before {
  content: "";
  padding-left: 12em;
}
.loading:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 1em);
  left: 5em;
  text-indent: -9999em;
  animation: load5 1.1s infinite ease;
  transform: translateZ(0);
}

@keyframes load5 {
  0%, 100% {
    box-shadow: 0em -2.6em 0em 0em #ff0000, 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2), 2.5em 0em 0 0em rgba(255, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.2), 0em 2.5em 0 0em rgba(255, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.2), -2.6em 0em 0 0em rgba(255, 0, 0, 0.5), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.7), 1.8em -1.8em 0 0em #ff0000, 2.5em 0em 0 0em rgba(255, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.2), 0em 2.5em 0 0em rgba(255, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.2), -2.6em 0em 0 0em rgba(255, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.5), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.7), 2.5em 0em 0 0em #ff0000, 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.2), 0em 2.5em 0 0em rgba(255, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.2), -2.6em 0em 0 0em rgba(255, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.5), 2.5em 0em 0 0em rgba(255, 0, 0, 0.7), 1.75em 1.75em 0 0em #ff0000, 0em 2.5em 0 0em rgba(255, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.2), -2.6em 0em 0 0em rgba(255, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2), 2.5em 0em 0 0em rgba(255, 0, 0, 0.5), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.7), 0em 2.5em 0 0em #ff0000, -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.2), -2.6em 0em 0 0em rgba(255, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2), 2.5em 0em 0 0em rgba(255, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.5), 0em 2.5em 0 0em rgba(255, 0, 0, 0.7), -1.8em 1.8em 0 0em #ff0000, -2.6em 0em 0 0em rgba(255, 0, 0, 0.2), -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2), 2.5em 0em 0 0em rgba(255, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.2), 0em 2.5em 0 0em rgba(255, 0, 0, 0.5), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.7), -2.6em 0em 0 0em #ff0000, -1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 0, 0, 0.2), 1.8em -1.8em 0 0em rgba(255, 0, 0, 0.2), 2.5em 0em 0 0em rgba(255, 0, 0, 0.2), 1.75em 1.75em 0 0em rgba(255, 0, 0, 0.2), 0em 2.5em 0 0em rgba(255, 0, 0, 0.2), -1.8em 1.8em 0 0em rgba(255, 0, 0, 0.5), -2.6em 0em 0 0em rgba(255, 0, 0, 0.7), -1.8em -1.8em 0 0em #ff0000;
  }
}

.accordion_frame {
  position: relative;
  width: 100%;
}

.confirm_op_frame {
  flex-direction: column;
  display: flex;
  overflow-wrap: break-word;
  width: 100%;
  gap: 10px;
}

.english_text_sub {
  color:var(--textmain);
  font-family: var(--font-family);
  font-style:var(--base-font-style);
  font-weight: var(--amedium-font-weight);
  font-size: var(--amedium-font-size);
}

/*お届け時期の
*/
#confirm_op_div .text-wrapper {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--textmain);
  font-size: var(--chat-base-font-size);
  letter-spacing: var(--chat-base-letter-spacing);
  line-height: var(--chat-base-line-height);
  font-style: var(--chat-base-font-style);
}

.confirm_element_div {
  overflow-wrap: break-word;
}

.chat_sub_text {
  font-family: var(--font-family);
  color: #7e7e7e;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.chat_sub_text_link {
  font-family: var(--font-family);
  color: var(--button-primary);
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
  text-decoration: underline;
  cursor: pointer;
}

/* モーダル用のCSS */
#myModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 1000;
}

#myModal > div {
  position: absolute;
  top: 10%;             /* 上から10% */
  left: 50%;
  transform: translateX(-50%); /* 横方向だけ中央 */
  background: white;
  padding: 20px;
  width: 90%;           /* 画面幅の90% */
  max-width: 800px;     /* PCでは最大800px */
  max-height: 400px;    /* 高さの上限 */
  overflow-y: auto;     /* 内容が多い場合はスクロール */
  border-radius: 6px;
  box-sizing: border-box;
  border: 3px solid #0365C8; /* 外周の枠線を追加 */
}

/* iframeは幅100% */
#myModal iframe {
  width: 100%;
  border: none;
}

/* 閉じるボタン */
#myModal button {
  display: block;
  margin: 10px auto 0 auto;
  width: 278px;
  padding: 7px 0;
  font-size: 18px;
  font-weight: bold;
  color: #0365C8;
  background: #fff;
  border: 1px solid #0365C8;
  border-radius: 6px;
  cursor: pointer;
  text-align: center;
}

/* SP対応：画面が狭い場合は幅調整 */
@media screen and (max-width: 784px) {
  #myModal > div {
    width: 90%;
    max-width: 320px;
    max-height: 400px;
    border: 3px solid #0365C8; /* SPでも枠線を保持 */
  }
}

.baby_gatsugou_selector {
  display: flex;
  width: 100%;
  height: 56px;
  align-items: center;
  gap: 4px;
  position: relative;
  background-color: var(--white);
  border-radius: 28px;
  border: 2px solid;
  border-color: var(--button-secondary);
  cursor: pointer;
}

.fix_baby_special_frame {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.learning_style_img_hop_hybrid {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_hop_hybrid.png') no-repeat center/cover;
}

.learning_style_img_hop_digital {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_hop_digital.png') no-repeat center/cover;
}

.learning_style_img_step_hybrid {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_step_hybrid.png') no-repeat center/cover;
}

.learning_style_img_step_digital {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_step_digital.png') no-repeat center/cover;
}

.fix_learning_style_img_hop_hybrid {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_hop_hybrid.png') no-repeat center/cover;
}

.fix_learning_style_img_hop_digital {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_hop_digital.png') no-repeat center/cover;
}

.fix_learning_style_img_step_hybrid {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_step_hybrid.png') no-repeat center/cover;
}

.fix_learning_style_img_step_digital {
  position: absolute;
  width: 123px;
  height: 80px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF url('../img/learning_style_img_step_digital.png') no-repeat center/cover;
}

.inlinelnk {
  color: var(--text_main, #181B35);
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.inlinelnk_blue {
  color: var(--link-color-blue);
  font-feature-settings: 'palt' on;

  /* chat_base */
  font-family: var(--font-family);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.fix_area_div {
  flex-direction: column;
  width: 343px;
  align-items: flex-start;
  position: relative;
}

.fix_area_frame {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 15px;
  padding: 0px 10px 0 10px;
}

.fix_chat_view {
  display: flex;
  flex-direction: column;
  width: 300px;
  align-items: center;
  gap: 20px;
  padding: 15px 10px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--chat-bg);
  border-radius: 32px 0px 32px 32px;
}

.fix_title_frame {
  align-items: flex-start;
  justify-content: space-between;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  position: relative;
}

.fix_title_main_text {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--textmain);
  font-size: var(--action-base-font-size);
  line-height: var(--action-base-line-height);
  white-space: normal;
  position: relative;
  letter-spacing: var(--action-base-letter-spacing);
  font-style: var(--action-base-font-style);
}

#tokusho_msg b {
  font-size: 14px;
}

.tokusho_text-wrapper {
  font-size: 12px;
  font-weight: 400;
}

#tokusho_msg a.inlinelnk {
    font-size: 12px;
}

.gatsugou_bc_chat_sub_text {
  font-family: var(--font-family);
  color: #7E7E7E;
  font-size: var(--caption-font-size);
  line-height: var(--caption-line-height);
  font-style: var(--caption-font-style);
  font-weight: var(--caption-font-weight);
  letter-spacing: var(--caption-letter-spacing);
}

.normal_frame {
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.normal_bc_chat {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0px 16px 0px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.normal_bc_chat_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  padding: 0px 0px 12px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.normal_bc_chat_box {
  display: flex;
  flex-direction: column;
  /*align-items: center;*/
  justify-content: center;
  gap: 5px;
  padding: 7px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 0px 16px 16px 16px;
}

.normal_chat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  width: 343px;
  gap: 8px;
  position: relative;
  align-self: stretch;
  flex: 0 0 auto;
}

.normal_chat_box {
  flex-wrap: wrap;
  display: flex;
  width: 300px;
  align-items: center;
  gap: 10px;
  padding: 18px 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}
.fix_normal_chat_box_1 {
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}

.normal_chatoutside_text_frame {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
}

.normal_chatoutside_text_frame_1 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}

.normal_chatoutside_text_frame_2 {
  margin-left: 40px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}

.select_msg_frame {
  display: flex;
  flex-wrap: wrap;
  width: 300px;
  align-items: center;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 11px;
  line-height: var(--caption-line-height);
  position: relative;
  color: var(--textmain);
  letter-spacing: 0px;
  font-style: normal;
}

.fix_normal_view {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 19px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_normal_chat_box_2 {
  display: flex;
  width: 280px;
  height: 210px;
  align-items: center;
  gap: 10px;
  position: relative;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}
.fix_common_chat_box {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 7px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
}
.normal_item {
  position: relative;
  align-self: stretch;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
}
.normal_item img {
  width: 119px;
  top: 0;
  left: 0;
  aspect-ratio: 1.31;
  background: #FFFFFF;
}

.normal_chat_div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.normal_select_button_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--action-base-font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}
.normal_select_button_sub_text {
  position: relative;
  flex: 1;
  margin-top: -2.00px;
  font-family: var(--action-base-font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: 10px;
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  font-style: var(--action-base-font-style);
}

.normal_input {
  display: none;
}

.normal_radio_label {
  display: flex;
  flex-direction: column;
  width: 135px;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.normal_label_text_main {
  font-weight: var(--action-medium-font-weight);
  color: var(--textmain);
  text-align: center;
  line-height: var(--action-medium-line-height);
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-size: var(--action-medium-font-size);
  letter-spacing: var(--action-medium-letter-spacing);
  font-style: var(--action-medium-font-style);
}

.normal_ability_input {
  display: none;
}
.normal_label {
  display: flex;
  height: 59px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.normal_label_2 {
  display: flex;
  height: 120px;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.normal_ability_input:checked + .normal_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}
/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.normal_ability_input:checked + .normal_label .normal_select_button_text {
  color: #FFFFFF;
}
/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.normal_ability_input:checked + .normal_label .normal_select_button_sub_text {
  color: #FFFFFF;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.normal_ability_input:checked + .normal_label_2 {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}
/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.normal_ability_input:checked + .normal_label_2 .normal_select_button_text {
  color: #FFFFFF;
}
/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.normal_ability_input:checked + .normal_label_2 .normal_select_button_sub_text {
  color: #FFFFFF;
}

/* デフォルトのボタンを非表示に */
.normal_next_button_input {
  display: none;
}
.normal_next_button_frame {
  flex-direction: column;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}
.normal_next_button_text {
  width: fit-content;
  font-family: var(--action-primary-m-font-family);
  font-weight: var(--action-primary-m-font-weight);
  color: #ffffff;
  letter-spacing: var(--action-primary-m-letter-spacing);
  white-space: nowrap;
  position: relative;
  font-size: var(--action-primary-m-font-size);
  line-height: var(--action-primary-m-line-height);
  font-style: var(--action-primary-m-font-style);
}

.normal_fix_div {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}
.normal_fix_title_text_frame {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0px 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}
.normal_fix_title_text {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--chat-base-font-family);
  font-weight: var(--chat-base-font-weight);
  color: var(--color-font-black3a3a3a);
  font-size: var(--chat-base-font-size);
  line-height: var(--chat-base-line-height);
  /* white-space: nowrap; */
  position: relative;
  letter-spacing: var(--chat-base-letter-spacing);
  font-style: var(--chat-base-font-style);
}
.normal_fix_text_frame {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.normal_input:checked + .normal_radio_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.normal_input:checked + .normal_radio_label .normal_label_text_main {
  color: #FFFFFF;
}

.fix_common_width {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.fix_common_margin {
  margin: 0 0 9px 0;
}

.fix_common_chat_label_frame {
  flex-direction: column;
  width: 100%;
  align-items: center;
  gap: 7px;
  background-color: var(--color-action-secondary);
  border-radius: 32px 0px 32px 32px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

.fix_common_chat_price_frame {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_common_chat_discount_frame {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 3px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--color-stlike-red-10);
  border-radius: 8px;
}

.fix_common_chat_discount_text_frame_1 {
  flex: 1;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: transparent;
  font-size: 10px;
  text-align: right;
  line-height: 13px;
  position: relative;
  letter-spacing: 0;
}

.fix_common_chat_discount_text_1 {
  color: #7e7e7e;
}

.fix_common_chat_discount_text_2 {
  color: #fc244f;
}

.fix_common_chat_discount_text_frame_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 16px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_common_chat_discount_text_3 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 16px;
  letter-spacing: 0;
}

.fix_common_chat_discount_text_4 {
  font-size: 10px;
}

.fix_common_chat_price_text_frame_1 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0px 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.fix_common_chat_price_text_frame_2 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  flex: 0 0 auto;
}

.fix_common_chat_price_text_1 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textsub);
  font-size: 10px;
  text-align: right;
  line-height: normal;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_common_chat_price_text_frame_3 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

.fix_common_chat_price_text_frame_4 {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  flex: 0 0 auto;
}

.fix_common_chat_price_text_2 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  white-space: nowrap;
  position: relative;
  margin-top: -1.00px;
  letter-spacing: 0;
}

.fix_common_chat_price_text_3 {
  width: fit-content;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--textmain);
  font-size: 10px;
  text-align: right;
  line-height: 13.0px;
  text-decoration: line-through;
  white-space: nowrap;
  position: relative;
  letter-spacing: 0;
}

.fix_common_chat_price_text_frame_5 {
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 700;
  color: var(--action);
  font-size: 23px;
  text-align: right;
  line-height: normal;
  position: relative;
  letter-spacing: 0;
}

.fix_common_chat_price_text_4 {
  font-family: var(--font-family);
  font-weight: 700;
  color: #fc244f;
  font-size: 23px;
  letter-spacing: 0;
}

.fix_common_chat_price_text_5 {
  font-size: 14px;
}

.fix_common_label {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 20px 16px;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  background-color: var(--white);
  border-radius: 30px;
  border: 2px solid;
  border-color: var(--button-secondary);
  align-items: center;
  position: relative;
  cursor: pointer;
}

.fix_common_label_text {
  position: relative;
  width: fit-content;
  margin-top: -2.00px;
  font-family: var(--font-family);
  font-weight: var(--action-base-font-weight);
  color: var(--color-ink-text-100);
  font-size: var(--action-base-font-size);
  text-align: center;
  letter-spacing: var(--action-base-letter-spacing);
  line-height: var(--action-base-line-height);
  white-space: nowrap;
  font-style: var(--action-base-font-style);
}

.fix_common_chat_price_text_frame_6 {
  position: relative;
  width: 89px;
  height: 12px;
}

.fix_common_chat_price_text_frame_7 {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--font-family);
  font-weight: 400;
  color: var(--textmain);
  font-size: 23px;
  text-align: right;
  letter-spacing: 0;
  line-height: normal;
}

.fix_common_chat_price_text_6 {
  font-family: var(--font-family);
  font-weight: 400;
  color: #181b35;
  font-size: 23px;
  letter-spacing: 0;
}

.fix_common_input {
  display: none;
}

/* チェックされたラジオボタンに対応するラベルを強調 */
.fix_common_input:checked + .fix_common_label {
  background-color: var(--button-primary);
  border-color: var(--b-primary);
}

/* チェックされたラジオボタンに対応するラベル内の文字を強調 */
.fix_common_input:checked + .fix_common_label .fix_common_label_text {
  color: #FFFFFF;
}

/*テキスト用メイン設定*/
.chat_sub_text_setting {
  display: flex;
  align-items: center;
  position: relative;
  align-self: stretch;
  font-family: var(--font-family);
}
.chat_text_gray {
  color: #7e7e7e;
  font-family: var(--action-caption-font-family);
  font-style: var(--action-caption-font-style);
  font-weight: var(--action-caption-font-weight);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}
.chat_text_block {
  color: #181b35;
  font-family: var(--action-caption-font-family);
  font-style: var(--action-caption-font-style);
  font-weight: var(--action-caption-font-weight);
  letter-spacing: var(--action-caption-letter-spacing);
  line-height: var(--action-caption-line-height);
  font-size: var(--action-caption-font-size);
}
.common_bc_chat_text {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: "Noto Sans JP-Bold", Helvetica;
  font-weight: 700;
  color: var(--textmain);
  font-size: 14px;
  letter-spacing: 0;
  line-height: normal;
}
.comming_soon_text_underline {
  color: var(--text_main, #181B35);
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP", Helvetica;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.comming_soon_text_bule_underline {
  color: var(--button-primary);
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP", Helvetica;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* タブレット用 */
.tablet_pick_frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  align-self: stretch;
}

.tablet_pick_div {
  display: flex;
  width: 142px;
  padding: 4px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 16px;
  background: #E81829;
}

.tablet_pick_text {
  color: var(--white, #FFF);
  text-align: center;
  font-family: var(--font-family);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 13px */
  letter-spacing: 0.4px;
}

.normal_bc_err_chat {
  width: 330px;
  align-items: flex-start;
  gap: 8px;
  display: flex;
  position: relative;
  flex: 0 0 auto;
}

/* 共通部品 */
/*-------------------------------------------*/
/* 初期状態：非表示 */
.initial_display_none {
  display: none;
}
.introduce_friend_flex{
  display: none; 
}
.initial_display_none_webbank {
  display: none;
}
.baby_flex_div {
  display: none;
}
.thanks_program_display_flex {
  display: none;
}
/*-------------------------------------------*/
