/* schengen-jp-blocks.css v1 — блоки Японии для Шенгена, только правила .jp-* и steps; без hero/шапки/подвала/cookie. Подключать как на Японии: ПОСЛЕ air-schengen.css и ДО vcp-fonts.css/vcp-buttons.css (тогда шрифты/кнопки A перекрывают); селекторы без html-префикса — специфичность как на Японии */
/* from japan.css */
.jp-kicker{display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 20px;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;}
.jp-kicker__text{min-width: 0;}
.jp-kicker__rule{width: 44px;
  height: 1px;
  background: #83652F;
  flex: 0 0 auto;}
.jp-lead{max-width: 36rem;
  margin: 22px 0 0;
  color: #3c4553;
  font-size: 17px;
  line-height: 1.5;}
.jp-trust{display: flex;
  align-items: center;
  gap: 10px;
  margin: 28px 0 0;
  color: #a68445;
  font-size: 14.5px;
  font-weight: 500;}
.jp-trust svg{width: 26px;
  height: 26px;
  flex: 0 0 26px;
  color: #c4a46a;}
.jp-head{display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;}
.jp-head .sg-h2{margin: 0;}
.jp-sub{margin: 0;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;}
.jp-fit{display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 28px;}
.jp-fit article, .jp-type{margin: 0;
  padding: 26px 22px 22px;
  border: 1px solid #eadfcd;
  border-radius: 16px;
  background: #fffefb;}
.jp-fit__n{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: #83652F;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;}
.jp-fit__n::before{content: none;}
.jp-fit__n::after{content: "";
  width: 36px;
  height: 5px;
  flex: 0 0 auto;
  background:
    radial-gradient(circle at 50% 50%, #83652F 2.25px, transparent 2.45px),
    linear-gradient(#83652F, #83652F) center / 36px 1px no-repeat;}
.jp-ico{display: flex;
  justify-content: center;
  margin: 14px 0 8px;
  color: #1c2b4a;}
.jp-ico svg{width: 42px; height: 42px;}
.jp-fit h3, .jp-type h3{margin: 8px 0 0;
  text-align: center;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 400;
  color: #142033;}
.jp-fit p{margin: 10px 0 0;
  text-align: center;
  color: #5c564c;
  font-size: 14.5px;
  line-height: 1.5;}
.jp-types{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 26px;}
.jp-type h3{margin-bottom: 8px;}
.jp-checks{margin: 16px 0 0;
  padding: 0;
  list-style: none;}
.jp-checks li{display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 10px;
  color: #3d4654;
  font-size: 15px;
  line-height: 1.45;}
.jp-checks svg{flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #b08948;}
.jp-who-head, .jp-types-head{display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  max-width: 100%;}
.jp-who-head .sg-h2, .jp-types-head .sg-h2{margin: 0; flex: 0 0 auto;}
.jp-who-rule{display: flex;
  align-items: center;
  flex: 1 1 48px;
  min-width: 36px;
  max-width: 168px;}
.jp-who-rule::before{content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #83652F;}
.jp-who-rule i{width: 5px;
  height: 5px;
  margin-left: -2px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: #83652F;}
.jp-who-eye{margin: 10px 0 0;
  color: #83652F;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;}
.jp-types-head{flex-wrap: wrap; row-gap: 8px;}
.jp-types-rule{display: flex;
  align-items: center;
  flex: 0 1 140px;
  min-width: 64px;
  gap: 8px;}
.jp-types-rule::before, .jp-types-rule::after{content: "";
  flex: 1;
  height: 1px;
  background: #83652F;}
.jp-types-rule i{width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: #83652F;
  transform: rotate(45deg);}
.jp-types-label{margin: 0;
  flex: 1 1 240px;
  min-width: 0;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;}
.jp-fit, .jp-types{max-width: 100%;}
.jp-fit article, .jp-type{min-width: 0;
  border: 1px solid #e6d6bf;
  border-radius: 12px;
  background: #fffdf8;}
.jp-fit article{padding: 22px 14px 20px;}
.jp-type{padding: 34px 28px 28px;}
.jp-fit .jp-ico svg, .jp-type .jp-ico svg{width: auto; max-width: 100%;}
.jp-fit .jp-ico svg{height: 46px;}
.jp-type .jp-ico{margin-top: 2px;}
.jp-type .jp-ico svg{height: 52px;}
.jp-type .jp-checks li{margin-bottom: 12px;}
.jp-type .jp-checks svg{color: #83652F;}
.jp-steps{display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 18px;
  margin-top: 36px;
  width: 100%;}
.jp-step{position: relative;
  min-width: 0;
  margin: 0;
  text-align: left;}
.jp-step__row{display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;}
.jp-step__n{display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #142033;
  color: #fff;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;}
.jp-step__ico{display: flex;
  flex: 0 0 auto;
  color: #142033;}
.jp-step__ico svg{width: 36px; height: 36px; display: block;}
.jp-step__arrow{position: absolute;
  top: 14px;
  left: 84px;
  right: 6px;
  height: 8px;
  display: flex;
  align-items: center;
  color: #83652F;
  pointer-events: none;}
.jp-step__arrow::before{content: "";
  flex: 1 1 auto;
  height: 1px;
  background: currentColor;}
.jp-step__arrow svg{flex: 0 0 10px; width: 10px; height: 8px; display: block;}
.jp-step h3{margin: 14px 0 0;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #142033;}
.jp-step p{margin: 8px 0 0;
  color: #5c564c;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: break-word;}
.jp-split{--jp-card-top: 22px;
  --jp-card-edge: 1px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: 32px 36px;
  margin-top: 52px;
  align-items: start;}
.jp-subh{margin: calc(var(--jp-card-top) + var(--jp-card-edge)) 0 20px;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.02em;}
.jp-notes{margin: 0; padding: 0; list-style: none;}
.jp-notes li{display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 0 0 16px;
  color: #3a342c;
  font-size: 15px;
  line-height: 1.45;}
.jp-notes svg{width: 22px; height: 22px; color: #83652F; margin-top: 1px;}
.jp-important{position: relative;
  min-width: 0;
  padding: var(--jp-card-top) 26px 22px;
  border-radius: 16px;
  background: #fffdf8;
  border: var(--jp-card-edge) solid #e3d5bf;
  box-shadow:
    inset 0 1px 0 rgba(255, 252, 246, 0.95),
    1px 1px 0 #eadfcb,
    2px 2px 0 #e3d6be,
    3px 3px 0 #dccdb1,
    4px 4px 0 #d5c4a4,
    5px 5px 0 #cebb97,
    6px 6px 0 #c7b28a,
    7px 7px 0 #c0a97d,
    9px 12px 18px rgba(48, 36, 18, 0.12),
    16px 24px 36px rgba(48, 36, 18, 0.08);}
.jp-important h3{display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #142033;}
.jp-important h3 svg{width: 22px; height: 22px; color: #83652F; flex: 0 0 22px;}
.jp-important > p{margin: 0 0 14px; color: #3a342c; font-size: 15px; line-height: 1.45;}
.jp-vlist{margin: 0; padding: 0; list-style: none;}
.jp-vlist li{display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0 0 12px;
  color: #3a342c;
  font-size: 15px;
  line-height: 1.45;}
.jp-vlist svg{width: 16px; height: 16px; color: #83652F; margin-top: 3px;}
.jp-vlist strong{font-weight: 600; color: #142033;}
.jp-foot{display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 6px 0 0;
  color: #5c564c;
  font-size: 14.5px;
  line-height: 1.45;}
.jp-foot svg{flex: 0 0 18px; width: 18px; height: 18px; color: #83652F; margin-top: 2px;}
.jp-faq{position: relative;
  
  z-index: 3;
  background: #FFF1DC;
  color: #142033;
  overflow: hidden;}
.jp-faq__in{position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 96px));
  margin: 0 auto;
  padding: 36px 0 32px;
  box-sizing: border-box;}
.jp-faq__head{display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;}
.jp-faq__rule{display: block;
  width: 36px;
  height: 2px;
  margin: 0 0 16px;
  background: #c6a15b;}
.jp-faq__h, .jp-faq__cta-h{margin: 0;
  font-family: "Instrument Serif", var(--display);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.15;
  color: #142033;
  letter-spacing: -0.01em;}
.jp-faq__lead{margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
  color: #83652F;}
.jp-faq__list{margin-top: 22px;
  border-top: 1px solid rgba(92, 86, 76, 0.20);}
.jp-faq__item{border-bottom: 1px solid rgba(92, 86, 76, 0.20);}
.jp-faq__sum{display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 16px 2px;
  box-sizing: border-box;
  background: transparent;
  border: 0;
  color: #142033;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  list-style: none;}
.jp-faq__sum::-webkit-details-marker{display: none;}
.jp-faq__sum::marker{content: "";}
.jp-faq__sum:focus{outline: none;}
.jp-faq__sum:focus-visible{outline: 1px solid #c6a15b;
  outline-offset: 2px;}
.jp-faq__plus{position: relative;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  color: #c6a15b;}
.jp-faq__plus::before, .jp-faq__plus::after{content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);}
.jp-faq__plus::before{width: 12px; height: 1px;}
.jp-faq__plus::after{width: 1px; height: 12px;}
.jp-faq__item[open] .jp-faq__plus::after{opacity: 0;}
.jp-faq__q{flex: 1 1 auto; min-width: 0;}
.jp-faq__chev{flex: 0 0 14px;
  width: 14px;
  height: 14px;
  color: rgba(20, 32, 51, 0.45);}
.jp-faq__item[open] .jp-faq__chev{transform: rotate(90deg);}
.jp-faq__a{padding: 0 28px 16px 28px;
  color: #5c564c;
  font-size: 15px;
  line-height: 1.55;}
.jp-faq__a p{margin: 0 0 10px;}
.jp-faq__a p:last-child{margin-bottom: 0;}
.jp-faq__a a{color:#1d4ed8;text-decoration:underline;}
.jp-faq__cta{display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 40px;
  margin-top: 137px;}
.jp-faq__cta-copy{flex: 0 1 380px; min-width: 0;}
.jp-faq__btn{flex: 0 0 auto;}
.jp-faq__cta-h{font-size: 30px;}
.jp-faq__cta-sub{margin: 10px 0 0;
  max-width: 46ch;
  color: #83652F;
  font-size: 14px;
  line-height: 1.45;}
.jp-faq__btn{justify-self: center;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #142033;
  color: #fff;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;}
.jp-faq__btn:hover{background: #0d182c;}
.jp-faq__btn:focus-visible{outline: 2px solid #c6a15b;
  outline-offset: 3px;}
.jp-faq__contact{display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 16px;
  align-items: center;
  align-self: center;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 32px;
  margin-right: 0;
  box-sizing: border-box;
  padding: 18px 22px;
  border: 1px solid rgba(196, 164, 106, 0.72);
  border-radius: 24px;
  background: #F7EEE4;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 0 0 1px rgba(255,255,255,.35), 0 2px 6px rgba(74,52,18,.14), 0 20px 44px rgba(74,52,18,.12);}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
.jp-faq__contact{background: rgba(244, 236, 229, 0.62);
    -webkit-backdrop-filter: blur(16px) saturate(115%);
    backdrop-filter: blur(16px) saturate(115%);}
}
.jp-faq__contact-copy{display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;}
.jp-faq__pico{display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #c6a15b;
  border-radius: 10px;
  color: #c6a15b;}
.jp-faq__pico svg{width: 22px; height: 22px;}
.jp-faq__contact-k{margin: 0;
  color: #6B665C;
  font-size: 15px;
  line-height: 1.3;}
.jp-faq__tel, .jp-faq__mail{display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #142033;
  text-decoration: none;}
.jp-faq__tel{margin-top: 2px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;}
.jp-faq__mail{margin-top: 4px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;}
.jp-faq__mail svg{width: 16px; height: 16px; flex: 0 0 auto;}
.jp-faq__tel:hover, .jp-faq__mail:hover{color: #c6a15b;}
@media (max-width: 1100px){
.jp-fit h3{font-size: 22px;}
}
@media (max-width: 860px){
.jp-faq__head{align-items: flex-start; flex-direction: column; gap: 10px;}
.jp-faq__lead{margin: 0; text-align: left; white-space: normal;}
.jp-faq__h{font-size: 28px;}
.jp-faq__cta-h{font-size: 26px;}
}
@media (max-width: 1100px){
.jp-faq__cta{flex-direction: column;
    align-items: center;
    gap: 28px;
    text-align: center;}
.jp-faq__cta-copy{flex-basis: auto;}
.jp-faq__cta-sub{margin-left: auto; margin-right: auto;}
.jp-faq__btn{align-self: center;}
.jp-faq__contact{align-self: stretch;
    width: 100%;
    margin-left: 0;}
}
@media (max-width: 767px){
.jp-kicker{letter-spacing: 0.1em;}
}
.sg .sg-eye{color: #83652F;}
.sg .sg-eye::before{background: #83652F;}
.sg .sg-block{padding-top: 96px; padding-bottom: 0;}
@media (max-width: 1023px){
.sg .sg-block{padding-top: 80px;}
.jp-faq__in{width: calc(100% - 64px);}
}
@media (max-width: 767px){
.sg .sg-block{padding-top: 64px;}
.jp-fit, .jp-types{grid-template-columns: 1fr;}
.jp-steps, .jp-split{grid-template-columns: 1fr;}
.jp-step__arrow{display: none;}
.jp-split{margin-top: 36px; gap: 28px;}
.jp-subh{margin-top: 0;}
.jp-step{padding-bottom: 4px;}
.jp-types-label{flex-basis: 100%; letter-spacing: 0.08em;}
.jp-who-eye{letter-spacing: 0.12em;}
.jp-type{padding: 28px 20px 24px;}
}
@media (max-width: 420px){
.jp-faq__in{width: calc(100% - 48px); padding: 28px 0 24px;}
.jp-faq__h{font-size: 26px;}
.jp-faq__sum{font-size: 15px; padding: 14px 0; gap: 10px;}
.jp-faq__cta{margin-top: 95px;}
.jp-faq__cta-h{font-size: 24px;}
.jp-faq__a{padding: 0 0 14px 24px;}
}
@media (max-width: 340px){
.jp-faq__contact{padding-left: 12px;
    padding-right: 12px;
    column-gap: 10px;}
.jp-faq__pico{width: 34px; height: 34px;}
}
@media (max-width: 1100px) and (min-width: 768px){
.jp-steps{column-gap: 12px;}
.jp-step__n{flex-basis: 28px; width: 28px; height: 28px; font-size: 12px;}
.jp-step__ico svg{width: 30px; height: 30px;}
.jp-step__arrow{left: 74px; top: 12px;}
.jp-step h3{font-size: 14px;}
.jp-step p{font-size: 13px;}
}
.jp-fit .jp-ico img{display: block;
  height: 84px;
  width: auto;
  max-width: 100%;
  object-fit: contain;}
.jp-type .jp-ico img{display: block;
  height: 39px;
  width: auto;
  max-width: 100%;
  object-fit: contain;}
.jp-fit{align-items: stretch;}
.jp-fit > article{display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;}
.jp-fit > article > h3{min-height: 2.5em;}
.jp-types{align-items: stretch;}
.jp-types > .jp-type{display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;}
.jp-types > .jp-type > h3{min-height: 1.25em;}
.jp-fit > article > h3, .jp-fit > article > p, .jp-types > .jp-type > h3, .jp-types > .jp-type > .jp-checks{min-width: 0;}
@media (max-width: 767px){
.jp-who-head{flex-wrap: wrap;}
.jp-who-rule{flex-basis: 120px; max-width: 120px; min-width: 0;}
}
.jp-case{--case-ink:var(--c-ink,#142033);
  --case-name:#4C4841;
  --case-muted:#6B665C;
  --case-subtle:#716C63;
  --case-gold:var(--c-gold,#C4A46A);
  --case-line:rgba(92,86,76,.20);
  --case-line-card:rgba(131,101,47,.16);
  --case-bg-1:#FFF1DC;
  --case-bg-2:#FFF1DC;
  --case-glass:rgba(244,236,229,.62);
  --case-glass-solid:#F7EEE4;
  --case-shadow-card:0 2px 6px rgba(74,52,18,.14),0 20px 44px rgba(74,52,18,.12);
  --case-shadow-face:0 4px 12px rgba(40,28,12,.18);
  --case-r:24px;
  --f-display:"Instrument Serif","Times New Roman",serif;
  --f-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  position:relative;
  z-index:30;
  margin-top:0;
  overflow:hidden;
  border-radius:28px 28px 0 0;
  box-shadow:none;
  padding:64px 0 64px;
  background:#FFF1DC;
  color:var(--case-ink);
  font-family:var(--f-sans);}
.jp-case *, .jp-case *::before, .jp-case *::after{box-sizing:border-box}
.jp-case__wrap{position:relative; z-index:2;
  width:min(1280px,100%); margin-inline:auto; padding-inline:24px;
  display:grid; grid-template-columns:minmax(0,1fr);
  grid-template-areas:"head" "points" "person" "card";}
.jp-case__head{grid-area:head; min-width:0}
.jp-case__title{margin:0; font-family:var(--f-display); font-weight:400;
  font-size:28px; line-height:34px; letter-spacing:-.01em; color:var(--case-ink);
  text-wrap:balance;}
.jp-case__title-l2{display:inline}
.jp-case__lead{margin:16px 0 0; max-width:34em;
  font-size:17px; line-height:28px; font-weight:400; color:var(--case-muted);}
.jp-case__points{grid-area:points; list-style:none; margin:32px 0 0; padding:0; min-width:0}
.jp-case__point{margin:0; padding:0}
.jp-case__point + .jp-case__point{margin-top:28px; padding-top:20px; border-top:1px solid var(--case-line)}
.jp-case__abbr{margin:0; font-family:var(--f-display); font-weight:400;
  font-size:15px; line-height:20px; letter-spacing:0; color:var(--case-subtle);}
.jp-case__abbr abbr{text-decoration:none; border:0; cursor:help}
.jp-case__point h3{margin:8px 0 0; font-family:var(--f-display); font-weight:400;
  font-size:18px; line-height:26px; letter-spacing:-.01em; color:var(--case-ink);}
.jp-case__point p:not(.jp-case__abbr){margin:8px 0 0; font-size:15px; line-height:24px; color:var(--case-muted);
  max-width:364px;}
.jp-case__person{grid-area:person; margin:40px 0 0; min-width:0}
.jp-case__person picture, .jp-case__person img.jp-case__photo{display:block}
.jp-case__photo{display:block; width:100%; max-width:396px; height:auto; aspect-ratio:25/26;
  object-fit:cover; object-position:50% 30%;
  border-radius:var(--case-r); background:#E7E1D6;}
.jp-case__person figcaption{margin:16px 0 0}
.jp-case__name{display:block; font-size:17px; line-height:26px; font-weight:400; color:var(--case-name)}
.jp-case__role{display:block; margin-top:4px; max-width:300px; font-size:15px; line-height:24px; color:var(--case-subtle)}
.jp-case__map{position:absolute; z-index:0; pointer-events:none; user-select:none}
.jp-case__map img{display:block; width:100%; height:auto; max-width:none}
.jp-case__map--frag img{height:309px;
  object-fit:contain;
  object-position:center center;}
.jp-case__cardzone{grid-area:card; position:relative; margin-top:144px; min-width:0}
.jp-case__cardzone .jp-case__map--frag{right:0; top:0; width:min(200px,62%); max-width:100%}
.jp-case__card{position:relative; z-index:1;
  width:100%; max-width:392px;
  border:1px solid rgba(196,164,106,.72);
  border-radius:var(--case-r);
  background:var(--case-glass-solid);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.35),var(--case-shadow-card);}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
.jp-case__card{background:var(--case-glass);
    -webkit-backdrop-filter:blur(16px) saturate(115%);
    backdrop-filter:blur(16px) saturate(115%);}
}
.jp-case__rows{list-style:none; margin:0; padding:4px 16px 8px}
.jp-case__rows li{display:flex; align-items:center; gap:16px; min-height:60px; margin:0; padding:0 0 0 8px;
  font-family:var(--f-display); font-weight:400; font-size:17px; line-height:24px; color:var(--case-ink);
  font-variant-numeric:lining-nums;}
.jp-case__rows li + li{border-top:1px solid var(--case-line-card)}
.jp-case__ico{flex:0 0 28px; width:28px; height:28px; color:var(--case-ink)}
.jp-case__face{position:absolute; z-index:2; right:12px; bottom:-36px;
  width:56px; height:56px; border-radius:50%; object-fit:cover; object-position:50% 20%;
  border:3px solid #fff; background:#E7E1D6; box-shadow:var(--case-shadow-face);}
@media (min-width:768px){
.jp-case{padding:80px 0 80px}
.jp-case__wrap{padding-inline:32px;
    grid-template-columns:288px minmax(0,1fr); column-gap:40px;
    grid-template-areas:"head head" "points points" "person card";}
.jp-case__title{font-size:36px; line-height:42px}
.jp-case__title-l2{display:block}
.jp-case__lead{font-size:18px; line-height:30px; max-width:600px}
.jp-case__points{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; margin-top:40px}
.jp-case__point + .jp-case__point{margin-top:0; padding-top:0; border-top:0}
.jp-case__point h3{font-size:20px; line-height:28px}
.jp-case__person{margin-top:48px}
.jp-case__photo{max-width:288px}
.jp-case__name{font-size:18px; line-height:28px}
.jp-case__cardzone{margin-top:48px; align-self:stretch;
    display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-end;}
.jp-case__cardzone .jp-case__map--frag{top:0; bottom:auto; right:0; left:auto;
    width:min(240px, 42%); height:auto; max-width:100%;}
.jp-case__cardzone .jp-case__map--frag img{display:block; width:100%; height:auto; max-width:100%; max-height:480px;
    object-fit:contain; object-position:center center;}
.jp-case__rows{padding:6px 20px 10px}
.jp-case__rows li{gap:20px; min-height:66px; padding-left:6px}
.jp-case__rows li:last-child{padding-right:64px}
.jp-case__ico{flex-basis:32px; width:32px; height:32px}
.jp-case__face{width:68px; height:68px; right:8px; bottom:-12px}
}
@media (min-width:1024px){
.jp-case__wrap{grid-template-columns:396px minmax(0,1fr); column-gap:48px}
.jp-case__points{column-gap:48px}
.jp-case__photo{max-width:396px}
.jp-case__rows li{font-size:18px}
}
@media (min-width:1280px){
.jp-case{padding:96px 0 68px}
.jp-case__wrap{grid-template-columns:396px 200px 364px; column-gap:0;
    grid-template-areas:"head head points" "person . points";
    grid-template-rows:auto 1fr;
    align-items:start;}
.jp-case__head{max-width:560px}
.jp-case__title{font-size:40px; line-height:48px}
.jp-case__points{display:block; margin-top:0; padding-top:4px}
.jp-case__point + .jp-case__point{margin-top:36px; padding-top:20px; border-top:1px solid var(--case-line)}
.jp-case__person{margin-top:16px}
.jp-case__name{margin:0}
.jp-case__role{margin-top:4px}
.jp-case__cardzone{position:absolute; margin:0; display:block; align-self:auto;
    bottom:24px; right:calc(32px - clamp(0px, (100vw - 1216px) / 2 - 32px, 40px));
    width:392px;}
.jp-case__cardzone{overflow:visible; z-index:3}
.jp-case__person{overflow:visible}
.jp-case__person figcaption{overflow:visible}
.jp-case__cardzone .jp-case__map--frag{display:none}
.jp-case__photo{width:396px; height:412px; max-width:396px; aspect-ratio:auto;
    object-fit:cover; object-position:50% 30%;}
.jp-case__card{width:392px; height:216px; max-width:392px}
.jp-case__map--full{left:calc(50% - 21px - clamp(0px, (100vw - 1216px) / 2 - 32px, 40px));
    right:auto;
    top:44px;
    bottom:auto;
    width:781px;
    height:810px;
    aspect-ratio:auto;
    max-width:none;
    margin:0;
    overflow:hidden;
    transform:none;}
.jp-case__map.jp-case__map--full img{position:static;
    inset:auto;
    display:block;
    width:781px;
    height:810px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:right center;
    transform:none;}
}
.jp-case__map--full{display:none}
@media (min-width:1280px){
.jp-case__map--full{display:block}
}
@media (min-width: 768px) and (max-width: 950px){
.jp-fit p{overflow-wrap: break-word;}
}
.jp-case .rv{transition:opacity 240ms cubic-bezier(.2,.7,.2,1),transform 240ms cubic-bezier(.2,.7,.2,1)}
.jp-reveal .jp-case .rv:not(.in){opacity:0; transform:translateY(8px)}
.jp-case .rv-2{transition-delay:40ms}
.jp-case .rv-3{transition-delay:80ms}
.jp-case .rv-4{transition-delay:120ms}
.jp-case__card{transition:box-shadow 200ms ease,border-color 200ms ease}
@media (hover:hover){
.jp-case__card:hover{border-color:rgba(196,164,106,.95); box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.35),0 2px 6px rgba(74,52,18,.16),0 24px 52px rgba(74,52,18,.16)}
}
@media (prefers-reduced-motion:reduce){
.jp-case .rv, .jp-reveal .jp-case .rv:not(.in){opacity:1; transform:none; transition:none}
.jp-case__card{transition:none}
}
.jp-overlap{overflow: visible; margin-top: 0;}
.sc-jp{--bar-h: 61px;}
#steps{--steps-top: var(--bar-h);
  position: sticky;
  top: min(var(--steps-top), var(--steps-fit, var(--steps-top)));
  z-index: 1;
  box-sizing: border-box;
  margin-top: 0;
  min-height: 0;
  padding-bottom: 0;
  background: #f4f1ea;}
.jp-case{position: relative;
  top: auto;
  z-index: 30;
  margin-top: 0;
  background: #FFF1DC;}
@media (max-width: 767px){
#steps{padding-bottom: 21vh;}
.jp-case{min-height: 0;}
}
@media (min-width: 768px){
.jp-case{min-height: max(860px, calc(100svh - var(--bar-h)));}
}
@media (min-width: 1024px){
#steps{--steps-lock: 154px;
    --steps-top: calc(var(--bar-h) - var(--steps-lock));
    z-index: 2;
    min-height: calc(100svh - var(--bar-h) + var(--steps-lock));}
.jp-case{overflow: hidden;}
.jp-case.is-cover{border-radius: 0;}
}
@media (min-width: 1920px){
.jp-case{min-height: 0;}
}
@media (min-width: 768px) and (max-width: 1279px){
.jp-case__cardzone{align-self: start;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 0;
    justify-items: end;}
.jp-case__cardzone .jp-case__map--frag{position: relative;
    grid-area: 1 / 1;
    align-self: start;
    justify-self: end;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: min(240px, 42%);
    height: auto;
    max-width: 100%;}
.jp-case__card{position: relative;
    grid-area: 1 / 1;
    z-index: 1;
    align-self: end;
    justify-self: end;
    width: 100%;
    max-width: 392px;
    margin-bottom: 20px;}
}
@media (min-width: 768px) and (max-width: 1023px){
.jp-case__cardzone .jp-case__map--frag{width: 100%;
    justify-self: stretch;}
.jp-case__cardzone .jp-case__map--frag img{width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center center;}
.jp-case__card{align-self: center;
    justify-self: center;
    width: calc(100% - 8px);
    max-width: none;
    margin-bottom: 0;}
}
@media (min-width: 1024px) and (max-width: 1279px){
.jp-case__points{max-width: 68%;}
.jp-case__map--full{display: block;
    left: auto;
    right: 0;
    top: 24px;
    bottom: 24px;
    width: min(680px, 64%);
    height: auto;
    max-width: none;
    overflow: hidden;}
.jp-case__map.jp-case__map--full img{width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right top;
    transform: scale(0.78);
    transform-origin: right top;}
.jp-case__cardzone .jp-case__map--frag{display: none;}
.jp-case__cardzone{position: absolute;
    z-index: 3;
    margin: 0;
    display: block;
    width: 380px;
    max-width: 380px;
    right: 20px;
    bottom: 18px;
    align-self: auto;}
.jp-case__card{position: relative;
    width: 380px;
    max-width: 380px;
    margin: 0;
    align-self: auto;
    justify-self: auto;}
}
@media (min-width: 1280px) and (max-width: 1439px){
.jp-case__map--full{left: auto;
    right: 0;
    width: 781px;
    max-width: 100%;}
.jp-case__map.jp-case__map--full img{width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right center;}
}
@media (min-width: 391px) and (max-width: 767px){
.jp-case__cardzone{position: relative;
    margin-top: 28px;
    width: 100%;
    min-height: 0;}
.jp-case__cardzone .jp-case__map--frag{position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    max-width: 100%;}
.jp-case__cardzone .jp-case__map--frag img{display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center center;}
.jp-case__card{position: absolute;
    z-index: 1;
    right: 3%;
    bottom: 16px;
    width: min(260px, 40%);
    max-width: min(260px, 40%);
    margin: 0;}
.jp-case__rows{padding: 2px 6px 4px;}
.jp-case__rows li{gap: 6px;
    min-height: 0;
    padding: 6px 0 6px 2px;
    min-width: 0;
    font-size: 15px;
    line-height: 19px;}
.jp-case__ico{flex-basis: 18px; width: 18px; height: 18px;}
.jp-case__rows span{min-width: 0;}
.jp-case__face{width: 40px; height: 40px; right: 6px; bottom: -32px;}
}
@media (max-width: 390px){
.jp-case{padding-bottom: 8px;
    overflow-x: clip;
    overflow-y: visible;}
.jp-faq__in{padding-top: 4px;}
.jp-overlap{overflow: visible;
    max-width: 100%;}
.jp-case__cardzone{margin-top: 24px;
    min-height: 400px;
    position: relative;}
.jp-case__cardzone .jp-case__map--frag{inset: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;}
.jp-case__cardzone .jp-case__map--frag img{display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;}
.jp-case__card{position: absolute;
    z-index: 1;
    top: 108px;
    left: 0;
    right: 0;
    width: 100%;}
.jp-case__wrap, .jp-case__card, .jp-case__map--frag, .jp-case__map--frag img, .jp-case__map--full, .jp-case__map--full img{max-width: 100%;}
}
.jp-press{background: #FFF1DC;
  color: #142033;
  overflow-x: clip;
  padding: 72px 0 84px;}
.jp-press__in{width: min(1120px, calc(100% - 96px));
  margin: 0 auto;
  padding: 32px 28px 36px;
  box-sizing: border-box;
  border: 1px solid #c6a15b;
  border-radius: 18px;}
.jp-press__eye{margin: 0 0 14px;
  color: #142033;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;}
.jp-press__eye--trust{margin-top: 64px;}
.jp-press__h{margin: 0;
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  font-size: 46px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #142033;}
.jp-press__bar{display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  min-width: 0;}
.jp-press__meta{margin: 0;
  flex: 0 1 auto;
  color: #8a8376;
  font-size: 15px;
  line-height: 1.3;}
.jp-press__rule{flex: 1 1 40px;
  height: 1px;
  min-width: 24px;
  background: #c6a15b;}
.jp-press__all{flex: 0 0 auto;
  color: #142033;
  font-size: 15px;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;}
.jp-press__all:hover{color: #83652F;}
.jp-press__all:focus-visible{outline: 1px solid #c6a15b;
  outline-offset: 3px;}
.jp-press__expert{display: flex;
  align-items: center;
  gap: 22px;
  margin: 28px 0 0;}
.jp-press__expert img{display: block;
  width: 112px;
  height: 112px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 22%;
  border: 1px solid rgba(198, 161, 91, 0.55);
  background: #e7e1d6;}
.jp-press__expert-name{margin: 0 0 8px;
  font-family: "Instrument Serif", Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #142033;}
.jp-press__expert-roles{margin: 0;
  padding: 0;
  list-style: none;}
.jp-press__expert-roles li{margin: 0;
  color: #5c564c;
  font-size: 15px;
  line-height: 1.45;}
.jp-press__cards{display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;}
.jp-press__card{min-width: 0;
  background: #fbf8f2;
  border: 1px solid rgba(186, 164, 128, 0.55);
  border-radius: 16px;
  overflow: hidden;}
.jp-press__card img{display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;}
.jp-press__cap{margin: 0;
  padding: 14px 12px 16px;
  text-align: center;
  color: #142033;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;}
.jp-press__ticker{overflow: hidden;
  margin-top: 22px;
  padding-block: 2px;}
.jp-press__track{display: flex;
  width: max-content;
  animation: jp-press-ticker 45s linear infinite;}
.jp-press__ticker:hover .jp-press__track, .jp-press__ticker:focus-within .jp-press__track{animation-play-state: paused;}
.jp-press__pills{display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0;
  padding: 0 12px 0 0;
  list-style: none;}
.jp-press__pills li{box-sizing: border-box;
  flex: 0 0 auto;
  padding: 10px 18px;
  border: 1px solid rgba(198, 161, 91, 0.7);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  color: #142033;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.2;
  white-space: nowrap;}
@keyframes jp-press-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
.jp-press__ticker{overflow: visible;}
.jp-press__track{display: block;
    width: auto;
    animation: none;}
.jp-press__pills{flex-wrap: wrap;
    gap: 10px 12px;
    padding-right: 0;}
.jp-press__pills[aria-hidden="true"]{display: none;}
}
@media (max-width: 1023px){
.jp-press__in{width: calc(100% - 40px);}
}
@media (min-width: 1024px){
.jp-faq__in{width: min(1280px, 100%);
    padding-left: 32px;
    padding-right: 32px;}
.jp-press__in{width: min(1280px, 100%);
    padding-left: 31px;
    padding-right: 31px;}
}
@media (max-width: 860px){
.jp-press__h{font-size: 34px;}
.jp-press__cards{grid-template-columns: 1fr; gap: 14px;}
.jp-press__eye--trust{margin-top: 48px;}
}
@media (max-width: 640px){
.jp-press__expert{gap: 14px;}
.jp-press__expert img{width: 88px; height: 88px;}
.jp-press__expert-name{font-size: 22px;}
.jp-press__bar{flex-wrap: wrap; row-gap: 10px;}
.jp-press__rule{display: none;}
.jp-press__all{margin-left: auto;}
}
@media (max-width: 420px){
.jp-press{padding: 48px 0 56px;}
.jp-press__in{width: calc(100% - 32px); padding: 22px 16px 24px;}
.jp-press__h{font-size: 30px;}
.jp-press__meta{font-size: 14px;}
}
.sc-jp{--cookie-h: 118px;}
@media (min-width: 768px){
.jp-kicker{margin-bottom: clamp(8px, 4.4vh - 8px, 20px);}
.jp-lead{margin-top: clamp(8px, 5vh - 10px, 22px);
    font-size: clamp(14px, 2.2vh + 3px, 17px);
    line-height: clamp(18px, 4vh, 25.5px);}
.jp-trust{margin-top: clamp(12px, 5vh - 4px, 28px);}
}
@supports (height: 1svh){
@media (min-width: 768px){
.jp-kicker{margin-bottom: clamp(8px, 4.4svh - 8px, 20px);}
.jp-lead{margin-top: clamp(8px, 5svh - 10px, 22px);
      font-size: clamp(14px, 2.2svh + 3px, 17px);
      line-height: clamp(18px, 4svh, 25.5px);}
.jp-trust{margin-top: clamp(12px, 5svh - 4px, 28px);}
}
}
@media (max-width: 767px){
.jp-kicker{margin-bottom: clamp(8px, 3vh - 5px, 20px);}
.jp-lead{margin-top: clamp(8px, 3vh - 3px, 22px);
    font-size: clamp(14px, 0.75vh + 10.7px, 17px);
    line-height: clamp(19px, 2.4vh + 6px, 25.5px);}
.jp-trust{margin-top: clamp(12px, 3vh + 3px, 28px);}
}
@supports (height: 1svh){
@media (max-width: 767px){
.jp-kicker{margin-bottom: clamp(8px, 3svh - 5px, 20px);}
.jp-lead{margin-top: clamp(8px, 3svh - 3px, 22px);
      font-size: clamp(14px, 0.75svh + 10.7px, 17px);
      line-height: clamp(19px, 2.4svh + 6px, 25.5px);}
.jp-trust{margin-top: clamp(12px, 3svh + 3px, 28px);}
}
}
@media (max-width: 767px) and (orientation: landscape){
.jp-lead{line-height: 1.3;}
}
@media (min-width: 768px) and (max-width: 1023px){
.sc-jp{--cookie-h: 150px;}
}
@media (max-width: 767px){
.sc-jp{--cookie-h: 196px;}
}
@media (max-width: 480px){
.sc-jp{--cookie-h: 104px;}
}
@media (orientation: landscape) and (max-height: 500px){
.sc-jp{--cookie-h: 76px;}
}
/* from air-japan.css */
.sc-jp{--air-8: 8px; --air-12: 12px; --air-16: 16px; --air-24: 24px;
  --air-32: 32px; --air-48: 48px; --air-64: 64px; --air-96: 96px;
  --air-label: var(--air-16);  
  --air-title: var(--air-24);  
  --air-group: var(--air-32);  
  --air-btn: var(--air-12);}
@media (orientation: landscape) and (max-height: 500px){
.sc-jp{--air-group: var(--air-24); --air-btn: var(--air-8);}
}
.jp-kicker{margin-bottom: var(--air-label);}
.jp-lead{margin-top: var(--air-title); font-size: 17px; line-height: 1.5;}
.jp-trust{margin-top: var(--air-group);}
@media (max-height: 640px){
.jp-kicker{order: 0;}
.jp-lead{order: 3; margin-top: var(--air-group);}
.jp-trust{order: 4; margin-top: var(--air-title);}
}
@media (max-width: 767px) and (orientation: landscape){
.jp-lead{line-height: 1.5;}
}
@media (min-width: 421px) and (max-width: 767px){
.jp-press{padding: var(--air-64) 0;}
}
@media (orientation: landscape) and (max-height: 340px){
.jp-kicker{margin-bottom: var(--air-12);}
}
