*{box-sizing:border-box}html,body{margin:0;background:#fff}body{font-family:Arial,"Noto Sans JP","Yu Gothic",sans-serif}.page{position:relative;max-width:1024px;margin:0 auto;overflow:hidden}.page>.design{display:block;width:100%;height:auto}.hotnav{position:absolute;left:26.2%;right:3.2%;top:3.0%;height:4.7%;display:grid;grid-template-columns:repeat(6,1fr);z-index:10}.hotnav a,.hotmarkets a,.hotfooter a,.hotbutton{display:block}.hotmarkets{position:absolute;left:2.8%;right:2.8%;display:grid;grid-template-columns:repeat(5,1fr);gap:.6%;z-index:10}.index .hotmarkets{top:69.1%;height:15.8%}.hotfooter{position:absolute;left:41%;right:3.5%;bottom:2.4%;height:10.5%;display:grid;grid-template-columns:repeat(3,1fr);z-index:10}.hotbutton{position:absolute;z-index:11}.index .work{left:5%;top:34.7%;width:23.5%;height:4.2%}.index .case{left:5%;top:55.5%;width:20%;height:3.8%}.whatwedo .contactbtn{left:49%;top:77.6%;width:35%;height:4.4%}.business .allmarkets{right:2.5%;top:40.5%;width:20%;height:3%}.casestudy .hotmarkets{left:3%;right:3%;top:74.1%;height:12.4%}.contact .form-ui{position:absolute;left:58.5%;top:42.1%;width:37.4%;height:40%;z-index:20}.contact .field{position:absolute;left:38%;width:59%;height:6%;border:1px solid #d6dce5;border-radius:5px;background:#fff;padding:0 10px;font-size:13px}.contact .company{top:12.8%}.contact .name{top:21.1%}.contact .email{top:29.5%}.contact .phone{top:37.8%}.contact select.field{top:46.2%}.contact textarea.field{top:55.3%;height:17%;padding-top:9px;resize:none}.contact .agree{position:absolute;left:1%;top:75.2%;width:25px;height:25px}.contact .submit{position:absolute;left:2%;right:1%;top:83%;height:10%;border:0;border-radius:32px;background:#002855;color:#fff;font-size:20px;cursor:pointer}.contact .status{position:absolute;left:2%;right:1%;top:94%;font-size:11px;color:#444;text-align:center;background:rgba(255,255,255,.94)}.skip{position:fixed;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:99;outline:2px solid #002855}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ff7a00;outline-offset:2px}@media(max-width:700px){.page{width:100%}.hotnav{left:25.5%;right:2%;top:2.7%;height:5.2%}.contact .field{font-size:9px;padding:0 4px}.contact .submit{font-size:12px}.contact .agree{width:16px;height:16px}.contact .status{font-size:7px}}


/* RICKI CONTACT — polished final 2026-09-20 */
.contact .form-ui{
  position:absolute;
  left:58.0%;
  top:41.2%;
  width:38.2%;
  height:auto;
  min-height:42.5%;
  z-index:30;
  padding:3.0% 2.2% 2.0%;
  background:#fff;
  border:1px solid #d6dce5;
  border-radius:6px;
  box-shadow:0 0 0 8px rgba(255,255,255,.96);
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:auto;
}
.contact .form-ui::before{
  content:"お問い合わせフォーム";
  color:#002855;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:20px;
  font-weight:700;
  margin-bottom:4px;
}
.contact .field{
  position:static;
  left:auto; top:auto;
  width:100%;
  height:34px;
  min-height:34px;
  border:1px solid #d6dce5;
  border-radius:5px;
  background:#fff;
  padding:0 10px;
  font-size:13px;
  line-height:normal;
}
.contact textarea.field{
  position:static;
  height:82px;
  min-height:82px;
  padding:9px 10px;
  resize:none;
}
.contact .agree{
  position:static;
  width:20px;
  height:20px;
  margin:3px 0 24px;
  align-self:flex-start;
  cursor:pointer;
}
.contact .agree + .website{
  position:absolute;
  left:-9999px;
}
.contact .form-ui:has(.agree)::after{
  content:"【必須】個人情報の取り扱いに同意します。\A 個人情報の取り扱いについて";
  white-space:pre;
  position:absolute;
  left:13%;
  bottom:14.8%;
  color:#333;
  font-size:11px;
  line-height:1.65;
  pointer-events:none;
}
.contact .submit{
  position:static;
  width:100%;
  height:48px;
  margin-top:0;
  border:0;
  border-radius:28px;
  background:#002855;
  color:#fff;
  font-size:18px;
  cursor:pointer;
}
.contact .status{
  position:static;
  font-size:10px;
  line-height:1.4;
  color:#444;
  text-align:center;
  background:transparent;
  margin-top:0;
}
.contact .field:focus,
.contact .agree:focus,
.contact .submit:focus{
  outline:2px solid rgba(0,40,85,.25);
  outline-offset:1px;
}
@media(max-width:700px){
  .contact .form-ui{
    left:57.5%; width:39%;
    padding:2.5% 1.8% 1.8%;
    gap:5px;
  }
  .contact .form-ui::before{font-size:12px}
  .contact .field{height:24px;min-height:24px;font-size:9px;padding:0 5px}
  .contact textarea.field{height:52px;min-height:52px;padding-top:5px}
  .contact .agree{width:15px;height:15px;margin-bottom:17px}
  .contact .form-ui:has(.agree)::after{font-size:7px;left:13%;bottom:15%}
  .contact .submit{height:34px;font-size:12px}
  .contact .status{font-size:7px}
}

/* RICKI MARKET PAGES — top navigation coordinate fix only */
.amusement .hotnav,
.hoteltuckshop .hotnav,
.outdoorleisure .hotnav,
.specialtystore .hotnav,
.inbound .hotnav{
  left:41.8%;
  right:2.8%;
  top:1.55%;
  height:4.2%;
}
@media(max-width:700px){
  .amusement .hotnav,
  .hoteltuckshop .hotnav,
  .outdoorleisure .hotnav,
  .specialtystore .hotnav,
  .inbound .hotnav{
    left:41.8%;
    right:2.8%;
    top:1.55%;
    height:4.2%;
  }
}


/* RICKI FOOTER FINAL — central 6 labels are display-only; right inquiry button remains clickable */
.hotfooter{display:none!important;pointer-events:none!important}
.footercontact{
  position:absolute;
  left:74.0%;
  width:22.5%;
  bottom:6.1%;
  height:5.3%;
  z-index:12;
  display:block;
}
@media(max-width:700px){
  .footercontact{
    left:74.0%;
    width:22.5%;
    bottom:6.1%;
    height:5.3%;
  }
}
/* RICKI TOP NAV SAFE 2026-09-23 */
.hotnav{column-gap:0;pointer-events:none;}
.hotnav a{display:block;margin-left:18%;margin-right:18%;pointer-events:auto;position:relative;z-index:20;}
@media(max-width:700px){.hotnav a{margin-left:14%;margin-right:14%;}}
