:root {
  --black: #000;
  --white: #fff;
  --maxw: 1120px;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --fs-base: clamp(1rem, 0.95rem + 0.35vw, 1.1rem);
  --fs-lg: clamp(1.15rem, 1rem + 1vw, 1.5rem);
  --fs-xl: clamp(1.6rem, 1.2rem + 2vw, 2.4rem);
  --fs-2xl: clamp(2.2rem, 1.6rem + 3.2vw, 3.4rem);
  --fs-3xl: clamp(3.2rem, 2rem + 5vw, 5rem);
  --fs-4xl: clamp(4rem, 2rem + 7vw, 9rem);
}
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif;
  line-height: 1.75;
  background: var(--white);
  color: var(--black);
  font-size: var(--fs-base);
  letter-spacing: .02em;
}
*, *::before, *::after { box-sizing: border-box; }

a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--space-4); position: relative; }

.en {font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }

main { position: relative; z-index: 1; }
section { padding: var(--space-12) 0; position: relative; text-align: center; overflow: hidden; }

h1, h2, h3 { margin: 0 0 1rem; line-height: 1.15; }
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
p { margin: 0 0 1rem; }

/* ===== Hero ===== */
.hero { padding: var(--space-12) var(--space-4); min-height: 90vh; display:flex; flex-direction:column; align-items: start; justify-content: center; }
.hero .title-en { font-size: var(--fs-4xl); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; line-height: .95; text-align: left; }
.hero .subtitle { font-size: var(--fs-lg); font-weight: 400; margin-top: var(--space-6); text-align: left; }

/* ===== Split sections ===== */
.split-section { display: flex; flex-direction: column; align-items: stretch; }
@media (min-width: 900px) { .split-section { flex-direction: row; } }
.split-left, .split-right { flex: 1; padding: var(--space-12) var(--space-4); display: flex; flex-direction: column; justify-content: center; }
.split-left { background: var(--black); color: var(--white); text-align: left; align-items: stretch; }
.split-right { background: var(--white); color: var(--black); text-align: left; align-items: flex-start; }

/* 左：Missionを主役に／日本語は補足 */
.split-left .en { font-size: clamp(3rem, 1.8rem + 6vw, 7rem); font-weight: 900; line-height: 1; margin: 0 0 .3em; }
.split-left h2 { font-size: clamp(1.2rem, 1rem + 1vw, 2rem); font-weight: 600; margin: 0; opacity: .8; }
.split-right .en { display:block; font-size: clamp(2rem, 1.6rem + 3vw, 4rem); font-weight:900; opacity:.15; margin: 1.5rem 0; line-height: 1; }

/* ===== Services / Cards ===== */
#services .en { display:block; opacity:.6; margin-bottom:.25em; }
.cards { display: grid; gap: var(--space-8); grid-template-columns: 1fr; }
@media (min-width: 768px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { border: 2px solid var(--black); padding: var(--space-8); display: flex; flex-direction: column; justify-content: center; align-items: center; background: rgba(255,255,255,0.9); }

/* ===== Definition list ===== */
dl { display: grid; grid-template-columns: 1fr; gap: .5rem 1rem; text-align: left; }
@media (min-width: 640px) { dl { grid-template-columns: 160px 1fr; } }
dt { font-weight: 800; }
dd { margin: 0; }

/* ===== CTA Button ===== */
.btn { display: inline-block; background: var(--black); color: var(--white); padding: 0.75em 1.5em; border-radius: 999px; font-weight: 700; text-decoration: none; letter-spacing: .05em; transition: all .2s ease; }
.btn:hover { background: var(--white); color: var(--black); border: 2px solid var(--black); }

footer { text-align: center; background: var(--black); color: var(--white); padding: var(--space-8) 0; font-size: .95rem; position: relative; z-index: 1; }


/* add */
.pc {
	display: none;
}

img {
	width: auto;
	height: 100%;
	display: block;
}

.split-left {
	padding: calc(100vw / 375 * 60) calc(100vw / 375 * 30);
}
.split-right {
	padding: calc(100vw / 375 * 60) calc(100vw / 375 * 30);
}

.head {
	padding: calc(100vw / 375 * 30);
	display: flex;
	align-items: center;
	justify-content: start;
}
.logo {
	height: calc(100vw / 375 * 60);
}

.hero {
	padding: 0 calc(100vw / 375 * 30);
	height: calc(100dvh - (100vw / 375 * 120));
}

.mission-text > p {
	font-size: var(--fs-lg);
	font-weight: 400;
	line-height: 2;
}
.mission-text > p + p {
	margin-top: 2em;
}

@media (min-width: 768px) {

	.pc {
		display: block;
	}

	.split-left {
		padding: 240px 120px;
	}
	.split-right {
		padding: 240px 60px;
	}

	.head {
		padding: 60px;
		margin: 0;
	}
	.logo {
		height: 120px;
	}

	.hero {
		padding: 0 120px;
		height: calc(100dvh - 240px);
		min-height: 500px;
	}

}



