/* Presentation only. Product values, form controls and request handlers stay native. */
body.ep-ready-site {
  --ep-ink:#343b41; --ep-heading:#3b404d; --ep-line:#e2e4e5;
  --ep-soft:#f6f7f8; --ep-accent:#354f54; --ep-price:#dc304b;
  background:#fff; color:var(--ep-ink);
  font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.7;
}
.ep-ready-site .ec-layoutRole {background:#fff;}
.ep-ready-site .ec-layoutRole__main {min-width:0;}
.ep-ready-site .ec-pageHeader h1 {color:var(--ep-heading);font-size:29px;line-height:1.4;letter-spacing:0;border-color:var(--ep-line);}
.ep-ready-site .ec-pageHeader {margin-bottom:24px;}
.ep-ready-site .ec-label {color:var(--ep-heading);line-height:1.5;}
.ep-ready-site .ec-footerRole {border-top:1px solid var(--ep-line);}
.ep-ready-site .ec-footerNavi__link a {text-underline-offset:3px;}
.ep-ready-site .ec-footerNavi__link a:hover {text-decoration:underline;}
.ep-ready-site .ec-footerTitle__copyright {overflow-wrap:anywhere;}
.ep-ready-site :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #2878c6;outline-offset:3px;}
.ep-ready-site .ec-alert-warning {line-height:1.6;overflow-wrap:anywhere;background:#fff1f2;color:#982539;border:1px solid #edbfc6;}
.ep-ready-site .ec-alert-warning .ec-alert-warning__text {color:#982539;font-size:13px;font-weight:400;text-align:left;}
.ep-ready-site .ec-alert-warning .ec-alert-warning__icon {background:#982539;border-radius:50%;padding:3px;width:20px;height:20px;}
.ep-ready-site .ec-alert-warning .ec-alert-warning__icon img {display:block;width:14px;height:14px;}
@media(max-width:767px) {
  .ep-ready-site .ec-pageHeader h1 {font-size:23px;}
  .ep-ready-site .ec-pageHeader {margin-bottom:18px;}
  .ep-ready-site .ec-footerNavi {row-gap:18px;}
}
@media(prefers-reduced-motion:reduce) {
  .ep-ready-site .ep-ready-motion {animation:none!important;transition:none!important;}
}

/* Match the approved v65 sample shell. Keep every native menu, link and form. */
.ep-ready-site .ec-layoutRole {color:#343b41;font-size:14px;line-height:1.7;}
.ep-ready-site .ec-layoutRole__header {background:#fff;color:#343b41;}
.ep-ready-site .ec-layoutRole__header > .ec-headerNaviRole {padding-bottom:0!important;}
.ep-ready-site .ec-layoutRole__header .basic-header-logo img {width:205px;max-width:100%;height:auto;object-fit:contain;}
.ep-ready-site .ec-layoutRole__header > .ec-headerNaviRole .mega-menu-wrapper > .d-flex {min-height:68px;}
.ep-ready-site .ec-layoutRole__header .ep-ready-nav-surface {background:#354f54!important;}
.ep-ready-site .ep-ready-nav-surface > .ec-headerNaviRole {padding-bottom:0!important;}
.ep-ready-site .ep-ready-nav-surface .basic-main-menu > nav > ul {min-height:58px;display:flex;align-items:center;gap:27px;}
.ep-ready-site .ep-ready-nav-surface .basic-main-menu > nav > ul > li {margin:0;}
.ep-ready-site .ep-ready-nav-surface .basic-main-menu > nav > ul > li > a {color:#fff;font-size:13px;font-weight:700;}
.ep-ready-site .ec-footerRole {background:#f7f8f8;color:#61726d;border-top:1px solid #e2e4e5;padding:28px 24px;}
.ep-ready-site .ec-footerRole__inner {max-width:1090px;margin:auto;}
.ep-ready-site .ec-footerNavi {padding:0;margin:0;gap:24px;}
.ep-ready-site .ec-footerNavi__box {min-width:0;}
.ep-ready-site .ec-footerNavi__box > span {color:#39434b;font-size:13px;font-weight:700;}
.ep-ready-site .ec-footerNavi__link {padding:5px 0;}
.ep-ready-site .ec-footerNavi__link a {color:#61726d;font-size:11px;text-decoration:underline;line-height:1.7;}
.ep-ready-site .ec-footerTitle {margin-top:20px;padding:0;color:#61726d;}
.ep-ready-site .ec-footerTitle__logo a {color:#354f54;font-size:18px;}
.ep-ready-site .ec-footerTitle__copyright {color:#61726d;font-size:11px;margin-top:10px;}
@media(max-width:767px) {
  .ep-ready-site .ec-layoutRole {font-size:13px;}
  .ep-ready-site .ec-layoutRole__header .basic-header-logo img {width:160px;}
  .ep-ready-site .ec-layoutRole__header > .ec-headerNaviRole .mega-menu-wrapper > .d-flex {min-height:58px;}
  .ep-ready-site .ep-ready-nav-surface {min-height:40px;}
  .ep-ready-site .ep-ready-nav-surface > .ec-headerNaviRole {display:none;}
  .ep-ready-site .ep-ready-mobile-guide {display:flex!important;align-items:center;min-height:40px;padding:0 17px;color:#fff;font-size:11px;font-weight:700;}
  .ep-ready-site .ec-footerRole {padding:22px 17px;}
  .ep-ready-site .ec-footerNavi {gap:20px;flex-wrap:wrap;}
  .ep-ready-site .ec-footerNavi__box {flex:1 1 135px;}
}

/* Keep every desktop menu label and its dropdown arrow together.
   The old theme's 70px item margins must not add to the shared flex gap. */
@media (min-width: 992px) {
  body.ep-ready-site .ec-layoutRole__header .ep-ready-nav-surface .basic-main-menu > nav > ul {
    justify-content: space-between;
    gap: clamp(16px, 2.3vw, 32px);
    flex-wrap: nowrap;
  }
  body.ep-ready-site .ec-layoutRole__header .ep-ready-nav-surface .basic-main-menu > nav > ul > li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin: 0 !important;
    white-space: nowrap;
  }
  body.ep-ready-site .ec-layoutRole__header .ep-ready-nav-surface .basic-main-menu > nav > ul > li > a {
    white-space: nowrap;
  }
}
