.elementor-45 .elementor-element.elementor-element-fc41791{--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;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;--z-index:999;}.elementor-45 .elementor-element.elementor-element-fc41791:not(.elementor-motion-effects-element-type-background), .elementor-45 .elementor-element.elementor-element-fc41791 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-45{padding: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(max-width:1024px){.elementor-45 .elementor-element.elementor-element-fc41791{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}}/* Start custom CSS for html, class: .elementor-element-4027c62 *//* ============================
   PC Header
============================ */
.tsuta-header {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    z-index: 99999;
    position: fixed;
    
    padding-left: 5%;
    padding-right: 5%;
    box-sizing: border-box;
}

.tsuta-header-inner {
    width: 100%;
    padding: 18px 0;

    display: flex;
    align-items: center;
    justify-content: space-between;
}


.tsuta-header-logo img {
    height: 40px;
}

/* PC nav */
.tsuta-header-nav {
    display: flex;
    gap: 32px;
}

.tsuta-header-nav ul {
    display: flex;
    gap: 25px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tsuta-header-nav a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
    font-weight: 500;
}

.tsuta-header-btn {
    background: #EE869A !important;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 15px;
    border: 2px solid #EE869A !important;
    box-shadow: none !important;
    border: 2px solid #EE869A;
     transition: none !important; /* 動き不要なら */
    transform: none !important;
}

.tsuta-header .tsuta-header-btn:hover {
    background: #fff !important;
    color: #EE869A !important;
    border: 2px solid #EE869A !important;
    box-sizing: border-box;
}


/* SPボタン（PCでは非表示） */
.tsuta-menu-btn {
    display: none;
}

@media(max-width:1000px){
    .tsuta-header-logo img {
    height: 45px;
}

.tsuta-header-inner {
    padding: 15px 24px;
}
}
/* ============================
   TB/SP 切り替え
============================ */
@media (max-width: 1024px) {
    .tsuta-header-nav,
    .tsuta-header-btn {
        display: none;
    }

    .tsuta-header-inner {
        position: relative ;
    }

    /* MENU ボタン */
    .tsuta-menu-btn {
        width: 76px;
        height: 76px;
        background: #008A63;
        border: none;
        color: #fff;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        cursor: pointer;

        position: absolute;
        top: 0;
        right: 0;
        padding-bottom: 5px;
    }

    .tsuta-menu-lines {
        width: 24px;
        height: 2px;
        background: #fff;
        position: relative;
    }

    .tsuta-menu-lines::before,
    .tsuta-menu-lines::after {
        content: "";
        width: 24px;
        height: 2px;
        background: #fff;
        position: absolute;
        left: 0;
    }

    .tsuta-menu-lines::before { top: -6px; }
    .tsuta-menu-lines::after  { top: 6px; }

    .tsuta-menu-text {
        font-size: 12px;
        margin-top: 8px;
        color: #fff;
        font-weight: 600;
    }
    
     .tsuta-header-inner {
        height: auto !important;
    }

    .tsuta-menu-btn {
        height: 100% !important;  /* ← header の高さに合わせる */
        padding: 0 !important;    /* 余計な高さ調整を防ぐ */
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
     .tsuta-header{
        padding: 0;
    }
}


   

/* ============================
   SP ポップアップメニュー
============================ */

.tsuta-menu-popup {
    position: fixed;
    inset: 0;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: opacity .35s ease, visibility .35s ease;
    z-index: 9999;

    display: flex;
    justify-content: flex-end; 
    align-items: flex-start;
    }

/* ▼ 表示時 */
.tsuta-menu-popup.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ▼ 白いメニューボックス（中央より上） */
.tsuta-menu-popup-inner {
    width: 100%;
    max-width: 90%;
    background: #fff;

    height: auto !important; 
    padding: 40px 30px;
    border-radius: 12px;
    margin-top: 25%;  
    transform: translateX(100%); 
    transition: transform .35s ease;
}

/* ▼ 開いたときに右→左へスライドする */
.tsuta-menu-popup.active .tsuta-menu-popup-inner {
    transform: translateX(0);
}

/* 閉じるボタン */
/* 白いメニュー箱の中を基準にする */
.tsuta-menu-popup-inner {
    position: relative ;
    padding: 60px 30px 40px ; 
}

/* × ボタンは右上に配置 */
.tsuta-popup-close {
    position: absolute !important;
    top: 20px ;
    right: 20px ;
    background: none;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #333;
}

/* メニュー（HOME〜各リンク）は × の下から開始 */
.tsuta-popup-nav {
    padding-top: 40px ; 
}

/* ナビ */
.tsuta-popup-nav ul {
    list-style: none;
    padding: 0;
    margin: 0 0 40px;
}

.tsuta-popup-nav li {
    margin-bottom: 20px;
}

.tsuta-popup-nav a {
    font-size: 18px;
    color: #333;
    text-decoration: none;
}

/* ============================
   Astra の hover を完全固定
============================ */

/* PCヘッダーのお問い合わせ */
.tsuta-header-btn,
.tsuta-header-btn:hover,
.tsuta-header-btn:active,
.tsuta-header-btn:focus {
    box-shadow: none !important;
    transform: none !important;
}

/* SP メニューボタン */
.tsuta-menu-btn,
.tsuta-menu-btn:hover,
.tsuta-menu-btn:active,
.tsuta-menu-btn:focus,
.tsuta-menu-btn:visited {
    background: #008A63 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

/* ハンバーガー線も常に白 */
.tsuta-menu-lines,
.tsuta-menu-lines::before,
.tsuta-menu-lines::after {
    background: #fff !important;
}

/* SPメニュー内リンクも色固定 */
.tsuta-popup-nav a,
.tsuta-popup-nav a:hover,
.tsuta-popup-nav a:active,
.tsuta-popup-nav a:focus {
    color: #333 !important;
    text-decoration: none !important;
}/* End custom CSS */