.elementor-2568 .elementor-element.elementor-element-c888796:not(.elementor-motion-effects-element-type-background), .elementor-2568 .elementor-element.elementor-element-c888796 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B5FFF;}.elementor-2568 .elementor-element.elementor-element-c888796, .elementor-2568 .elementor-element.elementor-element-c888796 > .elementor-background-overlay{border-radius:0px 0px 30px 30px;}.elementor-2568 .elementor-element.elementor-element-c888796{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0.5% 15% 0.5% 15%;}.elementor-2568 .elementor-element.elementor-element-c888796 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-2568 .elementor-element.elementor-element-501856c.elementor-column .elementor-widget-wrap{align-items:space-between;}.elementor-2568 .elementor-element.elementor-element-501856c.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:space-between;align-items:space-between;}.elementor-2568 .elementor-element.elementor-element-501856c.elementor-column > .elementor-widget-wrap{justify-content:space-between;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2568 .elementor-element.elementor-element-f81ae55{width:auto;max-width:auto;align-self:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2568 .elementor-element.elementor-element-82986d0{width:auto;max-width:auto;align-self:center;}.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-menu-toggle{margin:0 auto;}.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu .elementor-item{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;}.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item{color:#FFFFFFCC;fill:#FFFFFFCC;}.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item:focus{color:#FFFFFF;fill:#FFFFFF;}.elementor-2568 .elementor-element.elementor-element-82986d0 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#FFFFFF;}.elementor-2568 .elementor-element.elementor-element-c3fcc65 > .elementor-container{max-width:500px;}.elementor-2568 .elementor-element.elementor-element-c745ae5{--spacer-size:100px;}@media(min-width:768px){.elementor-2568 .elementor-element.elementor-element-501856c{width:100%;}}/* Start custom CSS for nav-menu, class: .elementor-element-82986d0 */.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	position: absolute !important;
	top: 100% !important;
	right: 0 !important;
	width: 280px !important;
	max-width: 80vw !important;
	box-sizing: border-box !important;
	z-index: 999999 !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-c888796 */.elementor-2568 .elementor-element.elementor-element-c888796 {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	background: #fff;
}

body:not(.admin-bar) main { padding-top: 90px; }
.admin-bar main { padding-top: 122px; }

.main_menu li.menu-item > a,
.elementor-nav-menu li.menu-item > a {
	position: relative !important;
	overflow: visible !important;
	padding-right: 28px !important;
}

.main_menu li.menu-item > a::after,
.elementor-nav-menu li.menu-item > a::after {
    background: transparent !important;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
		font-size: 14px;             /* ← smaller icon (was inheriting the menu's size) */
	content: "\f107" !important;
	display: inline-block;
	visibility: visible !important;
	opacity: 0.5 !important;
	color: #ffffff;
	position: absolute !important;
	right: 13px !important;
	top: 50% !important;
	transform: translateY(-45%);
	margin: 0 !important;
	line-height: 1;
}/* End custom CSS */
/* Start custom CSS *//* ====================================================
   1. Header: don't clip the mobile dropdown
   ==================================================== */
#header-section,
#header-section .elementor-container,
#header-section .elementor-column,
#header-section .elementor-widget-wrap,
#header-section .elementor-widget-nav-menu,
#header-section .elementor-widget-container {
	overflow: visible !important;
}

/* ====================================================
   2. Nav menu widget = positioning anchor
   ==================================================== */
.elementor-widget-nav-menu {
	position: relative !important;
	z-index: 1000002 !important;
}

/* Hamburger button */
.elementor-menu-toggle {
	position: relative !important;
	z-index: 1000003 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

/* ====================================================
   3. Dropdown: right-anchored, grows leftward
   ==================================================== */
.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	position: absolute !important;
	top: 100% !important;
	right: 0 !important;
	/* NO left property — this is what fixes the clipping */
	width: 280px !important;          /* adjust: 260 / 280 / 300 / 320 */
	max-width: 80vw !important;       /* never exceed viewport */
	box-sizing: border-box !important;
	margin: 0 !important;
	background-color: #ffffff !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
	border-radius: 10px !important;
	z-index: 999999 !important;
}

/* Open state */
.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container,
.elementor-nav-menu--dropdown.elementor-nav-menu__container.elementor-active {
	display: block !important;
	transform: scaleY(1) !important;
	max-height: 80vh !important;
	opacity: 1 !important;
	visibility: visible !important;
	overflow-y: auto !important;
}

/* Dropdown list styling */
.elementor-nav-menu--dropdown .elementor-nav-menu,
.elementor-nav-menu--dropdown .elementor-nav-menu li,
.elementor-nav-menu--dropdown .elementor-nav-menu li a {
	width: 100% !important;
	box-sizing: border-box !important;
}

.elementor-nav-menu--dropdown a {
	display: block !important;
	color: #333333 !important;
	padding: 12px 20px !important;
}

/* ====================================================
   4. Responsive breakpoint rules (unchanged)
   ==================================================== */
@media (max-width: 1600px) {
	#header-section {
		padding-left: 8% !important;
		padding-right: 8% !important;
	}
}

@media (max-width: 1350px) {
	.elementor-nav-menu li.menu-item > a,
	.main_menu li.menu-item > a {
		font-size: 14px !important;
	}

	#logo-image img {
		height: 32px !important;
		width: auto !important;
	}

	#header-section {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}

@media (max-width: 1150px) {
	.elementor-nav-menu li.menu-item > a,
	.main_menu li.menu-item > a {
		font-size: 12px !important;
	}

	#logo-image img {
		height: 28px !important;
		width: auto !important;
	}

	#header-section {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}/* End custom CSS */