@charset "UTF-8";
/* Loaded only for the static front page with the nendo page template.
   Values consolidate the final Concept 12 cascade in the supplied demo. */
#body_wrap.nendo-front {
  --ink: #171717; --muted: #737373; --line: #e5e5e5; --paper: #fff;
  background: #fff; color: #171717;
  font: 400 14px/1.95 'DM Sans', 'Noto Sans JP', sans-serif;
  letter-spacing: .025em;
}
#body_wrap.nendo-front #content { width:100%; max-width:none; padding:0; margin:0; }
#body_wrap.nendo-front #main_content { display:block; width:100%; max-width:none; padding:0; margin:0; background:transparent; box-shadow:none; border:0; }
#body_wrap.nendo-front #footer { margin:0; padding:0; background:#fff; color:#181818; }
/* Only unused SWELL chrome on this dedicated template; no clipping of overflow. */
#body_wrap.nendo-front > .p-breadcrumb,
#body_wrap.nendo-front > .p-mainVisual,
#body_wrap.nendo-front > .p-postSlider,
#body_wrap.nendo-front #before_footer_widget,
#body_wrap.nendo-front .p-fixBtnWrap,
#body_wrap.nendo-front #fix_bottom_menu { display:none; }
#body_wrap.nendo-front *, #body_wrap.nendo-front *::before, #body_wrap.nendo-front *::after { box-sizing:border-box; }
#body_wrap.nendo-front a { color:inherit; text-decoration:none; }
#body_wrap.nendo-front button { font:inherit; }
#body_wrap.nendo-front .nendo-home { margin:0; padding:0; }
#body_wrap.nendo-front .nendo-home img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1); }
#body_wrap.nendo-front :where(.nendo-home p) { margin:1em 0; }
#body_wrap.nendo-front .nendo-home h1,
#body_wrap.nendo-front .nendo-home h2,
#body_wrap.nendo-front .nendo-home h3,
#body_wrap.nendo-front .nendo-home h4 { color:inherit; padding:0; border:0; background:none; box-shadow:none; }
#body_wrap.nendo-front .shell { max-width:1280px; margin:auto; }
#body_wrap.nendo-front .hero { background:#fff; color:#171717; min-height:540px; height:78svh; max-height:850px; position:relative; overflow:hidden; }
#body_wrap.nendo-front .hero-bg { display:none; }
#body_wrap.nendo-front .hero-in { position:relative; width:100%; height:100%; padding:120px 7% 70px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
#body_wrap.nendo-front .hero h1 { font-size:clamp(34px,5vw,64px); font-weight:500; letter-spacing:.035em; line-height:1.6; margin:0 0 26px; max-width:none; text-align:center; text-shadow:none; }
#body_wrap.nendo-front .hero-desc { max-width:100%; margin:0; text-align:center; font-size:clamp(12px,1.25vw,15px); letter-spacing:.01em; line-height:2.1; color:#626262; }
#body_wrap.nendo-front .section { padding:110px 6%; }
#body_wrap.nendo-front .title-en { font-family:'Noto Sans JP',sans-serif; font-size:clamp(26px,3vw,40px); line-height:1.55; letter-spacing:.01em; margin:0 0 34px; font-weight:500; }
#body_wrap.nendo-front .copy { color:#5d5d5d; line-height:2.2; max-width:540px; }
#body_wrap.nendo-front .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
#body_wrap.nendo-front .about-art { aspect-ratio:5/4; background:#ddd; overflow:hidden; filter:grayscale(1); }
#body_wrap.nendo-front .about-art img { filter:grayscale(1) contrast(.94); }
#body_wrap.nendo-front .inline-action,
#body_wrap.nendo-front .outline-action { display:inline-flex; align-items:center; gap:35px; font-size:11px; font-weight:600; letter-spacing:.16em; margin-top:30px; border-bottom:1px solid #222; padding-bottom:12px; }
#body_wrap.nendo-front .outline-action { border:1px solid #222; padding:13px 24px; margin-top:20px; }
#body_wrap.nendo-front .inline-action span,
#body_wrap.nendo-front .outline-action span { font-size:19px; font-weight:300; }
#body_wrap.nendo-front #contents.dark { background:#f6f6f6; color:#171717; }
#body_wrap.nendo-front .content-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:24px; }
#body_wrap.nendo-front #contents .title-en { margin:0 0 34px; }
#body_wrap.nendo-front #contents .social-strip { display:flex; flex-wrap:wrap; gap:10px; padding:0; border:0; justify-content:flex-start; margin-top:18px; }
#body_wrap.nendo-front #contents .social-strip a { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:122px; padding:13px 21px; border:1px solid #d5d5d5; background:#fff; color:#171717; border-radius:2px; font-size:12px; letter-spacing:.015em; transition:background .2s,color .2s; }
#body_wrap.nendo-front #contents .social-strip a:hover { background:#171717; color:#fff; }
#body_wrap.nendo-front .nendo-home .social-icon { height:23px; width:23px; object-fit:contain; filter:none; flex-shrink:0; }
#body_wrap.nendo-front .social-arrow { font-size:15px; margin-left:auto; color:#777; }
#body_wrap.nendo-front #contents .note { margin-top:16px; color:#777; font-size:11px; }
#body_wrap.nendo-front .statement { text-align:center; padding:100px 7%; background:#fff; border:0; }
#body_wrap.nendo-front .statement p { font-size:clamp(23px,2.9vw,37px); line-height:2; letter-spacing:.05em; font-weight:300; margin:0 auto; max-width:1100px; }
#body_wrap.nendo-front .service { display:grid; grid-template-columns:1fr 1fr; min-height:600px; background:#fff; }
#body_wrap.nendo-front .service-photo { min-height:550px; background:#888; }
#body_wrap.nendo-front .service-info { padding:70px 8%; display:flex; flex-direction:column; justify-content:center; }
#body_wrap.nendo-front .service-info .title-en { font-size:clamp(26px,3vw,40px); margin:0 0 34px; line-height:1.55; letter-spacing:.01em; }
#body_wrap.nendo-front .service-info .jp-title { display:none; }
#body_wrap.nendo-front .service-info .copy { max-width:650px; line-height:2.1; }
#body_wrap.nendo-front .note { font-size:11px; color:#888; margin-top:27px; }
#body_wrap.nendo-front .service-info .note { max-width:480px; }
#body_wrap.nendo-front .plan-lead { font-size:12px; line-height:1.9; color:#666; margin:26px 0 18px; }
#body_wrap.nendo-front .service-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:12px; width:100%; border:0; margin:28px 0 10px; scroll-margin-top:94px; }
#body_wrap.nendo-front .plan-card { position:relative; border:1px solid #d8d8d8; background:#fff; padding:24px 19px 25px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:0; }
#body_wrap.nendo-front .plan-card.plan-featured { border:1.5px solid #141414; background:#fff; }
#body_wrap.nendo-front .plan-badge { position:absolute; right:16px; top:16px; font-size:11px; line-height:1; padding:6px 11px; background:#111; color:#fff; font-weight:600; letter-spacing:.12em; }
#body_wrap.nendo-front .plan-card h4 { font-size:17px; font-weight:650; letter-spacing:.04em; margin:0 0 13px; line-height:1.95; }
#body_wrap.nendo-front .plan-card .plan-price { font-size:28px; letter-spacing:-.035em; font-weight:650; margin:0 0 15px; line-height:1.2; color:#171717; }
#body_wrap.nendo-front .plan-card .plan-price small { font-size:10px; letter-spacing:0; color:#888; font-weight:400; white-space:nowrap; }
#body_wrap.nendo-front .plan-card .plan-subtitle { font-size:12px; color:#222; font-weight:550; line-height:1.7; margin:0 0 17px; min-height:2.5em; }
#body_wrap.nendo-front .plan-features { margin:0; padding:14px 0 0; list-style:none; border-top:1px solid #e6e6e6; width:100%; }
#body_wrap.nendo-front .plan-features li { position:relative; font-size:11px; line-height:1.75; color:#555; padding:2px 0 2px 15px; margin:0; }
#body_wrap.nendo-front .plan-features li::before { content:'–'; position:absolute; left:0; color:#888; }
#body_wrap.nendo-front .service-cta { align-self:flex-start; background:#171717; color:#fff; font-size:12px; letter-spacing:.06em; padding:15px 22px; margin-top:6px; transition:background .2s; }
#body_wrap.nendo-front .service-cta:hover { background:#4b4b4b; }
#body_wrap.nendo-front .journal { background:#fff; }
#body_wrap.nendo-front .journal .copy { margin-bottom:30px; }
#body_wrap.nendo-front .journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 22px; }
#body_wrap.nendo-front .journal-card { display:block; padding:0; border:0; min-width:0; }
#body_wrap.nendo-front .journal-card .thumb { width:100%; aspect-ratio:1.55; overflow:hidden; background:#efefef; }
#body_wrap.nendo-front .journal-card .thumb img { height:100%; width:100%; object-fit:cover; transition:transform .3s ease; }
#body_wrap.nendo-front .journal-card:hover .thumb img { transform:scale(1.035); }
#body_wrap.nendo-front .journal-meta { display:block; font-size:11px; color:#888; line-height:1.5; margin:14px 0 8px; }
#body_wrap.nendo-front .journal-card h3 { font-size:15px; font-weight:500; line-height:1.85; letter-spacing:.015em; margin:0; }
#body_wrap.nendo-front .journal-no-image { display:flex; align-items:center; justify-content:center; height:100%; color:#888; font-size:14px; }
#body_wrap.nendo-front .journal-more { text-align:center; margin-top:50px; }
#body_wrap.nendo-front .journal-more-btn { display:inline-flex; align-items:center; justify-content:center; gap:65px; background:#171717; color:#fff; padding:15px 24px; font-size:12px; min-width:220px; }
#body_wrap.nendo-front .journal-more-btn:hover { background:#444; }
#body_wrap.nendo-front #recommendations { background:#f2f2f2; border:0; }
#body_wrap.nendo-front .amazon-section { scroll-margin-top:80px; }
#body_wrap.nendo-front .amazon-inner { max-width:980px; margin:auto; padding:100px 7%; }
#body_wrap.nendo-front .amazon-inner h2 { font-weight:600; font-size:clamp(25px,3vw,40px); letter-spacing:-.035em; line-height:1.5; margin:0 0 20px; }
#body_wrap.nendo-front .amazon-inner>p:not(.amazon-kicker):not(.amazon-note) { font-size:14px; line-height:2.1; color:#555; margin:0 0 26px; }
#body_wrap.nendo-front .amazon-cta { display:inline-flex; align-items:center; gap:24px; background:#181818; color:#fff; padding:14px 23px; font-size:12px; font-weight:550; letter-spacing:.03em; border:1px solid #181818; cursor:pointer; }
#body_wrap.nendo-front #contact.dark { background:#f7f7f7; color:#171717; }
#body_wrap.nendo-front .contact-block { padding:110px 6%; text-align:center; }
#body_wrap.nendo-front .contact-block .copy { margin:auto; color:#646464; }
#body_wrap.nendo-front .cta { display:inline-flex; margin-top:45px; padding:15px 32px; background:#161616; color:#fff; font-size:12px; font-weight:600; gap:50px; align-items:center; }
#body_wrap.nendo-front .cta:hover { background:#444; }
/* Header/footer reproduce the demo, with WordPress menu and SWELL logo data. */
#body_wrap.nendo-front .nendo-site-header { height:80px; position:fixed; z-index:100; inset:0 0 auto; background:rgba(255,255,255,.97); backdrop-filter:blur(18px); border-bottom:1px solid #ececec; }
#body_wrap.nendo-front .header-inner { max-width:1280px; padding:0 4%; margin:auto; height:100%; display:flex; align-items:center; justify-content:space-between; }
#body_wrap.nendo-front .logo { display:inline-flex; align-items:center; width:144px; max-width:35vw; line-height:0; flex-shrink:0; }
#body_wrap.nendo-front .logo img { display:block; width:100%; height:auto; object-fit:contain; filter:none; }
#body_wrap.nendo-front .nendo-nav-list { display:flex; gap:35px; align-items:center; list-style:none; padding:0; margin:0; }
#body_wrap.nendo-front .nav a { font-size:12px; letter-spacing:.03em; }
#body_wrap.nendo-front .nav a:hover { opacity:.55; }
#body_wrap.nendo-front .menu { display:none; background:none; border:0; padding:0; font-size:22px; cursor:pointer; }
#body_wrap.nendo-front .nendo-site-footer { padding:46px max(6%,calc((100vw - 1280px)/2)) 32px; background:#fff; border-top:1px solid #e9e9e9; color:#181818; display:grid; grid-template-columns:1fr 1fr; gap:35px; align-items:center; }
#body_wrap.nendo-front .nendo-site-footer .logo { width:128px; }
#body_wrap.nendo-front .footer-links,
#body_wrap.nendo-front .nendo-footer-list { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:20px 26px; list-style:none; margin:0; padding:0; }
#body_wrap.nendo-front .nendo-site-footer a,
#body_wrap.nendo-front .nendo-site-footer small { color:#777; font-size:11px; letter-spacing:0; }
#body_wrap.nendo-front .nendo-site-footer small { grid-column:1/-1; display:block; width:100%; text-align:center; justify-self:center; color:#999; }
#body_wrap.nendo-front [id] { scroll-margin-top:94px; }
#body_wrap.nendo-front .social-strip [aria-disabled=true] { cursor:default; }
#body_wrap.nendo-front a:focus-visible,
#body_wrap.nendo-front button:focus-visible { outline:2px solid #171717; outline-offset:4px; }
@media(max-width:1200px) {
  #body_wrap.nendo-front .service { grid-template-columns:.8fr 1.2fr; }
  #body_wrap.nendo-front .service-info { padding:65px 6%; }
  #body_wrap.nendo-front .plan-card { padding:19px 14px; }
  #body_wrap.nendo-front .plan-card .plan-price { font-size:24px; }
  #body_wrap.nendo-front .plan-card .plan-price small { display:block; margin-top:5px; }
}
@media(max-width:900px) {
  #body_wrap.nendo-front .service-menu { grid-template-columns:1fr; }
  #body_wrap.nendo-front .plan-card { padding:22px; }
  #body_wrap.nendo-front .plan-card .plan-price small { display:inline; }
  #body_wrap.nendo-front .amazon-inner { padding:75px 7%; }
}
/* The supplied demo overlaps the title and badge at narrow three-column widths.
   Move only the absolute badge; card sizes and content flow stay identical. */
@media(min-width:901px) and (max-width:1350px) {
  #body_wrap.nendo-front .plan-badge { top:-12px; }
}
@media(max-width:850px) {
  #body_wrap.nendo-front .nendo-site-header { height:70px; }
  #body_wrap.nendo-front .header-inner { padding:0 6%; }
  #body_wrap.nendo-front .logo { width:125px; }
  #body_wrap.nendo-front .nav { display:none; }
  #body_wrap.nendo-front .menu { display:block; }
  #body_wrap.nendo-front .hero { height:76svh; min-height:540px; }
  #body_wrap.nendo-front .hero-in { padding:110px 7% 60px; }
  #body_wrap.nendo-front .hero h1 { font-size:clamp(32px,6vw,48px); }
  #body_wrap.nendo-front .section { padding:75px 7%; }
  #body_wrap.nendo-front .about-grid,
  #body_wrap.nendo-front .service { grid-template-columns:1fr; gap:35px; }
  #body_wrap.nendo-front .about-art { aspect-ratio:1.5; }
  #body_wrap.nendo-front .content-head { display:block; }
  #body_wrap.nendo-front .service-photo { min-height:360px; }
  #body_wrap.nendo-front .service-info { padding:20px 7% 76px; }
  #body_wrap.nendo-front .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  #body_wrap.nendo-front .nendo-site-footer { grid-template-columns:1fr; padding:40px 7% 30px; }
  #body_wrap.nendo-front .footer-links,
  #body_wrap.nendo-front .nendo-footer-list { justify-content:flex-start; }
}
@media(max-width:650px) {
  #body_wrap.nendo-front .nendo-home .social-icon { width:20px; height:20px; }
  #body_wrap.nendo-front .journal-more { margin-top:35px; }
}
@media(max-width:520px) {
  #body_wrap.nendo-front #contents .social-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #body_wrap.nendo-front #contents .social-strip a { min-width:0; }
  #body_wrap.nendo-front .hero { height:74svh; min-height:490px; }
  #body_wrap.nendo-front .hero h1 { font-size:clamp(30px,8vw,38px); margin-bottom:22px; }
  #body_wrap.nendo-front .hero-desc { font-size:12px; letter-spacing:0; }
  #body_wrap.nendo-front .journal-grid { gap:27px 12px; }
  #body_wrap.nendo-front .journal-card h3 { font-size:13px; }
  #body_wrap.nendo-front .journal-meta { font-size:10px; }
  #body_wrap.nendo-front .statement { padding:85px 7%; }
  #body_wrap.nendo-front .contact-block { padding:100px 7%; }
}
@media(prefers-reduced-motion:reduce) {
  #body_wrap.nendo-front .journal-card .thumb img,
  #body_wrap.nendo-front #contents .social-strip a { transition:none; }
}
