:root{--ink:#28231b;--muted:#71685d;--blue:#e4770b;--bg:#fff8e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans JP',system-ui,sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}header{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:.08em;font-size:23px}.brand span{color:var(--blue)}nav{display:flex;gap:26px;font-size:14px;font-weight:700}nav a:hover{color:var(--blue)}.hero{background:linear-gradient(120deg,#211b14d9,#543015b8),url('images/hero.jpg') center/cover;color:white;padding:115px 0 125px}.eyebrow{letter-spacing:.2em;font-size:12px;font-weight:800;color:#ffd16a}.hero h1{font-size:clamp(38px,6vw,76px);line-height:1.35;letter-spacing:-.04em;margin:22px 0}.hero p{max-width:600px;line-height:2;color:#fff2d8}.btn{display:inline-block;background:var(--blue);color:white;border-radius:40px;padding:15px 30px;font-weight:800;margin-top:20px}.section{padding:90px 0}.section.alt{background:var(--bg)}.section h2{font-size:clamp(28px,4vw,42px);margin:12px 0 35px}.section .lead{color:var(--muted);line-height:2}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.card{background:white;border-radius:22px;overflow:hidden;box-shadow:0 12px 45px #6e40131c;transition:transform .25s}.card:hover{transform:translateY(-6px)}.card img{width:100%;height:270px;object-fit:cover;display:block}.card .inside{padding:30px}.card h3{font-size:25px;margin:0 0 12px}.card p{line-height:1.9;color:var(--muted)}.arrow{font-weight:800;color:var(--blue)}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{padding:30px;background:white;border:1px solid #f0dfc5;border-radius:20px}.feature b{font-size:20px}.feature p{color:var(--muted);line-height:1.8}.banner{background:#3b2918;color:white;border-radius:25px;padding:50px;display:flex;justify-content:space-between;align-items:center;gap:20px}.banner p{color:#f3d8b2}footer{background:#2d2117;color:#f5e6d0;padding:45px 0;font-size:13px}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.subhero{padding:100px 0;background:linear-gradient(115deg,#241c15d9,#6c3d17bd),var(--photo) center/cover;color:white}.subhero h1{font-size:clamp(38px,6vw,65px)}.subhero p{line-height:2;max-width:620px}.crumb{font-size:12px;color:#ffe1a3}.menu{display:none}.tag{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.15em}@media(max-width:700px){header{height:68px}.menu{display:block;border:0;background:#fff0cc;padding:10px 13px;border-radius:9px;font-size:20px}nav{display:none;position:absolute;top:68px;left:0;right:0;background:white;z-index:10;padding:24px;box-shadow:0 12px 20px #0002;flex-direction:column}nav.open{display:flex}.hero{padding:85px 0}.section{padding:60px 0}.grid,.features{grid-template-columns:1fr}.card img{height:210px}.banner{display:block;padding:30px}.subhero{padding:75px 0}}

/* Detail pages */
.detail-hero{padding:95px 0;background:radial-gradient(circle at 90% 15%,#a25c1d 0,transparent 40%),linear-gradient(125deg,#2b2118,#623b1a);color:#fff}.detail-hero .tag{margin-top:35px;color:#ffd16a}.detail-hero h1{font-size:clamp(36px,5vw,64px);margin:14px 0 20px;letter-spacing:-.035em}.detail-hero p{line-height:2;max-width:730px;color:#ffeed3}.crumb a{text-decoration:underline;text-underline-offset:3px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:35px}.detail-card,.detail-tile{border:1px solid #f0dfc5;border-radius:20px;padding:30px;background:white;display:block}.detail-card h3,.detail-tile h3{font-size:21px;margin:12px 0}.detail-card p,.detail-tile p{line-height:1.9;color:#71685d}.detail-number{color:#e4770b;font-size:13px;font-weight:900;letter-spacing:.15em}.detail-card small{display:block;color:#877866}.detail-tile{transition:transform .2s,box-shadow .2s}.detail-tile:hover{transform:translateY(-4px);box-shadow:0 14px 35px #6e40131c}.link-tiles{display:flex;gap:12px;flex-wrap:wrap}.link-tiles a{background:white;padding:15px 20px;border-radius:12px;border:1px solid #f0dfc5;font-weight:700}.link-tiles a:hover{color:#e4770b}.profile{border-top:1px solid #e8d7bd}.profile>div{display:grid;grid-template-columns:220px 1fr;padding:22px 8px;border-bottom:1px solid #e8d7bd;gap:18px}.profile span,.note{color:#71685d}@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.detail-hero{padding:70px 0}.profile>div{grid-template-columns:1fr;gap:5px}.detail-card,.detail-tile{padding:24px}}

/* Sample editorial visual blocks */
.visual-section{padding:82px 0}.visual-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:54px;align-items:center}.visual-copy h2{line-height:1.4;margin:15px 0 22px}.visual-copy .lead{line-height:2.1}.visual-figure{margin:0}.visual-figure img{display:block;width:100%;height:auto;aspect-ratio:5/3;object-fit:cover;border-radius:22px;box-shadow:0 24px 65px #7d4c2026}.visual-figure figcaption{font-size:12px;color:#8e7b63;margin-top:12px}.sample-note{font-size:12px;color:#877866;display:block;margin-top:20px}@media(max-width:800px){.visual-layout{grid-template-columns:1fr;gap:28px}.visual-section{padding:58px 0}}

.brand-logo{display:block;width:clamp(185px,21vw,265px);height:auto;object-fit:contain}.brand{display:inline-flex;align-items:center;flex-shrink:0}@media(max-width:700px){.brand-logo{width:185px}}

/* V8 warm yellow/orange palette */
.btn{background:linear-gradient(110deg,#ffb21d,#eb790a);color:#261b0d;box-shadow:0 9px 24px #bc64002e}.btn:hover{filter:brightness(1.06)}.hero{background-image:linear-gradient(110deg,#211b14df,#5b341bbd),url("images/hero.jpg")}.subhero{background-image:linear-gradient(110deg,#241c15df,#653914c4),var(--photo)}.eyebrow,.detail-hero .tag{color:#ffd16a}.tag,.arrow,.detail-number{color:#c66800}.menu{color:#55300c}.brand-logo{max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #f3a51c;outline-offset:3px}


/* V9 — light corporate palette: white / yellow / orange */
:root{--ink:#292d33;--muted:#626973;--blue:#f58220;--bg:#fff8e8}
body{color:var(--ink);background:#fff}
header{background:#fff}
nav a:hover,.arrow,.tag,.detail-number{color:#e47710}
.hero{background:linear-gradient(110deg,rgba(20,27,35,.67),rgba(25,31,39,.32)),url('images/hero.jpg') center/cover;color:#fff}
.hero p{color:#fff}.eyebrow{color:#ffcf58}
.btn{background:#f58220;color:#fff;box-shadow:0 8px 24px rgba(245,130,32,.19);transition:background .2s,transform .2s}
.btn:hover{background:#df6b0a;transform:translateY(-2px);filter:none}
.section.alt{background:#fff8e8}
.card{box-shadow:0 12px 42px rgba(32,38,45,.075);border:1px solid #f1f0ec}
.card p,.feature p,.detail-card p,.detail-tile p{color:var(--muted)}
.feature,.detail-card,.detail-tile{border-color:#eeeae1}
.banner{background:#fff2d4;color:#292d33;border:1px solid #ffe1a4}
.banner p{color:#626973}
footer{background:#292d33;color:#f7f7f7}
.subhero{background:linear-gradient(110deg,rgba(25,31,38,.70),rgba(25,31,38,.34)),var(--photo) center/cover;color:#fff}
.crumb{color:#ffe8ae}
.detail-hero{background:radial-gradient(circle at 90% 5%,rgba(255,197,43,.18),transparent 40%),linear-gradient(125deg,#fffaf0,#fff0d2);color:#292d33;border-bottom:1px solid #f5e6c7}
.detail-hero .tag{color:#d66d0b}
.detail-hero p{color:#626973}
.detail-hero .crumb{color:#7a6a50}
.profile,.profile>div{border-color:#eae7df}
.profile span,.note,.detail-card small{color:#626973}
.link-tiles a{border-color:#eeeae1}
.link-tiles a:hover{color:#e47710}
.visual-figure img{box-shadow:0 18px 52px rgba(36,44,52,.11)}
.visual-figure figcaption,.sample-note{color:#68717a}
.menu{background:#fff3da;color:#292d33}
a:focus-visible,button:focus-visible{outline:3px solid #f58220;outline-offset:3px}
@media(max-width:700px){nav{background:#fff}}

/* V10 additions */
.hero{min-height:550px;display:flex;align-items:center}.hero>.wrap{width:100%}.card img{transition:transform .5s}.card:hover img{transform:scale(1.045)}.card{transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:0 18px 42px #2222}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}.news-item{display:grid;grid-template-columns:120px 110px 1fr;gap:16px;align-items:center;padding:22px 5px;border-bottom:1px solid #ddd}.news-date{color:#626973}.news-label{border-radius:20px;background:#fff1d5;color:#aa5300;padding:7px 12px;text-align:center;font-size:12px}.contact-form{max-width:780px;margin:auto;border:1px solid #e8e8e8;border-radius:22px;padding:clamp(20px,4vw,42px);box-shadow:0 10px 30px #0001}.form-row{margin-bottom:22px}.form-row label{display:block;font-weight:700;margin-bottom:8px}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #aab0b8;border-radius:10px;padding:13px;font:inherit}.form-row textarea{min-height:160px}.form-help{font-size:13px;color:#626973;line-height:1.8}.required{color:#b23c15;font-size:12px;margin-left:8px}.form-message{border-radius:10px;padding:15px;margin-bottom:20px;background:#fff0e6;border:1px solid #efaa84}.form-message.ok{background:#eaf7ec;border-color:#94c99f}.back-top{position:fixed;bottom:24px;right:20px;background:#f58220;color:white;border:0;border-radius:50%;height:48px;width:48px;font-size:22px;cursor:pointer;opacity:0;pointer-events:none;z-index:21}.back-top.show{opacity:1;pointer-events:auto}.mobile-contact{display:none}.faq-item{border-bottom:1px solid #ddd;padding:20px 0}.faq-item summary{cursor:pointer;font-weight:700}.faq-item p{line-height:1.8;color:#626973}@media(max-width:700px){.news-item{grid-template-columns:1fr 110px}.news-item strong{grid-column:1/-1}.mobile-contact{display:block;position:fixed;bottom:0;left:0;right:0;text-align:center;padding:13px;background:#f58220;color:white;font-weight:800;z-index:20}body{padding-bottom:48px}.back-top{bottom:70px}.hero{min-height:450px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* V12: refined light visual system, accessibility, and policy */
:root{--ink:#292d33;--muted:#59616c;--blue:#ee7d17;--bg:#fff9ec}
.hero{background-image:linear-gradient(100deg,rgba(21,27,34,.67),rgba(21,27,34,.20)),url('images/hero.jpg')}
.hero-note{font-size:12px!important;letter-spacing:.22em;font-weight:800;color:#ffda7c!important;margin:0 0 12px}
.hero h1{max-width:870px;text-wrap:balance}.hero .btn{margin-top:28px}
.section-intro{max-width:700px;line-height:1.9;color:var(--muted);margin:-15px 0 32px}
.section h2{letter-spacing:-.025em}.card{border-radius:24px}.card img{height:290px}
.card .inside{padding:34px}.card .arrow{display:inline-flex;gap:10px;align-items:center}
.text-link{display:inline-block;color:#bd5a00;font-weight:800;text-underline-offset:4px;text-decoration:underline;margin-top:14px}
.banner{background:linear-gradient(115deg,#fff4da,#fff9ef);border:1px solid #ffe2a3}
footer a{color:#fff3df;text-decoration:underline;text-underline-offset:3px}
.policy{max-width:850px}.policy h2{font-size:24px;margin:40px 0 10px}.policy p{line-height:2;color:var(--muted)}
.policy-warning{background:#fff1d5;padding:20px;border-left:4px solid #ef8b21;color:#604c2d!important}
.privacy-agreement{margin:18px 0;line-height:1.8}.privacy-agreement a{text-decoration:underline;color:#a54e00}
.skip-link{position:absolute;top:-100px;left:10px;background:#fff;color:#222;z-index:100;padding:12px;border:2px solid #f58220}.skip-link:focus{top:10px}
picture{display:contents}img{max-width:100%}
@media(max-width:700px){.hero{min-height:480px}.card img{height:230px}.card .inside{padding:24px}.hero h1{font-size:clamp(32px,8vw,52px)}.section-intro{margin-top:-10px}}
