body {
    background: #ffffff;
    font-size: 16px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

fieldset{
    border: none;
    margin: 0;
    padding: 0;
}

.container {
    border : 0px solid #7EA2D3;
    padding: 0;
}

.content-form {}

.form-column {
    border      : 1px solid #909090;
    padding     : 0 0 20px 0;
    margin      : 0 0 -1px 0;
}

/* 項目別設定 */

.form-column[data-column="種類"] .label{
  display: none;
}
.form-column[data-column="種類"]{
  background-color: #EFC44C;
  border: none;
  border-radius: 5px;
  padding: 13px 10px;
}
.form-column[data-column="種類"] input,
.form-column[data-column="種類"] .preview-block{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  padding: 0;
  margin: 0 !important;
  font-size: 20px;
  font-weight: bold;
  cursor: inherit;
  color: #fff;
  text-align: center;
  width:100%;
  resize: none;
}

@media (max-width: 369.98px){
  .form-column[data-column="種類"] input{
     font-size: 5vw;
  }
}

#form-container .form-column[data-column="ご利用日"]{
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  padding: 0;
  margin: 40px 0 0;
}
#form-container .form-column[data-column="ご利用日"] .label{
  background: none;
  border: 0;
  padding: 0;
}
#form-container .form-column[data-column="ご利用日"] .label::after{
  content: "：";
}
#form-container .form-column[data-column="ご利用日"] .label .badge{
  display: none;
}
#form-container .form-column[data-column="ご利用日"] input{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  padding: 0;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
  cursor: inherit;
  width: 140px;
  flex: 0;
  white-space: nowrap;
  display: flex;
  flex-shrink: 0;
}

.form-column[data-column="必須がついている項目は必ず入力してください"]{
  border: none;
  margin: 50px 0 0;
  padding: 0;

}
.form-column[data-column="必須がついている項目は必ず入力してください"] .description-block p{
    color: #333;
}

.form-column[data-column="ご利用人数をお選びください"] .description-block{
    margin: 0;
}
.form-column[data-column="ご利用人数をお選びください"] .description-block p{
    color: #333;
    font-size: 14px;
    margin: 5px 15px 0 15px;
}

.form-column[data-column="クーポンをお持ちの方はクーポンコードをご入力下さい。"] .label{
    background-color: #F5ECE4;
}

.form-column[data-column="・ご紹介いただいたお友達のお名前"] .label,
.form-column[data-column="・ご紹介いただいたお友達の住所(町名まで) or 登録の電話番号"] .label{
    background-color: #E6EFD6;
}

.form-column[data-column="・生年月日をお聞かせください"] .label,
.form-column[data-column="・性別をお聞かせください"] .label,
.form-column[data-column="・調理される方の、ご職業をお聞かせください"] .label{
    background-color: #F5E8E4;
}

.form-column[data-column="・生年月日をお聞かせください"] .label::before{
  display: block;
  content: "アンケート";
  font-size: 20px;
  margin-bottom: 5px;
}
.form-column[data-column="・ご紹介いただいたお友達のお名前"] .label::before{
  display: block;
  content: "お友達の紹介 ※ご紹介いただいたお友達にも特典がございます";
  font-size: 16px;
  margin-bottom: 5px;
}
.form-column[data-column="ご注文内容、お客様情報にお間違えがないかご確認の上「注文完了」をクリックして下さい。"]{
  border: 0;
  padding: 0;
  margin: 40px 0 0;
}
.form-column[data-column="ご注文内容、お客様情報にお間違えがないかご確認の上「注文完了」をクリックして下さい。"] .description-block p{
  font-weight: bold;
  color: #333;
  font-size: 20px;
}
.form-column[data-column="補足"]{
  border: none;
  padding: 0;
}
.form-column[data-column="補足"] .description-block p{
  color: #333;
  font-weight: bold;
  margin-top: 30px;
}
.form-column[data-column="プライバシーポリシーのリンク"]{
  border: none;
  padding: 0;
  margin: 0;
}
.form-column[data-column="プライバシーポリシーのリンク"] .description-block a{
  display: inline-flex;
  align-items: center;
  color: #333;
  text-decoration: underline;
}
.form-column[data-column="プライバシーポリシーのリンク"] .description-block a img{
  margin-left: 6px;
}

#form-container .form-column[data-column="ご注文内容、お客様情報にお間違えがないかご確認の上「注文完了」をクリックして下さい。"]{
  display: none
}
#confirmation-container .form-column[data-column="必須がついている項目は必ず入力してください"]{
  display: none !important;
}
#confirmation-container .form-column[data-column="プライバシーポリシーのリンク"]{
  display: none !important;
}
#confirmation-container .form-column[data-column="ご利用人数をお選びください"] .description-block{
  display: none !important;
}

.form-column .form-column {
    border: none;
}

.form-column .form-column + .form-column{
     border-top: 1px solid #909090;
}

.form-column .form-column:last-child{
    padding-bottom: 0;
}

.form-column.form-column-radio{
  padding-bottom: 15px
}
.form-column-radio .input-group{
  display: flex;
  flex-wrap :wrap;
  gap: 20px;
  align-items: center;
  margin: 20px 15px 0 15px;
}

@media (min-width: 601px){
  .form-column-radio .input-group{
    gap: 30px;
  }
}

.message-block {
    margin-bottom: 1em;
}

.form-column fieldset > .label{
    display: block;
    max-width: 100%;
    width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
}

.form-column > label,
.form-column fieldset > .label {
    margin-bottom: 0px;
    border-bottom: 1px solid #909090;
    background-color: #FCF9F0;
    padding     : 10px 15px;
}

legend .badge-required{
    padding: 0;
    background: none;
    line-height: inherit;
}

.badge,
legend .badge-required {
    color        : #FF0000;
    font-weight  : 500; 
    display      : inline-block;
    border-radius: 3px;
    text-align   : center;
    margin-left  : 10px;
    font-size    : 12px;
}

form input[type=text],
form input[type=num],
form input[type=email],
form input[type=password],
form input[type=tel],
form textarea,
form select{
    padding      : 5px 1%;
    font-size    : 16px;
    border       : 1px solid #909090;
    margin: 20px 15px 0 15px;
    max-width: none;
    width: calc(100% - 30px);
}

form input[type=text]:read-only,
form input[type=num]:read-only,
form input[type=email]:read-only,
form input[type=password]:read-only,
form input[type=tel]:read-only,
form textarea:read-only{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  padding: 0;
  margin: 20px 15px 0;
  cursor: inherit;
}

@media (min-width: 601px){
  form input[type=text],
  form input[type=num],
  form input[type=email],
  form input[type=password],
  form input[type=tel]{
    width: 475px;
  }
  form select{
    width: auto;
  }
}


form select {
    padding: 5px 1%;
}

.input-group label {
    margin-bottom: 5px;
}


#form-container .button-group{
    margin-top: 60px;
}
.button-group {
    text-align: center;
    position: relative;
    width: 100%;
}

.button-group .button-confirm,
.button-group .button-submit {
    padding    : 20px 10px;
    color      : #fff;
    font-weight: bold;
    border: 1px solid #E60012;
    border-radius: 9999px;
    width: 300px;
    max-width: 100%;
    color: #E60012;
    transition: background-color 0.3s;
}

.button-group .button-confirm:hover,
.button-group .button-submit:hover{
    color: #FFFFFF;
    background-color: #E60012;
    transition: background-color 0.3s;
}

.button-group .button-back {
    padding: 0;
    border: none;
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: normal;
    color: #333;
    width: auto;
    border-radius: 0;
}
.button-group .button-back::before{
    content: "";
    display: inline-block;
    border-style: solid;
    border-width: 5px 6px 5px 0;
    border-color: transparent #000 transparent transparent;
    margin-right: 10px;
}
.help-block{
  display: none;
}


.form-column-checkbox .input-group {
    margin: 20px 15px 0 15px;
}

.form-column-checkbox a{
    text-decoration: underline;
    text-decoration-color: #707070;
}

input[type="checkbox"]{
  position: relative;
  cursor: pointer;
  margin-right: 10px;
}

input[type="checkbox"]::before {
  position: absolute;
  background: #E5BD4F;
  top: 50%;
  left: 3px;
  -webkit-transform: translateY(-50%) scale(0, 0);
  transform: translateY(-50%) scale(0, 0);
  width: 12px;
  height: 12px;
  content: '';
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  z-index: 1
}

input[type="checkbox"]:checked::before {
  -webkit-transform: translateY(-50%) scale(1, 1);
  transform: translateY(-50%) scale(1, 1)
}

input[type="checkbox"]::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -3px;
  width: 24px;
  height: 24px;
  content: '';
  border: 1px solid #707070;
  background: #fff
}

input[type="radio"] {
    position: relative;
    cursor: pointer;
    margin-right: 10px
}

input[type="radio"]::before {
    position: absolute;
    background: #E5BD4F;
    top: 50%;
    left: 3px;
    -webkit-transform: translateY(-50%) scale(0, 0);
    transform: translateY(-50%) scale(0, 0);
    width: 12px;
    height: 12px;
    content: '';
    -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transition: transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    border-radius: 50%;
    z-index: 1
}

input[type="radio"]:checked::before {
    -webkit-transform: translateY(-50%) scale(1, 1);
    transform: translateY(-50%) scale(1, 1)
}

input[type="radio"]::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: -3px;
    width: 24px;
    height: 24px;
    content: '';
    border: 1px solid #909090;
    border-radius: 50%;
    background: #fff
}
input[type="radio"]:not(:checked) + span{
  color: #909090;
}

@media (max-width: 600px){
  .option-text{
    font-size: 13px;
  }
}

.option-text{
  font-size: 16px;
}

.form-column-recaptcha > div{
  margin-left: auto;
  margin-right: auto;
}

#confirmation-container .form-column-recaptcha{
  border: none !important;
}
#confirmation-container .form-column{
  padding: 0;
}
#confirmation-container .preview-block{
  padding: 20px 15px;
  display: inline-block;
}
.form-column-recaptcha{
  display: flex;
}
.form-column-recaptcha > div{
  margin-left: auto;
  margin-right: auto;
}

.message-block.message-block-confirmation{
  display: none;
}
#confirmation-container .button-group{
  margin-top: 40px;
}

@media (max-width: 600px){
  .button-group .button-back{
    top: -40px;
    transform: none;
  }
  #confirmation-container .button-group{
    margin-top: 80px;
  }
  .form-column[data-column="・生年月日をお聞かせください"] .input-group select:nth-of-type(n+2){
    margin-top: 0px;
  }
  .form-column[data-column="・生年月日をお聞かせください"] .input-group .separator.separator-date{
    padding: 4px 20px;
    display: block;
  }
}

.form-column-9d73a0bf-cce2-4e69-b134-bb261958321f{
    .label::after{
    content: "※ご利用週、メニュー内容により多少の金額の上下が御座います。予めご了承ください。";
    display: block;
    float: left;
    width: 100%;
    clear: both;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
    padding-left: 14px; 
    text-indent: -14px; 
    box-sizing: border-box;
    }
}