/* カスタマイズ用CSS */

/* extend EC-CUBE Style */

@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');

@font-face {
	font-family: 'FoundersGroteskRegular';
	src: url('./../../../plugin/BotanicallyRetail/assets/fonts/FoundersGrotesk-Regular.otf');
}
 
body {
	color: #333;
	font-family: "FoundersGroteskRegular", "Marcellus", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue" ,sans-serif;
}

a {
	color: #565656;
}
a:hover,
a:focus {
	color: #3e3e3e;
}

.ec-link {
	color: #565656;	
}
.ec-link:hover {
	color: #3e3e3e;	
}

.ec-zipInputHelp span {
	color: #3e3e3e;		
}

.ec-role,
.ec-productRole,
.ec-shelfRole,
.ec-searchnavRole,
.ec-headerNaviRole,
.ec-cartRole,
.ec-customerRole,
.ec-registerRole,
.ec-forgotRole,
.ec-orderRole,
.ec-registerCompleteRole,
.ec-mypageRole,
.ec-withdrawRole,
.ec-cartCompleteRole,
.ec-historyRole,
.ec-contactRole {
	color: #333;
}

.ec-input input:focus, 
.ec-birth input:focus, 
.ec-select input:focus, 
.ec-halfInput input:focus, 
.ec-numberInput input:focus, 
.ec-zipInput input:focus, 
.ec-telInput input:focus, 
.ec-input textarea:focus, 
.ec-birth textarea:focus, 
.ec-select textarea:focus, 
.ec-halfInput textarea:focus, 
.ec-numberInput textarea:focus, 
.ec-zipInput textarea:focus, 
.ec-telInput textarea:focus {
	border-color: #eee;
}

/* normal buttons */

.ec-inlineBtn,
.ec-inlineBtn:active,
.ec-inlineBtn:focus,
.ec-inlineBtn:active:hover {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
	padding: 16px 10px 8px 10px;
}

.ec-inlineBtn:hover {
	background-color: #ededed;
	border-color: #adadad;		
	color: #3D3D3D;
}

.ec-inlineBtn:disabled, 
.ec-inlineBtn:disabled:hover, 
.ec-inlineBtn:disabled:focus, 
.ec-inlineBtn:disabled.focus {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
}

/* action buttons */

.ec-blockBtn--action,
.ec-blockBtn--action:active,
.ec-blockBtn--action:focus,
.ec-blockBtn--action:active:hover {
	background-color: #262626;
	border-color: #262626;	
	box-shadow: unset;
	/* line-height: 60px; */
}

.ec-blockBtn--action:hover {
	background-color: #3D3D3D;
	border-color: #3D3D3D;		
}

.ec-blockBtn--action:disabled, 
.ec-blockBtn--action:disabled:hover, 
.ec-blockBtn--action:disabled:focus, 
.ec-blockBtn--action:disabled.focus {
	background-color: #262626;
	border-color: #262626;		
}

.ec-inlineBtn--action,
.ec-inlineBtn--action:active,
.ec-inlineBtn--action:focus,
.ec-inlineBtn--action:active:hover {
	background-color: #262626;
	border-color: #262626;	
	padding: 16px 10px 8px 10px;
}

.ec-inlineBtn--action:hover {
	background-color: #3D3D3D;
	border-color: #3D3D3D;		
}

.ec-inlineBtn--action:disabled, 
.ec-inlineBtn--action:disabled:hover, 
.ec-inlineBtn--action:disabled:focus, 
.ec-inlineBtn--action:disabled.focus {
	background-color: #262626;
	border-color: #262626;		
}

/* cancel buttons */

.ec-blockBtn--cancel,
.ec-blockBtn--cancel:active,
.ec-blockBtn--cancel:focus,
.ec-blockBtn--cancel:active:hover {
	color: #3D3D3D !important;
	background-color: #fff;
	border-color: #ccc;
	line-height: 60px;
}

.ec-blockBtn--cancel:hover {
	background-color: #ededed;
	border-color: #adadad;		
	color: #3D3D3D;
}

.ec-blockBtn--cancel:disabled, 
.ec-blockBtn--cancel:disabled:hover, 
.ec-blockBtn--cancel:disabled:focus, 
.ec-blockBtn--cancel:disabled.focus {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
}

.ec-inlineBtn--cancel,
.ec-inlineBtn--cancel:active,
.ec-inlineBtn--cancel:focus,
.ec-inlineBtn--cancel:active:hover {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
	padding: 16px 10px 8px 10px;
}

.ec-inlineBtn--cancel:hover {
	background-color: #ededed;
	border-color: #adadad;		
	color: #3D3D3D;
}

.ec-inlineBtn--cancel:disabled, 
.ec-inlineBtn--cancel:disabled:hover, 
.ec-inlineBtn--cancel:disabled:focus, 
.ec-inlineBtn--cancel:disabled.focus {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
}

.ec-cartNavi--cancel,
.ec-cartNavi--cancel:active,
.ec-cartNavi--cancel:focus,
.ec-cartNavi--cancel:active:hover {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
}

.ec-cartNavi--cancel:hover {
	background-color: #ededed;
	border-color: #adadad;		
	color: #3D3D3D;
}

.ec-cartNavi--cancel:disabled, 
.ec-cartNavi--cancel:disabled:hover, 
.ec-cartNavi--cancel:disabled:focus, 
.ec-cartNavi--cancel:disabled.focus {
	color: #3D3D3D;
	background-color: #fff;
	border-color: #ccc;
}

/* top button */

.ec-blockTopBtn {
	line-height: 47px;
}

/* drawer */

.ec-drawerRoleClose {
	left: unset;
	right: 280px;
	top: 25px;
	background: transparent;
}

.ec-headerNavSP {
	top: 32px;
	right: 18px;
	left: unset;
	background: transparent;
}

.ec-headerNavSP svg {
	width: clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem);
	height: clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem);
}

.ec-drawerRole {
	display: block;	/* transformはinline要素には適用されないため、PCにも対応させる場合に必要 */
	right: 0;
	left: unset;
	transform: translateX(300px);
	height: 100dvh;
}

.ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword {
	border-bottom-right-radius: inherit;
	border-bottom-left-radius: inherit;	
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__list {
	border-top: 0;
}

/* input area font size スマホで拡大フォーカスさせないため */

.ec-input textarea,
.ec-input input, 
.ec-halfInput input, 
.ec-numberInput input, 
.ec-zipInput input, 
.ec-telInput input, 
.ec-select input, 
.ec-birth input {
	font-size: 16px;
}

/* others */

.ec-secHeading {
	color: #333;
}

.ec-progress .is-complete .ec-progress__label {
	color: #3D3D3D;
}

.ec-progress .is-complete .ec-progress__number {
	background: #3D3D3D;	
}

.ec-progress .ec-progress__label {
	color: #7c7c7c;
}

.ec-progress .ec-progress__number {
	background: #7c7c7c;
	line-height: 35px;
}

.ec-totalBox {
	margin-left: -16px;
	margin-right: -16px;
}

.ec-totalBox .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price {
	color: black;
}

.ec-totalBox .ec-totalBox__taxLabel,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
	color: #333;
}

.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
	margin-top: 8px;
}

.ec-pc {
	display: none !important;
}

.ec-sp {
	display: block !important;
}

.ec-radio .ec-errorMessage {
	margin-bottom: 25px;
    font-size: 12px;
    font-weight: bold;
    color: #DE5D50;
}

.ec-radio.error label {
	border-color: #CF3F34;
    background: #FDF1F0;
}

.ec-rectHeading h2 {
	padding: 16px 12px 6px 12px;
}

.ec-pageHeader h1, .ec-pageHeader .h1 {
	padding: 16px 0 8px;
}

/* for amazon pay */

#page_cart .ec-blockBtn--action {
	width: 200px;
	height: 45px;
	line-height: 50px;
	border-radius: 3px;
	margin: 0 auto;
}

#page_cart .ec-blockBtn--cancel {
	width: 200px;
	height: 45px;
	line-height: 50px;
	border-radius: 3px;
	margin: 8px auto;
}

.ec-amazonpayLink {
	font-size: 14px;
}

.ec-amazonpayLink a {
	text-decoration: underline;
}

/* Component */

.ec-font-serif {
	font-family: 'Noto Serif JP', serif;
}

.ec-storeImageGrid {
	padding: 16px 0;	
}
.ec-storeImageGrid .ec-imageGrid__img {
	display: none;
}

/* Common Content */

.ec-layoutRole__header {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 998;
	background: #ffffff;
}

.ec-layoutRole .ec-layoutRole__contents {
	margin-top: 16px;
}

.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
	padding: 0.5em 50px 0.5em 1em;
}
.ec-headerSearch .ec-headerSearch__keyword input[type=search]::placeholder {
	position: absolute;
	bottom: 5px;
}

/* Brand Top */

.ec-headerNaviRole__titlelogo {
	display: none;
}

.ec-drawerRole .ec-headerNaviRole__titlelogo {
	display: block;
}

.ec-headerNaviRole .ec-headerNaviRole__rightBottanically {
	margin-top: 26px;
}

.ec-titleLogo {
	font-family: 'Marcellus', 'Lora', serif;
	font-size: 32px;
	letter-spacing: 0.2em;
	padding: 18px 32px 16px 16px;
	color: #fff;
}

.ec-titleLogo a {
	color: black;
	font-size: 1.5rem;
	letter-spacing: .1rem;
}
.ec-titleLogo a:hover {
	text-decoration: none;
}

.ec-titleLogo a span {
	font-size: .75rem;
	letter-spacing: .03rem;
	display: block;
	margin-left: -0.2rem;
	line-height: 0.5;
}

.ec-drawerRole .ec-titleLogo {
	font-size: 24px;
	line-height: 1.5;
	padding-left: 10px;
	padding-bottom: 20px;
	padding-top: 8px;
	margin-left: 20px;
}
.ec-drawerRole .ec-titleLogo a {
	display: block;
	text-align: center;
	color: #fff;
}

.ec-bland-name {
	font-family: 'Lora', serif;
	letter-spacing: 0.05em;	
}

.ec-headerNav .ec-headerNav__itemLinkBottanically {
	font-size: 16px;
	color: #262626;
}

.ec-bottanicallyLayoutRole {
	background: #E5E5E5;
	color: #262626;
}

.ec-bottanicallyRole {
	padding-left: 20px;
}

.ec-bottanicallyFooterRole {
	background: #262626;
}

.ec-layoutRole__headerBottanically {
	margin-bottom: 24px;
}

.ec-margin-bottom-zero {
	margin-bottom: 0;
}

.ec-headerNav .ec-headerNav__itemBottanically {
	margin-right: 14px;
}

.ec-headerNav .ec-headerNav__itemBottanically span:hover {
	text-decoration: underline;
}

.ec-headerNav .ec-headerNav__nonHoverAction span:hover {
	text-decoration: none;
}

/* Brand About */

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

.ec-blockBtn--topBottanically {
	margin: 0 auto;
	font-size: 16px;
	font-weight: normal;
}

/* Brand Contact */

.ec-eyecatchRole .ec-eyecatchRole__aboutCompany {
	margin-top: 45px;
	text-align: center;
	font-size: 18px;
}

.ec-blankLabel {
	font-weight: normal;
}

.ec-headerTitle .ec-headerTitle__titleBlank {
	margin-bottom: 24px;
}

.ec-headerTitle .ec-headerTitle__titleBlank h1 {
	line-height: 0.75;
}

.ec-headerTitle .ec-headerTitle__titleBlank h1 a {
	margin-bottom: 8px;
}

.blandCopy {
	width:100%;
	text-align:center;
	padding-top:20px;
	font-size: 18px;
}

.ec-eyecatchRole .ec-blankCatch {
	text-align: center;
	font-size: 16px;
	margin: 20px 0;		
}

/* Header Search */

.ec-storeHeaderSearch .ec-headerSearch__keywordStore {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    background-color: #fff;
}

.ec-storeHeaderSearch .ec-headerSearch__keywordStore input[type="search"] {
	font-size: 16px;
}

/* Drawer Bottom */

body.have_curtain {
	overflow: hidden;
}

.have_curtain .ec-overlayRole {
	z-index: 999;
}

.ec-drawerRoleClose.is_active svg {
	width: clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem);
	height: clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem);
	fill: #ffffff;
}

.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
	height: 54px;
	line-height: 2.0;
	font-weight: normal;
}

.ec-drawerRole .ec-storeHeaderLinkArea  {
	padding-bottom: 53px;
}

/* Store Navi */

.ec-headerNaviRole .ec-headerNaviRole__rightStore {
	margin-top: 24px;
}

.ec-headerNav .ec-headerNav__itemColorGray {
	color: #7c7c7c;
}

/* Cart */

.ec-storeCartNavi {
	display: none;
}

.ec-storeCartNaviIsset {
	background: #FFF;
	border: 1px solid #000; 
}

.ec-headerNav__itemLinkStore {
	border-bottom: 1px solid #7c7c7c; 	
}

.ec-cartRole .ec-cartRole__totalAmountStore {
	color: black;
}

.ec-storeAlert-warning {
	background: #3D3D3D; 
}

.ec-cartRow .ec-cartRow__contentColumn {
	padding: 24px 0;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-storeCartRow__amount input {
	max-width: 50px;
}

.ec-cartRow .ec-cartRow__amountColumn .ec-numberInput input[type=number]  {
	max-width: 60px;
}

.ec-cartRole__actionsStore {
	text-align: right;
	width: 100%;
	margin-bottom: 40px;
}

.ec-cartRole__otherActions {
	width: 100%;
}

.ec-cartRole__otherActions a {
	margin: 0 auto;
}

.ec-cartRole__paymentAttention {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 40px 0;
	border-bottom: 1px solid #ccc;
}
.ec-cartRole__paymentAttention:last-of-type {
	border-bottom: none;
}

.ec-cartRole__paymentBank {
	padding-top: 16px;	
}

.ec-cartRole__paymentCredit {
	padding-bottom: 4px;	
}

.ec-cartRole__paymentMore {
    display: inline-block;
    font-size: 14px;
    margin-bottom: 12px;
}
.ec-cartRole__paymentMore:hover {
    text-decoration: none;
    color: #565656;
    cursor: pointer;
}

.ec-cartRole__paymentAttention > div {
	width: 100%;
	text-align: center;
}
.ec-cartRole__paymentAttention > div.sp {
	display: block;
}
.ec-cartRole__paymentAttention > div.pc {
	display: none;
}

.ec-cartRole__paymentTitle {
	margin-bottom: 12px;
	font-size: 14px;
}

.ec-cartRole__paymentDescription {
    display: none;        
	font-size: 14px;
	margin-bottom: 20px;
	text-align: left;
}

.ec-cartRole__paymentCredit .ec-cartRole__paymentDescription {
	margin-bottom: 12px;	
}

.ec-cartHeader .ec-cartHeader__label {
	padding: 16px 16px 8px 16px;
}

#page_shopping .ec-orderRole .ec-orderRole__summary {
	padding-top: 100px;
	margin-top: -100px;
}

.ec-orderRole .ec-orderRole__summaryStore {
	width: 100%;
}

.ec-orderRole__summaryStore .ec-totalBox {
	margin-bottom: 0;
}

.ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
	line-height: 63px;
}

/* Login */

.ec-login__inputStore .ec-input input:focus {
	border-color: #fff;
}

#page_mypage_login .ec-grid2 {
	justify-content: space-between;
	align-items: baseline;
}

#page_mypage_login .ec-grid2 .ec-grid2__cell {
	width: 100%;
	margin-bottom: 8px;
}

#page_mypage_login .ec-grid2 .ec-login__link {
	margin-left: 0;
}

/* Product List */

.ec-shelfGrid__scientific {
	font-size: 14px;
	color: #7c7c7c;	
}

.ec-shelfGrid .ec-shelfGrid__itemStore {
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.ec-shelfGrid .ec-shelfGrid__itemStore > .ec-shelfGrid__itemLink {
	margin: 0;
}

.ec-productRole__rows {
	display: flex;
	justify-content: space-between;
	margin-top: 4px;
}

.ec-productRole__childrows {
	display: flex;
}

.add-cartStore {
	height: 50px;
	line-height: 55px;
	font-weight: normal;

}

.ec-productRole__btnStore {
	flex-basis: 100%;
}

.ec-shelfGrid__moreInfo {
	display: none;
}

.ec-shelfGrid__itemLink a:hover {
	text-decoration: underline !important;
}

.ec-topicpath__itemStore {
	color: #333;
}

.ec-topicpath .ec-topicpath__itemStore a:hover {
	text-decoration: underline;
}

.ec-searchnavRole .ec-searchnavRole__infosStore {
	color: #333;
}

.ec-shelfGrid__productCode {
	font-size: 14px;
}

.ec-searchCategoryRole {
	margin-top: 10px;
	padding: 0 10px; 
}

.ec-searchCategoryRole .ec-headingTitle {
	/* font-size: 18px; */
	font-size: 14px;
	text-align: center;
	color: #333;
}

.ec-searchCategoryRole .item_visual {
	margin-bottom: 16px;
}

.item_visual h2 {
	margin-top: 0;
	margin-bottom: 0;
}

.ec-searchCategoryRole .item_visual img {
	max-width: 100%;
}

.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd) {
	padding-right: inherit;
}

/* Product Detail */

.ec-grid2 {
	display: flex;
	flex-wrap: wrap-reverse;
	flex-direction: row-reverse;
}

.ec-grid2 .ec-grid2__cell {
	width: 100%;
}

.ec-productRole__header {
	font-size: 14px;
}

.ec-productRole__header {
	padding: 8px 0
}

.ec-productRole__yen {
	font-weight: bold;
	font-size: 1.0rem;
	vertical-align: text-top;
}

.ec-productRole__childrows input[type=number] {
	width: 50px;
	height: 50px;
	border: 1px solid #000;
	font-size: 18px;
}

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

.ec-storeProductRole {
	margin-top: 20px;
}

.ec-storeProductRole .ec-productRole__title .ec-headingTitle {
	font-size: 1.2rem;
	color: #333;
	font-weight: bold;
}

.ec-productRole__option {
	font-weight: bold;
	font-size: 14px;
}

.ec-productRole__quantity {
	font-weight: bold;
	font-size: 14px;	
}

.ec-storeGrid2 {
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
}

.ec-productRole .ec-productRole__actionsStore .ec-select select {
	min-width: 200px; 
	max-width: 200px;
}

.ec-productRole .ec-productRole__actionsStore .ec-select {
	display: inline-block;
}

.ec-helpAboutRow dd {
	color: #000;
}

.ec-productRole__h3 {
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

.ec-productRole__backBtn {
	width: 100%;
	margin: 48px auto 0;
}

.ec-off1Grid .ec-off1Grid__cellStore .ec-helpAboutRow dd {
	line-height: 1.5;
	padding-bottom: 8px;
}

.ec-dataSheet {
	width: 50%;
	margin-top: 24px;
}

#help_about_box__label_image a {
	text-decoration: underline;
	color: #000;
}

.ec-borderedDefs dl {
	align-items: center;
}

.ec-productRole .ec-productRole__profile {
	margin-bottom: 16px;
}

.ec-productRole__profileCode {
	font-size: 1.2rem;
	margin-bottom: 2px;
}

.ec-productRole__profile span[class^="product-code-default__"] {
	display: block;
	color: #000;
	font-size: 2.0rem;
	letter-spacing: 1px;
	margin: 4px 0;
}

/* Category */

.ec-storeCategoryRole {
	background: transparent;	
	padding: 0;
}

.ec-storeCategoryRole .ec-categoryRole__listItemStore {
	text-align: center;
}

.ec-categoryRole__listItemStore a {
	color: #525263;
}
.ec-categoryRole__listItemStore a:link {
	color: #525263;
	text-decoration: none;
}
.ec-categoryRole__listItemStore a:hover {
	text-decoration: underline;
}

.ec-categoryRole__listItemStore img {
	width: 50%;
}

.ec-categoryRole__ListDescTitle {
	display: block;
	text-align: center;
	font-size: 18px;
    font-weight: bold;
}

.ec-categoryRole__ListDescSubtitle {
	display: block;
	text-align: center;
	color: #7D7D7D;
	font-size: 15px;
}

.ec-itemNav__navStore li ul li a {
	border-bottom: none;
	color: #2e3233;
	background: transparent;
	font-weight: normal;
}

.ec-itemNav__navStore > li:hover li:hover > a {
	background: #fafafa;
}

.ec-categoryRole__title {
	margin-top: 16px;
}

/* News */

.ec-storeNewsRole {
	padding: 0 0 0;
	height: 106px;
	overflow: auto;
	margin-bottom: 24px;
}

.ec-storeNewsRole .ec-newsRole__newsTitle {
	font-weight: normal;
	color: inherit;
}

.ec-storeNewsRole .ec-newsRole__newsItem:not(:last-of-type) {
	border-bottom: none;
}

.ec-storeNewsRole .ec-newsRole__newsDate {
	margin: 0px 0 5px;
}

.ec-newsRole__newsCloseBtn .fas {
	line-height: 1.3;
}

.ec-newsRole .ec-newsRole__newsCloseBtn {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Mypage */

.ec-storeWelcomeMsg {
	color: #333;
}

.ec-historyRole .ec-historyRole__contentsStore {
	color: #333;	
}

.ec-storeNavlistRole .active a {
	background: #f5f7f8;
	color: inherit;
}

.ec-navlistRole .ec-navlistRole__item a {
	padding: 16px 10px 8px 10px;
}

/* Service */

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

.ec-serviceRole_blockLeft {
	display: none;
}

.ec-serviceRole_blockRight p {
	padding: 12px 0 20px;
}

.ec-serviceRole_blockRight img {
	margin-bottom: 24px;
}

.ec-serviceRole_header {
	margin: 0 0 8px;
	border-bottom: 1px dotted #ccc;
	border-top: 1px solid #ccc;
	padding: 12px 0;
	font-size: 16px;
	font-weight: bold;
}

.ec-serviceRole_contact {
	margin: 16px 0;
}

.ec-serviceRole_contact a {
	display: block;
	width: 100%;
	color: #fff;
}
.ec-serviceRole_contact a:hover {
	color: #fff;
	text-decoration: none;
}

/* Contact */

.ec-contactRole_infoWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 32px;
}

.ec-contactRole_info {
	width: 100%;
	margin-bottom: 16px;
}

.ec-contactRole_body_pc {
	display: none;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.0;
	margin: 4px 0 10px 0;
}

.ec-contactRole_body_pc a {
	color: #000;
}

.ec-contactRole_body_sp {
	display: block;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.0;
	margin: 4px 0 10px 0;
}

.ec-contactRole_body_sp a {
	color: #000;
}

.ec-contactRole_body_desc {
	font-size: 14px;
}

.ec-contactRole_message {
	font-weight: bold;
	font-size: 14px;	
}

/* Shopping */

.ec-storeDeliveryAlert {
	display: block;
	margin-top: 16px;
	margin-left: 0;
}

#alert_message_sp {
	display: block;	
}

#alert_message {
	display: none;	
}

/* Shopping Login */

#shopping_login .ec-grid2 {
	justify-content: space-between;
	align-items: baseline;
}

#shopping_login .ec-grid2 .ec-grid2__cell {
	width: 100%;
	margin-bottom: 8px;
}

#shopping_login .ec-grid2 .ec-login__link {
	margin-left: 0;
}

/* Entry */

.ec-registerRole input {
	vertical-align: top;
	font-family: initial;
}

/* About */

.ec-storeBorderedDefs dd {
	line-height: 2.0;
	padding-bottom: 8px;		
	padding-top: 8px;
}

/* Footer */

.ec-storeFooterNavi {
	padding-top: 24px;
}

.ec-footerNavi__titleBottanically {
	font-size: 20px;
	letter-spacing: 0.25em;
}

.ec-footerNavi__ContentBottanically {
	margin-top: 12px;
}

.ec-footerNavi__ContentTitleBottanically {
	display: block;
	font-size: 14px;
	font-weight: bold;
	margin-top: 20px;
	letter-spacing: 0.25em;
}

.ec-footerNavi__ContentDescBottanically {
	font-size: 12px;
}

#ec-footerMap {
	width:100%;
	padding-top:50%;
	position: relative;
	margin:auto;
	margin-top: 40px;
	max-width: 1130px;
}
 
#ec-footerMap__address {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

.ec-bottanicallyFooterCopyRole {
	margin-top: 0;
	background: #E5E5E5;
}
.ec-storeFooterCopyRole {
	background: #FFF;
	margin-top: 0;	
}

.ec-bottanicallyFooterCopyRole .ec-footerTitle {
	color: black;
	padding: 20px 0;
}
.ec-storeFooterCopyRole .ec-footerTitle {
	padding: 20px 0;
	color: #525263;
}

.ec-footerNavi .ec-footerNavi__linkBottanically {
	margin-top: 16px;
}

.ec-footerNavi .ec-footerNavi__linkBottanically:hover a {
	opacity: 1.0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	text-decoration: none;
}

.ec-footerNavi .ec-footerNavi__linkBottanically a:hover {
	opacity: .8;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	text-decoration: underline; 
}

.ec-footerNavi .ec-footerNavi__linkBottanically a {
	border-bottom: none;
	padding: 0;
}

/* Amazon Pay */

.product_page .AmazonPayButton {
	margin: 0 !important;
	margin-bottom: 30px !important;
}

#amazon_payWidget {
	margin-bottom: 24px;
}

/* Media Query */ 

@media only screen and (min-width: 768px) {

	/* extend EC-CUBE Style */

	/* input area font size スマホで拡大フォーカスさせないため */

	.ec-input textarea,
	.ec-input input, 
	.ec-halfInput input, 
	.ec-numberInput input, 
	.ec-zipInput input, 
	.ec-telInput input, 
	.ec-select input, 
	.ec-birth input {
		font-size: 14px;
	}

	/* Common Content */

	.ec-layoutRole .ec-layoutRole__contents {
		margin-top: 64px;
	}

	/* others */

	.ec-pc {
		display: block !important;
	}

	.ec-sp {
		display: none !important;
	}

	.ec-progress .ec-progress__number {
		line-height: 50px;
	}

	.ec-pageHeader h1, .ec-pageHeader .h1 {
		padding: 12px 8px 0px;
	}
	
	/* Brand Top */

	.ec-titleLogo {
		padding: 0;
		color: #000;
		max-width: 230px;
		text-align: center;
		line-height: 1.6;
	}

	.ec-titleLogo a {
        font-size: 2.0rem;
        letter-spacing: .133rem;		
	}

	.ec-titleLogo a span {
        font-size: 1.0rem;
        letter-spacing: .04rem;
        margin-left: -0.27rem;
	}

	.ec-headerNaviRole__titlelogo {
		display: inline-block;
		margin-right: 60px;		
		color: black;
	}

	.ec-headerNaviRole__titlelogo.ec-horizon-margin-zero {
		/* (左ナビ100% + ナビボタン幅) / 2 - ロゴ1/2幅 */
		margin-left: calc(calc(100% + clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem)) / 2 - 115px);
		margin-right: 0;		
	}

	.ec-bottanicallyRole {
		padding-left: 70px;
	}

	.ec-eyecatchRole .ec-eyecatchRole__introBottanically {
		width: 100%;		
	}

	.ec-layoutRole__headerBottanically {
		margin-bottom: 0;
	}

	.ec-bottanicallyHeaderNaviRole {
	    padding-bottom: 8px;
	    padding-top: 20px;
	}
	.ec-storeHeaderNaviRole {
		margin-bottom: 8px;
	}

	.ec-storeHeaderNaviRole > .ec-headerNaviRole__left {
		/* 左ナビ幅 */
		width: calc(100%);
	}

	.ec-storeHeaderNaviRole > .ec-headerNaviRole__rightStore {
		/* ナビボタン幅 */
		width: calc(clamp(1.5rem, 1.071rem + 1.9vw, 2.5rem));
	}

	.ec-eyecatchRole .ec-eyecatchRole__introTitleBottanically {
		margin-top: 100px;
	}

	.ec-eyecatchRole .ec-blankCatch {
		font-size: 22px;
		margin: 40px 0;		
	}

	.ec-headerNaviRole .ec-headerNaviRole__navStore {
		margin-left: 92px;
	}

	.ec-storeLayoutRole .ec-layoutRole__contents {
		margin-top: 26px;
	}

	/* Brand About */

	.ec-eyecatchRole__introBtn {
		margin-top: 120px;
	}

	/* Brand Contact */

	.ec-headerTitle .ec-headerTitle__titleBlank a {
		font-size: 50px;
	}

	.ec-eyecatchRole .ec-eyecatchRole__aboutCompany {
		font-size: 24px;
	}

	.blandCopy {
		font-size: 24px;
	}

	.ec-headerTitle .ec-headerTitle__titleBlank h1 a {
		margin-bottom: 30px;
	}

	.ec-headerTitle .ec-headerTitle__titleBlank {
		margin-bottom: 0;
	}

	/* Drawer */

	.have_curtain .ec-overlayRole {
		display: block;
	}

	.ec-drawerRole .ec-titleLogo {
		font-family: 'Marcellus', 'Lora', serif;
		font-size: 28px;
		line-height: 2.0;
		margin: 10px 0 6px 8px;
		padding-bottom: 14px;
		padding-top: 0;
	}

	.ec-drawerRole .ec-titleLogo a {
		line-height: 1.6;
		font-size: 1.5rem;
		letter-spacing: .1rem;
	}

	.ec-drawerRole .ec-titleLogo a span {
		font-size: 0.75rem;
		line-height: 0.5;
	}

	.ec-drawerRole.is_active {
		display: block;
	}

	.ec-drawerRoleClose.is_active {
		display: inline-block;
	}

	.ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword {
		border-top-right-radius: inherit;
		width: 100%;
	}

	.ec-drawerRole .ec-headerSearch .ec-headerSearch__keyword input[type=search] {
		font-size: 14px;
	}

	.ec-headerNavSP {
		top: 26px;
		right: 16px;
		width: 48px;
		height: 48px;
		font-size: 36px;
		display: block;
	}
	
	/* Cart */

	.ec-storeCartNavi {
		background: #FFF;
		font-size: 16px;
		padding: inherit;
		padding-top: 5px;
		height: inherit;
		display: inline-block;
		min-width: auto;
		border-bottom: 1px solid #7c7c7c;
		border-radius: 0;
		color: #7c7c7c;
		font-weight: bold;
	}

	.ec-storeCartNavi a {
		color: #7c7c7c;
	}
	.ec-storeCartNavi a:hover {
		text-decoration: none;
		color: #7c7c7c;
	}

	.ec-cartRow .ec-cartRow__delColumnStore {
		width: 10.33%;
	}

	.ec-storeCartNaviIsset:before {
		display: none;
	}

	.ec-cartRow .ec-cartRow__summaryStore {
		width: 80%;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-numberInput input[type=number]  {
		max-width: 100px;
	}
	
	.ec-cartRole__actionsStore {
		width: 20%;
		margin-right: 10%;
	}

	.ec-cartRole__otherActions {
		margin-right: 10%;
	}
	.ec-cartRole__otherActions a {
		width: 20%;
	}
	.ec-cartRole__otherActions:last-of-type {
		margin-top: 28px;
	}

	.ec-cartRole .ec-cartRole__paymentWrap {
		width: 100%;
	}

	.ec-cartRole .ec-cartRole__paymentWrap.pc-d-none {
		display: none;
	}

	.ec-cartRole__paymentBank {
		padding-top: 40px;	
	}

	.ec-cartRole__paymentCredit {
		padding-bottom: 40px;	
	}

	.ec-cartRole__paymentAttention > div,
	.ec-cartRole__paymentAttention:last-of-type > div {
		width: 50%;
		text-align: left;
	}
	.ec-cartRole__paymentAttention > div:nth-of-type(3) {
		text-align: right;
	}

	.ec-cartRole__paymentAttention > div.sp {
		display: none;
	}
	.ec-cartRole__paymentAttention > div.pc {
		display: block;
	}

	.ec-cartRole__paymentDescription {
        display: block;        
		margin-bottom: 0;
	}

	.ec-cartRole__paymentCredit .ec-cartRole__paymentDescription {
		margin-bottom: 0;
	}

	.ec-cartRole__paymentButton {
		width: 56%;
		display: inline-block;
	}

	.ec-cartRow .ec-cartRow__amountColumn .ec-storeCartRow__amount input {
		max-width: 100px;
	}

    .ec-cartRole__paymentMore {
        display: none;            
    }

	/* Login */

	#page_mypage_login .ec-grid2 .ec-grid2__cell {
		width: 49%;
	}

	/* Shopping */

	#page_shopping .ec-orderRole .ec-orderRole__detail,
	#page_shopping_confirm .ec-orderRole .ec-orderRole__detail {
		width: 56.66666%;
	}

	#page_shopping .ec-orderRole .ec-orderRole__summary,
	#page_shopping_confirm .ec-orderRole .ec-orderRole__summary {
		width: 43.33333%;
		padding-top: 0;
		margin-top: 0;
	}

	.ec-orderRole .ec-orderRole__summary {
		height: 100%;
		position: sticky;
		padding-right: 0;
		top: 110px;
	}

	.ec-orderRole__summaryStore {
		display: none;
	}

	#alert_message_sp {
		display: none;	
	}

	#alert_message {
		display: block;	
	}

	/* Shopping Login */

	#shopping_login .ec-grid2 .ec-grid2__cell {
		width: 49%;
	}

	/* Product List */

	.ec-storeNumberInput input {
		margin-bottom: 0;
	}

	.ec-shelfGrid__moreInfo {
		display: block;
	}

	.ec-topicpathStore {
		padding-top: 43px;
	}

	.ec-searchCategoryRole {
		margin-top: 32px;
		padding: 0 20px; 
	}

	.ec-searchCategoryRole .item_visual {
		margin-bottom: 0;
	}

	.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd) {
		padding: 0 16px;
	}	

	/* Product Detail */

	.ec-grid2 .ec-grid2__cell {
		width: 50%;
	}

	.ec-productRole__header {
		font-size: 16px;
	}
	
	.ec-productRole__childrows input[type=number] {
		width: 64px;
		height: 64px;
		font-size: 24px;
	}

	.add-cartStore {
		height: 64px;
		line-height: 69px;
		font-size: 1.0rem;
	}

	.ec-storeProductRole {
		margin-top: 43px;
	}

	.ec-off1Grid .ec-off1Grid__cellStore {
		margin-left: 0;
		width: 100%;
	}

	.ec-storeProductRole .ec-productRole__title .ec-headingTitle {
		font-size: 1.8rem;
		margin-top: 16px;
	}

	.ec-off1Grid .ec-off1Grid__cellStore .ec-helpAboutRow dt {
		padding-top: 0;
	}

	.ec-productRole__profile span[class^="product-code-default__"] {
		font-size: 2.4rem;
		margin: 8px 0;
	}	

	.ec-productRole__yen {
		font-size: 1.2rem;
	}

	.ec-productRole__backBtn {
		width: 48%;
		margin: 80px auto 0;	
	}
	
	/* Header Search */

	.ec-storeHeaderSearch {
		padding-left: 40px;
		padding-right: 20px;
	}

	.ec-storeHeaderSearch .ec-headerSearch__categoryStore {
		float: none;
		width: auto;
	}

	.ec-storeHeaderSearch .ec-headerSearch__categoryStore .ec-storeSelect.ec-storeSelect_search {
		border-top-right-radius: 10px;
	    border-top-left-radius: 10px;
	    border-bottom-left-radius: inherit;
	}

	.ec-storeHeaderSearch .ec-headerSearch__categoryStore .ec-storeSelect select {
		max-width: none;
		height: auto;		
	}

	.ec-storeHeaderSearch .ec-headerSearch__keywordStore {
		float: none;
	    width: auto;
	    border-top-right-radius: 0;
	    border-bottom-right-radius: 0;
	    border-bottom-left-radius: 0;
	    background-color: transparent;
	}

	.ec-storeHeaderSearch .ec-headerSearch__keywordStore input[type="search"] {
		font-size: 0.8rem;
	}

	/* Navi Cart */

	/* .ec-cartNaviIsset .ec-storeCartNaviIsset__cartContent {
		width: 100%;
	} */

	/* Login */

	.ec-login .ec-login__iconStore {
		height: 45px;
	}

	/* Navi Category */

	.ec-storeCategoryNaviRole {
		margin-top: 60px;
		padding-left: 42px;
	}

	.ec-storeItemNav {
		text-align: left;
	}

	.ec-storeItemNav li {
		float: none;
		width: 100%;
	}

	.ec-itemNav__nav {
		width: 100%;
	}

	.ec-itemNav__nav li {
		float: none;
	}

	.ec-itemNav__nav li ul {
		display: none;
		z-index: 0;
		position: static;
	}

	.ec-itemNav__nav li ul li {
		overflow: hidden;
		height: auto;		
	}

	.ec-itemNav__nav li a {
		text-align: left;
	}

	.ec-itemNav__navStore{
		width: 100%;
		display: block;
	}

	.ec-itemNav__navStore li ul {
		display: block;
	}

	.ec-itemNav__navStore li a {
		padding-left: 0;
		text-align: left;
		font-weight: normal;
		height: 35px;
		line-height: 0;
	}

	.ec-itemNav__navStore li ul {
		position: relative;
	}

	.ec-itemNav__navStore li ul li {

		overflow: visible;
		height: 35px;
	}

	.ec-itemNav__navStore > li:hover > ul > li {
		height: 35px;		
	}

	/* Category */

	.ec-storeCategoryRole {
		padding: 38px 0;
	}

	.ec-storeCategoryRole .ec-categoryRole__listItem img {
		width: 80%;
	}

	.ec-categoryRole__listItemStore img {
		width: 100%;
	}

	/* News */

	.ec-storeNewsRole {
	    margin-bottom: 0;
	    margin-top: 0;
	}

	.ec-storeNewsRole .ec-secHeading {
	    margin-bottom: 0;
	}

	.ec-storeNewsRole .ec-newsRole__news {
		border: none;		
		padding: 0 30px;
	}

	.ec-storeNewsRole .ec-newsRole__newsItem {
		padding: 6px 0; 
	}

	.ec-storeNewsRole .ec-newsRole__newsItem.is_active .ec-newsRole__newsDescription {
		margin: 0;
		margin-top: 8px;
	}

	.ec-storeNewsRole .ec-newsRole__newsDate {
		margin: 3px 0 0;
	}

	/* Service */

	.ec-serviceRole_blockLeft {
		display: block;
		width: 100%;
	}

	.ec-serviceRole_blockLeft img {
		margin-bottom: 32px;
	}

	.ec-serviceRole_blockRight {
		padding-left: 16px;
		width: 100%;
	}

	.ec-serviceRole_header {
		border-top: none;
		border-bottom: none;
		margin: 0 16px 8px;
		padding: 0;
		font-size: 24px;
		font-weight: bold;
	}

	.ec-serviceRole_blockRight p {
		margin: 0 16px 32px 16px;
		padding-top: 0;
		line-height: 1.5;
	}

	.ec-serviceRole_contact {
		width: 100vw;
	    margin-left: calc(-50vw + 50%);
    	margin-right: calc(-50vw + 50%);
	}

	.ec-serviceRole_contact a {
		display: block;
		width: 100%;
		color: #fff;
	}
	.ec-serviceRole_contact a:hover {
		color: #fff;
		text-decoration: none;
	}

	.ec-serviceRole_contact button {
		width: 30%;
		margin: 0 auto;
	}

	.ec-serviceRole_blockRight img {
		display: none;
	}

	/* Contact */

	.ec-contactRole_infoWrap {
		margin-top: 0;
	}

	.ec-contactRole_info {
		width: 50%;
		/*margin-bottom: 16px;*/
	}

	.ec-contactRole_body_pc {
		display: block;
	}

	.ec-contactRole_body_sp {
		display: none;
	}

	/* Shopping */

	.ec-storeDeliveryAlert {
		display: inline;
		margin-top: 0;
		margin-left: 1em;
	}

	/* Footer */

	.ec-footerNavi__titleBottanically {
		font-size: 24px;
	}

	.ec-storeFooterNavi {
		padding-top: 0;
	}

	.ec-footerNavi .ec-footerNavi__linkBottanically {
		margin-top: 0;
		width: 32%;
		vertical-align: top;
	}

	.ec-bottanicallyFooterCopyRole .ec-footerTitle {
		padding: 0 0 40px;
	}

	.ec-storeFooterCopyRole .ec-footerTitle {
		padding: 0 0 40px;
	}

	.ec-footerNavi .ec-footerNavi__linkBottanically a {
		display: block;
	}

	.ec-footerNavi .ec-footerNavi__linkBottanically:hover a {
		text-decoration: underline;
	}

	.ec-footerNavi .ec-footerNavi__linkBottanically a:hover {
		text-decoration: none; 
	}
}

@media only screen and (min-width: 1130px) {

	/* Drawer */

	.ec-headerNavSP {
		right: calc(((100% - 1130px) / 2) + 16px);	/* 1130 = container max width */
	}
}

/* 極力使わないこと */
@media only screen and (max-width: 768px) {

	/* 16pc以下になるとスマホでinput項目が拡大される */

	.ec-input select, 
	.ec-halfInput select, 
	.ec-numberInput select, 
	.ec-zipInput select, 
	.ec-telInput select, 
	.ec-select select, 
	.ec-birth select {
		font-size: 16px;
	}

	/* smart phone center title */

	.ec-bottanicallyHeaderNaviRole {
		position: relative;
		width: 100%;
		height: 100px;
	}

	.ec-headerNaviRole .ec-HeaderNaviRole__leftBottanically .ec-headerNaviRole__titlelogo {
		display: block;
	}

	.ec-headerNaviRole .ec-HeaderNaviRole__leftBottanically {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		text-align: center;
	}

	/* Product List */

	.ec-productRole__rowsSpLayout {
		justify-content: flex-end;
		flex-wrap: wrap;		
	}

	.ec-productRole__rowsSpLayout .ec-select {
		width: 100%;
		text-align: right;
	}
}