*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--base);
  color:var(--ink);
  font-family:var(--body);
  font-size:18.5px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.sec--white{background:var(--card)}
.sec--pale{background:var(--pale)}
.sec--navy{background:var(--navy);color:#fff}
.sec-head--center{text-align:center}
h2 em{font-style:normal;color:var(--blue)}
.sec-lead{margin:0;color:var(--note);font-size:17.5px;line-height:1.9}
.eyebrow{
  font-family:var(--gothic);font-weight:700;font-size:13px;letter-spacing:.22em;
  color:var(--blue);margin:0 0 12px;
}
.head-in{display:flex;align-items:center;gap:26px;height:76px;max-width:1400px;margin-inline:auto;padding-inline:var(--pad)}
.logo{flex:none}
.logo img{height:34px;width:auto;max-width:none}
.head-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--gothic);font-weight:700;white-space:nowrap;flex:none;
  font-size:14.5px;color:#fff;background:var(--blue);border-radius:999px;height:46px;padding:0 22px}
.head-cta svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8}
.foot{background:#061a38;color:#c3d0e4;padding:40px 0 28px;font-size:14px}
.sec{position:relative;isolation:isolate;padding-block:80px}
.sec-head{margin-bottom:38px}
h2{font-family:var(--gothic);font-weight:900;font-size:clamp(26px,3.4vw,38px);line-height:1.4;
  color:var(--head);margin:0 0 12px;letter-spacing:.01em;text-wrap:balance}
.btn-main{background:var(--blue);color:#fff}
.btn{display:inline-flex;align-items:center;gap:14px;font-family:var(--gothic);font-weight:700;
  font-size:17px;height:56px;padding:0 34px;border-radius:999px;transition:transform .2s ease,background-color .2s ease}
@media (max-width:768px){
body{font-size:16px}
.head-in{height:64px;gap:10px}
.logo img{height:26px}
.head-cta{font-size:13px;height:40px;padding:0 13px;margin-left:auto}
.sec{padding-block:56px}
.btn{white-space:nowrap;font-size:14.5px;height:50px;padding:0 20px;gap:10px}
}
@media (max-width:380px){
.btn{font-size:13px;padding:0 15px;gap:8px}
}

.menu-btn{display:none}
.m-menu{display:none}
@media (max-width:1080px){
.cta-dd{margin-left:auto}
.menu-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0 9px;flex:none}
.menu-btn span{display:block;height:2px;background:var(--head);border-radius:2px;
  transition:transform .25s ease,opacity .25s ease}
.m-menu{position:fixed;top:0;left:0;right:0;z-index:49;background:#fff;
  padding:80px 24px 24px;flex-direction:column;box-shadow:0 14px 30px rgba(5,32,70,.18);
  font-family:var(--gothic);font-weight:700;font-size:15.5px}
.m-menu a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);color:var(--head)}
.m-menu .m-menu-cta{margin-top:16px;background:var(--blue);color:#fff;text-align:center;
  border-radius:999px;padding:13px;border-bottom:none}
body.menu-open .m-menu{display:flex}
body.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .menu-btn span:nth-child(2){opacity:0}
body.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:768px){
.head-in{gap:8px;padding-inline:14px}
.head-cta{font-size:12.5px;height:38px;padding:0 12px}
.menu-btn{width:36px;padding:0 5px}
}
@media (max-width:420px){
.logo img{height:22px}
.head-cta{font-size:12px;height:36px;padding:0 11px;gap:6px}
.head-cta svg{width:15px;height:15px}
}

.teno-bnr-sec{padding-block:48px;background:#fff}
.teno-bnr{display:flex;align-items:stretch;max-width:980px;margin-inline:auto;background:#FBF6EE;border:1px solid #EADFCB;
  border-radius:20px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.teno-bnr:hover,.teno-bnr:focus-visible{transform:translateY(-2px);box-shadow:0 14px 30px rgba(5,32,70,.12)}
.teno-bnr-img{flex:0 0 42%;display:block;position:relative}
.teno-bnr-img img{width:100%;height:100%;object-fit:cover}
.teno-bnr-cap{position:absolute;right:10px;bottom:8px;font-size:11px;line-height:1.4;color:#6b5a4c;background:rgba(255,253,248,.82);padding:2px 8px;border-radius:999px}
.teno-bnr-txt{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:28px 36px}
.teno-bnr-eb{font-family:var(--gothic);font-weight:700;font-size:13.5px;letter-spacing:.08em;color:#A0672B}
.teno-bnr-ttl{font-family:var(--gothic);font-weight:900;font-size:clamp(24px,3vw,34px);line-height:1.35;color:var(--head)}
.teno-bnr-p{font-size:15.5px;line-height:1.8;color:#4a5165}
.teno-bnr-go{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:8px;font-family:var(--gothic);font-weight:700;
  font-size:15px;color:#fff;background:var(--blue);border-radius:999px;padding:11px 22px}
.teno-bnr-go svg{width:20px;height:10px;flex:none}
.teno-bnr-go path{stroke:currentColor;stroke-width:1.6;fill:none}
@media (max-width:768px){
.teno-bnr-sec{padding-block:32px}
.teno-bnr{flex-direction:column}
.teno-bnr-img{flex:none;aspect-ratio:16/9}
.teno-bnr-txt{padding:20px 20px 24px}
.teno-bnr-ttl{font-size:24px}
.teno-bnr-p{font-size:14.5px}
.teno-bnr-go{align-self:stretch;justify-content:center}
}

.teno-pop{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#FBF6EE;border-top:1px solid #EADFCB;
  box-shadow:0 -10px 30px rgba(5,32,70,.16);transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.teno-pop[hidden]{display:none}
.teno-pop.is-on{transform:none}
.teno-pop-in{position:relative;max-width:1120px;margin-inline:auto;padding:12px 72px 12px 24px}
.teno-pop-link{display:flex;align-items:center;gap:22px}
.teno-pop-img{flex:0 0 132px;height:76px;border-radius:10px;overflow:hidden;position:relative;display:block}
.teno-pop-img img{width:100%;height:100%;object-fit:cover}
.teno-pop-cap{position:absolute;left:4px;bottom:4px;font-size:10px;line-height:1.5;color:#6b5a4c;background:rgba(255,253,248,.88);padding:0 6px;border-radius:999px;white-space:nowrap}
.teno-pop-txt{flex:1;display:block;min-width:0}
.teno-pop-eb{display:inline-block;font-family:var(--gothic);font-weight:700;font-size:12.5px;letter-spacing:.06em;color:#A0672B;margin-right:10px;white-space:nowrap}
.teno-pop-ttl{display:inline-block;font-family:var(--gothic);font-weight:900;font-size:22px;line-height:1.35;color:var(--head);white-space:nowrap}
.teno-pop-p{display:block;font-size:14px;line-height:1.7;color:#4a5165;margin-top:2px}
.teno-pop-go{flex:none;display:inline-flex;align-items:center;gap:10px;font-family:var(--gothic);font-weight:700;font-size:15px;color:#fff;
  background:var(--blue);border-radius:999px;padding:11px 24px;white-space:nowrap;transition:opacity .2s ease}
.teno-pop-link:hover .teno-pop-go,.teno-pop-link:focus-visible .teno-pop-go{opacity:.85}
.teno-pop-go svg{width:20px;height:10px;flex:none}
.teno-pop-go path{stroke:currentColor;stroke-width:1.6;fill:none}
.teno-pop-x{position:absolute;top:50%;right:14px;transform:translateY(-50%);width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.teno-pop-x::before{content:"\00d7";width:32px;height:32px;border-radius:50%;border:1px solid #d9cfbd;background:#fff;color:#3a2e28;
  font:700 18px/1 sans-serif;display:flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion:reduce){.teno-pop{transition:none}}
@media (max-width:768px){
.teno-pop-in{padding:10px 48px 10px 10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.teno-pop-link{gap:8px}
.teno-pop-img{flex-basis:60px;height:52px;border-radius:8px}
.teno-pop-cap{left:3px;bottom:3px;font-size:9.5px;padding:0 5px}
.teno-pop-capx{display:none}
.teno-pop-eb{display:block;font-size:10.5px;margin:0;letter-spacing:.02em}
.teno-pop-ttl{display:block;font-size:15.5px}
.teno-pop-p{display:none}
.teno-pop-go{font-size:12.5px;padding:8px 11px}
.teno-pop-go svg{display:none}
.teno-pop-x{right:2px}
}
@media (max-width:400px){
.teno-pop-gox{display:none}
.teno-pop-go{padding:8px 14px}
}
@media (max-width:340px){
.teno-pop-eb{font-size:9.5px;letter-spacing:0}
.teno-pop-ttl{font-size:14px}
}
