@charset "utf-8";

/* -------------------------------------------------------------- */
	@media screen and (min-width: 768px) and (max-width: 1112px) {
/* -------------------------------------------------------------- */

/*
=======================================================
 Common
=======================================================
*/

body, html {
	min-width: 100%;
}

body.noScroll {
	overflow: hidden;
}

img {
	max-width: 100%;
}

/*
=======================================================
 EC Default
=======================================================
*/


/*
=======================================================
 Front-page
=======================================================
*/

.searchBlock__keyword input {
	width: 76.3%;
}

button.searchBlock__keywordBtn {
	width: 23.7%;
}

button.searchBlock__keywordBtn.qa {
	width: 32%;
}

.front_page .catalog,
.catalog {
	padding-left: 20px;
	padding-right: 20px;
}

.carousel {
	max-width: 100%;
}

/*
=======================================================
 Page - Common
=======================================================
*/


/*
=======================================================
 Product List
=======================================================
*/

.select_navSort {
	white-space: nowrap;
}

.ec-shelfGrid .ec-shelfGrid__item {
	margin-top: 60px;
	position: relative;
}

/*
=======================================================
 Product Search
=======================================================
*/

.catalog_search ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

.catalog_search li {
	width: calc((100% - 90px) / 4 );
	margin: 60px 30px 0 0;
}


/*
=======================================================
 Footer
=======================================================
*/
.ec-footerNavi .ec-footerNavi__link a {
	margin: 0 0 0 1.5em;
}



/* 簡単予約注文 */
@media screen and (max-width: 1044px) {
  .calc-label {
    display: none;
  }

  .forEasy.ec-shelfRole .order_container .ec-orderRole__detail .orderSheet .sakugata_item .forName {
    width: 100%;
    font-size: 16px;
    margin-bottom: 0.75em;
  }

  .forEasy.ec-shelfRole .order_container.forConfirm .ec-orderRole__detail .orderSheet .sakugata_item .forName {
    margin-bottom: 0;
  }

  .forEasy.ec-shelfRole .order_container .ec-orderRole__detail .orderSheet .sakugata_item .forArea {
    width: auto;
  }

  .forEasy.ec-shelfRole .order_container,
  forConfirm .ec-orderRole__detail .orderSheet .sakugata_item .forArea {
    font-size: 21px;
  }

  .forEasy.ec-shelfRole .order_container .ec-orderRole__detail .orderSheet .sakugata_item .forArea_num {
    width: 78px;
    height: 42px;
    line-height: 42px;
    margin-right: 10px;
  }
  .forEasy.ec-shelfRole .order_container .ec-orderRole__detail .orderSheet .sakugata_item .forCalc_num {
    width: 200px;
    height: 42px;
    line-height: 42px;
    margin-right: 10px;
  }
}

/*------------------------------------------------------------------*/
	@media screen and (max-width: 1024px) {
/*------------------------------------------------------------------*/

/*
=======================================================
 Header
=======================================================
*/

.headerBanner {
	margin-right: 0;
	padding: 0 20px;
	display: flex;
	align-items: flex-end;
}

.headerBanner a,
.headerBanner picture {
	display: block;
	line-height: 0;
}

#global li {
	width: 80px;
}

/*
=======================================================
 Minimized Header
=======================================================
*/

.miniHeader #global li {
	margin-left: 15px;
	}
	.miniHeader #global li:first-child {
		margin-left: 0;
	}

/*
=======================================================
 Front-page
=======================================================
*/

.box_preorder {
	min-width: 0;
}

.box_regorder {
	width: 60%;
}

.box_regorder .searchBlock form {
	padding: 0 28px;
}

.box_content_bottom {
	padding: 20px 28px;
}

.box_regorder button.btn_top_shortcut {
	min-width: 0;
	padding: 21px;
}


/*
=======================================================
 Product List
=======================================================
*/

.select_navSort span {
	margin: 0 8px 0 20px;
}

.select_navSort select {
	padding: 13px 30px 13px 16px;
}

.form_btn_favorite {
	width: 100%;
	margin-top: 18px;
	position: absolute;
	left: 0;
}

.item_detail_bottom {
	margin-top: 0;
	width: 100%;
}

/*
=======================================================
 Product Detail
=======================================================
*/

.item_detail_container .form_btn_favorite {
	position: static;
}

/*
=======================================================
 Modal
=======================================================
*/

.ec-modal .ec-role {
	display: flex;
	justify-content: space-between;
}

.ec-modal .ec-role span,
.ec-modal .ec-role a {
	width: auto;
	width: 48%;
}

/*
=======================================================
 Product Search
=======================================================
*/

#page_product_search .tab_content:not(.tab_content_01) {
	padding-top: 95px;
}

.catalog_search {
	padding-bottom: 110px;
}

/*
=======================================================
 Cart
=======================================================
*/

.ec-cartRole__cart {
	width: 68%;
}

.ec-orderRole__summary {
	width: 28%;
}

.ec-cartRow__amount .box_input::before,
.ec-cartRow__amount .box_input::after {
	content: none;
}


/*
=======================================================
 Entry / Registration
=======================================================
*/

.formTable th {
	white-space: nowrap;
}

.formTable td {
	padding-right: 60px;
}

.short {
	max-width: 230px;
}


/*------------------------------------------------------------------*/
}
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
	@media screen and (max-width: 834px) {
/*------------------------------------------------------------------*/

/*
=======================================================
 Common
=======================================================
*/

body {
	text-align: left;
}

img {
	max-width: 100%;
}

.extb {
	display: none;
	/* タブレット（小）以下非表示 */
}

.box_input::before, .box_input::after {
	content: none;
}

/*
=======================================================
 Header
=======================================================
*/

.header_container {
	padding: 10px 20px 10px 10px;
	height: auto;
}

.headerBanner {
	padding: 0 15px;
	align-items: center;
}

#global li {
	width: auto;
	}
	#global li.navItem_cart {
		width: 49px;
	}

#global li a {
	font-size: 12px;
	white-space: nowrap;
	padding: 0 5px;
	}
	#global li a::before {
		background-size: auto 30px !important;
		height: 50px;
	}
	#global li.navItem_cart a::before {
		background-size: auto 31px !important;
	}


.cart_badge {
	right: -5px;
	top: -1px;
}

/*
=======================================================
 Minimized Header
=======================================================
*/

.ec-layoutRole__header.miniHeader {
	border-top-width: 4px;
}

.miniHeader .header_container {
	height: 56px;
	padding: 0 10px;
}

.miniHeader #logo {
	margin-left: 0;
}
.preregister_page #logo{
	margin: 0 auto;
}

.miniHeader #logo img {
	height: 43px;
}

.miniHeader .headerBanner {
	padding: 0;
	margin-right: 18px;
}

.miniHeader .headerBanner a {
	width: 101px;
	background: url(../img/common/tb/banner_mini_signup.svg) center center no-repeat;
}

.miniHeader #global li {
	width: auto;
	margin-left: 0;
	}
	.miniHeader #global.loggedin li {
		margin-left: 10px;
		letter-spacing: 0;
	}

.miniHeader #global li {
	margin-left: 16px;
}

.miniHeader #global li a {
	font-size: 12px;
	padding: 0;
	}
	.miniHeader #global li a::before {
		display: inline-block;
		width: 23px;
		background-size: auto 18px !important;
	}
	.miniHeader #global li:nth-child(3) a::before {
		width: 21px;
	}
	.miniHeader #global li.navItem_cart a::before {
		width: 30px;
	}

	.miniHeader #global.loggedin li a {
		padding: 0;
		font-size: 12px;
		}
		.miniHeader #global.loggedin li a::before {
			width: 23px !important;
		}

	.miniHeader .cart_badge,
	.miniHeader #global.loggedin .cart_badge {
		left: 13px;
		top: 10px;
		width: 13px;
		height: 13px;
		font-size: 8px;
		line-height: 13px;
	}

/*
=======================================================
 Front-page
=======================================================
*/

.order_shortcut{
	padding: 0px 10px;
}

.order_shortcut>div {
	border-width: 6px !important;
}

.box_heading {
	padding: 17px 0;
	margin: -1px;
}

.box_heading span {
	font-size: 28px;
	background-size: contain !important;
}

.box_preorder {
	width: 40%;
	margin-right: 5px;
}

.box_preorder .box_content {
	padding: 30px 25px;
}

.box_preorder button.btn_top_shortcut {
	min-width: 100%;

}

.box_regorder {
	width: 60%;
}

.box_regorder .searchBlock form {
	padding: 0 15px;
}

.searchBlock__category {
	margin-right: 10px;
}

.searchBlock select {
	padding: 15px 25px 15px 9px;
	background-size: auto 90%;
	font-size: 13px;
	width: 140px;
}
.search_container .searchBlock select{
	width: 200px;
}

button.searchBlock__keywordBtn {
	padding: 0 12px 0 15px;
	font-size: 16px;
}

.box_content_bottom {
	padding: 20px 25px;
}

.box_content_bottom p {
	width: 38%;
	font-size: 12px !important;
}

@media screen and (max-width: 779px) {
	.box_content_bottom {
		padding: 20px 16px;
	}
}

button.btn_top_shortcut {
	font-size: 15px;
	padding: 20px 18px !important;
}

.ec-newsRole {
	padding-left: 0;
	padding-right: 0;
}

.ec-newsRole .ec-newsRole__newsItem {
	padding-left: 20px;
}

.ec-newsRole .ec-newsRole__newsDate {
	min-width: 0;
	width: 18%;
}

.ec-newsRole .ec-newsRole__newsColumn {
	width: 82%;
	min-width: 0;
}

.ec-newsRole__newsItem .ec-newsRole__newsDescription {
	padding-left: 18%;
}


.productList_heading p {
	margin: 25px 0 40px 0;
}

.productList h2+p {
	position: relative;
	z-index: 2;
}

.front_page .productList h2 span {
	font-size: 38px;
	padding-left: 55px;
	background-size: contain;
}

.productList_heading {
	padding: 70px 0 77px 0;
}

.productList_heading::before,
.productList_heading::after {
	background-size: contain !important;
}

.tab li {
	width: 25%;
	padding: 10px 2px;
}

.tab li span {
	font-size: 18px;
}

.front_page .productList_content {
	margin-top: -77px;
}

.front_page .catalog {
	padding-bottom: 60px;
}

.slick-slider li {
	padding: 0 8px;
}

.slick-arrow {
	width: 36px;
	height: 36px;
}

.slick-prev::after {
	top: 11px;
	left: 12px;
}

.slick-next::after {
	top: 11px;
	right: 12px;
}

.item_name {
	padding-top: 20px;
}

.btn_more {
	margin-top: 40px;
}

.bottom_content {
	margin-bottom: 110px;
}

.aboutWOS {
	padding: 25px 30px;
	align-items: center;
}

.aboutWOS h4 {
	margin-right: 5%;
	text-align: left;
}

.aboutWOS h4 span {
	margin-bottom: 1em;
}

.aboutWOS p {
	width: 75%;
}

/*
=======================================================
 Product List
=======================================================
*/

input[type=number]{
	padding-right: 15px;
}

.ec-searchnavRole .ec-searchnavRole__infos {
	flex-wrap: wrap;
	justify-content: center;
}

.ec-searchnavRole .ec-searchnavRole__counter {
	width: 100%;
	font-size: 14px;
	text-align: center;
	margin-bottom: 15px;
}

.ec-searchnavRole .ec-pagerRole {
	width: 100%;
	order: 1;
}

.ec-searchnavRole .ec-searchnavRole__actions {
	width: 100%;
	margin-bottom: 30px;
}

.select_navSort {
	justify-content: center;
}

.select_navSort select {
	font-size: 14px;
	padding: 11px 25px 11px 8px;
}

.ec-shelfRole {
	padding-bottom: 80px;
}

.ec-shelfGrid .ec-shelfGrid__item {
	width: 47.5%;
}

.item_detail_left {
	width: 42%;
	/* ▼ add_210510 */
	/*margin-right: 15px;*/
	/* ▲ add_210510 */
}

/* ▼ add_210510 */
.item_detail_right {
	width: 53%;
}
/* ▲ add_210510 */

.btn_addFavorite {
	padding: 0 5px;
	width: 42%;
}

.btn_addFavorite>span {
	font-size: 11px;
}

/*
=======================================================
 Product Detail
=======================================================
*/

.ec-productRole {
	margin-top: 60px;
}

.item_detail_container {
	margin-bottom: 60px;
}

.ec-productRole .ec-productRole__price {
	margin-top: 40px;
	margin-bottom: 20px;
}

.ec-productRole .ec-productRole__description {
	margin: 30px 0;
}

.item_detail_container .btn_addFavorite {
	width: auto;
}

.relatedItems {
	padding: 60px 0;
	margin-bottom: 50px;
}

/*
=======================================================
 Product Search
=======================================================
*/

.catalog_search li {
	width: calc((100% - 60px) / 4 );
	margin: 40px 20px 0 0;
}

/*
=======================================================
 Cart
=======================================================
*/

.ec-cartRole__cart,
.ec-orderRole__detail {
	width: 67%;
}

.ec-cartTable {
	margin-bottom: 70px;
}

.ec-cartRow__summary {
	padding: 30px 20px;
	width: 38.3%;
}

.ec-cartRow__amountColumn {
	width: 25%;
	white-space: nowrap;
}
.ec-cartRow__priceColumn {
	width: 16%;
}


.ec-cartRow__amount .box_input {
	width: 76%;
}
.ec-cartRow__amount input[type=number] {
	padding: 7px;
}

.ec-orderRole__summary {
	width: 30%;
}

.ec-totalBox {
	padding: 20px 10px;
}

.forConfirm .btn_ctrl {
	padding: 14px 0 0;
}

.ec-totalBox .ec-totalBox__spec dt{
	font-size: 12px;
}
.ec-totalBox .ec-totalBox__paymentTotal dt {
	/* white-space: nowrap; */
}

.box_cart_message {
	width: 72.72%;
	padding: 30px;
}

.box_cart_message .btn_common {
	width: 50%;
	margin-top: 0;
}

.btn_cart_back {
	padding: 0 13px;
}


/*
=======================================================
 Preorder Sheet
=======================================================
*/

.preorder_search dd {
	padding: 60px 40px;
}

.searchBlock__label {
	width: 24%;
}

.preorder_search .searchBlock .inner+p {
	margin-left: 24%;
}

.options_label {
	width: 16%;
}

.preorder_item {
	padding: 25px;
}

.preorder_item_btn {
	margin-left: -25px;
	margin-right: -25px;
}

.preorder_item_btn a {
	font-size: 12px;
}

.preorder_item_btn .forEasy .easyOrder-tooltip {
	margin-left: 0;
}

.preorder_item_btn .forEasy .easyOrder-tooltip .forTxt {
	right: -20px;
}

.preorder_item_btn .forEasy .easyOrder-tooltip .forTxt__inner:before, .preorder_item_btn .forEasy .easyOrder-tooltip .forTxt__inner:after {
	right: 22px;
}

.dueDate {
	margin-left: 0;
}

.preorderList thead th {
	white-space: nowrap;
}

.preorderList thead th:first-child {
	min-width: 150px;
}
.preorderList thead th:nth-child(2) {
	min-width: 74px;
}
.preorderList thead th:nth-child(3),
.preorderList thead th:nth-child(4) {
	min-width: 216px;
}

.order_sheet_container .ec-modal .ec-modal-close {
	top: 25px;
	right: 25px;
}

.order_sheet_container .modal_content {
	padding: 70px 40px 50px 40px;
}

.preorder_order_container .form_select {
	width: 50%;
	margin-right: 20px;
	}
	.preorder_order_container .form_select:last-child {
		margin-right: 0;
	}

.preorder_order_container .form_select>span {
	white-space: nowrap;
	margin-right: 10px;
}


/*
=======================================================
 Entry / Registration
=======================================================
*/

.form_container {
	padding: 35px 40px;
}

.formTable th {
	font-size: 16px;
}

.formTable td {
	padding-right: 0;
}

.formTable .ec-input {
	padding-left: 40px;
	}
	.formTable td.para .ec-input {
		width: 49%;
	}
.formTable .reset-password-content{
	margin: 0 auto 0 40px;
}
.formTable .reset-password-content .reset-password{
    padding: 15px 25px;
    width: 50%;
}

.formTable span.label {
	font-size: 15px;
	width: 40px;
}

.formTable .ec-input.name_input input {
	width: calc(100% - 41px);
}

.formTable td.para .form_select {
	margin-left: 5px;
}

.formTable .form_select.pref {
	padding-left: 40px;
}

.ec-birth select {
	width: 19%;
	}
	.ec-birth select:first-of-type {
		width: 22%;
	}

.ec-registerRole__actions button[type=submit],
.ec-registerRole__actions button.btn_form_cancel,
.ec-registerRole__actions a.btn_form_cancel {
	width: 50%;
}

/*
=======================================================
 Contact
=======================================================
*/

.contact_complete .form_container {
	padding: 40px 80px;
}


.ec-reportHeading h2 {
	line-height: 1.4;
}

/*
=======================================================
 My Page
=======================================================
*/

.ec-navlistRole .ec-navlistRole__item {
	width: 25%;
    height: auto;
    padding: 10px 0;
}

.ec-navlistRole .ec-navlistRole__item span {
	font-size: 18px;
	line-height: 1.8;
	padding-top: 5px;
}

.historyHeader {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.historyHeader div {
	white-space: nowrap;
	margin-right: 30px;
	font-size: 17px;
}

.historyHeader .ec-definitions dt,
.historyHeader .ec-definitions dd {
	font-size: 15px;
}

.orderType_container {
	padding: 60px 70px;
}

.ec-historyRole .ec-historyRole__header {
	width: 27%;
}

.ec-historyListHeader .ec-historyListHeader__date span {
	max-width: 100%;
	line-height: 1.5;
	font-size: 15px;
}

.ec-historyListHeader .ec-definitions dt,
.ec-historyListHeader .ec-definitions dd {
	font-size: 13px;
}

.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle {
	font-size: 14px;
}

.ec-historyRole .order_container {
	padding: 70px 40px;
}

.ec-historyRole .ec-orderRole__detail {
	width: 65%;
}

.ec-historyRole .ec-orderRole__summary {
	width: 32%;
}

.ec-historyRole .ec-orderPayment,
.ec-historyRole .ec-orderPaymentDate {
	width: 45%;
}

.order_container h2 span {
	font-size: 25px;
}

.ec-orderRole__detail>div p {
	font-size: 20px;
}

.favorite_container {
	padding: 70px 40px;
}

.ec-editCompleteRole .form_container {
	padding: 70px 0;
}

.pre-order th,
.pre-order td {
	width: auto !important;
	padding-right: 15px;
	}
	.pre-order td:first-child {
		white-space: nowrap;
	}
	.pre-order td:nth-child(2) {

	}


/*------------------------------------------------------------------*/
	}
/*------------------------------------------------------------------*/

/* 210414
=======================================================
 Order - Confirm
=======================================================
*/
@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {

		.forConfirm.ec-shelfRole .ec-shelfRole__contents {
			padding: 0;
		}

		.forConfirm.ec-shelfRole .order_container {
			padding: 70px 20px 70px 40px;
		}

		.forConfirm.ec-shelfRole .ec-orderRole__detail {
			width: 65%;
		}

		.forConfirm.ec-shelfRole .ec-orderRole__summary {
			width: 32%;
		}

		.forConfirm .order_container h2 span {
			font-size: 25px;
		}

		.forConfirm .ec-orderPaymentWrap {
			display: block;
		}

		.forConfirm .ec-orderPaymentWrap > div {
			width: 100%;
		}

		.forConfirm .ec-orderPayment {
			margin-bottom: 100px;
		}
	}
}

@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {
		/* help/outofservice.html */
		.box_schedule {
			font-size: 18px;
		}

		.ec-cartTable th {
			font-size: 14px;
		}
		/* cart.html */
		.ec-cartTable th:last-child {
			text-align: center;
		}
		.ec-cartTable th:last-child span {
			display: block;
			font-size: 10px;
		}
	}
}

/*== add_210506 ==*/
@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {
		/* help/guide.html */
		.guide_page-intro .ancMenu .item:not(:last-child) {
			margin-right: 20px;
		}
		.guide_page-intro .ancMenu .item a {
			padding: 0 1em;
		}
		.guide_page__inner {
			width: 92%;
		}
	}
}

/*== add_210506 --*/
@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {
		/* product_list.html */
	.form-group {
		padding-left: 0;
	}
	.form-group .form-control {
		width: 71.5%;
	}
	.form-group .form-group-items {
		margin-bottom: 20px;
	}
	.form-group .form-group__item {
		justify-content: flex-end;
	}
	.form-group .form-group__item:not(:last-child) {
		margin-bottom: 12px;
	}
	.form-group .form-group__item:after {
		right: 13px;
	}
	.form-group .form-group__item .required {
		font-size: 14px;
		width: 23%;
		line-height: 1.2;
		text-align: right;
	}
		/* product_detail.html */
		.form-group.forDetail .form-group__item .required {
			text-align: left;
		}
	}
}

/*=== add_210512 ===*/
@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {
		.ec-preRegisterRole--intro__txt {
			text-align: left;
		}
	}
}

/* 220316
=======================================================
 簡単予約注文
=======================================================
*/

@media screen and (min-width: 768px) and (max-width: 1112px) {
	@media screen and (max-width: 834px) {
		.forEasy.ec-shelfRole .order_container {
			padding: 70px 40px 0;
		}
		.forEasy.ec-shelfRole .order_container .ec-orderRole__detail .orderSheet_ttl .forArea {
			display: none;
		}
		.forEasy .ec-orderDetail .txtDeliver .note {
			font-size: 12px;
		}
		.forEasy.ec-shelfRole .order_container.forConfirm {
			padding: 70px 40px;
		}
	}
}


/*== @Qa4/default/qa/index.twig ==*/
.search_form_qa {
	display: block;
	margin-left: 10px;
}
.searchBlock__keyword input {
	padding: 10px;
}

/*========= add_20220328 =========*/
/*======= @ApgFormBuilder ========*/
.afb-type-select select {
    width: 100%;
}

.afb-type-text .ec-input,
.afb-type-textarea .ec-input {
    padding-left: inherit;
}

}
/* customizeから移動 */
.margin-tooltip .forTxt__inner:before,
.margin-tooltip .forTxt__inner:after {
  content: "";
  position: absolute;
  right: 243px; /* 矢印の位置 */
  width: 0;
  height: 0;
  margin: 0;
}

.order_sheet_content {
    margin-bottom: 80px;
    overflow-x: scroll;
}
.preorderList th.priceCell {
  width: 110px;
}
