:root{
  /* BIB & Co. palette ─ Simple & Modern */
  --ink:#0a0a0a;
  --ink-2:#1a1a1a;
  --paper:#f4f1eb;
  --paper-2:#ebe7dd;
  --bone:#e0dccf;
  --gray-1:#6f6c66;
  --gray-2:#a8a59c;
  --gray-3:#d4d0c5;
  --line:rgba(10,10,10,.10);
  --line-light:rgba(10,10,10,.06);
  --line-dark:rgba(244,241,235,.12);
  --line-dark-strong:rgba(244,241,235,.20);
  --accent:#b8956a;
  --accent-2:#d6b58a;
  --kr-gold:#C9A84C;

  /* Typography */
  --display:"Plus Jakarta Sans", sans-serif;
  --body:"Inter", sans-serif;
  --jp:"Noto Sans JP", sans-serif;
  --serif:"Cormorant Garamond", serif;
  --mono:"JetBrains Mono", monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--jp), var(--body);
  font-weight:300;
  line-height:1.75;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none;transition:color .25s}
button{border:none;background:none;cursor:pointer;color:inherit;font:inherit}


/* Type tokens */
.eyebrow{
  font-family:var(--display);
  font-size:11px;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--gray-1);
}
.eyebrow.dim{color:var(--gray-2)}
.eyebrow.dark{color:var(--gray-2)}
.eyebrow .dot{
  display:inline-block;width:6px;height:6px;
  background:var(--ink);margin-right:14px;
  vertical-align:middle;transform:translateY(-1px);
}
.dark .eyebrow .dot{background:var(--accent)}

/* ===== Header ===== */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:24px 6vw;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(244,241,235,.85);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:padding .3s, border-color .3s, background .3s;
}
header.scrolled{
  padding:14px 6vw;
  border-bottom-color:var(--line);
  background:rgba(244,241,235,.95);
}
.logo-wm{
  font-family:var(--display);font-weight:300;
  font-size:18px;letter-spacing:.4em;
  color:var(--ink);
}
nav.main{
  display:flex;align-items:center;gap:32px;
  font-family:var(--display);
  font-size:11px;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;
}
/* wp_nav_menu <li> 対応 */
nav.main li{list-style:none;display:contents}
nav.main li a{position:relative;padding:6px 10px;color:var(--ink)}
nav.main li a:hover{color:var(--accent)}
nav.main li a::after{
  content:"";position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--ink);transition:width .3s;
}
nav.main li a:hover::after{width:100%;background:var(--accent)}
nav.main a{position:relative;padding:6px 0;color:var(--ink)}
nav.main a:hover{color:var(--accent)}
nav.main a::after{
  content:"";position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--ink);transition:width .3s;
}
nav.main a:hover::after{width:100%;background:var(--accent)}
.lang-switch{display:flex;gap:4px;font-family:var(--mono);font-size:10px;letter-spacing:.15em}
.lang-switch button,
.lang-switch .lang-btn{
  padding:6px 10px;
  border:1px solid var(--line);color:var(--gray-1);
  background:transparent;text-decoration:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  transition:all .2s;cursor:pointer;
}
.lang-switch button.active,
.lang-switch .lang-btn.active{
  border-color:var(--ink);color:var(--ink);
  background:rgba(10,10,10,.04);
}
.menu-toggle{display:none}

/* ===== Cover / Hero ===== */
.cover{
  min-height:100vh;
  padding:160px 6vw 80px;
  display:grid;grid-template-rows:1fr auto;gap:48px;
  position:relative;overflow:hidden;
}
.cover::before{
  content:"";position:absolute;
  top:0;right:0;width:50%;height:100%;
  background:
    radial-gradient(ellipse at top right, rgba(184,149,106,.08), transparent 60%);
  pointer-events:none;
}
.cover-content{align-self:center;max-width:1400px;width:100%;position:relative;z-index:2}
.cover-pre{
  margin-bottom:48px;
  display:flex;align-items:center;gap:14px;
  font-family:var(--display);font-size:13px;font-weight:500;
  letter-spacing:.4em;color:var(--gray-1);text-transform:uppercase;
  opacity:0;animation:fadeInUp 1s .3s forwards;
}
.cover-pre::before{content:"";width:48px;height:1px;background:var(--ink)}
.cover-headline{
  font-family:var(--display);font-weight:200;
  font-size:clamp(56px,9.5vw,144px);line-height:.95;
  letter-spacing:-.04em;color:var(--ink);
  opacity:0;animation:fadeInUp 1.2s .5s forwards;
}
.cover-headline .light{font-weight:200;color:var(--gray-1)}
.cover-headline .accent{color:var(--accent);font-style:italic;font-family:var(--serif);font-weight:300}

html[lang="ja"] .cover-headline{
  font-size:clamp(40px,7vw,108px);
  line-height:1.15;letter-spacing:.01em;
  font-family:var(--jp);font-weight:200;
}
html[lang="ja"] .cover-headline .accent{font-family:var(--jp);font-weight:300;font-style:normal}

.cover-jp{
  margin-top:48px;max-width:780px;
  font-family:var(--jp);font-weight:300;
  font-size:clamp(15px,1.6vw,18px);
  color:var(--ink-2);line-height:2;
  opacity:0;animation:fadeInUp 1.2s .8s forwards;
}
.cover-jp em{color:var(--accent);font-style:normal}

/* Signature line under cover-jp */
.cover-signature{
  margin-top:64px;
  display:flex;align-items:center;gap:32px;
  opacity:0;animation:fadeInUp 1.2s 1s forwards;
}
.cs-rule{
  flex:1;height:1px;
  background:linear-gradient(90deg, transparent, var(--accent) 50%, transparent);
}
.cs-text{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(20px,2.4vw,30px);
  color:var(--accent);letter-spacing:.02em;
  text-align:center;flex-shrink:0;
}
.cs-text em{font-style:italic}
html[lang="ja"] .cs-text{
  font-family:var(--jp);font-weight:300;font-style:normal;
  font-size:clamp(17px,2vw,24px);letter-spacing:.12em;
}
html[lang="ja"] .cs-text em{font-style:normal}

.cover-bottom{
  display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:32px;
  padding-top:32px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gray-1);
  opacity:0;animation:fadeInUp 1.2s 1.1s forwards;
}
.cb-meta-grid{display:flex;gap:48px;flex-wrap:wrap}
.cb-meta-item{display:flex;flex-direction:column;gap:4px}
.cb-meta-item .lbl{font-size:10px;color:var(--gray-2);text-transform:uppercase}
.cb-meta-item .val{font-size:13px;color:var(--ink);letter-spacing:.1em}
.cover-cta{
  display:inline-flex;align-items:center;gap:14px;
  padding:16px 28px;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;
  border:1px solid var(--ink);color:var(--ink);
  transition:all .25s;
}
.cover-cta:hover{background:var(--ink);color:var(--paper)}
.cover-cta .arrow{font-family:var(--serif);font-style:italic;font-size:14px}

/* ===== Sections ===== */
.section{padding:140px 6vw;position:relative}
.section.dark{background:var(--ink);color:var(--paper)}
.section.bone{background:var(--bone)}
.section.paper-2{background:var(--paper-2)}
.section-head{
  display:grid;grid-template-columns:1fr 1.5fr;gap:80px;
  margin-bottom:96px;align-items:end;
  padding-bottom:32px;border-bottom:1px solid var(--line);
}
.dark .section-head{border-bottom-color:var(--line-dark)}
.section-head h2{
  font-family:var(--display);font-weight:300;
  font-size:clamp(40px,5.5vw,80px);line-height:1;
  letter-spacing:-.03em;color:var(--ink);
}
.dark .section-head h2{color:var(--paper)}
.section-head h2 .light{color:var(--gray-1)}
.dark .section-head h2 .light{color:var(--gray-2)}
.section-head h2 .accent{color:var(--accent);font-style:italic;font-family:var(--serif);font-weight:300}
html[lang="ja"] .section-head h2{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(32px,4.5vw,60px);line-height:1.2;letter-spacing:.02em;
}
html[lang="ja"] .section-head h2 .accent{font-family:var(--jp);font-weight:400;font-style:normal}
.section-head .lede{
  font-family:var(--jp);font-weight:300;font-size:15px;line-height:2;
  color:var(--ink-2);max-width:48ch;
}
.dark .section-head .lede{color:rgba(244,241,235,.7)}

/* ===== Concept Story ===== */
.concept{
  padding:160px 6vw;
  background:var(--paper-2);
  position:relative;
}
.concept-intro{
  max-width:880px;margin:0 auto 96px;
  text-align:center;
}
.concept-intro .pre{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.4em;color:var(--accent);
  text-transform:uppercase;margin-bottom:32px;
}
.concept-intro .pre::before,.concept-intro .pre::after{
  content:"";width:36px;height:1px;background:var(--accent);
}
.concept-intro h2{
  font-family:var(--display);font-weight:200;
  font-size:clamp(36px,5vw,72px);line-height:1.1;
  letter-spacing:-.03em;color:var(--ink);
  margin-bottom:28px;
}
.concept-intro h2 em{
  color:var(--accent);font-style:italic;
  font-family:var(--serif);font-weight:400;
}
html[lang="ja"] .concept-intro h2{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(26px,3.6vw,46px);line-height:1.45;letter-spacing:.04em;
}
html[lang="ja"] .concept-intro h2 em{font-family:var(--jp);font-style:normal}
.concept-intro .sub{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(15px,1.4vw,17px);line-height:2;
  color:var(--ink-2);max-width:600px;margin:0 auto;
}

.concept-stack{
  display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--line);
}
.cs-row{
  display:grid;grid-template-columns:1fr 2fr 1.4fr;gap:64px;
  padding:64px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.cs-letter-block{
  display:flex;flex-direction:column;gap:8px;
  padding-top:8px;
}
.cs-letter{
  font-family:var(--display);font-weight:200;
  font-size:clamp(72px,9vw,120px);line-height:.9;
  color:var(--ink);letter-spacing:-.05em;
}
.cs-verb{
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.3em;color:var(--accent);text-transform:uppercase;
  margin-top:8px;
}

.cs-headline{}
.cs-headline h3{
  font-family:var(--display);font-weight:300;
  font-size:clamp(28px,3.4vw,42px);line-height:1.15;
  color:var(--ink);letter-spacing:-.02em;margin-bottom:16px;
}
.cs-headline h3 em{color:var(--accent);font-family:var(--serif);font-style:italic;font-weight:400}
html[lang="ja"] .cs-headline h3{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(22px,2.8vw,32px);line-height:1.5;
}
html[lang="ja"] .cs-headline h3 em{font-family:var(--jp);font-style:normal}
.cs-headline p{
  font-family:var(--jp);font-weight:300;font-size:14px;line-height:2;
  color:var(--ink-2);max-width:36ch;
}

.cs-examples{
  padding-top:8px;
}
.cs-examples .lbl{
  font-family:var(--mono);font-size:10px;letter-spacing:.25em;
  color:var(--accent);text-transform:uppercase;margin-bottom:14px;
}
.cs-examples ul{list-style:none;padding:0}
.cs-examples li{
  padding:8px 0;
  font-family:var(--jp);font-size:13px;color:var(--ink-2);
  line-height:1.7;letter-spacing:.04em;
  border-bottom:1px solid var(--line-light);
}
.cs-examples li:last-child{border-bottom:none}

.concept-coda{
  margin-top:96px;text-align:center;
}
.concept-coda .quote{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(20px,2.4vw,32px);line-height:1.5;
  color:var(--ink);max-width:640px;margin:0 auto;
}
.concept-coda .quote em{color:var(--accent)}
html[lang="ja"] .concept-coda .quote{
  font-family:var(--jp);font-weight:300;font-style:normal;
  font-size:clamp(17px,2vw,24px);line-height:1.85;letter-spacing:.06em;
}
html[lang="ja"] .concept-coda .quote em{font-style:normal}
.concept-coda .attr{
  margin-top:32px;
  font-family:var(--display);font-size:11px;letter-spacing:.4em;
  color:var(--gray-1);text-transform:uppercase;
}

@media (max-width:1024px){
  .cs-row{grid-template-columns:120px 1fr;gap:32px}
  .cs-examples{grid-column:1 / -1;margin-top:24px;padding-left:152px}
}
@media (max-width:680px){
  .concept{padding:80px 5vw}
  .cs-row{grid-template-columns:1fr;gap:18px;padding:48px 0}
  .cs-letter{font-size:64px}
  .cs-examples{padding-left:0}
}

/* ===== BIB Decoder (3 letters) ===== */
.decoder{padding:160px 6vw;background:var(--ink);color:var(--paper)}
.decoder-grid{
  margin-top:80px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.decoder-cell{
  padding:64px 40px;
  border-right:1px solid var(--line-dark);
  display:flex;flex-direction:column;
}
.decoder-cell:last-child{border-right:none}
.decoder-letter{
  font-family:var(--display);font-weight:200;
  font-size:clamp(96px,12vw,160px);line-height:1;
  letter-spacing:-.05em;color:var(--paper);margin-bottom:32px;
}
.decoder-eq{
  font-family:var(--display);
  font-size:13px;font-weight:500;letter-spacing:.3em;
  color:var(--accent);text-transform:uppercase;margin-bottom:8px;
}
.decoder-en{
  font-family:var(--display);font-weight:300;
  font-size:32px;line-height:1.3;letter-spacing:-.01em;
  margin-bottom:24px;color:var(--paper);
}
html[lang="ja"] .decoder-en{font-family:var(--jp);font-weight:400}
.decoder-jp{
  font-family:var(--jp);font-weight:400;
  font-size:16px;line-height:1.9;color:rgba(244,241,235,.85);
  margin-bottom:auto;
}
.decoder-desc{
  margin-top:32px;padding-top:24px;
  border-top:1px solid var(--line-dark);
  font-size:13px;line-height:1.95;color:rgba(244,241,235,.65);
}
.decoder-essence{
  margin-top:96px;text-align:center;
}
.decoder-essence .pre{
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.4em;color:var(--accent);text-transform:uppercase;
  margin-bottom:24px;
}
.decoder-essence .line{
  font-family:var(--display);font-weight:200;
  font-size:clamp(28px,4.5vw,56px);line-height:1.2;
  letter-spacing:-.02em;color:var(--paper);max-width:18ch;margin:0 auto;
}
.decoder-essence .line .gray{color:var(--gray-2)}
html[lang="ja"] .decoder-essence .line{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(24px,3.6vw,42px);line-height:1.7;letter-spacing:.05em;
}
.decoder-essence .jp{
  margin-top:24px;
  font-family:var(--jp);font-weight:300;font-size:18px;
  color:rgba(244,241,235,.7);letter-spacing:.05em;
}

/* ===== Businesses ===== */
.businesses{background:var(--paper-2)}
.biz-list{margin-top:64px;border-top:1px solid var(--line)}
.biz-row{
  display:grid;grid-template-columns:90px 1.2fr 1.6fr;gap:48px;
  padding:80px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
  position:relative;
  transition:padding-left .4s;
}
.biz-row:hover{padding-left:24px}
.biz-num{
  font-family:var(--mono);font-size:13px;letter-spacing:.2em;
  color:var(--gray-1);padding-top:8px;
}
.biz-titles .biz-tag{
  display:inline-block;
  font-family:var(--display);
  font-size:10px;font-weight:500;letter-spacing:.3em;
  text-transform:uppercase;color:var(--accent);
  padding:4px 12px;border:1px solid var(--accent);margin-bottom:24px;
}
.biz-titles .biz-tag.kr{color:var(--kr-gold);border-color:var(--kr-gold)}
.biz-titles h3{
  font-family:var(--display);font-weight:300;
  font-size:clamp(32px,3.6vw,44px);line-height:1.05;
  letter-spacing:-.02em;color:var(--ink);margin-bottom:8px;
}
.biz-titles h3 em{
  font-style:italic;font-family:var(--serif);
  color:var(--accent);font-weight:400;
}
html[lang="ja"] .biz-titles h3{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(26px,3vw,36px);line-height:1.3;
}
html[lang="ja"] .biz-titles h3 em{font-family:var(--jp);font-style:normal;font-weight:400}
.biz-titles .biz-jp{
  font-family:var(--jp);font-weight:400;
  font-size:15px;color:var(--gray-1);margin-bottom:24px;
}
.biz-titles .biz-quote{
  font-family:var(--display);font-weight:300;
  font-size:18px;line-height:1.5;color:var(--ink);
  padding-left:20px;border-left:1px solid var(--accent);
}
.biz-titles .biz-quote.kr{border-left-color:var(--kr-gold)}
html[lang="ja"] .biz-titles .biz-quote{font-family:var(--jp);font-weight:400}
.biz-body p{
  font-family:var(--jp);font-size:14px;line-height:2;
  color:var(--ink-2);margin-bottom:14px;
}
.biz-body p strong{color:var(--ink);font-weight:500}
.biz-body .biz-meta{
  margin-top:24px;display:flex;gap:24px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--accent);text-transform:uppercase;
}
.biz-body .biz-meta span{padding:4px 10px;border:1px solid rgba(184,149,106,.4)}
.biz-body .biz-link{
  margin-top:28px;display:inline-flex;align-items:center;gap:12px;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;color:var(--ink);
  padding-bottom:6px;border-bottom:1px solid var(--ink);
  transition:color .25s, border-color .25s;
}
.biz-body .biz-link:hover{color:var(--accent);border-color:var(--accent)}
.biz-body .biz-link.kr{color:var(--kr-gold);border-color:var(--kr-gold)}

/* Sub-brand callout (Kakehashi) */
.sub-brand-card{
  margin-top:32px;padding:0;
  background:#0A1628;color:#F5F0E6;
  border:1px solid #0A1628;
  display:grid;grid-template-columns:1fr 1.2fr;
  overflow:hidden;
}
.sub-brand-mark{
  padding:48px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(135deg, #13243D, #0A1628);
  border-right:1px solid rgba(201,168,76,.2);
}
.sub-brand-meta{padding:48px 32px}
.sub-brand-meta .sb-tag{
  font-family:var(--mono);font-size:11px;
  color:var(--kr-gold);letter-spacing:.25em;margin-bottom:14px;
}
.sub-brand-meta h4{
  font-family:var(--display);font-weight:300;
  font-size:32px;color:#F5F0E6;letter-spacing:.04em;
  margin-bottom:8px;
}
.sub-brand-meta .sb-jp{
  font-family:var(--jp);font-size:13px;
  color:rgba(245,240,230,.7);margin-bottom:24px;
}
.sub-brand-meta .sb-stat{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  padding-top:20px;border-top:1px solid rgba(201,168,76,.2);margin-top:20px;
}
.sb-stat-item .lbl{
  font-family:var(--mono);font-size:9px;
  color:var(--kr-gold);letter-spacing:.2em;margin-bottom:4px;
}
.sb-stat-item .val{
  font-family:var(--jp);font-size:12px;color:#F5F0E6;
}
.sub-brand-meta .sb-link{
  display:inline-flex;align-items:center;gap:12px;margin-top:24px;
  padding:14px 24px;border:1px solid var(--kr-gold);color:#F5F0E6;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;text-decoration:none;
  transition:all .25s;
}
.sub-brand-meta .sb-link:hover{background:var(--kr-gold);color:#0A1628}
.sub-brand-meta .sb-link .arrow{color:var(--kr-gold);transition:color .25s}
.sub-brand-meta .sb-link:hover .arrow{color:#0A1628}

/* ===== Philosophy / Manifesto ===== */
.manifesto{
  padding:160px 6vw;
  background:var(--paper);
  text-align:center;position:relative;
}
.manifesto::before,.manifesto::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  width:1px;height:64px;background:var(--accent);
}
.manifesto::before{top:64px}
.manifesto::after{bottom:64px}
.manifesto-text{
  max-width:920px;margin:0 auto;
  font-family:var(--display);font-weight:200;
  font-size:clamp(28px,4vw,52px);
  line-height:1.3;letter-spacing:-.02em;
  color:var(--ink);
}
.manifesto-text em{
  color:var(--accent);
  font-family:var(--serif);font-style:italic;font-weight:400;
}
html[lang="ja"] .manifesto-text{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(20px,2.8vw,38px);
  line-height:1.7;letter-spacing:.06em;
}
html[lang="ja"] .manifesto-text em{font-family:var(--jp);font-style:normal;color:var(--accent)}
.manifesto-attr{
  margin-top:48px;
  font-family:var(--display);font-size:11px;letter-spacing:.4em;
  color:var(--gray-1);text-transform:uppercase;
}

/* ===== Approach (4 principles) ===== */
.approach{background:var(--bone)}
.approach-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.app-cell{
  padding:64px 32px;
  border-right:1px solid var(--line);
  position:relative;
}
.app-cell:last-child{border-right:none}
.app-num{
  font-family:var(--mono);font-size:11px;letter-spacing:.3em;
  color:var(--accent);margin-bottom:24px;
}
.app-icon{
  font-family:var(--serif);font-style:italic;
  font-size:40px;color:var(--ink);margin-bottom:24px;line-height:1;
}
.app-title{
  font-family:var(--display);font-weight:400;
  font-size:20px;color:var(--ink);margin-bottom:8px;letter-spacing:-.005em;
}
.app-jp{
  font-family:var(--jp);font-weight:400;font-size:14px;
  color:var(--gray-1);margin-bottom:20px;letter-spacing:.04em;
}
.app-desc{
  font-family:var(--jp);font-size:13px;line-height:1.95;
  color:var(--ink-2);max-width:32ch;
}

/* ===== Where We Stand (Foundations) ===== */
.numbers{padding:140px 6vw;background:var(--ink);color:var(--paper)}
.numbers-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:64px;
  border-top:1px solid var(--line-dark);
}
.num-cell{
  padding:48px 32px;
  border-right:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.num-cell:nth-child(3n){border-right:none}
.num-pre{
  font-family:var(--mono);font-size:10px;letter-spacing:.3em;
  color:var(--accent);text-transform:uppercase;margin-bottom:18px;
}
.num-val{
  font-family:var(--display);font-weight:200;
  font-size:clamp(48px,5vw,72px);line-height:1;
  color:var(--paper);letter-spacing:-.03em;margin-bottom:14px;
}
.num-val .small{font-size:.5em;color:var(--gray-2)}
.num-lbl{
  font-family:var(--jp);font-size:13px;
  color:rgba(244,241,235,.7);line-height:1.7;
}

/* ===== Story / About ===== */
.story{background:var(--paper)}
.story-grid{
  display:grid;grid-template-columns:1fr 1.6fr;gap:96px;
  align-items:start;
}
.story-side .eyebrow{margin-bottom:24px}
.story-side h3{
  font-family:var(--display);font-weight:300;
  font-size:clamp(36px,4.5vw,60px);line-height:1.05;
  color:var(--ink);margin-bottom:24px;letter-spacing:-.02em;
}
.story-side h3 em{
  color:var(--accent);font-style:italic;font-family:var(--serif);font-weight:400;
}
html[lang="ja"] .story-side h3{
  font-family:var(--jp);font-weight:300;
  font-size:clamp(28px,3.6vw,44px);line-height:1.4;
}
html[lang="ja"] .story-side h3 em{font-family:var(--jp);font-style:normal}

.story-meta{
  margin-top:32px;padding-top:32px;
  border-top:1px solid var(--line);
}
.story-meta .lbl{
  font-family:var(--mono);font-size:10px;letter-spacing:.25em;
  color:var(--accent);text-transform:uppercase;margin-bottom:14px;
}
.story-meta-row{
  display:grid;grid-template-columns:120px 1fr;gap:16px;
  padding:10px 0;
  font-size:13px;line-height:1.7;
}
.story-meta-row .key{
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  color:var(--gray-1);text-transform:uppercase;
}
.story-meta-row .val{font-family:var(--jp);color:var(--ink-2)}

.story-body p{
  font-family:var(--jp);font-size:15px;line-height:2.05;
  color:var(--ink);margin-bottom:24px;letter-spacing:.04em;
}
.story-body p strong{color:var(--ink);font-weight:500}
.story-pull{
  margin:48px 0;padding:32px 40px;
  background:var(--paper-2);
  border-left:2px solid var(--accent);
  font-family:var(--display);font-style:italic;
  font-size:22px;line-height:1.5;color:var(--ink);
  font-family:var(--serif);font-weight:400;
}
html[lang="ja"] .story-pull{
  font-family:var(--jp);font-weight:300;font-style:normal;
  font-size:18px;line-height:1.85;
}

/* ===== Journal ===== */
.journal{background:var(--paper-2)}
.journal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
  margin-top:48px;
}
.j-card{
  background:transparent;cursor:pointer;
  padding-bottom:32px;
  border-bottom:1px solid transparent;
  transition:border-color .3s;
}
.j-card:hover{border-bottom-color:var(--ink)}
.j-cat{
  font-family:var(--mono);font-size:10px;letter-spacing:.25em;
  color:var(--accent);text-transform:uppercase;margin-bottom:14px;
}
.j-date{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  color:var(--gray-1);margin-bottom:14px;
}
.j-title{
  font-family:var(--display);font-weight:400;
  font-size:24px;line-height:1.3;color:var(--ink);
  margin-bottom:14px;letter-spacing:-.005em;
}
html[lang="ja"] .j-title{font-family:var(--jp);font-weight:500;font-size:20px;line-height:1.6}
.j-excerpt{
  font-family:var(--jp);font-size:13px;line-height:1.85;
  color:var(--ink-2);max-width:36ch;margin-bottom:18px;
}
.j-readmore{
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;color:var(--ink);
  display:inline-flex;align-items:center;gap:10px;
}
.journal-foot{
  margin-top:48px;text-align:center;
}
.journal-foot a{
  display:inline-flex;align-items:center;gap:14px;
  padding:14px 28px;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.25em;text-transform:uppercase;
  border:1px solid var(--ink);color:var(--ink);
  transition:all .25s;
}
.journal-foot a:hover{background:var(--ink);color:var(--paper)}

/* ===== Contact ===== */
.contact{background:var(--ink);color:var(--paper)}
.contact h2{color:var(--paper)}
.contact-grid{
  display:grid;grid-template-columns:1fr 1.2fr;gap:96px;
  margin-top:48px;align-items:start;
}
.contact-info h3{
  font-family:var(--display);font-weight:300;
  font-size:clamp(36px,4.5vw,56px);line-height:1.05;
  color:var(--paper);margin-bottom:32px;letter-spacing:-.02em;
}
.contact-info h3 em{color:var(--accent);font-family:var(--serif);font-style:italic}
html[lang="ja"] .contact-info h3{font-family:var(--jp);font-weight:300;line-height:1.3}
html[lang="ja"] .contact-info h3 em{font-family:var(--jp);font-style:normal}

.contact-channels{margin-top:32px}
.cc-row{
  display:grid;grid-template-columns:140px 1fr;gap:24px;
  padding:18px 0;border-bottom:1px solid var(--line-dark);
  align-items:baseline;
}
.cc-key{
  font-family:var(--mono);font-size:10px;letter-spacing:.25em;
  color:var(--accent);text-transform:uppercase;
}
.cc-val{
  font-family:var(--body);font-size:14px;color:var(--paper);
}
.cc-val a:hover{color:var(--accent)}

.contact-form{
  padding:48px;
  background:rgba(244,241,235,.04);
  border:1px solid var(--line-dark);
}
.cf-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.25em;
  color:var(--accent);text-transform:uppercase;margin-bottom:16px;
}
.contact-form h4{
  font-family:var(--display);font-weight:300;font-size:28px;
  color:var(--paper);margin-bottom:32px;letter-spacing:-.005em;
}
html[lang="ja"] .contact-form h4{font-family:var(--jp);font-weight:300}
.field{margin-bottom:24px}
.field label{
  display:block;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;
  color:var(--gray-2);text-transform:uppercase;margin-bottom:10px;
}
.field input,.field select,.field textarea{
  width:100%;background:transparent;
  border:none;border-bottom:1px solid var(--line-dark-strong);
  padding:12px 0;
  font-family:var(--body);font-size:14px;font-weight:300;
  color:var(--paper);transition:border-color .25s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-bottom-color:var(--accent);
}
.field textarea{resize:vertical;min-height:100px;line-height:1.7}
.field select option{background:var(--ink);color:var(--paper)}
.form-submit{
  margin-top:32px;width:100%;padding:18px;
  font-family:var(--display);font-size:11px;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;
  background:var(--accent);color:var(--ink);
  border:1px solid var(--accent);cursor:pointer;
  transition:background .25s;
}
.form-submit:hover{background:var(--accent-2);border-color:var(--accent-2)}

/* ===== Footer ===== */
footer{
  background:#070707;
  padding:80px 6vw 40px;
  border-top:1px solid var(--line-dark);
  color:var(--paper);
}
.footer-top{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;
  padding-bottom:48px;border-bottom:1px solid var(--line-dark);
}
.foot-brand{display:flex;flex-direction:column;gap:24px}
.foot-wm{
  font-family:var(--display);font-weight:300;
  font-size:24px;letter-spacing:.4em;color:var(--paper);
}
.foot-tag{
  font-family:var(--serif);font-style:italic;
  font-size:16px;color:var(--accent);max-width:280px;line-height:1.5;
}
.foot-jp{
  font-family:var(--jp);font-size:13px;
  color:rgba(244,241,235,.55);line-height:1.7;
}
.foot-col h5{
  font-family:var(--mono);font-size:10px;letter-spacing:.3em;
  color:var(--accent);text-transform:uppercase;margin-bottom:20px;
}
.foot-col ul{list-style:none}
.foot-col li{padding:6px 0;font-size:13px;color:rgba(244,241,235,.7);transition:color .25s}
.foot-col li:hover{color:var(--paper)}
.footer-bottom{
  margin-top:32px;padding-top:32px;
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  color:rgba(244,241,235,.45);
}
.footer-bottom .legal{line-height:1.85}
.footer-bottom .right{text-align:right;line-height:1.85}

/* ===== Animations ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s, transform .9s}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .approach-grid{grid-template-columns:repeat(2,1fr)}
  .app-cell:nth-child(2n){border-right:none}
  .numbers-grid{grid-template-columns:repeat(2,1fr)}
  .num-cell:nth-child(3n){border-right:1px solid var(--line-dark)}
  .num-cell:nth-child(2n){border-right:none}
  .journal-grid{grid-template-columns:1fr 1fr}
  .story-grid,.contact-grid{grid-template-columns:1fr;gap:48px}
  .section-head{grid-template-columns:1fr;gap:32px}
  .biz-row{grid-template-columns:60px 1fr;gap:16px}
  .biz-body{grid-column:1 / -1;margin-top:32px}
  .sub-brand-card{grid-template-columns:1fr}
  .sub-brand-mark{border-right:none;border-bottom:1px solid rgba(201,168,76,.2)}
  .decoder-grid{grid-template-columns:1fr}
  .decoder-cell{border-right:none;border-bottom:1px solid var(--line-dark)}
  .decoder-cell:last-child{border-bottom:none}
}
@media (max-width:680px){
  header{padding:14px 5vw}
  /* ── ハンバーガーボタン ── */
  .menu-toggle{
    display:flex;flex-direction:column;gap:5px;
    width:32px;height:24px;justify-content:center;
    position:relative;z-index:200;
    background:none;border:none;cursor:pointer;padding:0;
  }
  .menu-toggle span{
    width:100%;height:1.5px;background:var(--ink);
    display:block;transition:transform .3s, opacity .3s;
    transform-origin:center;
  }
  /* × アイコン: open 時 */
  .menu-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

 /* ── ドロワーメニュー ── */
  nav.main{
    position:fixed;
    top:0;left:0;right:0;bottom:0;
    background:rgba(244,241,235,.98);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    flex-direction:column;
    justify-content:flex-start;
    align-items:flex-start;
    gap:0;
    padding:100px 10vw 48px;
    transform:translateX(100%);
    transition:transform .4s cubic-bezier(.4,0,.2,1);
    z-index:150;
    overflow-y:auto;
    border-left:3px solid var(--accent);
  }
  nav.main.open{
    transform:translateX(0);
    height: 100vh;
  }
  /* wp_nav_menu <li> モバイル対応 */
  nav.main li{list-style:none;display:block;width:100%}
  nav.main li a{
    font-family:var(--jp);
    font-size:20px;
    letter-spacing:.12em;
    color:var(--ink);
    padding:18px 0;
    border-bottom:1px solid var(--line);
    width:100%;
    display:block;
  }
  nav.main a{
    font-family:var(--jp);
    font-size:20px;
    letter-spacing:.12em;
    color:var(--ink);
    padding:18px 0;
    border-bottom:1px solid var(--line);
    display:block;
  }
  nav.main a:last-of-type{border-bottom:none}
  nav.main a:hover{color:var(--accent)}
  .lang-switch{
    margin-top:32px;
    padding-top:32px;
    border-top:1px solid var(--line);
    width:100%;
  }
  .cover{padding:120px 5vw 60px}
  .section{padding:80px 5vw}
  .approach-grid,.numbers-grid,.journal-grid{grid-template-columns:1fr}
  .app-cell,.num-cell{border-right:none}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .footer-bottom{grid-template-columns:1fr;gap:16px}
  .footer-bottom .right{text-align:left}
  .contact-form{padding:32px}
  .biz-titles .biz-quote{font-size:16px}
  .num-val{font-size:42px}
}

/* Lang Switcher */
.lang-switcher {
  display: flex;
  gap: 4px;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  letter-spacing: 0.15em;
  font-weight: 600;
}
.lang-switcher a {
  color: #6B7280;
  text-decoration: none;
  padding: 6px 10px;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.lang-switcher a:hover {
  color: #0A1628;
  border-color: #D4CDB8;
}
.lang-switcher a[aria-current="page"] {
  color: #0A1628;
  border-color: #C9A84C;
  background: #F5F0E6;
}

/* ═══════════════════════════════════════════════════════════
   利用規約 / プライバシーポリシー / 特定商取引法 / ライセンス
   共通スタイルシート
═══════════════════════════════════════════════════════════ */

/* ══ 1. PAGE HERO ══════════════════════════════════════════ */
.pp-hero {
  background: var(--ink-2);
  padding: 160px 6vw 80px;
  border-bottom: 1px solid var(--line-dark);
}
.pp-hero .eyebrow {
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .20em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  opacity: .85;
}
.pp-hero .eyebrow .dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
  flex-shrink: 0;
}
.pp-hero h1 {
  font-family: var(--display);
  font-weight: 200;
  font-size: clamp(32px, 4.5vw, 64px);
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--paper);
  margin: 0 0 24px;
}
.pp-hero h1 em {
  font-family: var(--jp);
  font-style: normal;
  font-weight: 300;
  color: var(--accent);
}
.pp-hero .pp-hero-sub {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.9;
  color: rgba(244,241,235,.55);
  max-width: 64ch;
}
.pp-hero-meta {
  margin-top: 36px;
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}
.pp-hero-meta .phm-item {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(244,241,235,.35);
  text-transform: uppercase;
}
.pp-hero-meta .phm-item span {
  display: block;
  font-size: 11px;
  letter-spacing: .04em;
  color: rgba(244,241,235,.6);
  margin-top: 4px;
  font-family: var(--jp);
  text-transform: none;
}
 
/* ══ 2. BREADCRUMB ═════════════════════════════════════════ */
.pp-breadcrumb {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: rgba(244,241,235,.35);
  margin-bottom: 36px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pp-breadcrumb a {
  color: rgba(244,241,235,.45);
  text-decoration: none;
  transition: color .2s;
}
.pp-breadcrumb a:hover { color: var(--accent); }
.pp-breadcrumb span   { color: rgba(244,241,235,.2); }
 
/* ══ 3. BODY WRAPPER ══════════════════════════════════════ */
.pp-body,
.lic-body {
  background: var(--paper);
  padding: 80px 6vw 120px;
}
.pp-content,
.lic-inner {
  max-width: 860px;
  margin: 0 auto;
}
 
/* ══ 4. INTRO CARD ════════════════════════════════════════ */
.pp-intro {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 2.0;
  color: var(--ink-2);
  border-left: 2px solid var(--accent);
  padding: 20px 28px;
  background: rgba(184,149,106,.06);
  margin-bottom: 64px;
}
 
/* ══ 5. SECTION BLOCK (利用規約・プライバシーポリシー) ════ */
.pp-section {
  margin-bottom: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 90px;
}
.pp-section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.pp-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 12px;
  opacity: .9;
}
.pp-section h2 {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: .02em;
  color: var(--ink);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.pp-section p {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 2.0;
  color: var(--ink-2);
  margin: 0 0 16px;
}
.pp-section p:last-child { margin-bottom: 0; }
 
/* 番号付きリスト */
.pp-section ol {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: pp-counter;
}
.pp-section ol li {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-2);
  padding: 10px 0 10px 32px;
  border-bottom: 1px solid var(--line-light);
  position: relative;
  counter-increment: pp-counter;
}
.pp-section ol li:last-child { border-bottom: none; }
.pp-section ol li::before {
  content: counter(pp-counter);
  position: absolute; left: 0; top: 10px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  color: var(--accent);
  font-weight: 500;
  min-width: 20px;
}
/* ダッシュリスト */
.pp-section ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.pp-section ul li {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-2);
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--line-light);
  position: relative;
}
.pp-section ul li:last-child { border-bottom: none; }
.pp-section ul li::before {
  content: '─';
  position: absolute; left: 0; top: 10px;
  font-family: var(--mono);
  font-size: 10px;
  color: var(--accent);
}
/* リンク */
.pp-section a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(184,149,106,.35);
  transition: border-color .2s;
}
.pp-section a:hover { border-color: var(--accent); }
 
/* ══ 6. TABLE OF CONTENTS (利用規約) ══════════════════════ */
.pp-toc-wrap {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--accent);
  padding: 28px 32px;
  margin-bottom: 64px;
}
.pp-toc-title {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px;
}
.pp-toc {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 6px 32px;
  list-style: none;
  padding: 0; margin: 0;
}
.pp-toc a {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.8;
  color: var(--gray-1);
  text-decoration: none;
  display: flex;
  align-items: baseline;
  gap: 8px;
  transition: color .2s;
}
.pp-toc a:hover { color: var(--ink); }
.pp-toc a .toc-num {
  font-family: var(--mono);
  font-size: 9px;
  color: var(--accent);
  letter-spacing: .08em;
  flex-shrink: 0;
}
 
/* ══ 7. BIZ SCOPE CARDS (利用規約・特定商取引法) ══════════ */
.biz-scope {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
  gap: 12px;
  margin-top: 20px;
}
.biz-scope-card {
  border: 1px solid var(--line);
  padding: 16px 20px;
  background: var(--paper-2);
}
.biz-scope-card .bsc-num {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--accent);
  margin-bottom: 8px;
}
.biz-scope-card .bsc-name {
  font-family: var(--jp);
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.5;
}
.biz-scope-card .bsc-sub {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  color: var(--gray-2);
  margin-top: 6px;
}
 
/* ══ 8. REVISION TABLE (利用規約) ══════════════════════════ */
.revision-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  font-family: var(--jp);
  font-size: 13px;
}
.revision-table th {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: left;
  padding: 8px 16px 8px 0;
  border-bottom: 1px solid var(--line);
  font-weight: 400;
}
.revision-table td {
  padding: 12px 16px 12px 0;
  border-bottom: 1px solid var(--line-light);
  color: var(--ink-2);
  line-height: 1.7;
}
.revision-table tr:last-child td { border-bottom: none; }
.revision-table .rev-ver {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--accent);
}
 
/* ══ 9. TOKUSHO BLOCK ══════════════════════════════════════ */
.tokusho-block {
  margin-bottom: 72px;
  scroll-margin-top: 90px;
}
.tokusho-block:last-of-type { margin-bottom: 0; }
.tb-header {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 4px;
}
.tb-num {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--accent);
  flex-shrink: 0;
}
.tb-tag {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: var(--gray-2);
  text-transform: uppercase;
}
.tokusho-block h2 {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink);
  margin: 0 0 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.tokusho-table {
  width: 100%;
  border-collapse: collapse;
}
.tokusho-table tr { border-bottom: 1px solid var(--line-light); }
.tokusho-table tr:last-child { border-bottom: none; }
.tokusho-table th {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 13px;
  color: var(--ink-2);
  text-align: left;
  vertical-align: top;
  padding: 16px 24px 16px 0;
  width: 200px;
  min-width: 160px;
  line-height: 1.7;
  white-space: nowrap;
}
.tokusho-table th .th-en {
  display: block;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  color: var(--accent);
  font-weight: 400;
  margin-top: 3px;
}
.tokusho-table td {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-2);
  padding: 16px 0;
  vertical-align: top;
}
.tokusho-table td a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(184,149,106,.35);
  transition: border-color .2s;
}
.tokusho-table td a:hover { border-color: var(--accent); }
.tokusho-table td .td-note {
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--gray-2);
  margin-top: 4px;
}
.tokusho-table td strong { font-weight: 500; color: var(--ink); }
.sec-divider {
  height: 1px;
  background: var(--line);
  margin: 64px 0;
  position: relative;
}
.sec-divider::after {
  content: attr(data-label);
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  background: var(--paper);
  padding-right: 16px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--accent);
}
.common-box {
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-top: 2px solid var(--accent);
  padding: 32px 36px;
  margin-bottom: 64px;
}
.common-box .cb-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 20px;
}
.common-box .cb-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px 40px;
}
.common-box .cb-item .lbl {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: var(--gray-2);
  text-transform: uppercase;
  margin-bottom: 5px;
}
.common-box .cb-item .val {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 1.75;
  color: var(--ink-2);
}
.common-box .cb-item .val a { color: var(--accent); text-decoration: none; }
 
/* ══ 10. LICENSE PAGE ══════════════════════════════════════ */
.lic-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  margin-bottom: 72px;
}
.lic-photo-wrap { position: sticky; top: 100px; }
.lic-photo-label,
.lic-data-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
}
.lic-photo-frame {
  position: relative;
  width: 100%;
  background: var(--paper-2);
  border: 1px solid var(--line);
  overflow: hidden;
  cursor: pointer;
  transition: border-color .25s;
}
.lic-photo-frame:hover { border-color: var(--accent); }
.lic-photo-frame img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.lic-photo-placeholder {
  position: absolute; inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: var(--paper-2);
  transition: background .2s;
}
.lic-photo-placeholder.hidden { display: none; }
.lic-photo-frame:hover .lic-photo-placeholder { background: rgba(184,149,106,.06); }
.lpp-icon {
  width: 48px; height: 48px;
  border: 1.5px solid var(--accent);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--accent);
  font-size: 22px;
  opacity: .7;
  transition: opacity .2s;
}
.lic-photo-frame:hover .lpp-icon { opacity: 1; }
.lpp-text {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gray-2);
  text-align: center;
  line-height: 1.8;
}
.lpp-sub {
  font-family: var(--jp);
  font-size: 11px;
  color: var(--gray-2);
  text-align: center;
  opacity: .7;
}
#licPhotoInput { display: none; }
.lic-photo-actions {
  margin-top: 12px;
  display: flex;
  gap: 8px;
}
.lic-btn {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border: 1px solid var(--line);
  color: var(--gray-1);
  background: transparent;
  cursor: pointer;
  transition: all .2s;
  flex: 1;
  text-align: center;
}
.lic-btn:hover { border-color: var(--accent); color: var(--accent); }
.lic-btn.primary { border-color: var(--accent); color: var(--accent); }
.lic-btn.primary:hover { background: var(--accent); color: var(--ink); }
.lic-note {
  margin-top: 10px;
  font-family: var(--jp);
  font-size: 11px;
  line-height: 1.75;
  color: var(--gray-2);
}
.lic-table {
  width: 100%;
  border-collapse: collapse;
}
.lic-table tr { border-bottom: 1px solid var(--line-light); }
.lic-table tr:first-child { border-top: 1px solid var(--line); }
.lic-table tr:last-child td { border-bottom: none; }
.lic-table th {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 12px;
  color: var(--gray-1);
  text-align: left;
  vertical-align: top;
  padding: 14px 20px 14px 0;
  width: 140px;
  white-space: nowrap;
  line-height: 1.7;
}
.lic-table th .th-en {
  display: block;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--accent);
  font-weight: 400;
  margin-top: 2px;
}
.lic-table td {
  font-family: var(--jp);
  font-size: 14px;
  line-height: 1.85;
  color: var(--ink);
  padding: 14px 0;
  vertical-align: top;
}
.lic-table td a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(184,149,106,.35);
  transition: border-color .2s;
}
.lic-table td a:hover { border-color: var(--accent); }
.lic-table td .td-ruby {
  font-size: 11px;
  color: var(--gray-1);
  display: block;
  margin-top: 2px;
}
.lic-table td .td-tag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--accent);
  border: 1px solid rgba(184,149,106,.4);
  padding: 2px 7px;
  margin-left: 8px;
  vertical-align: middle;
  text-transform: uppercase;
}
.license-number {
  font-family: var(--mono);
  font-size: 15px;
  letter-spacing: .08em;
  color: var(--ink);
  font-weight: 500;
}
.license-number .ln-paren { color: var(--accent); }
.validity-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.validity-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: rgba(184,149,106,.1);
  color: var(--accent);
  border: 1px solid rgba(184,149,106,.35);
  padding: 4px 10px;
}
.validity-badge::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { opacity: 1; }
  50%      { opacity: .4; }
}
.lic-legal-frame {
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  padding: 36px 40px;
  margin-bottom: 72px;
  background: var(--paper-2);
}
.llf-title {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 20px;
}
.llf-name {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: .04em;
  color: var(--ink);
  margin-bottom: 6px;
}
.llf-name-en {
  font-family: var(--display);
  font-weight: 300;
  font-size: 13px;
  letter-spacing: .12em;
  color: var(--gray-1);
  text-transform: uppercase;
  margin-bottom: 28px;
}
.llf-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px 40px;
}
.llf-item .lbl {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 5px;
}
.llf-item .val {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.75;
  color: var(--ink-2);
}
.lic-section-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
  margin-top: 56px;
}
.lic-section-title {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 16px;
  color: var(--ink);
  margin: 0 0 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
 
/* ══ 11. CONTACT CTA CARD ══════════════════════════════════ */
.pp-contact-card {
  margin-top: 64px;
  background: var(--ink-2);
  padding: 40px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.pp-contact-card .pcc-text {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.9;
  color: rgba(244,241,235,.65);
}
.pp-contact-card .pcc-text strong {
  display: block;
  font-family: var(--display);
  font-weight: 300;
  font-size: 15px;
  color: var(--paper);
  margin-bottom: 6px;
  letter-spacing: .02em;
}
.pp-contact-card .pcc-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  border: 1px solid var(--accent);
  padding: 12px 24px;
  text-decoration: none;
  transition: all .25s;
  white-space: nowrap;
}
.pp-contact-card .pcc-link:hover {
  background: var(--accent);
  color: var(--ink);
}
 
/* ══ 12. RESPONSIVE ════════════════════════════════════════ */
@media (max-width: 720px) {
  .lic-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .pp-hero           { padding: 140px 24px 60px; }
  .pp-body,
  .lic-body          { padding: 56px 24px 80px; }
  .pp-intro          { padding: 16px 20px; }
  .pp-toc-wrap       { padding: 20px 20px; }
  .pp-toc            { grid-template-columns: 1fr; }
  .biz-scope         { grid-template-columns: 1fr; }
  .common-box        { padding: 24px 20px; }
  .common-box .cb-grid { grid-template-columns: 1fr; }
  .tokusho-table th  { width: 120px; min-width: 100px; white-space: normal; }
  .lic-table th      { width: 110px; white-space: normal; }
  .lic-legal-frame   { padding: 24px 20px; }
  .llf-grid          { grid-template-columns: 1fr; }
  .pp-contact-card   { padding: 32px 24px; flex-direction: column; align-items: flex-start; }
}

/* ════════════════════════════════════════════════════════════
   Journal Archive Page — jarch-*
   journal.html / archive.php 共通
════════════════════════════════════════════════════════════ */
 
/* ── ヒーロー ── */
.jarch-hero {
  background: var(--ink-2);
  padding: 148px 6vw 64px;
  border-bottom: 1px solid var(--line-dark);
}
.jarch-eyebrow {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: var(--accent);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  opacity: .85;
}
.jarch-eyebrow .dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
}
.jarch-hero h1 {
  font-family: var(--jp);
  font-weight: 200;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--paper);
  margin: 0 0 18px;
}
.jarch-hero h1 em {
  font-style: normal;
  color: var(--accent);
}
.jarch-hero .jarch-sub {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.9;
  color: rgba(244,241,235,.5);
}
 
/* ── フィルタータブ ── */
.jarch-filter {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line-dark);
  margin-top: 40px;
}
.jarch-filter-btn {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 10px 18px;
  color: rgba(244,241,235,.4);
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  margin-bottom: -1px;
  transition: all .2s;
  text-decoration: none;
  display: inline-block;
}
.jarch-filter-btn:hover  { color: rgba(244,241,235,.75); }
.jarch-filter-btn.active { color: var(--paper); border-bottom-color: var(--accent); }
 
/* ── アーカイブ本文エリア ── */
.jarch-body  { background: var(--paper-2); padding: 72px 6vw 100px; }
.jarch-inner { max-width: 1080px; margin: 0 auto; }
 
/* ── カテゴリーカラー ── */
.j-cat.real-estate        { color: var(--accent); }
.j-cat.clinic-consulting  { color: #7a9e87; }
.j-cat.device-trade       { color: #8a9ab8; }
.j-cat.other              { color: var(--gray-1); }
 
/* ── ページネーション ── */
.jarch-pagination {
  margin-top: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.jarch-page-btn {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  padding: 8px 14px;
  border: 1px solid var(--line);
  color: var(--gray-1);
  background: transparent;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  display: inline-block;
}
.jarch-page-btn:hover        { border-color: var(--accent); color: var(--accent); }
.jarch-page-btn.active,
.page-numbers.current        { border-color: var(--accent); color: var(--accent); background: rgba(184,149,106,.08); }
/* WP 標準 paginate_links() 対応 */
.page-numbers {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  padding: 8px 14px;
  border: 1px solid var(--line);
  color: var(--gray-1);
  text-decoration: none;
  display: inline-block;
  transition: all .2s;
}
.page-numbers:hover { border-color: var(--accent); color: var(--accent); }
.page-numbers.dots  { border-color: transparent; cursor: default; }
 
/* ── 記事本文 (single.php) ── */
.journal-article-body {
  font-family: var(--jp);
  font-size: 15px;
  line-height: 2.1;
  color: var(--ink-2);
}
.journal-article-body h2 {
  font-family: var(--jp);
  font-weight: 600;
  font-size: 20px;
  margin: 48px 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
}
.journal-article-body h3 {
  font-family: var(--jp);
  font-weight: 500;
  font-size: 17px;
  margin: 36px 0 12px;
  color: var(--ink);
}
.journal-article-body p   { margin: 0 0 24px; }
.journal-article-body a   { color: var(--accent); border-bottom: 1px solid rgba(184,149,106,.4); text-decoration: none; }
.journal-article-body a:hover { border-color: var(--accent); }
.journal-article-body blockquote {
  border-left: 3px solid var(--accent);
  margin: 32px 0;
  padding: 16px 24px;
  background: rgba(184,149,106,.06);
  font-style: italic;
  color: var(--gray-1);
}
.journal-article-body img  { max-width: 100%; height: auto; display: block; margin: 32px auto; }
.journal-article-body ul,
.journal-article-body ol   { padding-left: 24px; margin: 0 0 24px; }
.journal-article-body li   { margin-bottom: 8px; line-height: 1.85; }
/* WP ブロック: 区切り */
.journal-article-body .wp-block-separator {
  border: none;
  border-top: 1px solid var(--line);
  margin: 40px 0;
}
/* WP ブロック: 画像キャプション */
.journal-article-body figcaption {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--gray-2);
  text-align: center;
  margin-top: 8px;
}
/* WP ブロック: カバー・メディアテキスト */
.journal-article-body .wp-block-cover,
.journal-article-body .wp-block-media-text {
  margin: 32px 0;
}
/* WP ブロック: 引用 */
.journal-article-body .wp-block-quote {
  border-left: 3px solid var(--accent);
  margin: 32px 0;
  padding: 16px 24px;
  background: rgba(184,149,106,.06);
}
.journal-article-body .wp-block-quote cite {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--accent);
  display: block;
  margin-top: 10px;
}
 
/* ── breadcrumb（アーカイブ・シングル共通） ── */
.pp-breadcrumb {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: rgba(244,241,235,.35);
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.pp-breadcrumb a       { color: rgba(244,241,235,.45); text-decoration: none; transition: color .2s; }
.pp-breadcrumb a:hover { color: var(--accent); }
.pp-breadcrumb span    { color: rgba(244,241,235,.2); }
 
@media (max-width: 600px) {
  .jarch-hero       { padding: 130px 24px 48px; }
  .jarch-body       { padding: 48px 24px 72px; }
  .jarch-filter-btn { padding: 10px 12px; font-size: 8px; }
}
/* ════════════════════════════════════════════════════════════
   Contact Form 7 — BIB & Co. デザイン統合
   .bib-form クラス（wpcf7_form_class_attr で付与）を使用し
   .field ルールの詳細度競合を完全に回避
════════════════════════════════════════════════════════════ */

/* ── ラッパー ── */
.contact-form .wpcf7 { width: 100%; }
.bib-form { width: 100%; }

/* ── p タグ：ボーダー・余白をリセット ── */
.bib-form.wpcf7-form p {
  margin-bottom: 32px;
  padding: 0 !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
}
.bib-form.wpcf7-form p:last-of-type { margin-bottom: 0; }

/* ── wpcf7-form-control-wrap ── */
.bib-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* ── ラベル ── */
.bib-form label {
  display: block !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(244,241,235,.45) !important;
  margin-bottom: 10px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* ── テキスト / メール / 電話（アンダーラインのみ） ── */
.bib-form input[type="text"],
.bib-form input[type="email"],
.bib-form input[type="tel"],
.bib-form input[type="url"] {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(244,241,235,.2) !important;
  color: var(--paper) !important;
  font-family: var(--jp) !important;
  font-size: 15px !important;
  padding: 10px 0 12px !important;
  outline: none !important;
  transition: border-color .3s;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.bib-form input[type="text"]:focus,
.bib-form input[type="email"]:focus,
.bib-form input[type="tel"]:focus,
.bib-form input[type="url"]:focus {
  border-bottom-color: var(--accent) !important;
  outline: none !important;
  background: transparent !important;
}

/* ── セレクト ── */
.bib-form select {
  width: 100% !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(244,241,235,0.4)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 4px center !important;
  border: none !important;
  border-bottom: 1px solid rgba(244,241,235,.2) !important;
  color: var(--paper) !important;
  font-family: var(--jp) !important;
  font-size: 15px !important;
  padding: 10px 32px 12px 0 !important;
  outline: none !important;
  cursor: pointer;
  transition: border-color .3s;
  border-radius: 0 !important;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.bib-form select:focus {
  border-bottom-color: var(--accent) !important;
  outline: none !important;
}
.bib-form select option {
  background: var(--ink-2);
  color: var(--paper);
}

/* ── テキストエリア ── */
.bib-form textarea {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(244,241,235,.2) !important;
  color: var(--paper) !important;
  font-family: var(--jp) !important;
  font-size: 15px !important;
  padding: 10px 0 12px !important;
  outline: none !important;
  resize: vertical;
  min-height: 140px;
  line-height: 1.8;
  transition: border-color .3s;
  border-radius: 0 !important;
  box-sizing: border-box;
  -webkit-appearance: none;
}
.bib-form textarea:focus {
  border-bottom-color: var(--accent) !important;
  outline: none !important;
}

/* ── プレースホルダー ── */
.bib-form input::placeholder,
.bib-form textarea::placeholder {
  color: rgba(244,241,235,.18) !important;
  font-family: var(--jp);
}

/* ── 送信ボタン ── */
.bib-form input[type="submit"],
.bib-form .wpcf7-submit {
  display: block !important;
  width: 100% !important;
  background: var(--accent) !important;
  border: none !important;
  color: var(--ink) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  padding: 22px 32px !important;
  cursor: pointer;
  transition: background .25s;
  border-radius: 0 !important;
  margin-top: 8px;
  text-align: center;
  box-shadow: none !important;
}
.bib-form input[type="submit"]:hover,
.bib-form .wpcf7-submit:hover {
  background: var(--accent-2) !important;
}

/* ── バリデーションエラー ── */
.bib-form .wpcf7-not-valid {
  border-bottom-color: #c0605a !important;
}
.bib-form .wpcf7-not-valid-tip {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  color: #c0605a;
  display: block;
  margin-top: 6px;
}

/* ── 送信結果メッセージ ── */
.wpcf7 .bib-form ~ .wpcf7-response-output,
.contact-form .wpcf7-response-output {
  font-family: var(--jp);
  font-size: 13px;
  line-height: 1.8;
  padding: 14px 0;
  margin-top: 20px;
  border: none !important;
  border-top: 1px solid !important;
}
.wpcf7 .sent ~ .wpcf7-response-output,
.wpcf7-response-output.wpcf7-mail-sent-ok {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}
.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output.wpcf7-mail-sent-ng,
.wpcf7-response-output.wpcf7-spam-blocked {
  border-color: #c0605a !important;
  color: #c0605a !important;
}

/* ── スピナー ── */
.wpcf7 .ajax-loader {
  display: inline-block;
  width: 14px; height: 14px;
  border: 1.5px solid rgba(244,241,235,.2);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: cf7-spin .7s linear infinite;
  margin-left: 10px;
  vertical-align: middle;
}
@keyframes cf7-spin { to { transform: rotate(360deg); } }