@charset "utf-8";

/************RESET***********/

html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
    /*margin: 0;*/
    padding: 0;
    border: 0;
}

html {
   /* font-size: 62.5%;*/
}

body {
    /*font-size: 1.6rem;*/
    line-height: 1.4;
    margin: 0;

}

* {
    font-family:YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    font-size: inherit;
    line-height: inherit;
    box-sizing: border-box;
}

*:before,
*:after {
    box-sizing: inherit;
}

a{
	color: inherit;
}

a,
a:visited {
    text-decoration: none;
}

article,aside,footer,header,nav,section,main {
    display: block;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

ol,ul {
    list-style: none;
}


/*********共通********/

img{
    max-width: 100%;
    height: auto;
    width : auto;
    vertical-align: bottom;
    border-style: none;
}

.smallerFont{
    font-size: 0.9em;
}

.biggerFont{
    font-size: 1.2em;
    font-weight: 600;
}

.txtUnderline{
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid black;
}

.redletter {
    color: #BE0000!important;
}

.navyletter {
    color: navy;
}

.goldLetter{
    color: #C3A94F;
}

.txtCenter{
    text-align: center;
}

.txtRight{
    text-align: right;
}

.hideinSP{
    display: block;
}

.hideinPC{
    display: none;
}

.titlebar {
    height: 30px;
    position: relative;
    box-sizing: border-box;
}

.titlebar::before{
    content: "";
    position: absolute;
    width: 8px;
    left: 0;
    top: 0;
    background-color: #AC061C;
    height: 30px;
}

.toTop{
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 270px;
    margin:0 0 0 600px;
	right: 0;
}

header div.fontResize{
    display: flex;
    margin-top: 5px;
}

header div.fontResize p{
    margin: 0;
	display: inline-block;
    vertical-align: middle;
    font-size: 0.8em;
    margin-right: 5px;
    border-radius: 3px;
    line-height: 2;
}

header div.fontResize a{
    background: #ededed;
    color: #000;
    display: inline-table;
    font-size: 14px;
    vertical-align: bottom;
    text-align: center;
    margin-left: 5px;
    padding: 0 0.3em;
    line-height: 1.4;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
}

.errBox {
    font-size: 1.1em;
    padding: 7px;
    background: #ad0e16;
    color: #fff;
}

/************TOP***********/

#mainWrapper{
    background: url(../images/bg_main.png) 0 0/contain repeat-y;
}


#mainWrapper #content {
    display: flex;
    width: 1200px;
    margin: auto;
    border-left: 1px solid #7F7F7F;
    border-right: 1px solid #7F7F7F;
    border-bottom: 1px solid #7F7F7F;
    box-sizing: border-box;
}

/************HEADER***********/

#toptitle {
    background: url(../images/ttl_top_pc.svg) 2px -1px/contain no-repeat;
    color: rgba(146,146,146,1.00);
    height: 0;
    padding-top: 34.34%;
    margin-bottom: -50px;
    position: relative;
}

#toptitle div.fontResize{
    position: absolute;
    right: 80px;
    top: 10px;
}

#toptitle div.fontResize p{
    color: #fff;
}

#toptitle div.fontResize a{
    background: rgba(237, 237, 237, 0.7686274509803922);
}

.ui-dialog .ui-dialog-buttonpane button{
	min-height: 37px;
}

/**************ハンバーガーメニュ***********/


.humMenu {
    width: 64px;
    max-height: 64px;
    height: 99%;
    background-color: #000;
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    z-index: +3;
	cursor: pointer;
}

.humMenu div {
	position: relative;
}
.humMenu span{
	display: block;
	height: 3px;
	background: #fff;
	position: absolute;
	width: 37px;
	text-align: center;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.humMenu span:nth-child(1){
	top:16px;
}
.humMenu span:nth-child(2){
	top:26px;
}
.humMenu span:nth-child(3){
	top:36px;
}
.humMenu span:nth-child(4){
	top: 40px;
	background: none;
	font-size: 0.8em;
}

#toptitle .open .humMenu span:nth-child(1) {
	top: 23px;
   -webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
	left: 13.5px;
}
#toptitle .open  span:nth-child(2) {
	width: 0;
	left: 50%;
}
#toptitle .open .humMenu span:nth-child(3) {
	top: 23px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
	left: 13.5px;
}

#toptitle .open .humMenu{
	pointer-events: none;
}

.humoverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.85);
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: +2;
}
.humoverlay .container {
	display: table;
	width: 100%;
	height: 100%;
}

.humoverlay .inner {
	display: table-cell;
	padding: 9em 2em;
	vertical-align: middle;
}

.humoverlay .modal::after {
	display: table;
	content: '';
	clear: both;
}

.humoverlay .modal{
    width: 25%;
    padding: 20px;
    box-sizing: border-box;
    z-index: +3;
    margin: 0 auto;
    position: relative;
}

.humoverlay .modal ul li a{
	display: block;
}

.humoverlay .modal > ul > li a{
	padding: 20px 0;
}

.humoverlay .modal > ul > li:nth-child(3){
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}

.humoverlay .modal > ul > li:nth-child(4){
	border-bottom: 1px solid #fff;
}

.humoverlay .modal > ul > li ul{
	margin-bottom: 20px;
}

.humoverlay .modal-btn_box{
    position: absolute;
    top: -56px;
    right: 0;
}
.humoverlay .close_btn{
    display: block;
    width: 50px;
    height: 50px;
    color: #fff;
    font-size: 4em;
    text-decoration: none;
    line-height: 0.8;
}

/************SIDEBAR***********/
.sidebar {
    width: 210px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center;
    background-color: rgba(221, 183, 106, 0.17);
    padding-top: 15px;
    box-sizing: border-box;
}

.sidebar > div > div{
    margin-bottom: 10px;
}

.sidebar a{
    display: block;
}

.sidebar a:hover{
    opacity: 0.9;
}

.sidebar div div.sideSalespoint{
	background: url(../images/side_salespoint_bg.svg) 0 0/cover no-repeat;
    border: 1px solid #b6a684;
    border-radius: 10px;
}

.sidebar div div.sideSalespoint section{
	padding: 10px;
	margin: auto;
}

.sidebar div div.sideSalespoint section > img {
	padding: 5px;
}

.sidebar div div.sideSalespoint section p{
	font-size: 0.65em;
    text-align: left;
    margin: 5px auto;
}

/************MAINCONTENT***********/

.mainContent {
    width: 990px;
    box-sizing: border-box;
    position: relative;
	background: url(../images/bg_main.png) 0 0/contain repeat-y;
	background-size: 170%;
}

.contentInner {
    max-width: 880px;
    width: 100%;
    margin: -66px 0 30px 3%;
    position: relative;
}

.mainContent .productRow {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.mainContent .productRow .productInfo {
	width: 288px;
    height: 245px;
    margin: 10px 8px 10px 0;
    background: url(../images/item_back.svg) 0 0 /cover no-repeat;
}

.mainContent .productRow .productInfo:nth-child(3n) {
	margin-right: 0;
}

.mainContent .productRow .productInfo:nth-child(3n+1) {
	margin-left: 0;
}

.topNav p{
    text-align: left;
    font-size: 0.9em;
    letter-spacing: 1px;
    font-weight: bolder;
    margin: 0.5em 0;
}

.topNav nav{
    display: flex;
    justify-content: space-between;
}

.mainContent .navRow {
    display: flex;
    justify-content: space-between;
}

.mainContent .navRow .navInfo {
	width: 32%;
}
.mainContent .topNav .navInfo a{
    /*height: 42px;*/
    display: block;
}
.mainContent .topNav .navInfo a:hover{
    opacity: 0.9;
}

/********商品ブロック********/


.titlebar.teiban{
    background: #000 url(../images/title_teiban.svg) 18px 50%/103px no-repeat;
}

.titlebar.omotenashi{
   background: #000 url(../images/title_omotenashi.svg) 18px 50%/180px no-repeat;
}

.titlebar.drink{
    background: #000 url(../images/title_drink.svg) 18px 50%/103px no-repeat;
}

.productInfo > div{
    position: relative;
}

.productInfo div img + a {
    position: absolute;
    right: 18px;
    bottom: 8px;
    background: url(../images/btn_detail.svg) 0 0/cover no-repeat;
    height: 42px;
    width: 42px;
}

.productInfo div img + a img{
    display: none;
}

.productInfo div img + a:hover {
	position: absolute;
    right: 18px;
    bottom: 8px;
    height: 42px;
    width: 42px;
    opacity: 0.8;
}

.cartInput {
    display: flex;
    height: 35px;
    justify-content: center;
    margin: 11.5px;
}

.cartCount {
    color: #fff;
    background: #AC061C;
    word-break: keep-all;
    padding: 3px 0;
    text-decoration: none;
    position: relative;
    width: 140px;
    text-align: center;
    height: 35px;
	line-height: 2.3;
	font-size: 0.85em!important;
}

.cartCount:hover{
    opacity: 0.9;
}


.cartRemove {
    width: 35px;
    background: #CA5848 url(../images/icon_dustbox.svg) center/contain no-repeat;
    background-size: 13px;
}

.cartRemove:hover{
    opacity: 0.9;
}

.buyNum {
    width: 90px;
    font-size: 1.2em;
    text-align: right;
    padding-right: 21px;
    font-weight: 600;
    position: relative;
    line-height: 1.6;
    box-sizing: border-box;
	height: 35px;
}

.buyNum:focus{
    outline: 0;
}

.cartCount::before{
    content: "個";
    position: absolute;
    left: -19px;
    bottom: 3px;
    color: #000;
    font-weight: 600;
    line-height: 1;
}

.movetoForm a{
    background: url(../images/btn_order.svg) center/cover no-repeat;
    height: 40px;
    max-width: 400px;
    width: 100%;
    display: block;
    margin: 30px auto 45px;
}

.movetoForm a:hover{
    background: url(../images/btn_order_hover.svg) center/cover no-repeat;
}

.movetoForm a img{
    display: none;
}

.titlebar.omotenashi ~ img.omotenashiText{
    max-width: 676px;
    margin: 30px 0;
}

.titlebar.drink + img{
    max-width: 485px;
    margin-top: 1em;
}

.makunouchi {
    margin-bottom: 45px;
}

.makunouchi p:first-of-type{
    background-color: #AC061C;
    color: #fff;
    border-radius: 6px;
    padding: 5px;
    max-width: 600px;
    width: 100%;
    text-align: center;
    margin: 5px auto 0;
    font-size: 1em;
    font-weight: 600;
    box-sizing: border-box;
}

p.makunouchiTel {
    text-align: center;
    font-weight: 600;
    line-height: 1.2;
    margin: 5px auto;
}

p.makunouchiTel span.bigger{
    font-size: 1.3em;
    font-weight: 800;
}

p.makunouchiTel span.biggest{
    font-size: 2.5em;
    font-weight: 800;
}


/***********PCカート**************/

.cartPC {
    background: url(../images/cartnav_back.svg) center/contain no-repeat;
    position: fixed;
	bottom: 0;
    width: 432px;
    height: 210px;
    z-index: +1;
    right: -382px;
    transition-duration: 1s;
}

.cartPC.active{
    right: 0;
    transition-duration: 1s;
}

.switchBtn {
    width: 50px;
    height: 210px;
    display: inline;
}

.cartPC div.switchBtn a{
    background: url(../images/cartnav_close.svg) center/contain no-repeat;
    position: absolute;
    width: 50px;
    height: 165px;
    top: 22px;
}

.cartPC.active div.switchBtn a{
    background: url(../images/cartnav_open.svg) center/contain no-repeat;
}

.cartPC div.switchBtn + .inner{
    display: flex;
    justify-content: space-between;
    padding: 30px 10px 0 70px;
}

.cartPC div.switchBtn + .inner div.orderInfo{
    width: 75%;
}

.cartPC div.switchBtn + .inner div.orderInfo table{
    width: 247px;
}

.cartPC div.switchBtn + .inner div.orderInfo table tr{
    height: 30px;
    display: flex;
    margin-bottom: 7px;
}

.cartPC div.switchBtn + .inner div.orderInfo table tr th{
    background: #000;
    color: #fff;
    border-radius: 5px;
    width: 85px;
    box-sizing: border-box;
    line-height: 1.9;
}

.cartPC div.switchBtn + .inner div.orderInfo table tr td{
    text-align: right;
    font-weight: 700;
    width: 162px;
    line-height: 1.1;
}

.cartPC div.switchBtn + .inner div.orderInfo table tr td span{
    font-size: 1.7em;
    margin-right: 5px;
}

.cartPC div.switchBtn + .inner div.orderInfo a{
    background: url(../images/cartnav_order.svg) center/contain no-repeat;
    width: 247px;
    height: 41px;
    display: block;
}

.cartPC div.switchBtn + .inner div.orderInfo a:hover{
    background: url(../images/cartnav_order_hover.svg) center/contain no-repeat;
}

.cartPC div.switchBtn + .inner div.orderInfo a img{
    display: none;
}


.cartPC div.switchBtn + .inner div.orderAction{
    width: 25%;
    height: 120px;
}

.cartPC div.switchBtn + .inner div.orderAction a{
    display: block;
}

.cartPC div.switchBtn + .inner div.orderAction a img{
    height: 54px;
}

.cartPC div.switchBtn + .inner + p{
    margin: 10px 0 30px 70px;
    font-size: 0.9em;
    font-weight: 600;
}


/***********商品詳細ポップアップ**************/

.overlay {
    display: none;
    position: fixed;
    top: -10px;
    left: 0;
    right: 0;
    bottom: -10px;
    background-color: rgba(0, 0, 0, 0.72);
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: +3;
}
.overlay .container {
	display: table;
	padding: 10px 0;
	width: 100%;
	height: 100%;
}

.overlay .inner {
	display: table-cell;
	padding: 9em 2em;
	vertical-align: middle;
}

.overlay .modal::after {
	display: table;
	content: '';
	clear: both;
}

.overlay .modal{
    max-width: 880px;
    width: 100%;
    box-sizing: border-box;
    z-index: +3;
    margin: 0 auto;
    padding: 1.9em 2em;
    background-color: #fff;
    position: relative;
}

.overlay .modal-btn_box{
    position: absolute;
    top: -56px;
    right: 0;
}
.overlay .close_btn{
    display: block;
    width: 50px;
    height: 50px;
    color: #fff;
    font-size: 4em;
    text-decoration: none;
    line-height: 0.8;
}

.productDetail{
    max-width: 640px;
    width: 100%;
    margin: auto;
    font-size: 14px;
}

.productDetail table{
    margin: 15px 0 15px 0;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.productDetail table th{
    background: #ECE6C8;
    border: 1px #A48638 solid;
    padding: 1em 0.5em;
    color: #A48638;
    vertical-align: top;
    width: 18%;
    min-width: 4em;
    font-size: 14px;
}

.productDetail table td{
    border: 1px #A48638 solid;
    padding: 1em;
}

.allergyList ul{
    padding-left: 1em;
}

.allergyList ul li{
    margin-right: 5px;
    width: 40px;
    list-style: none;
    float: left;
}

.allergyInfo{
    display: flex;
    flex-wrap: wrap;
}

.allergyInfo img{
    width: 49px;
    margin-right: 5px;
    margin-bottom: 5px;
    height: 20px;
}

.allergyInfo p{
    margin: 0 5px 5px 0;
    white-space: nowrap;
}


/************ footer ************/

footer {
    margin: auto;
    display: flex;
    background-color: #000;
    width: 1200px;
    justify-content: space-between;
    padding: 34px;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    box-sizing: border-box;
	color: rgba(255,255,255,1.00);
    height: 120px;
    align-items: center;
}

footer div.logoBox {
    display: flex;
    justify-content: space-around;
    width: 38%;
    align-items: center;
}

footer div.logoBox a {
    color: #fff;
    display: block;
    text-decoration: none;
    font-size: 1.1em;
    letter-spacing: 1.1px;
    font-weight: 600;
    background: url(../images/icon_arr_wht.svg) left 40%/7px no-repeat;
    padding-left: 15px;
}

footer div.logoBox img{
    height: 53px;
}

footer div.logoBox small{
    font-size: 0.8em;
}

footer div.contactBox{
    color: #E6CB8B;
    align-items: center;
}

footer div.contactBox div{
    display: flex;
}

footer div.contactBox p{
    margin: 0;
}

footer div.flexOuter div{
	display: inline-block;
    text-align: center;
    margin-right: 10px;
}

footer div.flexOuter div p{
    font-size: 1.4em;
	font-family: "Times New Roman", 游明朝, YuMincho, "Hiragino Mincho ProN", HGS明朝E, Meiryo, serif;
}

footer div.flexOuter div p span{
    font-size: 1.4em;
	font-family: "Times New Roman", 游明朝, YuMincho, "Hiragino Mincho ProN", HGS明朝E, Meiryo, serif;
}

footer div.flexOuter div p span a{
	color: inherit;
    font-size: inherit;
    font-family: inherit;
    letter-spacing: inherit;
}

footer div.flexOuter div p:last-child{
    border: 1px solid #E6CB8B;
    font-size: 0.6em;
	font-family: auto;
}


/*************サブページ***************/
#subWrapper {
     width: 1200px;
    margin: auto;
    border-left: 1px solid #7F7F7F;
    border-right: 1px solid #7F7F7F;
    border-bottom: 1px solid #7F7F7F;
    box-sizing: border-box;
}

#subWrapper .titlebar{
    margin-bottom: 30px;
}

.titlebar.orderconfirmttl1{
    background: #000 url(../images/orderconfirmttl1.svg) 18px 50%/94.6px no-repeat;
}

.titlebar.orderconfirmttl2{
   background: #000 url(../images/orderconfirmttl2.svg) 18px 50%/96.7px no-repeat;
}

.titlebar.orderconfirmttl3{
    background: #000 url(../images/orderconfirmttl3.svg) 18px 50%/97.7px no-repeat;
}
.titlebar.orderconfirmttl4{
    background: #000 url(../images/orderconfirmttl4.svg) 18px 50%/116.7px no-repeat;
}

#subWrapper header{
    height: 64px;
    background: #000;
    color: #fff;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 6px 20px;
}

#subWrapper header div.logo a{
    display: inline-block;
    vertical-align: sub;
}

#subWrapper header div.logo a img{
    width: 135px;
    height: 50px;
}

#subWrapper header div.logo p{
    display: inline-block;
    margin: 0;
}

#subWrapper header div.logo p img{
    width: 26px;
    height: 26px;
    margin: 0 10px;
    vertical-align: sub;
}

.subInner {
    width: 750px;
    margin: auto;
    padding: 0 0 110px 0;
}

.subInner h1{
    margin: 60px auto 40px;
    text-align: center;
}

.subInner h1 img{
    height: 27.5px;
    margin: auto;
}

.formButton{
    margin: 65px auto 0;
    width: 600px;
    height: 50px;
}

.formButton.shorter{
    width: 350px;
    height: 45px;
}

.formButton a{
    background-color: #AD0E16;
    color: #fff;
    width: 600px;
    height: 50px;
    text-align: center;
    vertical-align: middle;
    display: table-cell;
    border-radius: 7px;
}

.formButton a:hover{
    opacity: 0.9;
}

.formButton a.longer{
    width: 600px;
    height: 50px;
}

.formBack a{
    display: block;
    margin: 33px auto 0;
    width: 130px;
}

.formBack.totop a{
    width: 350px;
}

.formBack a:hover{
    opacity: 0.9;
}

.formBack a span{
    background: #fff;
    border-radius: 999px;
    color: #979797;
    font-size: 0.9rem;
    display: inline-block;
    height: 16px;
    width: 16px;
    margin-right: 10px;
}

/*********お知らせ**************/

.noticeContent p{
    line-height: 1.6;
}

.noticeTitle h2{
    font-size: 1.6em;
    letter-spacing: 1px;
}

/*********メール確認**************/

.mailVerification{
    width: 300px;
    margin: 46.5px auto 0;
}

.mailVerificationContent{
    line-height: 1.6;
    width: 565px;
    margin: auto;
    font-size: 0.95em;
}

.mailVerificationContent input{
    width: 100%;
    padding: 5px;
    border: 2px solid black;
    text-align: center;
    font-size: 16px;
    background: #F3F3F3;
    letter-spacing: 1px;
}

.mailVerificationContent.complete{
    width: auto;
}

.mailVerificationContent.complete a{
    margin-right: 2em;
}

/*********注文内容確認**************/

.orderSteps {
    margin: 46.5px auto 0;
}

.productList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
}

.productList img{
    height: 95px;
}

.productList div table{
    width: 430px;
    font-size: 0.95em;
    font-weight: 600;
	margin-top: 20px;
}

.productList div table th{
    text-align: center;
    background: #DCDCDC;
    height: 30px;
    border: 1px solid #6C6C6C;
    border-bottom: none;
}

.productList div table td{
    text-align: center;
    height: 30px;
    border: 1px solid #6C6C6C;
    border-top: none;
}

.productList div table td:nth-child(2){
	width: 30%;
}

.productList div table td:nth-child(3){
	width: 40%;
}

.productList div table td.changeQty{
	width: 30%;
}

.productList div table td.changeQty input{
	width: 95%;
    outline: 0;
    padding: 0 10px;
    font-weight: 600;
    text-align: center;
}

.productList div table td.changeQty + td{
	width: 40%;
}

.whiteBtn a{
    display: block;
    border-radius: 4px;
    color: #000000;
    border: 1px solid #000;
    transition-duration: .2s;
    margin: auto;
    text-align: center;
}

.whiteBtn a:hover{
    background-color:#B7B5B6;
    color:#fff;
    border: 1px solid #B7B5B6;
    transition-duration: .2s;
}

.whiteBtn.recalculate a{
    width: 155px;
    height: 35px;
    line-height: 2;
}


.orderTotal {
    width: 430px;
    height: 85px;
    background: #515151;
    color: #fff;
    margin: 25px auto;
}

.orderTotal table{
    width: 256.5px;

    text-align: right;
    font-weight: 600;
    margin: auto;
}

.orderTotal table th,
.orderTotal table td{
    height: 42.5px;
    font-size: 1.2em;
}

.orderTotal table td span{
    margin-right: 10px;
}

.orderAddition {
    display: flex;
    justify-content: space-between;
    width: 430px;
    margin: auto;
}

.whiteBtn.addtion a{
    height: 63px;
    width: 205px;
    vertical-align: middle;
    display: table-cell;
}
/*********お客様情報入力**************/


.inputBox > div{
    display: table;
    justify-content: space-between;
    margin-bottom: 20px;
}

.inputBox > div p{
    margin: 0;
    width: 205px;
    display: table-cell;
    vertical-align:bottom;
    margin-right: 20px;
}

.customerInfo.inputBox > div:last-child p{
    vertical-align: middle;
}

.inputBox > div p.errMsg {
    display: block;
    font-size: 16px;
    margin: 5px 0;
	width: 100%;
}

.inputBox > div div input, .inputBox > div textarea, .inputBox > div select{
    width: 525px;
    border: 1px solid #646464;
    padding: 3px 5px;
    border-radius: 3px;
    display: table-cell;
    vertical-align: middle;
}

.inputBox > div p~textarea{
	max-width: 525px;
	min-height: 150px;
}

.inputBox > div.dateSelect{
    width: 100%;
}

.inputBox > div.dateSelect div{
    max-width: 525px;
    width: 100%;
    position: relative;
}

.inputBox > div.dateSelect div input{
    border: 1px solid #646464;
    padding: 3px 5px;
    border-radius: 3px;
    width: 86%;
}
.inputBox > div.dateSelect input.calendarBtn{
    position: absolute;
    right: 0;
    top: calc(50% - 50px/2);
	 width: 40px;
    height: 40px;
	border: none;
}


/*********配達情報入力**************/

.orderCancel {
    box-sizing: border-box;
    margin: 50px auto;
    width: 750px;
/*    height: 248px; mod 20210907*/
    height: auto;
    border-radius: 3px;
    border: 3px solid #AD0E16;
	border-top: none;
}

.orderCancel  h3{
    background: #AD0E16;
    color: #fff;
    text-align: left;
    padding-left: 20px;
    margin: 0;
    height: 42px;
    line-height: 2.1;
    font-size: 1.2em;
}

.orderCancel table{
    text-align: left;
    line-height: 1.9;
    margin: 10px auto;
    width: 90%;
}

.orderCancel table th,
.orderCancel table td{
    font-weight: 500;
    vertical-align: text-top;
}

/*********注文内容最終確認**************/


.marginAdjust {
    margin: 40px auto -35px;
}

.confirmBox table{
    width: 100%;
    text-align: left;
    border: 1px solid #646464;
    margin-bottom: 20px;
}

.confirmBox table tr{
    border-bottom: 1px solid;
}

.confirmBox table th{
    background: #DCDCDC;
    font-weight: 500;
    padding:5px 15px;
}
.confirmBox table td{
    padding:5px 15px;
    width: 520px;
    word-break: break-word;
    overflow-wrap: break-word;
}

.confirmBox table.multiRow tr:first-child th:first-of-type{
    width: 10px;
    padding: 5px 8px;
    border-right: 1px solid;
}

/*********完了**************/


.completion h2{
    font-size: 1.6em;
    letter-spacing: 1px;
}

/*********ご注文の流れ**************/

.orderFlow #toptitle{
	background: url(../images/header_flow.png) 0 0/contain no-repeat;
    padding-top: 6.5%;
	margin-bottom: 0;
}

.orderFlow .contentInner{
    margin: 30px 0 30px 7%;
    max-width: 790px;
}

.titlebar.flow{
   background: #000 url(../images/title_flow.svg) 18px 50%/145.7px no-repeat;
}

.titlebar.area{
    background: #000 url(../images/title_area.svg) 18px 50%/123.7px no-repeat;
}

.orderFlow .mainContent .navRow{
	margin: 20px 13%;
}

.orderFlow .mainContent .navRow a img:hover{
	opacity: 0.9;
}

.salesPoint{
	background: url(../images/salespoint_bak_pc.png) center/cover no-repeat;
    border-radius: 20px;
    padding: 1% 8% 2%;
    margin-bottom: 45px;
}

.salesPoint img:nth-of-type(1){
    height: 35px;
    margin: 20px 0;
}

.salesPoint img:nth-of-type(2){
	height: 70px;
	margin: 15px auto;
}

.salesPoint img{
	height: 23px;
}

.salesPoint p {
    margin: 0.8em 0;
}

.orderFlow .steps img:first-of-type{
	height: 50px;
	margin: 25px 0 10px 0;
}

.orderFlow .steps img:nth-of-type(2){
	margin: 25px 0 10px 0;
}

.orderFlow .steps img:nth-of-type(3){
	height: 26.6px;
	margin: 0;
}

.orderFlow .steps p{
	line-height: 1.6;
}

.formButton.btnFlow {
    width: 300px;
	height: 40px;
	margin: 10px auto;
}

.formButton.btnFlow a{
	height: 40px;
}

.cancelInfo {
    width: 626px;
    border: 2px solid #b21d23;
    border-radius: 7px;
    margin: 25px 0;
    padding: 2% 2% 0;
    text-align: center;
}

.cancelInfo h2 {
    font-size: 1.7em;
	margin: 0;
}

.cancelInfo h2 + p{
	margin: 5px auto;
}

.cancelInfo div.box{
	display: flex;
	justify-content: space-between;
}

.cancelInfo div.box div{
	background-color: #fff;
    border: 2px solid #000;
    width: 49%;
    border-radius: 4px;
    border-top: none;
}

.cancelInfo div.box div p{
    margin: 0.3em 0.5em;
    text-align: left;
    line-height: 1.4;
}

.cancelInfo div.box div:nth-child(2) p{
	line-height: 2.51;
	text-align: center;
}

.cancelInfo div.box h3{
	background-color: #000;
	color: #fff;
	margin: 0;
}

.cancelInfo div.box + p{
	margin: 10px auto -10px;
}

.cancelInfo .cancelTel{
	text-align: center;
    font-weight: 600;
    line-height: 1.2;
    margin: 5px auto;
}

.cancelInfo .cancelTel span.bigger {
    font-size: 1.7em;
	font-weight: 700;
}

.cancelInfo .cancelTel span.biggest {
    font-size: 2.5em;
	font-weight: 800;
}

span.pinkArea {
    display: inline-block;
    width: 50px;
    background: #f7cbde;
    content: "";
    height: 19px;
    vertical-align: sub;
	margin: 0 5px;
}

.flowLogo img{
	width: 222px;
}

.jumptoOrder div a{
	position: fixed;
    z-index: +1;
    right: 0;
    bottom: 0;
}

.jumptoOrder div img{
    width: 60px;
}

.jumptoOrder div a:hover{
	opacity: 0.9;
	z-index: +3;
}

/*********商品の取引について**************/

.regulation_table h2{
	font-size: 1.3em;
}

.regulation_table div table th{
    border: 1px solid #999999;
    width: 150px;
    text-align: left;
    padding-left: 15px;
    vertical-align: middle;
    background: rgba(244, 221, 179, 0.53);
}

.regulation_table div table td{
	border: 1px solid #999999;
    padding: 3px 10px;
    vertical-align: middle;
}

/*********スマホTOP**************/


.spTop{
    position: relative;
    max-width: 1500px;
    width: 100%;
    margin: auto;
}

.spTop div{
	position: absolute;
	display: inline-block;
	z-index: +1;
	left: 0;
	right: 0;
	bottom: 8%;
	text-align: center;
}

.spTop div a {
	display: inline-block;
	width: 42%;
	margin: 1%;
}

/*********スマホ対応**************/


@media screen and (max-width: 1024px) and (min-width: 768px) and (orientation: portrait){
	#mainWrapper #content{
		background: url(../images/bg_main.png) 0 0/contain repeat-y;
	}

	#subWrapper {
		min-height: 1500px;
	}

	.humoverlay .modal{
		width: 50%;
	}
}

@media screen and (max-width:767px) {

    .spBr{
        display: block;
    }

    input[type="button"],input[type="text"],input[type="submit"] {
       -webkit-appearance: none;
       border-radius: 0;
    }

    .hideinSP{
        display: none;
    }

    .hideinPC{
        display: block;
    }

    .toTop{
        bottom: 100px;
        margin: auto;
        left: 85%;
    }

	.humMenu{
		background: none;
	}

     /*************TOPページ***************/

	.humoverlay .modal {
    	width: 100%;
		padding: 0;
	}

	.humoverlay .inner{
		padding: 4em 2em;
		vertical-align: top;
	}

    .cartSP {
        background: url(../images/cartnav_back_sp.svg) 0 0/cover no-repeat;
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: +1;
        right: 0;
        left: 0;
        height: 105px;
    }

    .cartSP .inner{
		display: flex;
		position: absolute;
		bottom: 0;
		max-width: 380px;
		width: 90%;
		top: 54%;
		left: 50%;
		transform: translate(-50%, -50%);
    }

    .cartSP .inner div.orderInfo table{
        font-size: 0.9em;
    }

    .cartSP .inner div.orderInfo table tr{
        display: flex;
        margin-bottom: 7px;
    }

    .cartSP .inner div.orderInfo table tr th{
        background: #fff;
        color: #000;
        border-radius: 5px;
        width: 70px;
        box-sizing: border-box;
        font-size: 1.03em;
        line-height: 1.7;
    }

    .cartSP .inner div.orderInfo table tr td{
        text-align: right;
        font-weight: 700;
        width: 120px;
        line-height: 1.1;
        color: #fff;
    }

    .cartSP .inner div.orderInfo table tr td span{
        font-size: 1.5em;
        margin-right: 5px;
    }

    .cartSP .inner div.orderAction{
        display: flex;
    }

    .cartSP .inner div.orderAction a{
        display: block;
        margin: 0 0 0 11px;
    }

    .cartSP .inner div.orderAction a img{
        height: 57px;
    }

    .cartSP .inner div.orderAction a.orderBtnSP img{
        height: 60px;
    }

    #toptitle{
        background: #000 url(../images/ttl_top_sp.svg) 0 0/contain no-repeat;
        padding-top: 17.5%;
        margin-bottom: 10px;
    }

    #toptitle div.fontResize{
        display: none;
    }

	.mainContent .navRow{
		max-width: 380px;
    	margin: auto;
	}

	.mainContent .topNav .navInfo{
		max-width: 105px;
    	width: 100%;
	}

    .mainContent .topNav .navInfo a{
		height: 61px;
		display: block;
		max-width: 105px;
		width: 100%;
    }

    .mainContent .topNav .navInfo:nth-child(1) a{
        background: url(../images/btn_teiban_sp.svg) 0 0/contain no-repeat;
    }

    .mainContent .topNav .navInfo:nth-child(2) a{
        background: url(../images/btn_omotenashi_sp.svg) 0 0/contain no-repeat;
    }

    .mainContent .topNav .navInfo:nth-child(3) a{
        background: url(../images/btn_drink_sp.svg) 0 0/contain no-repeat;
    }

    #mainWrapper #content .sidebar {
        display: none;
    }

   #mainWrapper #content {
        position: relative;
        max-width: 1200px;
        width: 100%;
        overflow: hidden;
    }

    .contentInner{
        width: 90%;
        margin: auto;
    }

    #mainWrapper #content .mainContent {
        overflow: hidden;
        width: 100%;
    }

    .mainContent .productRow{
        display: block;
    }

    .mainContent .productRow .productInfo{
		max-width: 380px;
		height: auto;
		margin: 25px auto!important;
		background: url(../images/item_back_sp.svg) 0 0 /cover no-repeat;
		padding-bottom: 3%;
		width: 100%;
		box-sizing: content-box;
    }

    .productInfo > div{
        width: 95%;
        margin: auto;
    }

    .mainContent .productRow .productInfo .buyNum {
        font-size: 16px;
        line-height: normal;
        height: 35px;
    }

    .mainContent .productRow .productInfo .cartCount{
        width: 165px;
        font-size: 0.9em!important;
        line-height: 2.2;
    }


    .mainContent .productRow .productInfo img{
        width: 80%;
    }

    .mainContent .productRow .productInfo div img + a {
        position: absolute;
        right: 3%;
        background: url(../images/btn_detail.svg) 0 0/cover no-repeat;
        height: 50px;
        width: 50px;
        top: 30%;
    }

    .makunouchi{
		max-width: 380px;
		margin: 0 auto 45px;
    }

    p.makunouchiTel span.bigger{
        font-size: 1.3em;
    }

    p.makunouchiTel span.biggest{
        font-size: 1.85em;
    }

    footer{
        width: 100%;
        flex-wrap: wrap;
        flex-direction: row;
        height: auto;
        padding: 5%;
        padding-bottom: 130px;
    }

    footer > div {
        width: 100%;
        font-size: 15px;
    }

    footer div.contactBox{
        order: 1;
    }

    footer div.contactBox div{
        display: block;
    }

    footer div.flexOuter div {
        display: flex;
        margin-right: 0;
        align-items: baseline;
    }

    footer div.flexOuter div p {
        margin-right: 10px;
        display: flex;
        align-items: baseline;
    }

    footer div.flexOuter div p span{
        font-size: 1.2em;
    }

    footer div.flexOuter div p:last-child {
        border: none;
        text-align: left;
    }

    footer div.logoBox{
        order: 2;
        width: 100%;
        justify-content: space-between;
        margin-top: 20px;
    }

    footer div.logoBox img {
        height: 40px;
    }

    footer div.logoBox > div{
        font-size: 0.8em;
    }

    .overlay .inner{
        padding: 9em 1em;
    }

	.allergyInfo{
		display: block;
	}

    /*************サブページ***************/

    #subWrapper header div.fontResize{
        display: none;
    }

    #subWrapper header div.logo a img{
		width: 100px;
    }

    #subWrapper header div.logo p img{
        width: 21px;
        height: 21px;
    }

    #subWrapper header div.logo p{
        font-size: 0.9em;
    }

    #subWrapper{
        max-width: 1200px;
        width: 100%;
        border: none;
    }

    .subInner{
        max-width: 750px;
        width: 85%;
    }

    .formButton{
        width: 100%;
        margin: 30px auto 0;
    }

    .formButton.shorter{
        max-width: 350px;
        width: 100%;
    }

    .formBack.totop a{
        width: 100%;
    }

    .subInner h1{
        margin: 40px auto 30px;
    }

    .smallerinSP{
        font-size: 0.9em;
    }

    .noticeTitle h2{
        font-size: 1.2em;
    }

    .mailVerification{
        margin-top: 30px;
    }

    .mailVerificationContent{
        max-width: 565px;
        width: 100%;
    }

    .mailVerificationContent.complete a{
        display: block;
    }

    .orderSteps{
        margin-top: 30px;
    }

    .productList{
        display: block;
		text-align: center;
    }

    .productList div table{
        max-width: 430px;
        width: 100%;
		margin: 20px auto 0;
    }

	.productList div table td.changeQty{
		font-size: 16px;
	}

    .orderTotal{
        width: 100%;
        height: auto;
        font-size: 0.9em;
    }

    .orderTotal table th, .orderTotal table td{
        height: 38px;
    }

    .orderAddition{
        width: 100%;
		justify-content: space-around;
    }

    .whiteBtn.addtion a{
        height: 50px;
        padding: 0 5px;
        box-sizing: border-box;
        width: 155px;
        font-size: 0.85em;
    }

    .inputBox > div{
        display: block;
    }

     .inputBox > div.flexSP{
        display: flex;
    }

    .inputBox > div p{
        margin: 10px 0;
        width: 35%;
    }

	.inputBox > div.flexSP > p {
		margin: 10px 0;
		width: 30%;
	}


	.inputBox > div.flexSP div {
	    display: table-cell;
		width: 70%;
	}

	.inputBox > div p.errMsg{
		margin-left: 5%;
		width: 100%;
	}

    .inputBox > div div input, .inputBox > div textarea, .inputBox > div select{
        width: 95%;
        margin-left: 5%;
		font-size: 16px;
    }

    .inputBox > div.dateSelect div input{
        width: 80%;
		margin-left: 5%;
    }

    .orderCancel{
        width: 100%;
        height: auto;
    }

    .orderCancel h3{
        text-align: center;
        padding-left: 0;
        font-size: 1.1em;
        line-height: 2.7;
    }

    .orderCancel table{
        font-size: 0.9em;
        line-height: 1.5;
    }

    .orderCancel table th, .orderCancel table td{
        display: block;
    }

    .orderCancel table td{
        margin-bottom: 10px;
    }

    .confirmBox table{
        font-size: 0.8em;
    }

    .confirmBox table td{
        width: 54%;
    }

    .marginAdjust {
        margin: 20px auto -15px;
        font-size: 0.9em;
    }

    .completion h2{
        font-size: 1.25em;
    }

	/*注文の流れ*/
	.orderFlow .contentInner{
		margin: 30px auto;
	}

	.orderFlow #toptitle{
		background: #000 url(../images/ttl_top_sp.svg) 0 0/contain no-repeat;
		padding-top: 17.5%;
	}

	.orderFlow .mainContent .navRow {
		margin: 20px auto;
	}

	.orderFlow .mainContent .navRow a img{
		 height: 59px;
	}

	.salesPoint {
		background: url(../images/salespoint_bak_sp.png) center/cover no-repeat;
	}

	.orderFlow .steps img:nth-of-type(3) {
		margin: 25px 0 0 0;
	}

	.cancelInfo{
		width: 100%;
	}

	.cancelInfo h2{
		font-size: 1.5em;
	}

	.cancelInfo div.box{
		display: block;
	}

	.cancelInfo div.box div{
		width: 100%;
		margin: 10px auto;
	}

	.cancelInfo .cancelTel span.bigger {
		font-size: 1.2em;
	}

	.cancelInfo .cancelTel span.biggest {
		font-size: 2em;
	}

	.cancelInfo div.box div:nth-child(2) p {
		line-height: 2;
	}

	.flowLogo img{
		width: 150px;
		margin: 30px 0 0;
	}

	.flowLogo p{
		font-size: 0.8em;
	}

	.jumptoOrder{
		position: fixed;
		bottom: 0;
		width: 100%;
		z-index: +1;
		padding: 1em;
		background: rgba(0, 0, 0, 0.83);
		text-align: center;
	}

	.jumptoOrder div a{
		position: inherit;
		display: block;
		margin: auto;
		width: 300px;
	}

	.jumptoOrder div img{
		width: 300px;
	}

}
