body {
font-family: 'Noto Sans CJK JP', sans-serif;
background-color: transparent;
}
div.container {
   max-width:100%;
   min-height: auto!important;
   padding: 0;
   background: none;
   border: none;
}
div.form-column {
   display: flex;
   align-items: center;
   flex-direction: row;
   flex-wrap: wrap;
   justify-content: flex-start;
   width: 100%;
   padding: 25px 0;
   margin-bottom: 0;
   border-top: #CCC solid 1px;
}
div.form-column-zip-code-autofill, div.form-column-note {
   padding: 0;
}
div.form-column-checkbox {
   border: none;
}
div.form-column-checkbox label.label {
   display: none;
}
.form-column-bfb541ce-a19c-44f8-af8e-9ed2e31940e2 {
   border: none !important;
}
.form-column-bfb541ce-a19c-44f8-af8e-9ed2e31940e2 div.description-block {
   width: 100%;
  background-color: #fff;
  padding: 30px;
}
.form-column-bfb541ce-a19c-44f8-af8e-9ed2e31940e2 div.description-block p {
   color: #000;
   font-size: 1.4rem;
   line-height: 2;
}
.form-column-96eef856-8d38-41f6-b9f6-d3fd3ef87697 div.description-block {
   padding: 40px;
   margin-top: 40px;
   background-color: #EEE;
}
div.form-column-checkbox div.input-group {
   width: 100%;
   text-align: center;
}
label.label {
   color: #000;
   font-size: 1.4rem;
   width: 145px;
   font-weight: 500;
   background-color: transparent !important;
}
label.label span {
   font-size: 0;
   background-color: transparent !important;
}
label.label span:before {
   content: '※';
   color: #000;
   font-size: 1.4rem;
   padding-left: 2px;
}
input[type=text], input[type=url], input[type=email], input[type=tel], select, textarea {
   color: #111;
   font-weight: 400;
   width: 620px !important;
   max-width: 100%;
   height: 40px;
   padding: 0 10px;
   outline: none;
border: none;
}
select {
   width: 460px !important;
}
textarea {
   height: 150px;
   padding: 10px;
}
p.ttl {
   padding-bottom: 15px;
}
p.ttl span {
color: #D60000;
}
p.txt {
   font-size: 1.4rem;
   font-weight: 400;
   line-height: 2;
}
p.txt a {
   font: inherit;
   color: #111;
   text-decoration: underline;
}
span.option-text {
   margin-left: 5px;
}
.button {
   display: block;
   line-height: 50px;
   text-align: center;;
   width: 280px;
   padding: 0;
   margin: 0;
   background: transparent;
   border: #000 solid 1px;
   border-radius: 0;
   transition: .3s;
}
.button:hover {
  opacity: .8;
}

.button-group {
    display: flex;
    justify-content: center; 
    gap: 20px; 
    margin-top: 20px; 
}

.button-back, .button-submit {
   width: 280px !important;
    height: 50px !important;
    display: flex;                
    align-items: center;          
    justify-content: center;      
    gap: 8px;                   
    padding: 0 !important;
    border: #000 solid 1px;
    box-sizing: border-box;
    margin: 0;
}

.button-back {
    background-color: #000 !important; 
    color: #fff !important;      
    border: none;
    font-size: 14px;
    cursor: pointer;
    transition: .3s;
    text-align: center;
}

.button-back:hover {
    opacity: 0.8; 
}

.preview-block {
   padding-top: 0;
   padding-bottom: 0;
   color: #000;
}
@media(max-width:850px) {
   div.form-column {
      padding: 7px 0;
      border: none !important;
   }
   .form-column-96eef856-8d38-41f6-b9f6-d3fd3ef87697 div.description-block {
      padding: 20px;
   }
   .button-back, .button-submit {
      width: 160px;
   }
   label.label {
      color: #000;
   }
   div.preview-block {
      width: 100%;
      padding-bottom: 10px;
   }
}
div.content-confirmation .form-column-checkbox {
   opacity: 0;
}
div.message-block {
   color: #000;
   text-align: center;
   padding: 20px 0;
}

.button-confirm {
   background-color: #000 !important; 
   color: #fff !important;           
   border: none;                     
   border-radius: 4px;               
   font-size: 16px;
   font-weight: bold;
   cursor: pointer;
   transition: .3s;
}
.button-confirm:hover {
   opacity: 0.8;
}

div.form-column-checkbox div.input-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-start;
    text-align: left;
    width: auto;
    border: 1px solid #ccc;
    padding: 12px; 
    border-radius: 4px; 
    background-color: #fff; 
}


div.form-column-checkbox div.input-group label {
   font-size: 1.4rem;
   font-weight: bold;
   color: #000;
   margin: 0;
   background: none !important;
   text-align: left; 
   flex: 1; 
}


legend.label span,
div.form-column-checkbox div.input-group label span {
   color: #000;           
   font-size: 1.2rem;
   padding: 2px 6px;
   margin-left: 6px;
   border-radius: 4px;
   display: inline-block;
}

legend.label {
    font-size: 1.4rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

legend.label span {
    color: #fff;
    background-color: #d00; 
    font-size: 1.2rem;
    padding: 2px 6px;
    border-radius: 4px;
}

@media (max-width: 900px) and (orientation: portrait) {
  div.form-column {
    flex-direction: column;
    align-items: stretch; 
  }

  label.label,
  legend.label {
    width: 100%;
    margin-bottom: 8px;
  }

  input[type=text],
  input[type=url],
  input[type=email],
  input[type=tel],
  select,
  textarea {
    width: 100% !important;  
    max-width: 100%;
  }

  select {
    width: 100% !important; 
  }

 .form-column { transform: none !important; filter: none !important; }

  .form-column, .description-block, .preview-block {
    overflow: visible !important;
  }

 .form-column select {
    position: relative;
    z-index: 2;
    pointer-events: auto;
  }

  label.label,
  legend.label {
    position: relative;
    z-index: 1;
  }

  label.label::before,
  label.label::after,
  legend.label::before,
  legend.label::after {
    pointer-events: none;
  }

  .select-wrapper::before,
  .select-wrapper::after {
    pointer-events: none;
  }


.form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8 label.label {
    position: relative !important;
    z-index: 1 !important;
  }
  .form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8 label.label::before,
  .form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8 label.label::after {
    pointer-events: none !important;
  }

  .form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8,
  .form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8 .description-block,
  .form-column-47f80c3d-8bb4-4053-8ed2-a6633d006df8 .preview-block {
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
  }

  div.form-column-checkbox div.input-group {
      width: auto !important;
      display: inline-block !important;
      max-width: fit-content !important;
  }

}

@media (max-width: 900px) {

  legend.label {
    display: inline-block !important;
    margin-bottom: 8px !important;
  }

  legend.label,
  legend.label * {
    pointer-events: none;     
  }

  div.form-column-checkbox div.input-group {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
  }

  div.form-column-checkbox div.input-group label.option {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
  }

  div.form-column-checkbox div.input-group input[type="checkbox"] {
    margin: 0;
    padding: 0;
  }

  .form-column-checkbox .input-group {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .form-column-checkbox .input-group label.option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 44px;               
    line-height: 1.4;
    cursor: pointer !important;
    position: relative;           
    z-index: 2;                     
    -webkit-tap-highlight-color: rgba(0,0,0,0.1);
  }

  .form-column-checkbox .input-group input[type="checkbox"] {
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    z-index: 2;              
  }

 .form-column-checkbox .input-group .option-text {
    display: inline-block;
  }

  .form-column-checkbox .input-group label.option,
  .form-column-checkbox .input-group label.option * {
    pointer-events: auto;
  }

  .form-column {
    transform: none !important;
    filter: none !important;
  }

  .form-column-checkbox label.label {
    display: inline-block !important; 
    pointer-events: none !important; 
  }

}
``



