.elementor-169 .elementor-element.elementor-element-47a208d{--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-169 .elementor-element.elementor-element-47a208d:not(.elementor-motion-effects-element-type-background), .elementor-169 .elementor-element.elementor-element-47a208d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-169 .elementor-element.elementor-element-cdecf44{--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-169 .elementor-element.elementor-element-8fdcdc0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-8fdcdc0.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-169 .elementor-element.elementor-element-f75fb96{text-align:left;}.elementor-169 .elementor-element.elementor-element-f75fb96 img{width:auto;height:60px;}.elementor-169 .elementor-element.elementor-element-1e5ebcc{--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-169 .elementor-element.elementor-element-d717632 > .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:751px){.elementor-169 .elementor-element.elementor-element-47a208d{--width:100%;}}@media(max-width:1201px) and (min-width:751px){.elementor-169 .elementor-element.elementor-element-8fdcdc0{--width:30%;}.elementor-169 .elementor-element.elementor-element-1e5ebcc{--width:70%;}}@media(max-width:1201px){.elementor-169 .elementor-element.elementor-element-47a208d{--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}}@media(max-width:750px){.elementor-169 .elementor-element.elementor-element-47a208d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-169 .elementor-element.elementor-element-8fdcdc0{--width:40%;--justify-content:center;}.elementor-169 .elementor-element.elementor-element-f75fb96 img{width:100%;}.elementor-169 .elementor-element.elementor-element-1e5ebcc{--width:60%;--justify-content:flex-start;}.elementor-169 .elementor-element.elementor-element-d717632 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-5ed4bb6 *//* 全体のスタイル */
.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: 0px 50px;
    margin: 0;
}

/* メニューアイテム */
.menu-item {
    position: relative;
    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;
    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;
}

.menu-list a {
    padding: 0px 0px;
}

.menu-item{
    padding: 0px;
}

.menu-list li{
    padding:0px;
}

.menu-list > .menu-item > a{
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d717632 *//* ハンバーガーメニュー全体 */
.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: #0097d7;
}

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

.menu-item {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    border-bottom: 1px solid #ddd;
    color: #999999;
    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 {
    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: #0097d7;
}

.submenu.pc.active{
    background-color: #fff;
    border: none;
}

/* メインメニューのリンクにホバー効果を適用 */
.menu-list > .menu-item > a {
    display: block; /* リンク全体をクリック可能に */
    padding: 10px 0; /* 既存のパディングを引き継ぐ */
    color: #999999; /* 初期の文字色 */
    text-decoration: none; /* 下線を除去 */
    transition: background-color 0.3s, color 0.3s; /* スムーズな変化 */
}

.menu-list > .menu-item > a:hover,
.menu-list > .menu-item > a:focus {
    color: #000; /* ホバー時の文字色 */
    background-color: #F2F2F2; /* ホバー時の背景色（明るいグレー） */
}

/* サブメニューのリンクにホバー効果を適用 */
.sub-menu > .menu-item > a {
    display: block;
    color: #555555; /* 初期の文字色 */
    text-decoration: none; /* 下線を除去 */
    transition: background-color 0.3s, color 0.3s; /* スムーズな変化 */
}

.sub-menu > .menu-item > a:hover,
.sub-menu > .menu-item > a:focus {
    color: #000; /* ホバー時の文字色 */
    background-color: #F2F2F2; /* ホバー時の背景色（明るいグレー） */
}

.menu-item{
    padding: 0px 0px;
}/* End custom CSS */