/* ==================================================
   Font Load
   Noto Sans JP
================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');





/* ==================================================
   Property Partners Header
   PC and SP separated
================================================== */



body{
  padding-top:72px !important;
}

.pp-menu-switch,
.pp-acc-check{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.pp-test-header,
.pp-test-header *,
.pp-test-drawer,
.pp-test-drawer *{
  box-sizing:border-box !important;
}

.pp-test-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:9000 !important;
  background:rgba(0,0,0,.92) !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  transition:
    transform .7s cubic-bezier(.22,.75,.22,1),
    background .5s ease,
    box-shadow .5s ease !important;
}

.pp-test-header__inner{
  width:min(1500px,92%) !important;
  height:72px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:28px !important;
}

.pp-test-header a,
.pp-test-header a:hover,
.pp-test-drawer a,
.pp-test-drawer a:hover{
  border-bottom:0 !important;
  text-decoration:none !important;
}

.pp-test-header__logo a{
  display:flex !important;
  align-items:center !important;
}

.pp-test-header__logo img{
  display:block !important;
  width:130px !important;
  height:auto !important;
  filter:brightness(0) invert(1) !important;
}

/* PC NAV */
.pp-test-header__nav{
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
}

.pp-test-nav-item{
  position:relative !important;
}

.pp-test-nav-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:72px !important;
  padding:0 12px !important;
  color:rgba(255,255,255,.92) !important;
 font-family:
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  letter-spacing:.03em !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.pp-test-nav-item.has-sub:hover > .pp-test-nav-link,
.pp-test-nav-link:hover{
  background:#003050 !important;
  color:#fff !important;
}

.pp-test-nav-sub{
  position:absolute !important;
  top:100% !important;
  left:0 !important;
  z-index:9200 !important;
  display:block !important;
  width:260px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  background:#003050 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-6px) !important;
  clip-path:inset(0 0 100% 0) !important;
  transition:
    opacity .22s ease,
    visibility .22s ease,
    transform .36s cubic-bezier(.22,.75,.22,1),
    clip-path .36s cubic-bezier(.22,.75,.22,1) !important;
}

.pp-test-nav-item.has-sub:hover > .pp-test-nav-sub{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
  clip-path:inset(0 0 0 0) !important;
  padding:12px 0 !important;
}

.pp-test-nav-sub li{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.pp-test-nav-sub a{
  display:block !important;
  padding:12px 20px !important;
  color:rgba(255,255,255,.78) !important;
  font-family:
    "Noto Sans JP",
    "Helvetica Neue",
    Arial,
    sans-serif !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.6 !important;
  letter-spacing:.03em !important;
}

.pp-test-nav-sub a:hover{
  color:#fff !important;
  background:rgba(255,255,255,.10) !important;
}

/* PC hides hamburger and drawer */
.pp-test-menu-btn{
  display:none !important;
}

.pp-test-drawer{
  display:none !important;
}

/* Scroll state */
body.pp-header-scrolled .pp-test-header{
  transform:translateY(-24px) !important;
  background:rgba(0,0,0,.55) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.12) !important;
}

/* SP / Tablet */
@media(max-width:1100px){
  body{
    padding-top:66px !important;
  }

  .pp-test-header__inner{
    width:calc(100% - 32px) !important;
    height:66px !important;
  }

  .pp-test-header__logo img{
    width:120px !important;
  }

  .pp-test-header__nav{
    display:none !important;
  }

  .pp-test-menu-btn{
    display:flex !important;
    width:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.35) !important;
    background:transparent !important;
    cursor:pointer !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:6px !important;
    position:relative !important;
    z-index:9300 !important;
  }

  .pp-test-menu-btn span{
    display:block !important;
    width:22px !important;
    height:1px !important;
    background:#fff !important;
    transition:transform .22s ease, opacity .22s ease !important;
  }

  #ppMenuSwitch:checked ~ .pp-test-header .pp-test-menu-btn span:nth-child(1){
    transform:translateY(7px) rotate(35deg) !important;
  }

  #ppMenuSwitch:checked ~ .pp-test-header .pp-test-menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  #ppMenuSwitch:checked ~ .pp-test-header .pp-test-menu-btn span:nth-child(3){
    transform:translateY(-7px) rotate(-35deg) !important;
  }

  .pp-test-drawer{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:9050 !important;
    opacity:0 !important;
    pointer-events:none !important;
    transition:opacity .25s ease !important;
  }

  #ppMenuSwitch:checked ~ .pp-test-drawer{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .pp-test-drawer__bg{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    background:rgba(0,0,0,.68) !important;
  }

  .pp-test-drawer__panel{
    position:absolute !important;
    top:0 !important;
    right:0 !important;
    width:min(480px,92vw) !important;
    height:100% !important;
    padding:30px 36px 48px !important;
    background:#111820 !important;
    color:#fff !important;
    overflow-y:auto !important;
    border-left:1px solid rgba(255,255,255,.14) !important;
    transform:translateX(100%) !important;
    transition:transform .3s cubic-bezier(.2,.7,.2,1) !important;
  }

  #ppMenuSwitch:checked ~ .pp-test-drawer .pp-test-drawer__panel{
    transform:translateX(0) !important;
  }

  .pp-test-drawer__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding-bottom:18px !important;
    margin-bottom:22px !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .pp-test-drawer__title{
    color:#fff !important;
    font-size:13px !important;
    font-weight:400 !important;
    letter-spacing:.16em !important;
  }

  .pp-test-drawer__close{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    border:1px solid rgba(255,255,255,.28) !important;
    color:#fff !important;
    font-size:24px !important;
    cursor:pointer !important;
  }

  .pp-mobile-links,
  .pp-mobile-links ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  .pp-mobile-links > li{
    border-bottom:1px solid rgba(255,255,255,.13) !important;
  }

  .pp-mobile-links a,
  .pp-acc-label{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-height:52px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    color:#fff !important;
    background:transparent !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:400 !important;
    letter-spacing:.06em !important;
    line-height:1.5 !important;
    cursor:pointer !important;
  }

  .pp-acc-label::after{
    content:'＋' !important;
    color:rgba(255,255,255,.62) !important;
    font-size:17px !important;
    font-weight:300 !important;
  }

  .pp-acc-check:checked + .pp-acc-label::after{
    content:'−' !important;
  }

  .pp-mobile-links .pp-mobile-sub{
    display:block !important;
    max-height:0 !important;
    overflow:hidden !important;
    padding:0 0 0 20px !important;
    background:rgba(255,255,255,.07) !important;
    border-top:0 !important;
    transition:
      max-height .42s cubic-bezier(.22,.75,.22,1),
      padding .42s ease,
      border-top .42s ease !important;
  }

  .pp-mobile-links .pp-acc-check:checked + .pp-acc-label + .pp-mobile-sub{
    max-height:600px !important;
    padding:6px 0 14px 20px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
  }

  .pp-mobile-links .pp-mobile-sub > li{
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }

  .pp-mobile-links .pp-mobile-sub a{
    min-height:38px !important;
    color:rgba(255,255,255,.76) !important;
    font-size:13px !important;
    letter-spacing:.04em !important;
  }

  body.pp-header-scrolled .pp-test-header{
    transform:translateY(-22px) !important;
  }
}

@media(max-width:640px){
  .pp-test-drawer__panel{
    width:94vw !important;
    padding:24px 22px 44px !important;
  }
}

/* ==================================================
   Mobile Drawer Fix
   ページごとのDOM階層差を無視して開閉させる
================================================== */

@media(max-width:1100px){

  body:has(#ppMenuSwitch:checked) .pp-test-drawer{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body:has(#ppMenuSwitch:checked) .pp-test-drawer .pp-test-drawer__panel{
    transform:translateX(0) !important;
  }

  body:has(#ppMenuSwitch:checked) .pp-test-header .pp-test-menu-btn span:nth-child(1){
    transform:translateY(7px) rotate(35deg) !important;
  }

  body:has(#ppMenuSwitch:checked) .pp-test-header .pp-test-menu-btn span:nth-child(2){
    opacity:0 !important;
  }

  body:has(#ppMenuSwitch:checked) .pp-test-header .pp-test-menu-btn span:nth-child(3){
    transform:translateY(-7px) rotate(-35deg) !important;
  }
}