.elementor-5176 .elementor-element.elementor-element-14dcc7c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5176 .elementor-element.elementor-element-ac0b7b0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;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;}/* Start custom CSS for html, class: .elementor-element-ac0b7b0 */:root{
  --spm-navy:#1E3A7A;
  --spm-orange:#D9772B;
  --spm-orange-light:#E68A3F;
  --spm-orange-dark:#C96A20;
}

.spm-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:99999;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(217,119,43,.12);
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  transition:all .3s ease;
}

.spm-header.scrolled{
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.spm-header-inner{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 40px;
  transition:all .3s ease;
}

.spm-header.scrolled .spm-header-inner{
  padding:8px 40px;
}

.spm-logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.spm-logo img{
  height:54px;
  width:auto;
  transition:all .3s ease;
}

.spm-header.scrolled .spm-logo img{
  height:46px;
}

.spm-logo:hover img{
  transform:scale(1.03);
}

.spm-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  font-size:15px;
  font-weight:700;
  flex-wrap:nowrap;
  min-width:0;
}

.spm-nav a,
.spm-dropdown span{
  text-decoration:none;
  color:var(--spm-navy);
  padding:12px 14px;
  border-radius:999px;
  transition:.25s;
  cursor:pointer;
  white-space:nowrap;
}

.spm-nav a:not(.spm-cta):hover,
.spm-dropdown span:hover{
  background:rgba(217,119,43,.08);
  color:var(--spm-orange);
}

.spm-dropdown{
  position:relative;
  flex-shrink:0;
}

.spm-dropdown span::after{
  content:"⌄";
  margin-left:6px;
  font-size:12px;
}

.spm-dropdown-menu{
  position:absolute;
  top:50px;
  left:0;
  min-width:240px;
  background:#fff;
  border-radius:18px;
  padding:10px;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
  border:1px solid rgba(217,119,43,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.25s;
}

.spm-dropdown:hover .spm-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.spm-dropdown-menu a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
}

.spm-dropdown-menu a:hover{
  background:rgba(217,119,43,.08);
}

.spm-cta{
  margin-left:8px;
  background:linear-gradient(135deg,#E68A3F,#D9772B);
  color:#fff !important;
  padding:13px 22px !important;
  border-radius:999px;
  box-shadow:0 10px 25px rgba(217,119,43,.35);
  transition:.3s;
  flex-shrink:0;
}

.spm-cta::after{
  content:" →";
}

.spm-cta:hover{
  background:linear-gradient(135deg,#F09C52,#C96A20);
  transform:translateY(-2px);
  box-shadow:0 14px 35px rgba(217,119,43,.45);
}

.spm-menu-toggle,
.spm-menu-button{
  display:none;
}

body{
  padding-top:86px;
}

/* ---------- タブレット ---------- */

@media(max-width:1024px) and (min-width:769px){

  .spm-header-inner{
    max-width:100%;
    gap:14px;
    padding:12px 24px;
  }

  .spm-header.scrolled .spm-header-inner{
    padding:8px 24px;
  }

  .spm-logo img{
    height:46px;
  }

  .spm-header.scrolled .spm-logo img{
    height:42px;
  }

  .spm-nav{
    gap:4px;
    font-size:13px;
  }

  .spm-nav a,
  .spm-dropdown span{
    padding:10px 8px;
    white-space:nowrap;
  }

  .spm-cta{
    margin-left:4px;
    padding:11px 14px !important;
    font-size:13px;
  }
}

/* ---------- スマホ ---------- */

@media(max-width:768px){

  body{
    padding-top:70px;
  }

  .spm-header-inner{
    max-width:100%;
    padding:12px 18px;
  }

  .spm-header.scrolled .spm-header-inner{
    padding:8px 18px;
  }

  .spm-logo img{
    height:44px;
  }

  .spm-header.scrolled .spm-logo img{
    height:40px;
  }

  .spm-menu-button{
    width:44px;
    height:44px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    background:rgba(30,58,122,.08);
    border-radius:50%;
    cursor:pointer;
    flex-shrink:0;
  }

  .spm-menu-button span{
    width:22px;
    height:2px;
    background:var(--spm-navy);
    transition:.25s;
  }

  .spm-menu-toggle:checked
  + .spm-menu-button span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .spm-menu-toggle:checked
  + .spm-menu-button span:nth-child(2){
    opacity:0;
  }

  .spm-menu-toggle:checked
  + .spm-menu-button span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .spm-nav{
    position:absolute;
    top:72px;
    left:16px;
    right:16px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 20px 50px rgba(0,0,0,.12);
    border:1px solid rgba(217,119,43,.12);
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:8px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:.25s;
  }

  .spm-menu-toggle:checked ~ .spm-nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .spm-nav a,
  .spm-dropdown span{
    display:block;
    width:100%;
    padding:12px 14px;
    font-size:15px;
  }

  .spm-dropdown{
    width:100%;
  }

  .spm-dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    background:rgba(217,119,43,.05);
    margin-top:8px;
  }

  .spm-cta{
    margin-top:10px;
    margin-left:0;
    text-align:center;
    width:100%;
    font-size:15px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-14dcc7c */.elementor-5176 .elementor-element.elementor-element-14dcc7c {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}/* End custom CSS */