/*
Theme Name: YRZ. v9
Theme URI: https://yrz-create.tokyo/
Author: YRZ.
Description: YRZ. custom WordPress theme v6. Refined OUR STYLE layout and two-line contact CTA.
Version: 9.5
*/

:root{
  --bg:#f7f7f4;
  --text:#111;
  --yellow:#ffd400;
  --muted:#6d6d6d;
  --card:#ffffff;
  --line:#e7e7e1;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}

.site-header{position:sticky;top:0;z-index:50;background:rgba(247,247,244,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.05)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{font-weight:900;font-size:42px;letter-spacing:-2px;display:flex;align-items:center;gap:4px}.brand-dot{color:var(--yellow)}
.nav{display:flex;align-items:center;gap:34px;font-weight:800;font-size:14px;letter-spacing:.04em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--yellow);transition:.25s}.nav a:hover:after{width:100%}
.contact-pill{background:var(--yellow);padding:13px 20px;border-radius:999px;font-weight:900}

.hero{padding:70px 0 54px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}
.eyebrow{font-weight:900;font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.hero h1{font-size:clamp(58px,7vw,112px);line-height:.91;margin:10px 0 26px;letter-spacing:-.06em;font-weight:950}
.hero h1 span{display:block}.hero h1 .accent{display:inline;color:var(--yellow)}
.hero-ja{font-size:clamp(30px,4vw,58px);font-weight:900;letter-spacing:-.03em;margin:8px 0 22px;display:inline-block;position:relative}.hero-ja:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:5px;background:var(--yellow);transform:rotate(-1.2deg)}
.lead{max-width:650px;font-size:18px;color:#333}.hero-actions{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:16px;padding:15px 24px;border-radius:999px;font-weight:900}.btn-dark{background:#111;color:#fff}.btn-yellow{background:var(--yellow)}

.hero-art{min-height:560px;position:relative;overflow:visible;padding:52px;display:flex;align-items:center;justify-content:center}
.hero-logo{font-size:clamp(92px,12vw,180px);font-weight:950;letter-spacing:-.09em;transform:rotate(-4deg);position:relative;z-index:2}.hero-logo em{font-style:normal;color:var(--yellow)}
.spark{position:absolute;font-size:68px;color:var(--yellow);font-weight:900}.spark.s1{right:10%;top:18%}.spark.s2{left:12%;bottom:16%;font-size:42px}.doodle{position:absolute;border:3px solid #111;border-color:#111 transparent transparent #111;border-radius:50%;width:120px;height:120px;transform:rotate(28deg);opacity:.85}.d1{left:11%;top:12%}.d2{right:8%;bottom:12%;transform:rotate(210deg)}

.newsbar{background:#111;color:#fff}.news-inner{min-height:76px;display:flex;align-items:center;gap:28px}.news-label{font-size:20px;font-weight:950;color:var(--yellow)}.news-date{color:#c7c7c7;font-size:13px}.news-text{flex:1}.news-link{color:var(--yellow);font-weight:900}

.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-kicker{font-size:13px;font-weight:900;letter-spacing:.16em}.section h2{font-size:clamp(38px,5vw,66px);line-height:1.02;letter-spacing:-.045em;margin:8px 0 0}.section-copy{max-width:580px;color:#444}

.business-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.biz-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px 24px;min-height:300px;display:flex;flex-direction:column;transition:.25s}.biz-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(0,0,0,.07)}.biz-icon{font-size:36px;margin-bottom:34px}.biz-card h3{font-size:21px;margin:0 0 6px}.biz-en{font-size:12px;letter-spacing:.12em;font-weight:900;color:#666}.biz-card p{font-size:14px;color:#555}.biz-arrow{margin-top:auto;color:var(--yellow);font-size:28px;font-weight:900}

.about-split{display:grid;grid-template-columns:1fr 1.25fr;background:#111;color:#fff}.about-copy{padding:70px max(24px,calc((100vw - var(--max))/2));padding-right:70px}.about-copy h2{font-size:clamp(36px,5vw,68px);line-height:1.05}.about-copy p{color:#d6d6d6;max-width:590px}.about-visual{min-height:520px;position:relative;background:linear-gradient(145deg,#dedede,#fff0a3 48%,#919191);overflow:hidden}.about-visual:before{content:"PLAYFULNESS\A CREATES\A THE FUTURE.";white-space:pre;position:absolute;left:8%;top:14%;font-family:cursive;font-size:clamp(32px,4vw,68px);line-height:1.05;color:#111;transform:rotate(-6deg)}.about-visual:after{content:"↗";position:absolute;right:16%;bottom:12%;font-size:100px;color:var(--yellow);font-weight:900}

.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work{background:#fff;border-radius:22px;overflow:hidden;border:1px solid var(--line)}.work-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#111,#444);display:flex;align-items:center;justify-content:center;color:var(--yellow);font-size:58px;font-weight:950}.work-body{padding:22px}.work-body h3{margin:0 0 6px}.work-meta{font-size:13px;color:#777}

.cta{background:var(--yellow);padding:58px 0}.cta-inner{display:grid;grid-template-columns:1.2fr 1fr auto;gap:36px;align-items:center}.cta-hand{font-family:cursive;font-size:40px;line-height:1;transform:rotate(-6deg)}.cta h2{font-size:clamp(30px,4vw,52px);margin:0 0 8px;line-height:1.1}.cta p{margin:0}.cta .btn-dark{padding-inline:30px}

.site-footer{background:#090909;color:#fff;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font-size:30px;font-weight:950}.footer-nav{display:flex;gap:22px;font-size:13px;font-weight:800}.copyright{font-size:12px;color:#a7a7a7}

.page-hero{padding:110px 0 70px}.page-hero h1{font-size:clamp(54px,8vw,110px);letter-spacing:-.06em;line-height:.9;margin:0}.page-content{padding:0 0 120px}.prose{max-width:860px;font-size:18px}.prose h2{font-size:38px;margin-top:60px}.contact-form{max-width:760px;background:#fff;padding:34px;border-radius:22px;border:1px solid var(--line)}.contact-form label{display:block;font-weight:800;margin:18px 0 8px}.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid #d8d8d8;border-radius:12px;font:inherit}.contact-form textarea{min-height:170px}.contact-form button{margin-top:18px;border:0;cursor:pointer}

@media (max-width:1100px){.business-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-art{min-height:400px}.cta-inner{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr 1fr}.about-split{grid-template-columns:1fr}.about-copy{padding:70px 24px}}
@media (max-width:760px){.wrap{width:min(var(--max),calc(100% - 28px))}.header-inner{height:68px}.brand{font-size:32px}.nav{display:none}.contact-pill{font-size:12px;padding:10px 14px}.hero{padding-top:44px}.hero-art{min-height:310px;padding:20px}.news-inner{align-items:flex-start;flex-wrap:wrap;padding:18px 0;gap:10px 18px}.news-text{flex-basis:100%}.section{padding:74px 0}.section-head{display:block}.business-grid,.works-grid{grid-template-columns:1fr}.about-visual{min-height:360px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-nav{flex-wrap:wrap}.cta-hand{font-size:32px}}

/* ===== YRZ. v2 official logo update ===== */
.brand-image{display:block;line-height:0;flex:0 0 auto}
.brand-image img{display:block;width:152px;height:48px;object-fit:contain;object-position:left center}
.hero-art{background:transparent;isolation:isolate}
.hero-art:before{content:none}
.hero-logo-image{position:relative;z-index:2;width:min(78%,520px);height:auto;object-fit:contain;filter:none}
.header-inner{min-height:88px;height:auto;padding:10px 0}
.site-header{background:rgba(247,247,244,.96)}
@media (max-width:760px){
  .brand-image img{width:118px;height:38px}
  .header-inner{min-height:68px;padding:8px 0}
  .hero-logo-image{width:min(88%,360px)}
}


/* ===== YRZ. v5 full site ===== */
.hero-copy-block{position:relative;z-index:3}
.hero-actions .btn span{color:var(--yellow)}
.business-section{padding-top:92px}
.philosophy-section{background:#fff}
.philosophy-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:start}
.philosophy-grid h2{font-size:clamp(54px,7vw,96px);line-height:.92;margin:12px 0;letter-spacing:-.06em}
.principles{border-top:1px solid #d9d9d2}
.principles article{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid #d9d9d2}
.principles article span{font-weight:900;color:#aaa}.principles h3{font-size:28px;margin:0 0 6px}.principles p{margin:0;color:#555}
.about-hand{position:absolute;left:10%;top:17%;font-family:"Comic Sans MS",cursive;font-size:clamp(40px,5vw,78px);line-height:.95;color:#111;transform:rotate(-5deg);font-weight:700}
.about-arrow{position:absolute;right:13%;bottom:11%;font-size:94px;color:var(--yellow);font-weight:900}
.about-visual:before,.about-visual:after{content:none}
.page-hero{padding:118px 0 92px}.page-hero-yellow{background:var(--yellow)}
.page-hero h1{font-size:clamp(66px,9vw,132px);max-width:950px}.page-lead{font-size:clamp(18px,2vw,26px);max-width:760px;margin:34px 0 0;line-height:1.55}
.detail-stack{display:flex;flex-direction:column;gap:0}.detail-block{display:grid;grid-template-columns:180px 1fr;gap:60px;padding:64px 0;border-top:1px solid #d8d8d2}.detail-block:last-of-type{border-bottom:1px solid #d8d8d2}.detail-num{font-size:18px;font-weight:900;color:#999}.detail-block h2{font-size:clamp(42px,5vw,72px);margin:0 0 20px;letter-spacing:-.045em}.detail-block p{font-size:20px;max-width:820px;color:#3c3c3c}
.profile-card{margin-top:72px;background:#111;color:#fff;border-radius:28px;padding:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background-color:#222}.profile-card>div{background:#111;padding:30px}.profile-label{display:block;color:var(--yellow);font-size:11px;letter-spacing:.14em;font-weight:900;margin-bottom:8px}.profile-card strong{font-size:20px}
.service-list{border-top:1px solid #d8d8d2}.service-row{scroll-margin-top:110px;display:grid;grid-template-columns:260px 1fr;gap:70px;padding:72px 0;border-bottom:1px solid #d8d8d2}.service-index{font-size:13px;letter-spacing:.12em;font-weight:900;color:#777}.service-row h2{font-size:clamp(42px,5vw,72px);margin:0 0 16px;letter-spacing:-.045em}.service-row p{font-size:19px;max-width:790px;color:#444}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.service-tags span{background:#fff;border:1px solid #ddd;padding:8px 13px;border-radius:999px;font-size:12px;font-weight:800}
.coming-soon{background:#111;color:#fff;border-radius:30px;padding:clamp(40px,8vw,110px);min-height:440px;display:flex;flex-direction:column;justify-content:center}.coming-soon span{color:var(--yellow);font-weight:900;letter-spacing:.16em}.coming-soon h2{font-size:clamp(40px,6vw,78px);line-height:1;margin:18px 0}.coming-soon p{color:#bbb;font-size:18px}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.contact-side{position:sticky;top:120px}.contact-side h2{font-size:clamp(42px,5vw,70px);line-height:1;margin:0 0 20px}.contact-side p{font-size:18px;color:#444}.contact-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.contact-topics span{border:1px solid #bbb;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}.contact-form select{width:100%;padding:14px 16px;border:1px solid #d8d8d8;border-radius:12px;background:#fff;font:inherit}.contact-form label span{color:#d8aa00}.form-status{margin-top:18px;background:#fff5bd;padding:12px 14px;border-radius:10px;font-weight:700}
.footer-brand img{width:150px;height:auto;filter:brightness(0) invert(1)}
@media (max-width:900px){.philosophy-grid,.contact-layout{grid-template-columns:1fr;gap:42px}.contact-side{position:static}.detail-block,.service-row{grid-template-columns:1fr;gap:18px}.profile-card{grid-template-columns:1fr}.principles article{grid-template-columns:52px 1fr}}
@media (max-width:760px){.page-hero{padding:84px 0 64px}.page-content{padding-bottom:84px}.detail-block,.service-row{padding:46px 0}.detail-block p,.service-row p{font-size:17px}.philosophy-grid h2{font-size:58px}.about-hand{font-size:46px}.about-arrow{font-size:68px}.profile-card{padding:1px;border-radius:18px;overflow:hidden}}


/* ===== YRZ. v6 layout refinements ===== */
/* OUR STYLE: keep the index in the left rail and all copy readable in the right rail */
.principles article span{grid-column:1;grid-row:1 / span 2;align-self:start}
.principles article h3{grid-column:2;grid-row:1;margin:0 0 8px}
.principles article p{grid-column:2;grid-row:2;max-width:620px}

/* Existing footer CTA: balance the Japanese headline into exactly two lines on desktop */
.cta-inner{grid-template-columns:.72fr 1.5fr auto;gap:52px}
.cta-copy{min-width:0}
.cta-copy h2{max-width:720px}
.cta-title-line{display:block;white-space:nowrap}

@media (max-width:1100px){
  .cta-inner{grid-template-columns:1fr}
  .cta-title-line{white-space:normal}
}
@media (max-width:760px){
  .principles article span{grid-column:1;grid-row:1 / span 2}
  .principles article h3,.principles article p{grid-column:2}
}

.yrz-anchor{position:relative;top:-90px;visibility:hidden;height:0;}
\n\n/* ===== YRZ. v8 lower-page spacing / width refinements ===== */
/* Wider reading area and more breathing room on every destination page */
.page-hero{padding:150px 0 112px}
.page-hero .wrap,.page-content>.wrap{width:min(1180px,calc(100% - 64px))}
.page-hero .section-kicker{margin-bottom:24px}
.page-hero h1{line-height:.94}
.page-lead{max-width:900px;margin-top:42px;line-height:1.85}
.page-content{padding:76px 0 150px}

.detail-block{grid-template-columns:120px minmax(0,1fr);gap:64px;padding:82px 0}
.detail-block h2{margin-bottom:28px}
.detail-block p{max-width:940px;line-height:2;font-size:20px}

.service-row{grid-template-columns:190px minmax(0,1fr);gap:72px;padding:88px 0}
.service-row p{max-width:940px;line-height:2;font-size:19px}
.service-row h2{margin-bottom:24px}

.profile-card{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:92px}
.profile-card>div{padding:34px 38px}
.profile-card .profile-wide{grid-column:1/-1}
.profile-card strong{line-height:1.75}

.contact-layout{grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr);gap:110px}
.contact-side h2{margin-bottom:32px;line-height:1.08}
.contact-side p{max-width:560px;line-height:2}
.contact-form{max-width:none;padding:42px}

.coming-soon{max-width:980px;padding:clamp(54px,7vw,100px)}

@media (max-width:900px){
 .page-hero .wrap,.page-content>.wrap{width:min(var(--max),calc(100% - 36px))}
 .page-hero{padding:100px 0 78px}.page-content{padding:52px 0 100px}
 .detail-block,.service-row{grid-template-columns:1fr;gap:20px;padding:58px 0}
 .contact-layout{grid-template-columns:1fr;gap:58px}
 .profile-card{grid-template-columns:1fr}.profile-card .profile-wide{grid-column:auto}
}
@media (max-width:760px){
 .page-hero{padding:82px 0 64px}.page-lead{margin-top:28px;line-height:1.8}
 .page-content{padding:38px 0 84px}.detail-block p,.service-row p{font-size:17px;line-height:1.9}
 .contact-form{padding:24px}.profile-card{margin-top:60px}
}


/* ===== YRZ. v9 ===== */
.yrz-page-container,
.page-shell,
.subpage-container,
.site-main .container {
  max-width: 1240px;
}
.yrz-origin,
.brand-origin {
  margin-top: 72px;
  padding-top: 56px;
  border-top: 1px solid rgba(17,17,17,.14);
}
.yrz-origin h2,
.brand-origin h2 {
  margin-bottom: 24px;
}
.privacy-policy-content {
  max-width: 980px;
  margin: 0 auto;
  padding: 80px 24px 120px;
}
.privacy-policy-content h1 { margin-bottom: 48px; }
.privacy-policy-content h2 { margin-top: 52px; margin-bottom: 18px; }
.privacy-policy-content p,
.privacy-policy-content li { line-height: 1.95; }
.privacy-policy-content ul { padding-left: 1.4em; }
@media (max-width: 768px) {
  .yrz-origin,
  .brand-origin { margin-top: 48px; padding-top: 36px; }
  .privacy-policy-content { padding: 56px 20px 80px; }
}


/* ===== YRZ. v9.1 fixes ===== */
.brand-story{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:48px;
  padding:86px 0;
  border-top:1px solid #d7d7d2;
}
.brand-story-label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
.brand-story-content{max-width:850px;}
.brand-story-content h2{
  margin:0 0 26px;
  font-size:clamp(38px,4.2vw,64px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.brand-story-content p{
  margin:0;
  max-width:820px;
  font-size:17px;
  line-height:2;
}
.footer-bottom{
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16);
}
.footer-privacy{
  display:inline-block;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
  opacity:.72;
}
.footer-privacy:hover{opacity:1;}
.form-status{
  margin-top:22px;
  font-size:14px;
  font-weight:700;
}
@media(max-width:768px){
  .brand-story{
    grid-template-columns:1fr;
    gap:22px;
    padding:58px 0;
  }
  .brand-story-content p{font-size:15px;}
  .footer-bottom{margin-top:28px;}
}


/* ===== YRZ. v9.5 mobile hero decoration hotfix ===== */
@media (max-width:760px){
  .hero-art .d1{left:-3%;top:-2%;width:82px;height:82px;transform:rotate(28deg)}
}
