.elementor-24 .elementor-element.elementor-element-0d83ddd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-88822c8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-24 .elementor-element.elementor-element-177ba08{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right: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-7c3675c *//* =========================================================
   HEADER COMPLETE CSS
========================================================= */

:root {

  --ae-green: #169e7e;
  --ae-pink: #d31652;

  --ae-header-h: 180px;
  --ae-header-h-shrink: 80px;

  --ae-font-body: "IBM Plex Sans JP", system-ui, sans-serif;
  --ae-font-menu: "Montserrat", system-ui, sans-serif;

}


/* =========================================================
   BODY
========================================================= */

body {

  padding-top: var(--ae-header-h);

}

body.has-shrunk {

  padding-top: var(--ae-header-h-shrink);

}

body.nav-open {

  overflow: hidden;

}


/* =========================================================
   HEADER
========================================================= */

.ae-header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: var(--ae-header-h);

  background: #fff;

  z-index: 9999;

  display: flex;
  align-items: center;

  transition:
    height .4s ease,
    box-shadow .4s ease;

}

.ae-header.is-shrunk {

  height: var(--ae-header-h-shrink);

  box-shadow: 0 2px 10px rgba(0,0,0,.08);

}


/* =========================================================
   INNER
========================================================= */

.ae-header__inner {

  width: 100%;
  height: 100%;

  display: flex;

  flex-direction: column;
  justify-content: center;
  align-items: center;

  position: relative;

}

.ae-header.is-shrunk .ae-header__inner {

  flex-direction: row;

  justify-content: flex-start;

  padding-left: 20px;

}


/* =========================================================
   LOGO
========================================================= */

.ae-logo-container {

  padding-top: 20px;

  transition: .4s ease;

}

.ae-header.is-shrunk .ae-logo-container {

  padding-top: 0;

}

.ae-logo {

  display: block;

  position: relative;

  z-index: 10001;

}

.ae-logo img {

  height: 80px;
  width: auto;

  display: block;

  transition: .4s ease;

}

.ae-header.is-shrunk .ae-logo img {

  height: 45px;

}


/* =========================================================
   NAV
========================================================= */

.ae-nav-wrap {

  position: absolute;

  top: 0;
  right: 0;

  height: var(--ae-header-h-shrink);

  display: flex;
  align-items: center;

}

.ae-nav ul {

  display: flex;

  gap: 30px;

  list-style: none;

  margin: 0;
  padding: 0 100px 0 0;

}

.ae-nav a {

  font-family: var(--ae-font-body);

  font-size: 15px;
  font-weight: 600;

  color: #333;

  text-decoration: none;

  letter-spacing: .1em;

  transition: color .3s ease;

}

.ae-nav a:hover {

  color: var(--ae-green);

}

.ae-nav li.current-menu-item a,
.ae-nav li.current_page_item a,
.ae-nav a.active {

  color: var(--ae-pink);

}


/* =========================================================
   BURGER WRAP
========================================================= */

.ae-burger-wrapper {

  display: flex;
  align-items: center;

}


/* =========================================================
   INSTAGRAM
========================================================= */

.ae-instagram-mobile {

  display: none;

}


/* =========================================================
   BURGER
========================================================= */

.ae-burger {

  width: 80px;
  height: 80px;

  display: flex;

  flex-direction: column;
  align-items: center;
  justify-content: center;

  border: none;

  background: var(--ae-green);

  color: #fff;

  cursor: pointer;

  position: relative;

  z-index: 10011;

  transition:
    width .4s ease,
    height .4s ease,
    background .4s ease;

}

.ae-burger__icon {

  position: relative;

  width: 34px;
  height: 16px;

  margin-top: -10px;

}

.ae-burger .bar {

  position: absolute;

  left: 0;

  width: 100%;
  height: 2px;

  background: #fff;

  transition: .4s ease;

}

.ae-burger .bar--top {

  top: 0;

}

.ae-burger .bar--bottom {

  bottom: 2px;

}

.ae-burger__label {

  position: absolute;

  bottom: 15px;

  font-family: var(--ae-font-menu);

  font-size: 11px;
  font-weight: 600;

  transition: .3s ease;

}

.ae-label--close {

  opacity: 0;

  transform: translateY(5px);

}


/* =========================================================
   OPEN
========================================================= */

.ae-burger.is-open {

  background: var(--ae-pink);

}

.ae-burger.is-open .ae-label--menu {

  opacity: 0;

  transform: translateY(-2px);

}

.ae-burger.is-open .ae-label--close {

  opacity: 1;

  transform: translateY(0);

}

.ae-burger.is-open .bar--top {

  top: 50%;

  transform:
    translateY(-50%)
    rotate(45deg);

}

.ae-burger.is-open .bar--bottom {

  top: 50%;
  bottom: auto;

  transform:
    translateY(-50%)
    rotate(-45deg);

}


/* =========================================================
   SLIDE MENU
========================================================= */

.ae-slide-menu {

  position: fixed;

  top: 0;
  right: 0;

  width: 100%;
  height: 100dvh;

  background: #fff;

  z-index: 10010;

  transform: translateX(100%);

  transition:
    transform .6s cubic-bezier(0.19, 1, 0.22, 1);

  pointer-events: none;

}

.ae-burger.is-open + .ae-slide-menu {

  transform: translateX(0);

  pointer-events: auto;

}


/* =========================================================
   MENU INNER
========================================================= */

.ae-slide-menu__inner {

  width: 100%;
  height: 100%;

  display: flex;

  align-items: flex-start;
  justify-content: flex-start;

  overflow-y: auto;

  padding-top: 110px;

}

.ae-template-container {

  width: 100%;

  padding: 30px 24px 60px;

  box-sizing: border-box;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1200px) {

  .ae-nav {

    display: none;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

  :root {

    --ae-header-h: 100px;
    --ae-header-h-shrink: 64px;

  }

  /* HEADER */

  .ae-header__inner {

    flex-direction: row;

    justify-content: space-between;
    align-items: center;

    padding-left: 18px;

  }

  .ae-header.is-shrunk .ae-header__inner {

    padding-left: 16px;

  }


  /* LOGO */

  .ae-logo-container {

    padding-top: 0;

  }

  .ae-logo img {

    height: 44px;

  }

  .ae-header.is-shrunk .ae-logo img {

    height: 38px;

  }


  /* INSTAGRAM */

  .ae-instagram-mobile {

    width: 68px;
    height: 68px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: linear-gradient(
      135deg,
      #405de6 0%,
      #5851db 15%,
      #833ab4 35%,
      #c13584 55%,
      #e1306c 70%,
      #fd1d1d 85%,
      #f77737 95%,
      #fcaf45 100%
    );

    flex-shrink: 0;

    transition:
      width .4s ease,
      height .4s ease;

  }

  .ae-instagram-mobile img {

    width: 24px;
    height: 24px;

    display: block;

  }

  .ae-header.is-shrunk .ae-instagram-mobile {

    width: 58px;
    height: 58px;

  }


  /* BURGER */

  .ae-burger {

    width: 68px;
    height: 68px;

  }

  .ae-header.is-shrunk .ae-burger {

    width: 58px;
    height: 58px;

  }

  .ae-burger__icon {

    width: 28px;
    height: 14px;

    margin-top: -8px;

  }

  .ae-burger__label {

    font-size: 10px;

    bottom: 11px;

  }


  /* MENU */

  .ae-slide-menu {

    width: 100%;
    height: 100dvh;

  }

  .ae-slide-menu__inner {

    padding-top: 110px;

  }

  .ae-template-container {

    padding: 30px 24px 60px;

  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

  :root {

    --ae-header-h: 62px;
    --ae-header-h-shrink: 58px;

  }

  .ae-header__inner {

    padding-left: 14px;

  }

  .ae-logo img {

    height: 38px;

  }

  .ae-header.is-shrunk .ae-logo img {

    height: 34px;

  }


  /* =================================
     通常時 68px
  ================================= */

  .ae-burger,
  .ae-instagram-mobile {

    width: 68px;
    height: 68px;

  }


  /* =================================
     スクロール後 58px
  ================================= */

  .ae-header.is-shrunk .ae-burger,
  .ae-header.is-shrunk .ae-instagram-mobile {

    width: 58px;
    height: 58px;

  }

  .ae-instagram-mobile img {

    width: 36px;
    height: 36px;

  }

  .ae-burger__icon {

    width: 24px;
    height: 12px;

  }

  .ae-burger__label {

    font-size: 9px;

    bottom: 9px;

  }

  .ae-slide-menu__inner {

    padding-top: 90px;

  }

  .ae-template-container {

    padding: 24px 20px 50px;

  }

}/* End custom CSS */