@charset "utf-8";
@import url("/assets/pal-chrome-theme.css?v=r22");

:host{
  display:block;
  --cp-accent:#165b38;
  --cp-ink:#141414;
  --cp-gray:#f0f2f2;
  --cp-dark-gray:#e2e6e6;
  --cp-en:var(--font-mixed-existing);
  --cp-ja:var(--font-ja);
  color:var(--cp-ink);
  font:700 10px/1 var(--cp-ja);
}
*,*::before,*::after{box-sizing:border-box}
h1,h2,h3,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;cursor:pointer;color:inherit;background:transparent}
img,svg{display:block;max-width:100%}
a,button{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #005fbd;outline-offset:5px}
.cp-skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:white}
.cp-skip:focus{top:0}
.cp-header{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;height:90px;padding-left:3.2%;transition:height .3s,background-color .3s}
.cp-header.scrolled{height:64px;background:white}
.cp-brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:clamp(16px,1.9vw,28px);font-weight:800;letter-spacing:-.07em}
.cp-brand img{width:4.4vw;max-width:62px;height:auto}
.cp-nav{display:flex;align-items:center;gap:clamp(14px,2.1vw,36px);margin-left:auto;white-space:nowrap;font-size:14px}
.cp-nav a{display:block}
.cp-nav>div>a{padding:30px 0}
.cp-nav span{color:var(--cp-accent);font-size:22px;vertical-align:-2px}
.cp-language{margin:0 2vw;font-size:13px;white-space:nowrap}
.cp-header-actions{display:flex;height:100%}
.cp-action{width:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#141414;color:white;gap:8px;transition:width .3s,background .3s}
.cp-action svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5}
.cp-action span{font-size:10px;line-height:1.3;text-align:center;letter-spacing:.04em}
.cp-action-red{background:var(--cp-accent)}
.scrolled .cp-action{width:64px}
.scrolled .cp-action span{display:none}
.cp-dropdown-panel{position:absolute;top:100%;left:0;right:0;padding:40px 10%;background:#fff;display:flex;gap:32px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:.2s}
.cp-dropdown-panel a{border-bottom:1px solid #ddd;padding:10px}
.cp-menu-button{display:none;position:fixed;right:30px;bottom:30px;z-index:50;width:58px;height:48px;background:#555;color:white;border-radius:4px}
.cp-menu-button i{display:block;width:30px;height:1px;background:white;margin:8px auto}
.cp-menu,.cp-call{border:0;padding:60px;color:var(--cp-ink);background:#f0f2f2}
.cp-menu::backdrop,.cp-call::backdrop{background:#0008;backdrop-filter:blur(5px)}
.cp-menu{width:100%;height:100dvh;max-width:none;max-height:none;margin:0;overflow:auto}
.cp-menu-home{font:900 36px var(--cp-en);color:var(--cp-accent)}
.cp-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;max-width:1100px;margin:50px auto}
.cp-close{position:absolute;right:20px;top:10px;font-size:40px;background:transparent;line-height:1.5}
.cp-call{width:min(620px,90%);max-height:90dvh}
.cp-call h2{font-size:22px;margin-bottom:30px}
.cp-call>a{display:block;padding:20px 0;border-top:1px solid #bbb}
.cp-call strong{display:block;font:900 30px/1.4 var(--cp-en);color:var(--cp-accent)}
.cp-media{position:relative;overflow:hidden;background:#d7dde0;isolation:isolate}
@media(max-width:1148px) and (min-width:897px){
  .cp-nav{font-size:12px;gap:14px}
  .cp-header .cp-brand{font-size:20px}
  .cp-action{width:70px}
  .cp-language{margin:0 12px}
}
@media(max-width:896px){
  .cp-header,.cp-header.scrolled{height:54px;padding-left:4%}
  .cp-header .cp-brand{gap:6px;font-size:clamp(12px,4.5vw,25px);letter-spacing:-.07em}
  .cp-header .cp-brand img{width:32px}
  .cp-nav{display:none}
  .cp-language{margin-left:auto;margin-right:12px;font-size:11px}
  .cp-action,.scrolled .cp-action{width:54px}
  .cp-action svg{width:22px;height:22px}
  .cp-action span{display:none}
  .cp-menu-button{display:block}
  .cp-menu{padding:50px 5% 80px}
  .cp-menu-home{font-size:30px}
  .cp-menu nav{grid-template-columns:1fr;gap:0;margin:30px 0}
  .cp-call{padding:60px 25px 25px}
  .cp-call h2{font-size:18px}
}
@media(max-width:400px){
  .cp-header .cp-language{display:none}
  .cp-header .cp-brand{font-size:clamp(10px,3.5vw,14px);margin-right:auto}
  .cp-header-actions{flex:none}
}
@media(max-width:896px){
  .cp-header,.cp-header.scrolled{height:55px}
}
