/*
Theme Name: The Blank
Author: HeyMasa
Description: This theme is The Blank theme
Version: 1.00
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: The Blank

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/


/* RESET CSS*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){block-size:100%;block-size:100dvb;line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}
/* //RESET CSS*/

/* ──────────────────────────────────────────────────────────
SCS INVICTUS — "QUIET AUTHORITY"
No particles. No grain. No cursor glow.
Typography is the identity.
────────────────────────────────────────────────────────── */

:root{
	/* palette — linen world, orange rationed */
	--o:#E8850C;          /* accent orange — used sparingly */
	--o-soft:#F4A23F;     /* softer orange for underlines/hover */
	--bg:#F2EADB;         /* linen — primary background */
	--bg2:#ECE4D2;        /* slightly deeper linen for alternating blocks */
	--bg3:#E6DEC8;        /* deeper still, for cards/hover states */
	--ink:#1A1814;        /* near-black body ink */
	--ink2:#3A3630;       /* secondary text */
	--ink3:#6B665B;       /* tertiary / meta text */
	--ink4:#9C9688;       /* muted / labels */
	--line:#D4CBB3;       /* hairlines and dividers */
	--line-soft:#E0D7C0;  /* even softer lines */

	/* scale */
	--px:clamp(28px, 6vw, 88px);     /* horizontal page padding */
	--py:clamp(90px, 12vw, 180px);   /* vertical section padding */
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
	background:var(--bg);
	color:var(--ink);
	font-family:'Plus Jakarta Sans','Zen Kaku Gothic New',sans-serif;
	font-size:16px;
	line-height:1.75;
	font-weight:300;
	overflow-x:hidden;
}
::selection{background:var(--ink);color:var(--bg)}

.sans{font-family:'Plus Jakarta Sans','Zen Kaku Gothic New',sans-serif !important;}
/*.serif{font-family:'Merriweather','Noto Serif JP',Georgia,serif}


.sans{font-family:'Plus Jakarta Sans', 'Zen Kaku Gothic New', sans-serif!important;}
.serif{font-family:'Merriweather','Noto Serif JP',Georgia,serif}
*/

/* ──────────── THIN ORANGE SCROLL PROGRESS ──────────── */
#prog{
	position:fixed;top:0;left:0;height:1.5px;
	background:var(--o);z-index:10001;width:0;
	pointer-events:none;transition:width 0.1s linear;}

/* ──────────── NAV ──────────── */
.nav{
	position:fixed;top:0;left:0;right:0;z-index:1000;
	height:84px;
	padding:0 var(--px);
	display:flex;align-items:center;justify-content:space-between;
	background:rgba(242,234,219,0.88);
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px);
	border-bottom:1px solid transparent;
	transition:border-color 0.4s, background 0.4s;
}

.nav.scrolled{border-bottom-color:var(--line-soft)}

.nav-sp-cta{display:none;}


/* logo lockup — uses real SVG */
.logo{
	display:flex;align-items:center;text-decoration:none;transition:opacity 0.3s; flex-shrink:0;}
.logo:hover{opacity:0.75}
.logo img{height:130px;width:auto;display:block}

@media (max-width:600px){
	.logo img{
		height:90px;
	}
}


/* nav right cluster */
.nav-right{display:flex;align-items:center;gap:4px}
.nav-links{display:flex;align-items:center;gap:0}
.nav-links a{
	font-family:'Montserrat',sans-serif;font-size:11px;font-weight:500;
	color:var(--ink3);text-decoration:none;
	padding:8px 18px;letter-spacing:0.04em;
	transition:color 0.3s;
}
.nav-links a:hover{color:var(--ink)}


/* lang switch */
.lw{
	display:flex;gap:0;margin-left:20px;
	border-radius:2px;overflow:hidden;
}
.lb{
	font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:700;
	letter-spacing:0.1em;padding:5px 11px;cursor:pointer;
	border:none;background:transparent;color:var(--ink4);
	transition:all 0.25s;
}
.lb.on{background:var(--ink);color:var(--bg)}

.bogo-language-switcher{
	display:flex;
	line-height: 1.65;
	padding:0;
}
ul.bogo-language-switcher li.current{
	background: black;	
}
ul.bogo-language-switcher li.current a{
	color:white;
}
ul.bogo-language-switcher li a{
	text-decoration: none;
	font-size: 12px;
	font-weight: 500;
	color: var(--ink3);
	text-decoration: none;
	padding: 8px;
}

/* ──────────── HERO ──────────── */
.hero{
  min-height:100vh;min-height:100dvh;
  padding:140px var(--px) clamp(80px,10vw,140px);
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;
  background:var(--bg);
}

.hero.pages{
    max-width: 1200px;
    margin: 80px auto;	
}
.page .hero{
	background:unset;
}
.page .hero.pages{
	margin-top:0;
}

.hero.pages h2:not(:first-child){
	margin-top:40px;
	margin-bottom:10px;	
}
.hero.pages h3:not(:first-child){
	margin-top:24px;
	margin-bottom:10px;	
}

.hero-meta{
  /*
  font-family:'Montserrat',sans-serif;
  */
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size:10px;
  letter-spacing:0.2em;color:var(--ink4);text-transform:uppercase;
  margin-top:40px;
  display:flex;align-items:center;gap:16px;
}

.hero-meta::before{
  content:'';width:28px;height:1px;background:var(--line);display:inline-block;
}

.hero-wrap{
  max-width:1400px;
  width:100%;
  margin:auto 0;
  display:grid;
  grid-template-columns:1fr;
  gap:80px;
}

.hero h1{
/*  font-family:'Merriweather','Noto Serif JP',serif;*/
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight:500;
  font-size:clamp(56px, 11vw, 100px);
  font-style: normal;
  line-height:1.3;
  letter-spacing:-0.02em;
  color:var(--ink);
  max-width:14ch;
}

.page .hero h1{
    font-size: clamp(44px, 7.6vw, 110px);
    font-weight: 400;	
}

.hero h1 em{
  font-style:italic;
  font-weight:300;
  color:var(--o);
}

.hero h1 .ln{display:block}

.hero-sub{
  /*display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);*/
  align-items:end;
  /*margin-top:clamp(48px,6vw,80px);*/
}

.hero-tag{
  /*font-family:"Plus Jakarta Sans", sans-serif;*/
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style:normal;
  font-weight:500;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.75;color:var(--ink2);
  max-width:38ch;
}

.hero-cta-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  margin-top: 75px;
}

.hero-cta{
  width: 265px;
  height: 52px;
  text-align: center;
  line-height: 52px;
  background-color: #1a1814;
/*  font-family:"Plus Jakarta Sans", sans-serif;*/
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight:500;
  color:white;
  text-decoration:none;
  letter-spacing:0.06em;
  /*text-transform:uppercase;*/
  padding-bottom:6px;
  /*border-bottom:1px solid var(--ink);*/
  transition:color 0.3s, border-color 0.3s, padding-left 0.4s;
  align-self:flex-start;
}

.hero-cta:hover{color:var(--o);border-color:var(--o);padding-left:4px}

.hero-foot{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-top:clamp(60px,10vw,140px);
  padding-top:28px;
  border-top:1px solid var(--line-soft);
  gap:40px;flex-wrap:wrap;
}

.hero-foot-item{
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.18em;
  color:var(--ink4);
  text-transform:uppercase;
}

.hero-foot-item strong{color:var(--ink);font-weight:600}


/* -------  HERO 日本語. ------- */
.ja .hero h1{
/*  font-family:'Merriweather','Noto Serif JP',serif;*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight:500;
  font-size:clamp(30px, 11vw, 75px);
  font-style: normal;	
}

.ja .hero-tag{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style:normal;
	font-weight:300;
	font-size:clamp(16px,1.35vw,19px);
	text-align: justify;
	max-width:39ch;
}

.ja .hero-cta{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight:500;
  letter-spacing:0.06em;
  padding-bottom:6px;
}

.ja .hero-foot-item{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:15px;
  font-weight:500;
  letter-spacing:0.18em;
}


/* ──────────── COLLECTIVE LIST (listing like LoveFrom) ──────────── */
.collective{
	padding:clamp(80px,10vw,140px) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
}
.collective-inner{max-width:1200px;margin:0 auto}
.collective-label{
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size:10px;
  font-style: normal;
  font-weight:700;
  letter-spacing:0.22em;color:var(--ink4);
  text-transform:uppercase;
  margin-bottom:40px;
  display:flex;align-items:center;gap:16px;
}
.collective-label::before{
  content:'';width:28px;height:1px;background:var(--line);
}
.collective-text{
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:clamp(22px,2.8vw,40px);
  line-height:1.55;
  letter-spacing:-0.01em;
  color:var(--ink);
  /*max-width:24ch;*/
}
.collective-text .accent{
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style:normal;
  font-weight:700;
  color:var(--o);
}

.accent-sentence{
  font-family: "Plus Jakarta Sans", sans-serif;
  font-style:normal;
  font-size: clamp(27px,3.2vw,47px);
  font-weight: 700;
}

/* -----  COLLECTIVE LIST　日本語  ----- */

.ja .collective-label{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:13px;
  font-style: normal;
  font-weight:700;
}

.ja .collective-text{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:clamp(15px,2.8vw,30px);
}



/* ──────────── SECTION HEADER PATTERN ──────────── */
.s-label{
  /*
  font-family:'Montserrat',sans-serif;
  font-size:10px;font-weight:600;
  */
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing:0.22em;
  color:var(--ink4);
  text-transform:uppercase;
  display:flex;align-items:center;gap:16px;
}
.s-label .num{color:var(--o);font-weight:700}
.s-label::before{
  content:'';width:28px;height:1px;background:var(--line);
}

.s-title{
  /*
  font-family:'Merriweather','Noto Serif JP',serif;
  font-weight:300;
  */
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size:clamp(36px,5vw,78px);
  line-height:1.75;letter-spacing:-0.025em;
  color:var(--ink);
  margin-top:24px;
}

/* -----  SECTION HEADER PATTERN　日本語  ----- */
.ja .s-label{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}


.ja .s-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size:clamp(30px,5vw,60px);
}



/* ──────────── WHAT WE DO ──────────── */
.what{
  padding:var(--py) var(--px);
  background:var(--bg);
  border-top:1px solid var(--line-soft);
}
.what-inner{max-width:1400px;margin:0 auto}
.what-head{
/*  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:clamp(40px,6vw,100px);
*/
  margin-bottom:clamp(64px,8vw,100px);
  align-items:end;
}
.what-intro{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-weight:500;
	font-size:clamp(13px,1.35vw,17px);
	line-height:1.85;
	color:var(--ink2);
	/*max-width:50ch; */
	max-width: 1120px;
	margin-top: 50px;
}
.what-grid{
  /*
  display:grid;grid-template-columns:repeat(3,1fr); */
  gap:clamp(40px,5vw,72px);
}
.what-card{
  padding-top:32px;
  border-top:1px solid var(--line);
}
.what-card .num{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-size:clamp(20px,2vw,30px);
  font-weight:700;
  letter-spacing:0.2em;color:var(--o);
  text-transform:uppercase;
  margin-top: 20px;
  margin-bottom:20px;display:block;
}
.what-card h3{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-weight:600;
  font-size:clamp(22px,3vw,50px);
  line-height:1.25;
  color:var(--ink);
  margin-bottom:30px;
  letter-spacing:-0.01em;
}
.what-card p{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-size: clamp(13px, 1.35vw, 17px);
  line-height:1.85;
  font-weight:500;
  color:var(--ink2);
  margin-top: 30px;
  margin-bottom: 100px;
}

/* -----  WHAT WE DO　日本語  ----- */
.ja .what-intro{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight:500;
	font-size:clamp(13px,1.35vw,17px);
}

.ja .what-card .num{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:clamp(20px,2vw,30px);
	font-weight:600;
}
.ja .what-card h3{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight:600;
  font-size:clamp(20px,3vw,45px);
}
.ja .what-card p{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-size: clamp(13px, 1.35vw, 19px);
  line-height:1.85;
  font-weight:500;
}



/* ──────────── MANIFESTO (editorial spread) ──────────── */
.manifesto{
	padding:clamp(120px,16vw,220px) var(--px);
	background:var(--bg2);
	position:relative;
	border-top:1px solid var(--line-soft);
}
.manifesto-inner{max-width:1100px;margin:0 auto;text-align:center}
.manifesto-label{
  /*
  font-family:'Montserrat',sans-serif;
  */
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:0.28em;color:var(--o);text-transform:uppercase;
  margin-bottom:48px;
}
.manifesto-lead{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-style:normal;
  font-weight:600;
  font-size:clamp(28px,4vw,56px);line-height:1.35;letter-spacing:-0.02em;
  color:var(--ink);
  margin-bottom:48px;
}
.manifesto-body{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-weight:500;
  font-size:clamp(16px,1.4vw,20px);
  line-height:2;
  color:var(--ink2);
  max-width:62ch;margin:0 auto;
}
.manifesto-body p + p{margin-top:1.4em}
.manifesto-close{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(18px,1.6vw,22px);
  color:var(--o);
  margin-top:56px;
  letter-spacing:0.01em;
}

/* -----  MANIFESTO　日本語  ----- */
.ja .manifesto-label{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:15px;
  font-weight:700;
}
.ja .manifesto-lead{
  font-family: "Zen Kaku Gothic New", sans-serif;
}


.ja .manifesto-body{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight:500;
  font-size:clamp(16px,1.4vw,20px);
	max-width:64ch;
}

.ja .manifesto-close{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(18px,1.6vw,22px);
}


/* ──────────── SERVICES (editorial list) ──────────── */
.services{
	padding:var(--py) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
}
.services-inner{max-width:1400px;margin:0 auto}
.services-head{
	margin-bottom:clamp(64px,8vw,100px);
}
.srv-list{
	border-top:1px solid var(--line);
}
.srv{
	display:grid;grid-template-columns:80px 1fr 1fr 56px;
	gap:clamp(24px,4vw,60px);
	padding:clamp(32px,4vw,48px) 0;
	border-bottom:1px solid var(--line);
	align-items:start;
	cursor:pointer;
	transition:background 0.4s;
	position:relative;
}
.srv::before{
	content:'';position:absolute;left:-24px;top:0;bottom:0;width:2px;
	background:var(--o);transform:scaleY(0);transform-origin:top;
	transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.srv:hover::before{transform:scaleY(1)}
.srv .num{
  font-family:'Montserrat',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.15em;
  color:var(--ink4);padding-top:6px;
}
.srv h3{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-weight:500;
  font-size:clamp(22px,2vw,30px);
  line-height:1.25;
  color:var(--ink);
  letter-spacing:-0.015em;
}
.srv-desc{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-weight:500;
  font-size:14.5px;
  line-height:1.85;
  color:var(--ink2);
  max-width:48ch;padding-top:6px;
}
.srv-arrow{
  font-family:'Montserrat',sans-serif;
  font-size:20px;color:var(--ink4);
  justify-self:end;
  padding-top:6px;
  transition:color 0.3s, transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
.srv:hover .srv-arrow{color:var(--o);transform:translateX(6px)}

/* -----  SERVICES　日本語  ----- */
.ja .srv-desc{
  font-family: "Zen Kaku Gothic New", sans-serif;
	text-align: justify;
}


/* ──────────── OUR OFFICES ──────────── */
.our_offices{
	padding:var(--py) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
}
.offices-inner{
	max-width:1400px;
	margin:0 auto;
}
.offices-head{
	margin-bottom:clamp(64px,8vw,100px);
}
.office_map img{
	width: 100%;
}
div#map1 {
	max-width: 100%;
	width: auto;
}

/* SCS-Collective-page　company profile */
table{
  margin-top: 40px;
}

.company-profile table {
  width: 100%;
  border-collapse: collapse;
}

.table-item{
  text-align: left;
}

.company-profile th,
.company-profile td {
  padding-top: 10px;    
  padding-bottom: 10px;
  vertical-align: top;
  text-align: left;
}


/* ──────────── PROFILE ──────────── */

.profile-inner{
	padding: var(--py) var(--px);	
}
    
.profifle{
	padding:var(--py) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
}

.prodile-title{
	color: #E8850C;
	font-weight: 500;
}

.profifle-box img{
	width: 100%;
	height: auto;
}

.profifle-box h3{
	margin-top: 50px;
	border-bottom: 1px solid #1A1814;
	padding-bottom: 15px;

}

.profifle-box p{
	width: 100%;
	height: auto;
	margin-top: 35px;
}

.profile-container{
	font-family: "Plus Jakarta Sans", sans-serif;
	font-weight: 500;
	margin-top: 120px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	justify-content: space-between;
	margin-bottom: 120px;
	gap:80px
}
@media (max-width:960px){
	.profile-container{
		grid-template-columns: 1fr;
	}
}

/* -----  PROFIL　日本語  ----- */
.ja .profile-inner {
  padding: 0;
}

.ja .profifle-box p{
	font-family: "Zen Kaku Gothic New", sans-serif;
	text-align: justify;
}


/* ──────────── QUOTE / PULL ──────────── */
.pull{
	padding:clamp(100px,14vw,180px) var(--px);
	background:var(--bg2);
	border-top:1px solid var(--line-soft);
}
.pull-inner{max-width:1100px;margin:0 auto}
.pull-q{
  font-family:"Plus Jakarta Sans", sans-serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(26px,3.6vw,48px);
  line-height:1.4;
  letter-spacing:-0.015em;
  color:var(--ink);
  max-width:28ch;
}

.pull-q::before{
	content:'“';font-style:normal;color:var(--o);
	font-size:1.4em;line-height:0;position:relative;top:0.25em;margin-right:0.05em;
}
.pull-attr{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-size:10px;
	font-weight:600;
	letter-spacing:0.22em;
	color:var(--ink4);
	text-transform:uppercase;
	margin-top:48px;
	display:flex;
	align-items:center;
	gap:16px;
}

.pull-attr::before{content:'';width:28px;height:1px;background:var(--line)}

/* -----   QUOTE / PULL 　日本語  ----- */
.ja .pull-q{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style:normal;
	text-align: justify;
}

.ja .pull-attr{
	font-family:'Montserrat',sans-serif;
}


/* ──────────── REACH (minimal stats) ──────────── */
.reach{
	padding:var(--py) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
}
.reach-inner{max-width:1400px;margin:0 auto}
.reach-head{margin-bottom:clamp(64px,8vw,100px);text-align:center}
.reach-head .s-label{justify-content:center}
.reach-head .s-label::before{display:none}
.reach-stats{
	display:grid;grid-template-columns:repeat(4,1fr);
	gap:1px;background:var(--line);
	border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.reach-stat{
	background:var(--bg);
	padding:clamp(36px,5vw,64px) clamp(20px,3vw,36px);
	text-align:center;
}
.reach-stat .n{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-weight:300;
	font-size:clamp(40px,5vw,72px);line-height:1;
	color:var(--ink);letter-spacing:-0.03em;
	display:block;margin-bottom:14px;
}
.reach-stat .n .plus{color:var(--o);font-weight:400}
.reach-stat .l{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-size:9.5px;font-weight:600;
	letter-spacing:0.22em;color:var(--ink4);text-transform:uppercase;
}

/* -----  REACH　日本語  ----- */
.ja .reach-stat .n{
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.ja .reach-stat .l{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size:12px;
}


/* ──────────── INSIGHTS TEASER ──────────── */
.insights{
	padding:var(--py) var(--px);
	background:var(--bg2);
	border-top:1px solid var(--line-soft);
}
.insights-inner{max-width:1400px;margin:0 auto}
.insights-head{
	display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;
	margin-bottom:clamp(56px,7vw,88px);
}
.insights-all{
	font-family:'Montserrat',sans-serif;
	font-size:11px;
	font-weight:500;
	color:var(--ink);
	text-decoration:none;
	letter-spacing:0.06em;
	text-transform:uppercase;
	padding-bottom:4px;
	border-bottom:1px solid var(--ink);
	transition:color 0.3s, border-color 0.3s;
}
.insights-all:hover{color:var(--o);border-color:var(--o)}
.insights-grid{
	display:grid;grid-template-columns:repeat(3,1fr);
	gap:clamp(32px,4vw,56px);
}
.ins{
	padding-top:28px;border-top:1px solid var(--line);
	cursor:pointer;
}
.ins-meta{
	font-family:'Montserrat',sans-serif;font-size:9.5px;font-weight:600;
	letter-spacing:0.2em;color:var(--o);text-transform:uppercase;
	margin-bottom:20px;
}
.ins h3 a{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-weight:400;
	font-size:clamp(19px,1.6vw,24px);
	line-height:1.3;
	letter-spacing:-0.01em;
	color:var(--ink);
	margin-bottom:16px;
	transition:color 0.3s;
	text-decoration:none;
	margin-bottom:20px;
	display: inline-block;
}
.ins:hover h3{color:var(--o)}
.ins p{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-size:14px;
	line-height:1.8;
	font-weight:400;
	color:var(--ink3);
	overflow-wrap: anywhere;
	word-break: break-word;	
}



/* ──────────── CONTACT ──────────── */
.contact{
	padding:clamp(120px,16vw,200px) var(--px);
	background:var(--bg);
	border-top:1px solid var(--line-soft);
	text-align:center;
}
.contact-inner{max-width:900px;margin:0 auto}
.contact-title{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-weight:400;
	font-style:italic;
	font-size:clamp(40px,6vw,88px);line-height:1.05;letter-spacing:-0.03em;
	color:var(--ink);
	margin-bottom:48px;
}
.contact-email{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-weight:400;
	font-size:clamp(18px,1.8vw,26px);
	color:var(--ink);
	text-decoration:none;
	display:inline-block;
	padding-bottom:6px;
	border-bottom:1px solid var(--ink);
	transition:color 0.3s,border-color 0.3s;
}
.contact-email:hover{color:var(--o);border-color:var(--o)}
.contact-meta{
	margin-top:56px;
	font-family:"Plus Jakarta Sans", sans-serif;
	font-size:10px;
	font-weight:800;
	letter-spacing:0.22em;
	color:var(--ink4);
	text-transform:uppercase;
}
.contact-poem{
	margin-top:48px;
	font-family:"Plus Jakarta Sans", sans-serif;
	font-style:italic;
	font-weight:500;
	font-size:13.5px;
	line-height:1.85;
	color:var(--ink3);
	max-width:44ch;
	margin-left:auto;
	margin-right:auto;
}

/* -----  CONTACT 　日本語  ----- */
.ja .contact-title{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style:normal;
	font-size:clamp(35px,6vw,70px);
	}

.ja .contact-title em {
	display: block;
	line-height: 1.5;
}

.ja .contact-email .contact-meta .contact-poem{
	font-family: "Zen Kaku Gothic New", sans-serif;}


/* ──────────── FOOTER ──────────── */
.footer{
	padding:48px var(--px) 56px;
	background:var(--bg2);
	border-top:1px solid var(--line-soft);
	display:flex;justify-content:space-between;align-items:center;
	gap:40px;flex-wrap:wrap;
}
.footer-left,.footer-right{
	font-family:"Plus Jakarta Sans", sans-serif;
	font-size:10px;
	font-weight:700;
	letter-spacing:0.14em;
	color:var(--ink4);
}
.footer-right a{color:var(--ink3);text-decoration:none;margin-left:24px;transition:color 0.3s}
.footer-right a:hover{color:var(--ink)}

/* ──────────── REVEAL ON SCROLL (subtle) ──────────── */
.rv, .page .hero.pages h1, .page .hero.pages .page_content > *{opacity:0;transform:translateY(24px);transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1),transform 0.9s cubic-bezier(0.22,1,0.36,1)}
.rv.in, .page .hero.pages h1.in, .page .hero.pages .page_content > *.in{opacity:1;transform:none}
.rv-d1{transition-delay:0.1s}
.rv-d2{transition-delay:0.2s}
.rv-d3{transition-delay:0.3s}

/* ──────────── RESPONSIVE ──────────── */
@media (max-width:960px){
	.hero-sub{grid-template-columns:1fr;gap:32px}
	.what-head{grid-template-columns:1fr;gap:24px}
	.what-grid{grid-template-columns:1fr;gap:40px}
	.srv{grid-template-columns:50px 1fr 40px;gap:20px}
	.srv-desc{grid-column:2/3;grid-row:2}
	.profile-container{display: flex;flex-direction: column;align-items: center;gap: 100px;}
	.reach-stats{grid-template-columns:repeat(2,1fr)}
	.insights-grid{grid-template-columns:1fr;gap:32px}
	.insights-head{grid-template-columns:1fr;gap:16px;align-items:start}
	.profifle-box h3{
		text-align: center;
		margin-top: 20px;
	}
	.profifle-box img{
		display: table;
		margin: 0 auto;
	}
}
@media (max-width:960px){
	.nav{height:60px}
	.nav-links{display:none}
	.nav-sp-cta{
        display: block;
        width: 95px;
        height: 28px;
        text-align: center;
		border:1px solid #C2AC7A;
	}

	.nav-sp-cta a{
		font-size: 16px;
		text-decoration: none;
		color: #C2AC7A;
	}

	.lw{margin-left:0}
}



/* JP toggle
html[lang="ja"] body{font-family:'Noto Serif JP','Merriweather',serif}
html[lang="ja"] .sans,html[lang="ja"] .nav-links a,html[lang="ja"] .lb,html[lang="ja"] .s-label,html[lang="ja"] .collective-label,html[lang="ja"] .hero-meta,html[lang="ja"] .hero-foot-item,html[lang="ja"] .pull-attr,html[lang="ja"] .reach-stat .l,html[lang="ja"] .ins-meta,html[lang="ja"] .contact-meta,html[lang="ja"] .footer-left,html[lang="ja"] .footer-right,html[lang="ja"] .hero-cta,html[lang="ja"] .insights-all,html[lang="ja"] .srv .num{font-family:'Noto Sans JP','Montserrat',sans-serif}
html[lang="ja"] .hero h1,html[lang="ja"] .s-title,html[lang="ja"] .contact-title{letter-spacing:0}

 */
/* blog single */
.single-post main, .blog main{
	margin: 120px auto;
	max-width: calc(1200px - 5%);
	width: 100%;
}

.breadcrumbs{
	position:relative;
	z-index:2;
	margin-bottom:40px;
}

.breadcrumbs.header_bread{
	position: absolute;
	right: 0px;
	bottom: 60px;
}

.page_wrap, .breadcrumbs__list{
	display:flex;
	flex-wrap:wrap;
	align-items: self-start;	
	max-width: 1220px;
	margin: 0 auto;
}

.breadcrumbs__list{
}

.breadcrumbs__list li {
	font-size: 14px;
}

.breadcrumbs__list li:last-child span{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	width: 100%;
}

.breadcrumbs__list li a{
	font-size: 13px;
	color: #212121;
}
.breadcrumbs__list li a{
	color:#888888;
}

.breadcrumbs__list li a::after{
	content:'/';
	font-size: 13px;
	color:#888888;
	display:inline-block;
	margin-left: .5rem;
	margin-right: .5rem;
}
.entry-meta-line {
	margin: 0;
	padding: 24px 0;
	color: #e2801e;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.18em;
}

.entry-meta-sep {
	margin: 0 0.5em; 
}

.single-post .article_title{
	font-family: 'Merriweather', 'Noto Serif JP', serif;
	font-weight: 300;
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.5;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin-top: 24px;
	margin-bottom: 3rem;
}

.entry-thumb{
	display: flex;
	justify-content: center;
	margin-bottom:100px;
}

.article_main{
	font-family: Merriweather;
	font-weight: 300;
	font-size: 16px;
	leading-trim: NONE;
	letter-spacing: 3%;	
}

.article_main h2{
	font-family: Merriweather;
	font-weight: 600;
	font-size: 36px;
	margin-bottom:1rem;
}

.article_main h3{
	font-family: Merriweather;
	font-weight: 400;
	font-size: 30px;
	margin-top:64px;
}

.article_main h4{
	font-family: Merriweather;
	font-weight: 400;
	font-size: 24px;
}
.article_main ul{
	list-style: disc;
	padding-left: 1.5rem;
	margin: 30px 0;	
}

.article_main hr{
	border-color:rgba(78, 78, 78, 1);
	margin:50px auto 80px;
}

.article_main .wp-block-columns{
	margin:50px auto 80px;	
}

/* Quote ブロック */
.wp-block-quote {
	margin: 32px 0;
	padding: 40px 100px ;
	background: #ddd0ab;
	border: none;
	border-radius: 12px;
	font-weight:400;
	font-style: italic;
	font-size: 16px;
	line-height: 1.9;
}

/* テーマ既定の縦線・左パディングを打ち消す */
.wp-block-quote.is-style-plain,
.wp-block-quote.is-style-large,
.wp-block-quote {
	border-left: none;
	border-inline-start: none;
	quotes: none;
}

.wp-block-quote p {
	margin: 0 0 1em;
}

.wp-block-quote p:last-of-type {
	margin-bottom: 0;
}

/* 引用符を自動で付ける */
.wp-block-quote p:first-of-type::before {
	content: "\201C";
}

.wp-block-quote p:last-of-type::after {
	content: "\201D";
}

/* 出典（cite） */
.wp-block-quote cite {
	display: block;
	margin-top: 16px;
	font-size: 14px;
	font-style: normal;
	opacity: 0.75;
}

@media (max-width: 600px) {
	.wp-block-quote {
		padding: 24px;
	}
}

/* Table ブロック */
.wp-block-table {
	margin: 32px 0;
	overflow-x: auto;
}

.wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 4px;
	background: transparent;
	color: #2b2b2b;
	font-size: 13px;
	line-height: 1.7;
}

figure.wp-block-table thead {
	border-bottom: 2px solid white;	
	background:rgba(194, 172, 122, 1)
}

.wp-block-table th,
.wp-block-table td {
	padding: 14px 16px;
	border: none;
	background: #f2ece0;
	vertical-align: middle;
}

/* ヘッダー行 */
.wp-block-table thead th {
	background: rgba(194, 172, 122, 1);
	font-weight: 700;
	text-align: center;
	border-bottom: 2px solid white;	
	border-right: 2px solid white;	
	border-left: 2px solid white;
	border-top: 0;	
	padding: 20px 4px;	
}

/* 各行の左端（行見出し）
.wp-block-table tbody td:first-child,
.wp-block-table tbody th:first-child {
background: #ddd0ab;
font-weight: 700;
text-align: center;
white-space: nowrap;
} */

/* 本文セル */
.wp-block-table tbody td {
	text-align: left;
	border: 2px solid white;
	padding: 16px 19px;
	background: rgba(223, 209, 176, 1);	
}

/* 記号・金額など短い値は中央寄せ */
.wp-block-table tbody td.is-center {
	text-align: center;
}

.wp-block-table figcaption {
	margin-top: 12px;
	font-size: 13px;
	opacity: 0.75;
}

@media (max-width: 600px) {
	.wp-block-table table {
		min-width: 560px;
	}
	.wp-block-table th,
	.wp-block-table td {
		padding: 10px 12px;
	}
}

/* 外周だけ透明ボーダーを消す */
.wp-block-table tr > *:first-child { border-left-width: 0; }
.wp-block-table tr > *:last-child  { border-right-width: 0; }
.wp-block-table thead tr:first-child > * { border-top-width: 0; }
.wp-block-table tbody tr:last-child > *  { border-bottom-width: 0; }

/* blog archive */
.page_head__title{
	font-weight: 400;
	font-size: 100px;
	letter-spacing: 3%;
	text-align: center;
	margin-bottom: 40px;
}

@media (max-width: 600px) {
	.page_head__title{
       font-size: 64px;
   }
}

.blog_desc{
	text-align:center;
}

.blog main > svg{
    display: table;
    margin: 0 auto 24px;
    max-width: 200px;
    position: relative;
    right: -40px;	
}
.blog .page_wrap{
	justify-content: center;
    flex-direction: column;
    align-items: center;
}

.blog .page_wrap .page_head{
    align-self: center;	
}
.page_mainContent{
	width:100%;
}


.line_vertical{
	width: 140px;
	display: block;
	border: 1px solid rgba(78, 78, 78, 1);
	margin: 140px auto 120px;
	rotate: 90deg;	
}

.projects__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.projects__item + .projects__item {
	margin-top: 40px;
}

.projects__item {
	display: grid;
	grid-template-columns: 176px 1fr;
	gap: 67px;
	align-items: start;
	text-decoration: none;
	color: inherit;
}

/* サムネイル */
.projects__thumb {
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: #8c8880;
}

.projects__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* メタ（カテゴリー・日付） */
.projects__meta {
	margin: 0 0 20px;
	color: var(--o);
	font-family: 'Montserrat', sans-serif;
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.projects__sep {
	margin: 0 0.4em;
}

.entry-meta-line{
	margin: 0px;
	color: var(--o);
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.2em;	
}

/* タイトル */
.projects__title {
	margin: 0 0 12px;
	font-family: 'Merriweather', serif;
	font-weight: 400;
	font-size: clamp(19px, 1.6vw, 24px);
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--ink);	
}

.projects__link{
	color:var(--ink);
	text-decoration: none;	
}


.projects__link:hover .projects__title {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 抜粋 */
.projects__excerpt {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	font-weight: 300;
	color: var(--ink3);
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (max-width: 600px) {
	.projects__item {
		grid-template-columns: 110px 1fr;
		gap: 16px;
	}
	.projects__title {
		font-size: 17px;
	}
}
.ins p {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}


/* Read more */
.readmore {
	margin-top: 72px;
	padding-top: 32px;
	border-top: 1px solid #d6cdbb;
}

h2.readmore__heading {
	font-weight:400;
	margin: 0 0 48px;
	color: #1a1a1a;
    border-bottom: 1px solid #d6cdbb;
    padding-bottom: 30px;
    margin-bottom: 60px !important;	
}

.readmore__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.readmore__item {
	min-width: 0;
}

/* サムネイル */
.readmore__thumb {
	display: block;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: #8c8880;
	margin-bottom: 16px;
}

.readmore__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.readmore__thumb:hover img {
	transform: scale(1.04);
}

/* メタ */
.readmore__meta {
	margin: 0 0 20px;
    color: var(--o);
    font-family: 'Montserrat', sans-serif;
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.2em;
}

/* タイトル */
h3.readmore__title {
	margin: 0 0 12px;
	font-size: 24px!important;
	font-weight: 400;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.readmore__title a {
	color: #1a1a1a;
	text-decoration: none;
}

.readmore__title a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 抜粋 */
.readmore__excerpt {
	margin: 0;
	font-size: 12px;
	line-height: 1.8;
	color: #6b665e;
	overflow-wrap: anywhere;

	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ボタン */
.readmore__more {
	margin: 48px 0 0;
	text-align: center;
}

.btn-all {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 40px;
	background: #3a3a3a;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
	transition: background 0.25s ease;
}

.btn-all:hover {
	background: #1a1a1a;
	color: #fff;
}

@media (max-width: 900px) {
	.readmore__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.readmore__heading {
		font-size: 22px;
	}
	.single-post main, .blog main{
		max-width: calc(100% - 10%);
	}
}


a{
	transition: ease 0.3s;
}
.fs16{
    font-size: 16px;	
}
.page_content{
	margin-top:60px;
}

.page .legal, #cmplz-document h2{
	font-weight: 300;
	color: var(--color-accent);
}
div#cmplz-document h2{
    font-size: 28px;
    margin-top: 40px;	
}