@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--ink:#193f43;--teal:#146e71;--mint:#dcefe8;--orange:#ec9c57;--cream:#fbfaf5;--line:#dbe7e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',system-ui,sans-serif;background:var(--cream);line-height:1.8}a{color:inherit;text-decoration:none}.wrap{max-width:1160px;padding:0 28px;margin:auto}.site-header{background:#fffdf9;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8eeea}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:82px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:27px;font-weight:800;letter-spacing:-2px;color:var(--teal)}.brand-mark span{color:var(--orange);font-size:24px}.brand-sub{font-size:12px;font-weight:700;letter-spacing:.09em}.site-header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700}.site-header nav a:hover{color:var(--teal)}.nav-contact{background:var(--teal);color:white!important;padding:11px 21px;border-radius:50px}.hero{background:#eef7f1;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;min-height:590px;gap:35px}.eyebrow,.section-label{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--teal)}.hero h1{font-size:clamp(35px,4.6vw,62px);line-height:1.42;letter-spacing:.03em;margin:22px 0}.hero h1 em{font-style:normal;color:#e49a50}.hero-copy>p{font-size:15px;line-height:2.1;color:#47676a}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border-radius:50px;padding:14px 24px;font-size:13px;font-weight:800;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--teal);color:white}.btn.secondary{background:white;color:var(--teal);border:1px solid #c9dfd6}.hero-art{height:445px;position:relative;display:grid;place-items:center}.sun{position:absolute;width:355px;height:355px;background:#d3e9df;border-radius:48% 52% 59% 41%;transform:rotate(-15deg)}.shape{position:absolute;border-radius:48% 52% 52% 48%;box-shadow:0 15px 30px #1b6d6c1c}.shape-a{width:230px;height:270px;background:#79b9ab;left:8%;top:10%;transform:rotate(-33deg)}.shape-b{width:215px;height:285px;background:#f2b67c;right:7%;top:18%;transform:rotate(31deg)}.shape-c{width:220px;height:215px;background:#187477;bottom:2%;left:28%;transform:rotate(18deg)}.art-center{position:relative;background:#ffffffeb;border:1px solid white;padding:38px 50px;border-radius:100px 100px 90px 90px;font-size:38px;font-weight:800;letter-spacing:.1em;color:var(--teal);text-align:center;box-shadow:0 12px 50px #194e4b18}.art-center small{display:block;font-size:9px;letter-spacing:.14em;color:#8b9b97}.little-star{position:absolute;top:5%;right:18%;font-size:55px;color:#e8a366}.hero-bottom{display:flex;justify-content:space-between;padding-bottom:25px;color:#70928d;font-size:11px;letter-spacing:.1em}.section{padding:100px 0;scroll-margin-top:85px}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2{font-size:clamp(29px,3.4vw,43px);line-height:1.55;letter-spacing:.03em;margin:18px 0 0}.about-body{padding-top:35px;color:#536d6e;font-size:15px}.about-pill{display:inline-block;border-radius:50px;background:#eaf4ee;color:var(--teal);padding:9px 20px;font-size:12px;font-weight:700;margin-top:20px}.facilities-section{background:#f7f9f5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:38px}.section-heading p{color:#668080;font-size:14px}.facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.facility-card{overflow:hidden;background:white;border:1px solid #e8efeb;border-radius:19px;transition:transform .2s,box-shadow .2s}.facility-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px #174e4b12}.card-art{height:200px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.card-art:before,.card-art:after{content:'';position:absolute;width:230px;height:230px;border:2px solid #ffffff6b;border-radius:48%;transform:rotate(25deg)}.card-art:before{left:-80px;top:-120px}.card-art:after{right:-70px;bottom:-140px}.marble .card-art{background:#c9e9e9;color:#267f86}.maple .card-art{background:#d5eddb;color:#49856b}.cocofull .card-art{background:#f9dce4;color:#ba6987}.miracle .card-art{background:#faedb5;color:#aa8834}.art-decoration{position:absolute;right:13%;top:10px;font-size:50px;opacity:.45}.art-name{font-size:clamp(30px,4vw,44px);font-weight:800;letter-spacing:.12em}.art-caption{font-size:10px;font-weight:800;letter-spacing:.4em}.card-content{padding:24px 27px 26px}.category{font-size:11px;color:#6c8b89;font-weight:700}.card-content h3{font-size:21px;margin:5px 0}.card-content h3 span{float:right;color:var(--teal)}.card-content p{font-size:13px;color:#667a79;min-height:35px}.card-link{display:inline-block;font-size:12px;font-weight:800;color:var(--teal);margin-top:13px}.documents-section{background:#fff}.document-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.document-card{display:flex;align-items:center;gap:19px;background:#f0f7f2;border:1px solid #d7e9df;padding:30px 24px;border-radius:16px}.document-card:hover{background:#e5f2e9}.doc-icon{width:57px;height:57px;border-radius:50%;background:white;color:var(--teal);font-size:28px;display:grid;place-items:center;flex-shrink:0}.document-card span{font-size:11px;color:#6b8984}.document-card h3{font-size:17px;margin:2px 0}.document-card p{font-size:12px;margin:0;color:#69807d}.document-card b{margin-left:auto;color:var(--teal)}.shop-section{background:#faf3e9}.shop-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px}.shop-image{height:350px;border-radius:22px;overflow:hidden}.shop-image img{display:block;width:100%;height:100%;object-fit:cover}.shop-copy p{color:#647b78;font-size:14px;line-height:2;margin:24px 0}.contact-section{background:#e5f1eb}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.contact-layout>div>p{font-size:14px;color:#587573}.contact-details{background:#fff;padding:35px;border-radius:20px;font-size:14px}.contact-details strong{font-size:18px}.contact-details p{border-bottom:1px solid #edf1ed;padding-bottom:12px}footer{background:#19484a;color:#fff;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.footer-inner>span{font-size:23px;font-weight:800;letter-spacing:.08em}.footer-inner small{font-size:10px;font-weight:400;margin-left:8px}@media(max-width:850px){.site-header nav{gap:12px;font-size:11px}.hero-layout{min-height:500px}.hero-art{height:360px}.art-center{font-size:25px;padding:26px}.sun{width:260px;height:260px}.shape-a,.shape-b,.shape-c{width:150px;height:180px}.about-grid,.shop-layout,.contact-layout{gap:30px}}@media(max-width:650px){.wrap{padding:0 20px}.header-inner{display:block;padding-top:12px;padding-bottom:12px}.brand{justify-content:center}.site-header nav{overflow-x:auto;justify-content:flex-start;white-space:nowrap;padding-top:10px;gap:18px}.nav-contact{padding:6px 12px}.hero-layout{grid-template-columns:1fr;gap:0;padding-top:50px}.hero h1{font-size:36px}.hero-art{height:275px}.hero-copy>p{font-size:13px}.hero-bottom{display:none}.section{padding:65px 0}.about-grid,.facility-grid,.document-grid,.shop-layout,.contact-layout{grid-template-columns:1fr}.about-body{padding-top:0}.section-heading{display:block}.section-heading p{margin-top:15px}.card-art{height:165px}.shop-image{height:240px}.contact-actions{gap:10px}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%}}

.company-logo{width:78px;height:58px;object-fit:contain;display:block}.card-art .exterior-photo{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.facility-card .card-art:before,.facility-card .card-art:after{display:none}@media(max-width:650px){.company-logo{height:46px;width:65px}}

/* v3: main hero corporate identity */
.hero-art .art-center{width:240px;min-height:210px;padding:28px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:42px;background:#ffffffed}
.hero-art .art-center img{display:block;width:170px;max-width:100%;height:140px;object-fit:contain}
.hero-art .art-center small{font-size:13px;letter-spacing:.09em;color:#235e61;font-weight:700}
@media(max-width:650px){.hero-art .art-center{width:190px;min-height:165px;padding:16px}.hero-art .art-center img{width:140px;height:110px}.hero-art .art-center small{font-size:11px}}
/* v4: hero logo only, without decorative shapes or white panel */
.hero-art .sun,.hero-art .shape,.hero-art .little-star{display:none!important}
.hero-art .art-center{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:12px}
.hero-art .art-center img{width:min(390px,90%);max-width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.hero-art .art-center small{font-size:17px;letter-spacing:.12em;color:#235e61;font-weight:700}
@media(max-width:650px){.hero-art .art-center{width:100%;min-height:0;padding:0}.hero-art .art-center img{width:min(290px,88%);height:auto}.hero-art .art-center small{font-size:14px}}
/* v5: enlarge the main corporate logo while retaining responsive spacing */
.hero-art .art-center img{width:min(490px,100%);max-width:100%;height:auto}
@media(max-width:650px){.hero-art .art-center img{width:min(340px,96%);max-width:100%;height:auto}}

/* Final pass: mobile navigation, keyboard focus and responsive hero */
html{scroll-padding-top:110px}a:focus-visible{outline:3px solid #d57e31;outline-offset:4px} .site-header nav a{min-height:40px;display:inline-flex;align-items:center}.hero-art .art-center img{mix-blend-mode:multiply} .document-card:focus-visible,.facility-card:focus-visible{outline:3px solid #d57e31;outline-offset:4px}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr 1fr;gap:12px}.hero-art .art-center img{width:100%}.site-header nav{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:650px){.site-header nav{flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:thin;padding-bottom:5px}.hero-layout{grid-template-columns:1fr}.hero-art{height:auto;min-height:290px;padding:16px 0 28px}.hero-art .art-center img{width:min(340px,90vw)}.contact-details{padding:24px}.document-card{padding:20px 16px;gap:12px}.document-card h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.facility-card{transition:none}}

/* Print: keep HANEUL photo visible in browser PDF/printing */
@media print {
  .shop-image{height:280px;break-inside:avoid;page-break-inside:avoid}
  .shop-image img{display:block!important;width:100%;height:100%;object-fit:cover}
  .shop-section{break-inside:avoid;page-break-inside:avoid}
}
