@charset "UTF-8";
@-moz-keyframes bounce-up { from { transform: translateY(0); }
  to { transform: translateY(-5px); } }
@-webkit-keyframes bounce-up { from { transform: translateY(0); }
  to { transform: translateY(-5px); } }
@keyframes bounce-up { from { transform: translateY(0); }
  to { transform: translateY(-5px); } }
@-moz-keyframes bounce-right { from { transform: translateX(0); }
  to { transform: translateX(3px); } }
@-webkit-keyframes bounce-right { from { transform: translateX(0); }
  to { transform: translateX(3px); } }
@keyframes bounce-right { from { transform: translateX(0); }
  to { transform: translateX(3px); } }
/* Steps
---------------------------------------------*/
#step { text-align: center; padding-top: 40px; margin-bottom: 40px; }
#step ol { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; counter-reset: step; }
#step ol li { position: relative; font-size: 1.6rem; }
@media screen and (min-width: 960px) { #step ol li { margin-right: 80px; } }
@media screen and (max-width: 959px) { #step ol li { margin-right: 40px; } }
#step ol li span { display: block; font-size: 1.2rem; margin-top: 5px; font-family: "Roboto", sans-serif; color: #999; }
#step ol li a::before, #step ol li em::before { -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; counter-increment: step; content: counter(step); color: #232323; background: #eee; position: absolute; width: 30px; height: 30px; line-height: 30px; font-size: 1.4rem; top: -40px; left: calc(50% - 15px); font-family: "Roboto", sans-serif; }
#step ol li::after { content: ""; position: absolute; background: #eee; z-index: -1; height: 5px; top: -27.5px; left: 50%; }
@media screen and (min-width: 960px) { #step ol li::after { width: calc(100% + 80px); } }
@media screen and (max-width: 959px) { #step ol li::after { width: calc(100% + 40px); } }
#step ol li:last-child { margin-right: 0; }
#step ol li:last-child::after { display: none; }
#step ol li.visited a::before { background: #e50014; color: #fff; }
#step ol li.visited::after { background: #e50014; }
#step ol li.current em::before { background: #e50014; color: #fff; }
#step ol li a { padding-top: 40px; color: #e50014; }
#step ol li a:hover { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; }
#step ol li a:hover::before { -moz-box-shadow: 0 0 0 3px rgba(229, 0, 19, 0.3); -webkit-box-shadow: 0 0 0 3px rgba(229, 0, 19, 0.3); box-shadow: 0 0 0 3px rgba(229, 0, 19, 0.3); }
#step ol li em { padding-top: 40px; font-style: normal; }

/* Form
---------------------------------------------*/
/* Layout ---------------*/
@media screen and (min-width: 960px) { #form { font-size: 1.6rem; line-height: 1.6em; } }
@media screen and (max-width: 959px) { #form { font-size: 1.4rem; line-height: 1.6em; } }
#form table { width: 100%; border-collapse: collapse; text-align: left; }
@media screen and (max-width: 959px) { #form table tr { border: solid 1px #999; } }
#form table th, #form table td { vertical-align: middle; }
@media screen and (min-width: 960px) { #form table th, #form table td { padding: 15px; border: solid 1px #999; } }
@media screen and (max-width: 959px) { #form table th, #form table td { display: list-item; list-style: none; padding: 10px; } }
#form table th { background: #eee; }
@media screen and (min-width: 960px) { #form table th { width: 30%; } }
@media screen and (max-width: 959px) { #form table th { width: 100%; font-weight: normal; } }
#form table th span::after { color: #fff; text-align: center; line-height: 1em; padding: 2px 5px; margin-left: 10px; font-size: 1.2rem; }
#form table th span.required::after { background: #e50014; content: "必須"; }
#form table th span.option::after { background: #999; content: "任意"; }
@media screen and (min-width: 960px) { #form table td { width: 70%; } }
@media screen and (max-width: 959px) { #form table td { width: 100%; } }
#form table td select { line-height: 1.6em; }
#form table td ul li { display: block; }
@media screen and (min-width: 960px) { #form table td ul li { margin-bottom: 10px; } }
@media screen and (max-width: 959px) { #form table td ul li { margin-bottom: 5px; } }
#form table td ul li:last-child { margin-bottom: 0; }
#form table td ul.radio-inline { display: -webkit-flex; display: flex; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
#form table td ul.radio-inline li { display: inline-block; margin-bottom: 0; margin-right: 1.5em; }
#form table td ul.radio-inline li:last-child { margin-right: 0; }
#form table td input { width: 100%; }
@media screen and (min-width: 960px) { #form table td input.company { width: calc(50% - 2.3em); } }
@media screen and (max-width: 959px) { #form table td input.company { width: 40%; } }
@media screen and (min-width: 960px) { #form table td input.name { width: calc(50% - 4.2em); } }
@media screen and (max-width: 959px) { #form table td input.name { width: calc(50% - 3.8em); } }
#form table td input.half { width: 50%; }
#form table td input.zip-3 { width: 20%; }
#form table td input.zip-4 { width: 30%; }
#form table td input.other { margin-top: 5px; display: none; }
#form table td input.delay { width: 35%; margin-left: -1.5em; }
#form table td a { color: #999; margin-left: 10px; }
@media screen and (max-width: 959px) { #form table td a { font-size: 1.2rem; } }
#form table td a.external::after { font-family: FontAwesome; content: "\f08e"; margin-left: 5px; }
@media screen and (min-width: 960px) { #form table.order { margin-bottom: 40px; } }
@media screen and (max-width: 959px) { #form table.order { margin-bottom: 15px; } }
#form table.order td div { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; padding-right: 1.5em; }
#form .submitBtn { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
#form .submitBtn a {display: inline-block; /* 必要に応じてボタンのように表示 */
  text-decoration: none; /* 下線を削除 */
  color: #fff; /* テキストの色 */
  background-color:#e50014; /* 背景色 */
  padding: 10px 20px; /* パディング */
  border-radius: 5px; /* 角を丸くする */
  font-weight: bold; /* 太字 */
  text-align: center; /* 中央揃え */
  cursor: pointer; /* ポインタの表示 */
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; /* フォントファミリ */
}
@media screen and (min-width: 960px) { #form .submitBtn { margin-top: 40px; } }
@media screen and (max-width: 959px) { #form .submitBtn { margin-top: 15px; } }
#form .submitBtn input[type="submit"], #form .submitBtn button { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; display: inline-block; border: none; color: #fff; cursor: pointer; font-weight: bold; padding: 5px; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
@media screen and (min-width: 960px) { #form .submitBtn input[type="submit"], #form .submitBtn button { width: 200px; height: 50px; font-size: 2.1rem; } }
@media screen and (max-width: 959px) { #form .submitBtn input[type="submit"], #form .submitBtn button { width: 40%; font-size: 1.4rem; } }
#form .submitBtn input[type="submit"] { background: #232323; }
#form .submitBtn button { background: #999; }
@media screen and (min-width: 960px) { #form .submitBtn button { margin-right: 40px; } }
@media screen and (max-width: 959px) { #form .submitBtn button { margin-right: 10%; } }
#form .submitBtn input[type="submit"][disabled] { background-color: #999; cursor: default; }

/* Object ---------------*/
input, select, textarea { padding: 5px; border: solid 1px #ccc; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-appearance: none; -webkit-appearance: none; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
@media screen and (min-width: 960px) { input, select, textarea { font-size: 1.6rem; } }
@media screen and (max-width: 959px) { input, select, textarea { font-size: 1.4rem; } }
input:focus, select:focus, textarea:focus { background: #f9f9f9; }

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button { -moz-appearance: none; -webkit-appearance: none; margin: 0; }

@media screen and (min-width: 960px) { input[type="number"] { -moz-appearance: textfield; -webkit-appearance: textfield; } }

input[type="checkbox"], input[type="radio"] { display: none; }

label { position: relative; display: inline-block; }
label::after { font-family: FontAwesome; position: absolute; content: "\f107"; right: 10px; top: calc(50% - .5em); pointer-events: none; color: #999; z-index: 5; }
label.select { width: 30%; }
@media screen and (max-width: 959px) { label.select { width: 80%; } }
label.productKind { width: 15%; }
@media screen and (max-width: 959px) { label.productKind { width: 27%; } }
label.product { width: 45%; }
label.amount { width: 15%; position: relative; }
label.amount::before { position: absolute; content: "個"; right: -1.5em; top: calc(50% - .75em); }
span.amount { width: 15%; position: relative; }
span.amount::before { position: absolute; content: "個"; right: -1.5em; top: calc(50% - .75em); }

@media screen and (min-width: 960px) { label.time { width: 15%; } }
@media screen and (max-width: 959px) { label.time { width: 30%; } }
label.checkbox { width: 100%; cursor: pointer; }
label.checkbox::after { display: none; }
label.checkbox span.cb::before { font-family: FontAwesome; content: "\f096"; color: #232323; margin-right: 5px; }
label.checkbox input[type="checkbox"]:checked + .cb::before { font-family: FontAwesome; content: "\f046"; color: #232323; }
label.radiobtn { cursor: pointer; }
label.radiobtn::after { display: none; }
label.radiobtn span.radio::before { font-family: FontAwesome; content: "\f10c"; color: #232323; margin-right: 5px; }
label.radiobtn input[type="radio"]:checked + .radio::before { font-family: FontAwesome; content: "\f192"; color: #232323; }

select { width: 100%; line-height: 1em; display: table-cell; vertical-align: middle; }

textarea { width: 100%; }
@media screen and (min-width: 960px) { textarea { height: 200px; } }
@media screen and (max-width: 959px) { textarea { height: 100px; } }

::-webkit-input-placeholder { color: #ddd; }

:-moz-placeholder { color: #ddd; }

legend { display: none; }

/* Datepicker
---------------------------------------------*/
#ui-datepicker-div { z-index: 100; }
@media screen and (min-width: 960px) { #ui-datepicker-div { font-size: 1.6rem; } }
@media screen and (max-width: 959px) { #ui-datepicker-div { font-size: 1.4rem; } }

.datepicker { z-index: 100; position: relative; }
@media screen and (min-width: 960px) { .datepicker { width: 50%; display: inline-block; margin-right: 10px; } }
@media screen and (max-width: 959px) { .datepicker { margin-bottom: 5px; } }
.datepicker::after { font-family: FontAwesome; position: absolute; content: "\f073"; right: 10px; top: calc(50% - .7em); pointer-events: none; color: #999; z-index: 5; }

/* 確認事項
---------------------------------------------*/
.confirmBox { width: 100%; text-align: left; overflow: auto; border: solid 1px #999; background: #f9f9f9; }
@media screen and (min-width: 960px) { .confirmBox { margin-top: 40px; padding: 30px; height: 200px; font-size: 1.6rem; line-height: 1.6em; } }
@media screen and (max-width: 959px) { .confirmBox { margin-top: 15px; padding: 15px; height: 120px; font-size: 1.2rem; line-height: 1.4em; } }
.confirmBox h6 { text-align: left !important; }
.confirmBox ul { margin-left: 1em; }
.confirmBox ul li { margin-left: 1em; text-indent: -1em; margin-bottom: .3em; }
.confirmBox ul li::before { content: "・"; margin-right: .2em; }
.confirmBox ul li:last-child { margin-bottom: 0; }

.agree { text-align: center; }
@media screen and (min-width: 960px) { .agree { margin-top: 40px; } }
@media screen and (max-width: 959px) { .agree { margin-top: 15px; } }

.attentionBox { border: solid 1px #e50014; }
@media screen and (min-width: 960px) { .attentionBox { margin-top: 40px; padding: 30px; font-size: 1.6rem; line-height: 1.6em; } }
@media screen and (max-width: 959px) { .attentionBox { margin-top: 15px; padding: 15px; font-size: 1.2rem; line-height: 1.4em; } }

/* フォーム項目非表示 */
.deliveryArea, .takeawayArea, .bankArea, .differentArea { display: none; }
