.elementor-1698 .elementor-element.elementor-element-5a386e59{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1698 .elementor-element.elementor-element-5a386e59:not(.elementor-motion-effects-element-type-background), .elementor-1698 .elementor-element.elementor-element-5a386e59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1698 .elementor-element.elementor-element-18542cff{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1698 .elementor-element.elementor-element-3626bcd8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1698 .elementor-element.elementor-element-3626bcd8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-theme-site-logo .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-1698 .elementor-element.elementor-element-6f1b1258{text-align:start;}.elementor-1698 .elementor-element.elementor-element-6f1b1258 img{width:auto;height:60px;}.elementor-1698 .elementor-element.elementor-element-5f4b8829{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1698 .elementor-element.elementor-element-575689e2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1698 .elementor-element.elementor-element-4ee71f68{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1698 .elementor-element.elementor-element-4ee71f68:not(.elementor-motion-effects-element-type-background), .elementor-1698 .elementor-element.elementor-element-4ee71f68 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1698 .elementor-element.elementor-element-7838f160{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1698 .elementor-element.elementor-element-4a8a487d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1698 .elementor-element.elementor-element-4a8a487d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1698 .elementor-element.elementor-element-7aa0511{text-align:start;}.elementor-1698 .elementor-element.elementor-element-7aa0511 img{height:60px;}.elementor-1698 .elementor-element.elementor-element-5eabc8fd{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1698 .elementor-element.elementor-element-71acd3d8 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-1698 .elementor-element.elementor-element-5a386e59{--width:100%;}.elementor-1698 .elementor-element.elementor-element-4ee71f68{--width:100%;}}@media(max-width:1201px) and (min-width:768px){.elementor-1698 .elementor-element.elementor-element-3626bcd8{--width:30%;}.elementor-1698 .elementor-element.elementor-element-5f4b8829{--width:70%;}.elementor-1698 .elementor-element.elementor-element-4a8a487d{--width:30%;}.elementor-1698 .elementor-element.elementor-element-5eabc8fd{--width:70%;}}@media(max-width:1201px){.elementor-1698 .elementor-element.elementor-element-5a386e59{--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}.elementor-1698 .elementor-element.elementor-element-4ee71f68{--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}}@media(max-width:767px){.elementor-1698 .elementor-element.elementor-element-5a386e59{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1698 .elementor-element.elementor-element-3626bcd8{--width:40%;--justify-content:center;}.elementor-1698 .elementor-element.elementor-element-6f1b1258 img{width:100%;}.elementor-1698 .elementor-element.elementor-element-5f4b8829{--width:60%;--justify-content:flex-start;}.elementor-1698 .elementor-element.elementor-element-575689e2 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1698 .elementor-element.elementor-element-4ee71f68{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1698 .elementor-element.elementor-element-4a8a487d{--width:40%;--justify-content:center;}.elementor-1698 .elementor-element.elementor-element-7aa0511 img{width:100%;}.elementor-1698 .elementor-element.elementor-element-5eabc8fd{--width:60%;--justify-content:flex-start;}.elementor-1698 .elementor-element.elementor-element-71acd3d8 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-59da0e47 *//* 全体のスタイル */
.hamburger-menu-wrapper {
    position: relative;
    font-family: 'M Plus 1', sans-serif;
}

/* ハンバーガーアイコン */
.hamburger-icon {
    font-size: 32px;
    cursor: pointer;
    color: #777777;
    z-index: 1000;
}

/* 背景オーバーレイ */
.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    backdrop-filter: blur(5px);
}

/* オーバーレイがアクティブな場合 */
.overlay.active {
    display: block;
}

/* メニュー全体 */
.menu {
    position: fixed;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    background: #fff;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
    z-index: 999;
    transition: right 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

/* メニューがアクティブな場合 */
.menu.active {
    right: 0;
}

/* メニューのヘッダー */
.menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 35px 50px;
    border-bottom: 1px solid #ddd;
}

.menu-logo {
    max-height: 40px;
}

.close-menu {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
}

/* メニューリスト */
.menu-list {
    list-style: none;
    padding: 20px 50px !important;
    margin: 0;
}

/* メニューアイテム */
.menu-item {
    position: relative;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 500;
    border-bottom: 1px solid #ddd;
    color: #777777;
    cursor: pointer;
    list-style: none;/* 1223追加 */
}


.menu-item:hover,
.menu-item.active {

}

/* サブメニュー */
.submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    padding-left: 20px;
    width: 100%;
}

/* サブメニューアイテム */
.submenu-item {
    position: relative;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 500;
    color: #777777;
    cursor: pointer;
}

/* サブメニューのアイコン */
.menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

/* トグルアイコン（＋/−） */
.toggle-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 500;
    color: #777777;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* トグルアイコンがアクティブな場合 */
.menu-link.active .toggle-icon {
    transform: translateY(-50%) rotate(45deg);
    color: #000;
}

/* サブメニューアイテムのトグルアイコン */
.submenu-item .toggle-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 500;
    color: #AAAAAA;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* サブメニューアイテムがアクティブな場合 */
.submenu-item.active .toggle-icon {
    transform: translateY(-50%) rotate(45deg);
    color: #000;
}

.e-con-inner{
    width: 900px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-575689e2 *//* ハンバーガーメニュー全体 */
.hamburger-menu-wrapper.sp {
    position: relative;
    font-family: 'M Plus 1', sans-serif;
    z-index: 1000;
}

/* ハンバーガーアイコン */
.hamburger-icon.sp {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
    z-index: 1001;
    right: 20px;
    border-radius: 50%;
    padding: 10px;
}

/* 背景オーバーレイ */
.overlay.sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    backdrop-filter: blur(5px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.overlay.sp.active {
    display: block;
    opacity: 1;
}

/* メニュー全体 */
.menu.sp {
    position: fixed;
    top: -70%;
    left: 0;
    width: 100%;
    height: 70%;
    background: #fff;
    z-index: 999;
    transition: top 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    padding: 0px;/* ここ修正かな */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.menu.sp.active {
    top: 0;
}

/* メニューのヘッダー */
.menu-header.sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    border-bottom: 1px solid #ddd;
}

.menu-logo {
    max-height: 40px;
}

.close-menu.sp {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
}

/* メニューリスト */
.menu-list {
    list-style: none;
    padding: 20px;
    margin: 0;
    overflow-y: auto;
}

.menu-item {
    position: relative;
    padding: 15px 0;
    font-size: 18px;
    font-weight: 500;
    border-bottom: 1px solid #ddd;
    color: #777777;
    cursor: pointer;
}

.menu-item:hover,
.menu-item.active {
    color: #000;
}

/* サブメニュー */
.submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    padding-left: 20px;
    background: #fff;
}

.submenu-item {
    padding: 10px 0;
    font-size: 16px;
    font-weight: 400;
    color: #555;
    cursor: pointer;
}

.submenu-item:hover {
    color: #000;
    background: #eee;
}

/* トグルアイコン */
.menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.toggle-icon {
    font-size: 18px;
    color: #555;
    transition: transform 0.3s ease;
}

.menu-link.active .toggle-icon {
    transform: rotate(45deg);
    color: #000;
}

.submenu.pc.active{
    background-color: #fff;
    border: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-343fead5 *//* 全体のスタイル */
.hamburger-menu-wrapper {
    position: relative;
    font-family: 'M Plus 1', sans-serif;
}

/* ハンバーガーアイコン */
.hamburger-icon {
    font-size: 32px;
    cursor: pointer;
    color: #777777;
    z-index: 1000;
}

/* 背景オーバーレイ */
.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    backdrop-filter: blur(5px);
}

/* オーバーレイがアクティブな場合 */
.overlay.active {
    display: block;
}

/* メニュー全体 */
.menu {
    position: fixed;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    background: #fff;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
    z-index: 999;
    transition: right 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

/* メニューがアクティブな場合 */
.menu.active {
    right: 0;
}

/* メニューのヘッダー */
.menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 35px 50px;
    border-bottom: 1px solid #ddd;
}

.menu-logo {
    max-height: 40px;
}

.close-menu {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
}

/* メニューリスト */
.menu-list {
    list-style: none;
    padding: 20px 50px !important;
    margin: 0;
}

/* メニューアイテム */
.menu-item {
    position: relative;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 500;
    border-bottom: 1px solid #ddd;
    color: #777777;
    cursor: pointer;
}

/* ホバーまたはアクティブなメニューアイテム */
.menu-item:hover,
.menu-item.active {

}

/* サブメニュー */
.submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    padding-left: 20px;
    width: 100%;
}

/* サブメニューアイテム */
.submenu-item {
    position: relative;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 500;
    color: #777777;
    cursor: pointer;
}

/* サブメニューのアイコン */
.menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

/* トグルアイコン（＋/−） */
.toggle-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 500;
    color: #777777;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* トグルアイコンがアクティブな場合 */
.menu-link.active .toggle-icon {
    transform: translateY(-50%) rotate(45deg);
    color: #000;
}

/* サブメニューアイテムのトグルアイコン */
.submenu-item .toggle-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    font-weight: 500;
    color: #AAAAAA;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* サブメニューアイテムがアクティブな場合 */
.submenu-item.active .toggle-icon {
    transform: translateY(-50%) rotate(45deg);
    color: #000;
}

.e-con-inner{
    width: 900px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-71acd3d8 *//* ハンバーガーメニュー全体 */
.hamburger-menu-wrapper.sp {
    position: relative;
    font-family: 'M Plus 1', sans-serif;
    z-index: 1000;
}

/* ハンバーガーアイコン */
.hamburger-icon.sp {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
    z-index: 1001;
    right: 20px;
    border-radius: 50%;
    padding: 10px;
}

/* 背景オーバーレイ */
.overlay.sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    backdrop-filter: blur(5px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.overlay.sp.active {
    display: block;
    opacity: 1;
}

/* メニュー全体 */
.menu.sp {
    position: fixed;
    top: -70%;
    left: 0;
    width: 100%;
    height: 70%;
    background: #fff;
    z-index: 999;
    transition: top 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    padding: 0px;/* ここ修正かな */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.menu.sp.active {
    top: 0;
}

/* メニューのヘッダー */
.menu-header.sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    border-bottom: 1px solid #ddd;
}

.menu-logo {
    max-height: 40px;
}

.close-menu.sp {
    font-size: 24px;
    cursor: pointer;
    color: #777777;
}

/* メニューリスト */
.menu-list {
    list-style: none;
    padding: 20px;
    margin: 0;
    overflow-y: auto;
}

.menu-item {
    position: relative;
    padding: 15px 0;
    font-size: 18px;
    font-weight: 500;
    border-bottom: 1px solid #ddd;
    color: #777777;
    cursor: pointer;
}

.menu-item:hover,
.menu-item.active {
    color: #000;
}

/* サブメニュー */
.submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: none;
    padding-left: 20px;
    background: #fff;
}

.submenu-item {
    padding: 10px 0;
    font-size: 16px;
    font-weight: 400;
    color: #555;
    cursor: pointer;
}

.submenu-item:hover {
    color: #000;
    background: #eee;
}

/* トグルアイコン */
.menu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.toggle-icon {
    font-size: 18px;
    color: #555;
    transition: transform 0.3s ease;
}

.menu-link.active .toggle-icon {
    transform: rotate(45deg);
    color: #000;
}

.submenu.pc.active{
    background-color: #fff;
    border: none;
}/* End custom CSS */