@charset "UTF-8";

/* ============================================================
   EC-CUBE Header & Footer Styles for WordPress SWELL Child Theme
   Source: dtJEIA4004 template (style.css + icon.scss)
   ============================================================ */

/* ----------------------------------------
   Google Fonts
   ---------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;500;600;700&family=Oswald:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0');

/* ----------------------------------------
   jeiafont Icon Font
   ---------------------------------------- */
@font-face {
	font-family: 'jeiafont';
	src:
		url('https://torafuku-online.jp/html/template/dtJEIA4004/assets/icon/jeiafont_20231113/fonts/jeiafont.ttf?vsi3i1') format('truetype'),
		url('https://torafuku-online.jp/html/template/dtJEIA4004/assets/icon/jeiafont_20231113/fonts/jeiafont.woff?vsi3i1') format('woff'),
		url('https://torafuku-online.jp/html/template/dtJEIA4004/assets/icon/jeiafont_20231113/fonts/jeiafont.svg?vsi3i1#jeiafont') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

i.jeiafont {
	font-family: 'jeiafont' !important;
	font-style: normal !important;
	font-weight: normal !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: inline-block;
	vertical-align: middle;
}

/* Icon rotation */
i.rotate-90 {
	transform-origin: center center;
	transform: rotate(90deg);
}

/* ----------------------------------------
   Icon Content Values (from icon.scss)
   ---------------------------------------- */
.jeia-cart:before { content: "\e900"; }
.jeia-search:before { content: "\e901"; }
.jeia-arrow:before { content: "\e902"; }
.jeia-heart:before { content: "\e903"; }
.jeia-heart_fill:before { content: "\e904"; }
.jeia-user:before { content: "\e905"; }
.jeia-user_fill:before { content: "\e906"; }
.jeia-lock:before { content: "\e907"; }
.jeia-lock_fill:before { content: "\e908"; }
.jeia-cross:before { content: "\e909"; }
.jeia-menu:before { content: "\e90a"; }
.jeia-more:before { content: "\e90b"; }
.jeia-radio:before { content: "\e90c"; }
.jeia-radio_checked:before { content: "\e90d"; }
.jeia-checkbox:before { content: "\e90e"; }
.jeia-checkbox_checked:before { content: "\e90f"; }
.jeia-call:before { content: "\e910"; }
.jeia-mail:before { content: "\e911"; }
.jeia-place:before { content: "\e912"; }
.jeia-more_angle:before { content: "\e913"; }
.jeia-warning:before { content: "\e914"; }
.jeia-error:before { content: "\e915"; }
.jeia-add:before { content: "\e916"; }
.jeia-remove:before { content: "\e917"; }
.jeia-clear:before { content: "\e918"; }
.jeia-star:before { content: "\e919"; }
.jeia-caret:before { content: "\e91a"; }
.jeia-arrow-left:before { content: "\e91b"; }
.jeia-arrow_b1:before { content: "\e91c"; }
.jeia-arrow_b2:before { content: "\e91d"; }
.jeia-truck:before { content: "\e91e"; }
.jeia-coins:before { content: "\e91f"; }
.jeia-creditcard:before { content: "\e920"; }
.jeia-twitter:before { content: "\e921"; }
.jeia-facebook:before { content: "\e922"; }
.jeia-googleplus:before { content: "\e923"; }
.jeia-instagram:before { content: "\e924"; }
.jeia-volume-mute:before { content: "\e925"; }
.jeia-volume-up:before { content: "\e926"; }
.jeia-angleup:before { content: "\e927"; }
.jeia-info:before { content: "\e928"; }
.jeia-crown:before { content: "\e929"; }
.jeia-eye:before { content: "\e92a"; }
.jeia-btn:before { content: "\e92b"; }
.jeia-fax:before { content: "\e92c"; }
.jeia-grid:before { content: "\e92d"; }
.jeia-cart2:before { content: "\e92e"; }
.jeia-cart3:before { content: "\e92f"; }
.jeia-amazon:before { content: "\e930"; }
.jeia-pinterest:before { content: "\e931"; }
.jeia-get-pocket:before { content: "\e932"; }
.jeia-line:before { content: "\e933"; }
.jeia-external-link:before { content: "\e934"; }
.jeia-printer:before { content: "\e935"; }
.jeia-facebook2:before { content: "\e936"; }
.jeia-line2:before { content: "\e937"; }
.jeia-hatenabookmark:before { content: "\e938"; }
.jeia-play-circle:before { content: "\e939"; }
.jeia-check_circle:before { content: "\e93a"; }
.jeia-article:before { content: "\e93b"; }
.jeia-quote:before { content: "\e93c"; }
.jeia-youtube:before { content: "\e93d"; }
.jeia-x-twitter:before { content: "\e93e"; }

/* Material Symbols icons (not in jeiafont) */
.jeia-workspace-premium:before {
	font-family: 'Material Symbols Outlined' !important;
	content: "\e7af";
}
.jeia-apartment:before {
	font-family: 'Material Symbols Outlined' !important;
	content: "\ea40";
}

/* ----------------------------------------
   Hide SWELL Default Header & Footer
   ---------------------------------------- */
#header.l-header,
.l-header {
	display: none !important;
}

#footer.l-footer > .l-footer__inner {
	display: none !important;
}

#footer.l-footer {
	border: none !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.p-spMenu {
	display: none !important;
}


/* ----------------------------------------
   Base Reset for EC-CUBE elements
   EC-CUBE uses normalize.css + Bootstrap + dtJEIA4004 base styles.
   SWELL has its own base styles, so we must explicitly set the EC-CUBE
   base values on our containers to prevent SWELL inheritance.
   ---------------------------------------- */

/* Universal box-sizing for EC-CUBE elements (Bootstrap convention).
   Font properties are NOT scoped here — they inherit naturally from the
   container rules below (.ec-headerRole, .ec-drawerRole, .ec-footerRole).
   SWELL's * { font-size:inherit } is functionally identical to natural
   inheritance, so no override is needed. */
.ec-headerRole *,
.ec-headerRole *::before,
.ec-headerRole *::after,
.ec-drawerRole *,
.ec-drawerRole *::before,
.ec-drawerRole *::after,
.ec-footerRole *,
.ec-footerRole *::before,
.ec-footerRole *::after {
	box-sizing: border-box !important;
}

/* Body-level typography (dtJEIA4004 body styles) */
.ec-headerRole,
.ec-drawerRole,
.ec-footerRole {
	font-family: "Noto Sans JP", sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	-webkit-text-size-adjust: 100%;
}

/* Headings (Bootstrap reboot + dtJEIA4004 base) */
.ec-headerRole h1, .ec-headerRole h2, .ec-headerRole h3, .ec-headerRole h4, .ec-headerRole h5, .ec-headerRole h6,
.ec-drawerRole h1, .ec-drawerRole h2, .ec-drawerRole h3, .ec-drawerRole h4, .ec-drawerRole h5, .ec-drawerRole h6,
.ec-footerRole h1, .ec-footerRole h2, .ec-footerRole h3, .ec-footerRole h4, .ec-footerRole h5, .ec-footerRole h6 {
	margin-top: 0;
	margin-bottom: 7.5px;
	padding: 0;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	color: inherit;
}

/* Paragraphs (dtJEIA4004 base: margin-bottom: 1em) */
.ec-headerRole p, .ec-drawerRole p, .ec-footerRole p {
	margin-top: 0;
	margin-bottom: 1em;
	padding: 0;
}

/* Lists (Bootstrap reboot) */
.ec-headerRole ul, .ec-headerRole ol,
.ec-drawerRole ul, .ec-drawerRole ol,
.ec-footerRole ul, .ec-footerRole ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Links (dtJEIA4004 base: no underline, inherit color) */
.ec-headerRole a, .ec-drawerRole a, .ec-footerRole a {
	color: inherit;
	text-decoration: none;
	background-color: transparent;
}

/* Address (Bootstrap reboot: font-style: normal) */
.ec-headerRole address, .ec-drawerRole address, .ec-footerRole address {
	margin-bottom: 0;
	font-style: normal;
	line-height: inherit;
}

/* Images (dtJEIA4004 base: width: 100%) */
.ec-headerRole img, .ec-drawerRole img, .ec-footerRole img {
	width: 100%;
	height: auto;
	vertical-align: middle;
	border-style: none;
}

/* Form elements (dtJEIA4004 font-family override) */
.ec-headerRole button,
.ec-headerRole input,
.ec-headerRole select,
.ec-headerRole textarea,
.ec-drawerRole button,
.ec-drawerRole input,
.ec-drawerRole select,
.ec-drawerRole textarea {
	font-family: "Noto Sans JP", sans-serif !important;
	font-size: 100% !important;
	line-height: 1.15 !important;
	margin: 0;
}


/* ============================================================
   HEADER
   ============================================================ */

/* Sticky header wrapper (from dtJEIA4004 L10986-10991) */
.ec-layoutRole__header {
	position: sticky !important;
	top: 0 !important;
	z-index: 1001 !important;
	transition: 0.3s;
}

.ec-headerRole {
	margin-left: auto;
	margin-right: auto;
	box-sizing: content-box;
	width: auto !important;
	max-width: 100%;
	display: flex;
	justify-content: space-between;
	background-color: rgb(var(--clrHeaderBgRGB, 17, 18, 20));
}

/* ----------------------------------------
   Header Navigation
   ---------------------------------------- */
.ec-headerNav {
	font-family: "Poppins", "Noto Sans JP", sans-serif !important;
	font-size: 14px !important;
	color: var(--clrHeaderText, #fff);
}
.ec-headerNav__item {
	display: inline-block;
	vertical-align: top;
	margin-right: 20px;
}
.ec-headerNav__item:last-child {
	margin-right: 0;
}
.ec-headerNav__item > a {
	display: block;
	color: inherit;
	padding-top: 2px;
	padding-bottom: 2px;
	position: relative;
	text-decoration: none;
}
.ec-headerNav__item > a:hover {
	text-decoration: none !important;
}
.ec-headerNav__item > a:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--clrHeaderText, #fff);
	position: absolute;
	bottom: 0;
	left: 0;
	transform-origin: left bottom;
	transform: scaleX(0);
	transition: transform 0.3s;
}
.ec-headerNav__item > a:hover:after {
	transform: scaleX(1);
}

/* Submenu (Dropdown) */
.ec-headerNav__item.has-submenu {
	position: relative;
}
.ec-headerNav__item.has-submenu .submenu {
	position: absolute;
	top: 100%;
	left: 0;
	width: auto;
	min-width: 300px;
	padding-top: 14px;
	pointer-events: none;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: 0.2s;
}
.ec-headerNav__item.has-submenu .submenu__body {
	background-color: #fff;
	color: #333;
	padding: 15px;
	display: flex;
	filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	position: relative;
}
.ec-headerNav__item.has-submenu .submenu__body:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	bottom: 100%;
	left: 15px;
	border: solid 10px transparent;
	border-bottom-color: #fff;
}
.ec-headerNav__item.has-submenu:hover .submenu {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}

/* ----------------------------------------
   Category Tree (used in dropdowns)
   ---------------------------------------- */
.ec-categoryTree {
	font-family: "Noto Sans JP", sans-serif !important;
	font-size: 13.995px !important;
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.ec-categoryTree li {
	margin: 0;
	padding: 0;
	border-bottom: solid 1px #eee;
	white-space: nowrap;
	min-width: 200px;
	position: relative;
}
.ec-categoryTree li a {
	display: block;
	line-height: 1;
	padding: 1em 0.5em;
	transition: 0.2s;
	color: inherit;
}
.ec-categoryTree li a:hover {
	text-decoration: none;
	background-color: #f0f1f2;
}
.ec-categoryTree li ul.child {
	margin: 0;
	padding: 0;
	list-style-type: none;
	min-width: 10em;
	position: absolute;
	top: 0.5em;
	left: calc(100% - 0.5em);
	background-color: #fff;
	color: inherit;
	padding: 15px;
	z-index: 9;
	border: solid 1px #ddd;
	visibility: hidden;
	opacity: 0;
	transition: 0.2s;
}
.ec-categoryTree li:hover > ul.child {
	visibility: visible;
	opacity: 1;
}

/* ----------------------------------------
   Header Title (Logo)
   ---------------------------------------- */
.ec-headerTitle {
	display: block;
}
.ec-headerTitle a {
	transition: 0.3s;
}
.ec-headerTitle a:hover {
	opacity: 0.8;
}

/* ----------------------------------------
   Drawer Button (Burger)
   ---------------------------------------- */
.ec-drawerButton {
	display: block;
	cursor: pointer;
	position: relative;
}
.ec-drawerButton .burger {
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--clrHeaderBurger, #fff);
	position: relative;
	top: 50%;
	text-indent: -9999px;
	transition: 0.3s;
}
.ec-drawerButton .burger:before,
.ec-drawerButton .burger:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--clrHeaderBurger, #fff);
	position: absolute;
	left: 0;
	transition: 0.3s;
}
.ec-drawerButton .burger:before {
	top: -8px;
}
.ec-drawerButton .burger:after {
	bottom: -8px;
}
/* Burger animation when drawer is open */
body.have_curtain .ec-drawerButton .burger {
	background-color: transparent;
}
body.have_curtain .ec-drawerButton .burger:before {
	top: 0;
	transform: rotate(225deg);
}
body.have_curtain .ec-drawerButton .burger:after {
	bottom: 0;
	transform: rotate(135deg);
}

/* ----------------------------------------
   Header Menu (User Navigation)
   ---------------------------------------- */
.ec-headerMenu {
	display: flex;
	align-items: center;
	font-size: 14px !important;
	color: var(--clrHeaderText, #fff);
}
.ec-headerMenu .ec-headerMenu__item {
	padding: 0 0.25em;
}
.ec-headerMenu .ec-headerMenu__item > a {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	color: inherit;
	line-height: 1;
	padding: 7px 7px;
	border-radius: 18px;
	border: solid 1px transparent;
	transition: 0.2s;
}
.ec-headerMenu .ec-headerMenu__item > a:hover {
	text-decoration: none;
	background-color: var(--clrHeaderMenuHoverBg, rgba(255, 255, 255, 0.2));
}
.ec-headerMenu .ec-headerMenu__item:last-child {
	padding-right: 0;
}
.ec-headerMenu .ec-headerMenu__itemIcon {
	font-size: 20px;
}
.ec-headerMenu .ec-headerMenu__itemText {
	line-height: 20px;
}

/* Header Menu Popup */
.ec-headerMenu .ec-headerMenu__item.has-popup {
	position: relative;
}
.ec-headerMenu .ec-headerMenu__item.has-popup:hover .ec-headerMenu__itemPopup {
	visibility: visible;
	opacity: 1;
	transform: translate3d(-50%, 0, 0);
	pointer-events: auto;
}
.ec-headerMenu .ec-headerMenu__itemPopup {
	position: absolute;
	top: 100%;
	left: 50%;
	width: auto;
	min-width: 200px;
	padding-top: 15px;
	pointer-events: none;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(-50%, -15px, 0);
	transition: 0.2s;
}
.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner {
	background-color: #fff;
	color: #333;
	padding: 20px;
	text-align: center;
	white-space: nowrap;
	filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	position: relative;
}
.ec-headerMenu .ec-headerMenu__itemPopup .itemPopupInner:after {
	content: "";
	width: 0;
	height: 0;
	border: solid 10px transparent;
	border-bottom-color: #fff;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
}

/* ----------------------------------------
   Header Search
   ---------------------------------------- */
/* Base input style (from dtJEIA4004_style.css line 8511) */
.ec-headerSearch .ec-input input {
	display: block;
	width: 100%;
	height: auto;
	padding: 0.5em 0.75em;
	font-size: 16px;
	line-height: 1.3;
	color: var(--clrInputColor, #333);
	background-color: var(--clrInputBg, #fff);
	background-image: none;
	border: 1px solid var(--clrInputBorder, #ccc);
	border-radius: var(--inputBorderRadius, 0px);
	-webkit-appearance: none;
	appearance: none;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.ec-headerSearch .ec-input input::placeholder {
	color: #bbb;
}
.ec-headerSearch .ec-headerSearch__wrap {
	display: flex;
	align-items: center;
	background-color: #ccc;
	padding: 5px;
}
.ec-headerSearch .ec-headerSearch__category {
	margin-right: 1px;
}
.ec-headerSearch .ec-headerSearch__category .ec-select,
.ec-headerSearch .ec-headerSearch__category .ec-birth {
	margin: 0;
}
.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui:after,
.ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui:after {
	display: none;
}
.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui select,
.ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui select {
	display: block;
	font-size: 13px;
	height: 40px;
	padding: 5px 0.7em !important;
	border: none;
	max-width: 50vh;
}
.ec-headerSearch .ec-headerSearch__keyword {
	flex: 1 1 auto;
	position: relative;
}
.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
	border: none;
	margin: 0;
	border-radius: 0;
	font-size: 16px;
	height: 40px;
	padding-left: 1em;
	padding-right: 40px;
}
.ec-headerSearch .ec-headerSearch__keywordBtn {
	border: none;
	background: none;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	font-size: 20px;
	color: #555;
}

/* Header Search Body (dropdown) */
.ec-headerMenu .ec-headerSearch__body {
	position: absolute;
	top: 100%;
	z-index: 998;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: 0.3s;
}
.ec-headerMenu .ec-headerSearch__body.is-active {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

/* ----------------------------------------
   Cart Navigation
   ---------------------------------------- */
.ec-cartNavi {
	position: relative;
}
.ec-cartNavi .ec-cartNavi__badge {
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "Poppins", "Noto Sans JP", sans-serif;
	font-size: 10px;
	line-height: 1;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background-color: #f55;
	color: #fff;
	pointer-events: none;
	position: absolute;
	top: 0px;
	right: 0px;
}
.ec-cartNavi .ec-cartNavi__body {
	position: absolute;
	top: 100%;
	right: 0;
	width: 320px;
	display: inline-block;
	padding-top: 14px;
	pointer-events: none;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, -15px, 0);
	transition: 0.2s;
}
.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap {
	background-color: #fff;
	color: #333;
	padding: 20px;
	filter: drop-shadow(0 0 1px #ddd) drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));
	position: relative;
}
.ec-cartNavi .ec-cartNavi__body .ec-cartNaviWrap:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	bottom: 100%;
	right: 10px;
	border: solid 10px transparent;
	border-bottom-color: #fff;
}
.ec-cartNavi:hover .ec-cartNavi__body {
	visibility: visible;
	opacity: 1;
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
}


/* ============================================================
   DRAWER & OVERLAY
   ============================================================ */

.ec-drawerRole {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	box-sizing: border-box;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	background-color: var(--clrDrawerBg, #111214);
	color: var(--clrDrawerText, #fff);
	visibility: hidden;
	transform: translate3d(-100%, 0, 0);
	transition: 0.3s;
}
.ec-drawerRole.is-active {
	visibility: visible;
	transform: translate3d(0, 0, 0);
}

.ec-drawerRoleClose {
	display: none;
}

.ec-overlayRole {
	position: fixed;
	width: 100%;
	left: 0;
	background: hsla(0, 0%, 0%, 0.75);
	z-index: 99;
	visibility: hidden;
	opacity: 0;
	transition: 0.4s;
}
body.have_curtain .ec-overlayRole {
	visibility: visible;
	opacity: 1;
}

/* ----------------------------------------
   Drawer Menu (content inside drawer)
   ---------------------------------------- */
.ec-drawerMenu {
	font-size: 13.9275px !important;
}
.ec-drawerMenu:last-child {
	padding-bottom: 50px;
}
.ec-drawerMenu .ec-drawerMenu__item {
	border-bottom: dotted 1px var(--clrDrawerBorder, rgba(255, 255, 255, 0.4));
}
.ec-drawerMenu .ec-drawerMenu__item a {
	display: block;
	padding: 0.75em 0;
	padding-right: 2em;
	color: inherit;
	position: relative;
}
.ec-drawerMenu .ec-drawerMenu__itemIcon {
	display: inline-block;
	vertical-align: middle;
	color: var(--clrDrawerIcon, #aaa);
	margin-left: 5px;
}
.ec-drawerMenu .ec-drawerMenu__itemBadge {
	display: inline-block;
	font-size: 10px;
	line-height: 1.6em;
	width: 1.6em;
	height: 1.6em;
	text-align: center;
	border-radius: 50%;
	background-color: #f55;
	color: #fff;
	font-family: "Poppins", "Noto Sans JP", sans-serif;
	pointer-events: none;
}
.ec-drawerMenu .ec-drawerMenu__item.has-category {
	position: relative;
}
.ec-drawerMenu .categoryOpenBtn:after {
	font-family: "jeiafont";
	content: "\e902";
	font-size: 1em;
	display: block;
	width: 2em;
	height: 2em;
	line-height: 2em;
	cursor: pointer;
	text-align: center;
	position: absolute;
	top: 0.5em;
	right: 0;
	transition: 0.2s;
}
.ec-drawerMenu .categoryOpenBtn.is-open:after {
	transform: rotate(90deg);
}
.ec-drawerMenu .ec-drawerMenu__category ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.ec-drawerMenu .ec-drawerMenu__category ul li {
	margin: 0;
	padding: 0;
}
.ec-drawerMenu .ec-drawerMenu__category ul li a {
	display: block;
	padding: 0.5em 0;
	padding-right: 2em;
	color: inherit;
}
.ec-drawerMenu .ec-drawerMenu__category ul li.has-child {
	position: relative;
}
.ec-drawerMenu .ec-drawerMenu__category ul.parent {
	display: none;
	margin-bottom: 1em;
}
.ec-drawerMenu .ec-drawerMenu__category ul.parent > li > a:before {
	content: none;
}
.ec-drawerMenu .ec-drawerMenu__category ul.child {
	margin-left: 0.75em;
	padding-left: 0.75em;
	border-left: solid 1px var(--clrDrawerBorder2, rgba(255, 255, 255, 0.3));
	display: none;
}
.ec-drawerMenu.footerNav {
	margin-top: 20px;
}


/* ============================================================
   FOOTER
   ============================================================ */

.ec-footerRole {
	background-color: var(--clrFooterBg, #252525);
	color: var(--clrFooterText, #aaa);
}
.ec-footerRole .ec-footerRole__inner {
	margin-left: auto;
	margin-right: auto;
	box-sizing: content-box;
	width: auto !important;
	max-width: 1480px;
	margin: 0 auto;
}

/* ----------------------------------------
   Footer Guide
   ---------------------------------------- */
.ec-footerGuide .ec-footerGuide__wrap {
	display: flex;
	justify-content: center;
	flex-flow: row wrap;
}
.ec-footerGuide .ec-footerGuide__item {
	flex: 0 0 33.3%;
	display: flex;
	align-items: center;
	border-left: solid 1px var(--clrFooterBorder, #555);
}
.ec-footerGuide .ec-footerGuide__item:first-child {
	border-left: none;
}
.ec-footerGuide .ec-footerGuide__itemIcon {
	font-size: 30px !important;
	margin-right: 20px;
}
.ec-footerGuide .ec-footerGuide__itemText h3,
.ec-footerGuide .ec-footerGuide__itemText .h3 {
	font-family: "Oswald", "Noto Sans JP", sans-serif !important;
	font-weight: 400 !important;
	font-size: 1.154em !important;
	color: var(--clrFooterTitleText, #fff);
	margin: 0;
	margin-bottom: 0.5em;
}
.ec-footerGuide .ec-footerGuide__itemText p {
	margin: 0;
}

/* ----------------------------------------
   Footer Navigation
   ---------------------------------------- */
.ec-footerNavi {
	border-top: solid 1px var(--clrFooterBorder, #555);
}
.ec-footerNavi .ec-footerNavi__wrap {
	display: flex !important;
	flex-flow: row wrap !important;
	justify-content: space-between !important;
}
.ec-footerNavi .ec-footerNavi__item h3,
.ec-footerNavi .ec-footerNavi__item .h3 {
	font-family: "Oswald", "Noto Sans JP", sans-serif !important;
	font-weight: 400 !important;
	font-size: 1.1em !important;
	color: var(--clrFooterTitleText, #fff);
	margin: 0;
	margin-bottom: 1em;
}
.ec-footerNavi .ec-footerNavi__itemList {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ec-footerNavi .ec-footerNavi__itemList li a {
	display: block;
	padding: 2px 0;
	color: inherit;
	white-space: nowrap;
}
.ec-footerNavi .ec-footerNavi__itemList li a:hover {
	text-decoration: underline;
}

/* ----------------------------------------
   Footer Address
   ---------------------------------------- */
.ec-footerAddress {
	margin: 0;
}
.ec-footerAddress h4,
.ec-footerAddress .h4 {
	font-family: "Poppins", "Noto Sans JP", sans-serif !important;
	font-weight: 400 !important;
	font-size: 1em !important;
	margin: 0;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	color: inherit;
}
.ec-footerAddress .ec-footerAddress__icon {
	font-size: 1.5em;
	margin-right: 4px;
}
.ec-footerAddress .ec-footerAddress__icon + span {
	color: var(--clrFooterTitleText, #fff);
}
.ec-footerAddress a {
	color: inherit;
}

/* ----------------------------------------
   Footer Title & Copyright
   ---------------------------------------- */
.ec-footerTitle {
	font-family: "Poppins", "Noto Sans JP", sans-serif !important;
	text-align: center;
	line-height: 1.2 !important;
}
.ec-footerTitle .ec-footerTitle__logo {
	font-size: 1.5em;
	color: var(--clrFooterTitleText, #fff);
	margin-bottom: 0.5em;
}
.ec-footerTitle .ec-footerTitle__logo a {
	color: inherit;
}
.ec-footerTitle .ec-footerTitle__copyright {
	font-size: 12px;
}


/* ============================================================
   MEDIA QUERIES
   ============================================================ */

/* ------ min-width: 768px (Tablet + Desktop) ------ */
@media only screen and (min-width: 768px) {
	.ec-footerRole {
		font-size: 12.999px !important;
	}
	.ec-footerGuide {
		padding-top: 3.906vw;
		padding-bottom: 3.906vw;
	}
	.ec-footerGuide .ec-footerGuide__wrap {
		margin-left: -15px;
		margin-right: -15px;
	}
	.ec-footerGuide .ec-footerGuide__item {
		padding: 0 15px;
		display: block;
	}
	.ec-footerGuide .ec-footerGuide__itemIcon {
		margin-bottom: 0.25em;
	}
	.ec-footerGuide .ec-footerGuide__itemText p {
		line-height: 1.3;
	}
	.ec-footerNavi {
		padding-top: 3.906vw;
	}
	.ec-footerNavi .ec-footerNavi__wrap {
		margin-left: -15px;
		margin-right: -15px;
	}
	.ec-footerNavi .ec-footerNavi__item {
		margin-top: 3.906vw;
		flex: 0 0 auto !important;
		width: 50% !important;
		padding: 0 15px;
		order: 1;
	}
	.ec-footerNavi .ec-footerNavi__item.contactUs {
		order: 3;
	}
	.ec-footerNavi .ec-footerNavi__item.businessHours {
		order: 5;
	}
	.ec-footerNavi .ec-footerNavi__item.footerCalendar {
		order: 4;
	}
	.ec-footerNavi .ec-footerNavi__item:nth-child(2),
	.ec-footerNavi .ec-footerNavi__item:nth-child(3) {
		margin-top: 0;
	}
	.ec-footerTitle {
		padding-top: 1.953vw;
		padding-bottom: 1.953vw;
	}
}

/* ------ min-width: 768px and max-width: 1279px (Tablet) ------ */
@media only screen and (min-width: 768px) and (max-width: 1279px) {
	/* Header */
	.ec-headerRole {
		height: 50px;
		padding: 0;
		position: relative;
	}
	.ec-headerRole .ec-headerRole__left {
		display: none;
	}
	.ec-headerRole .ec-headerRole__center {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-start;
	}
	.ec-headerRole .ec-headerRole__right {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
		padding-right: 10px;
	}
	.ec-headerTitle {
		height: 100%;
	}
	.ec-headerTitle a {
		display: flex;
		align-items: center;
		height: 100%;
	}
	.ec-headerTitle a img {
		height: 45px;
		width: auto;
	}
	.ec-headerMenu .ec-headerMenu__itemPopup {
		display: none;
	}
	.ec-headerMenu .ec-headerSearch__body {
		width: 100%;
		left: 0;
	}

	/* Drawer */
	.ec-drawerButton {
		width: 50px;
		height: 50px;
		padding: 12px;
	}
	.ec-drawerRole {
		max-width: 400px;
		height: calc(100vh - 50px);
		top: 50px;
		padding-left: 3.906vw;
		padding-right: 3.906vw;
	}
	.ec-overlayRole {
		height: calc(100vh - 50px);
		top: 50px;
	}

	/* Footer */
	.ec-footerRole .ec-footerRole__inner {
		padding-left: 3.906vw;
		padding-right: 3.906vw;
	}
}

/* ------ max-width: 1279px (Tablet + Mobile) ------ */
@media screen and (max-width: 1279px) {
	.ec-headerNav__item.has-submenu .submenu__body {
		display: block;
	}
}

/* ------ min-width: 1280px (Desktop) ------ */
@media only screen and (min-width: 1280px) {
	/* Header */
	.ec-headerRole {
		padding-left: 40px;
		padding-right: 40px;
		height: 100px;
		transition: 0.3s;
	}
	/* Scroll shrink (from dtJEIA4004 L19301-19302) */
	body.scrolled .ec-layoutRole__header .ec-headerRole {
		height: 50px;
	}
	.ec-headerRole .ec-headerRole__left {
		flex: 1 1 37.5%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.ec-headerRole .ec-headerRole__center {
		flex: 1 1 25%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.ec-headerRole .ec-headerRole__right {
		flex: 1 1 37.5%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.ec-headerTitle {
		height: 100%;
	}
	.ec-headerTitle a {
		display: flex;
		height: 100%;
		justify-content: center;
		align-items: center;
	}
	.ec-headerTitle a img {
		width: auto;
		height: 100%;
		max-height: var(--headerLogoHeight, 80px);
	}
	.ec-headerSearch .ec-headerSearch__category .ec-select .select_ui select,
	.ec-headerSearch .ec-headerSearch__category .ec-birth .select_ui select {
		max-width: 12em;
	}
	.ec-headerSearch .ec-headerSearch__keyword input[type=search] {
		font-size: 13px;
	}
	.ec-headerMenu {
		position: relative;
	}
	.ec-headerMenu .ec-headerSearch__body {
		left: 0;
		width: 380px;
		padding-top: 14px;
	}
	.ec-headerMenu .ec-headerSearch__wrap {
		position: relative;
	}
	.ec-headerMenu .ec-headerSearch__wrap:after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		position: absolute;
		bottom: 100%;
		left: 10px;
		border: solid 10px transparent;
		border-bottom-color: #ccc;
	}

	/* Drawer & Overlay hidden on desktop */
	.ec-drawerButton {
		display: none;
	}
	.ec-drawerRole {
		display: none;
	}
	.ec-overlayRole {
		display: none;
	}

	/* Footer */
	.ec-footerRole {
		font-size: 12.999px !important;
	}
	.ec-footerRole .ec-footerRole__inner {
		padding-left: 40px;
		padding-right: 40px;
	}
	.ec-footerGuide {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.ec-footerGuide .ec-footerGuide__wrap {
		margin-left: -20px;
		margin-right: -20px;
	}
	.ec-footerGuide .ec-footerGuide__item {
		padding: 0 20px;
	}
	.ec-footerGuide .ec-footerGuide__itemIcon {
		font-size: 32px;
	}
	.ec-footerNavi {
		padding-top: 40px;
	}
	.ec-footerNavi .ec-footerNavi__wrap {
		margin-left: -20px;
		margin-right: -20px;
	}
	.ec-footerNavi .ec-footerNavi__item {
		flex: 0 0 auto !important;
		width: auto !important;
		order: 0 !important;
		margin-top: 0;
		padding: 0 20px;
	}
	.ec-footerTitle {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

/* ------ max-width: 767px (Mobile) ------ */
@media only screen and (max-width: 767px) {
	/* Header */
	.ec-headerRole {
		height: 45px;
		padding: 0;
		position: relative;
	}
	.ec-headerRole .ec-headerRole__left {
		display: none;
	}
	.ec-headerRole .ec-headerRole__center {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-start;
	}
	.ec-headerRole .ec-headerRole__right {
		flex: 1 1 auto;
		display: flex;
		justify-content: flex-end;
		padding-right: 10px;
	}
	.ec-headerTitle {
		height: 100%;
	}
	.ec-headerTitle a {
		display: flex;
		align-items: center;
		height: 100%;
	}
	.ec-headerTitle a img {
		height: 40px;
		width: auto;
	}
	.ec-headerMenu .ec-headerMenu__item {
		padding: 0;
	}
	.ec-headerMenu .ec-headerMenu__item.hidden_mobile {
		display: none;
	}
	.ec-headerMenu .ec-headerMenu__itemText {
		display: none;
	}
	.ec-headerMenu .ec-headerMenu__itemPopup {
		display: none;
	}
	.ec-headerMenu .ec-headerSearch__body {
		width: 100%;
		left: 0;
	}

	/* Drawer */
	.ec-drawerButton {
		width: 45px;
		height: 45px;
		padding: 10px;
	}
	.ec-drawerRole {
		height: calc(100vh - 45px);
		top: 45px;
		padding-left: 6.25vw;
		padding-right: 6.25vw;
	}
	.ec-overlayRole {
		height: calc(100vh - 45px);
		top: 45px;
	}

	/* Footer */
	.ec-footerRole {
		font-size: 13.9275px !important;
	}
	.ec-footerRole .ec-footerRole__inner {
		padding-left: 6.25vw;
		padding-right: 6.25vw;
	}
	.ec-footerGuide {
		padding-top: 6.25vw;
	}
	.ec-footerGuide .ec-footerGuide__item {
		flex-basis: 100%;
		padding: 0;
		border-left: none;
		margin-bottom: 6.25vw;
	}
	.ec-footerGuide .ec-footerGuide__itemText p {
		line-height: 1.3;
	}
	.ec-footerNavi {
		padding-top: 6.25vw;
	}
	.ec-footerNavi .ec-footerNavi__item {
		margin-top: 6.25vw;
		flex: 0 0 auto;
		width: 100%;
		padding: 0;
		order: 1;
	}
	.ec-footerNavi .ec-footerNavi__item.contactUs {
		order: 3;
	}
	.ec-footerNavi .ec-footerNavi__item.businessHours {
		order: 4;
	}
	.ec-footerNavi .ec-footerNavi__item.footerCalendar {
		order: 5;
	}
	.ec-footerNavi .ec-footerNavi__item:nth-child(2) {
		margin-top: 0;
	}
	.ec-footerTitle {
		padding-top: 3.125vw;
		padding-bottom: 3.125vw;
	}
}

/* ------ IE11 fallback ------ */
@media all and (-ms-high-contrast: none) {
	*::-ms-backdrop, .ec-footerGuide .ec-footerGuide__item {
		max-width: 33.3%;
	}
}
