/* =====================================================================
 * LOOSE 新デザイン（v2）「モダン大衆酒場」
 * body.loose-v2 のページだけに効く（現在は TOP のみ）
 * ===================================================================== */

.loose-v2 {
	--v2-navy: #14243a;
	--v2-navy-2: #1d3352;
	--v2-shu: #e4472b;
	--v2-shu-dark: #c63a20;
	--v2-mustard: #f2b33d;
	--v2-cream: #f7f3ec;
	--v2-ink: #1a1d21;
	--v2-muted: #5f6772;
	--v2-line: #e3ddd2;
	--v2-pad: clamp(72px, 10vw, 128px);
	--v2-gutter: clamp(15px, 4vw, 40px);
	--v2-en: "Oswald", "Noto Sans JP", sans-serif;
	--loose-accent: var(--v2-navy);
	--loose-shu: var(--v2-shu);
	--loose-coming: var(--v2-shu);
	background: #fff;
	color: var(--v2-ink);
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;
	line-height: 2;
	letter-spacing: .03em;
}

/* ---------- GeneratePress の箱レイアウトを解除（全幅セクションに） ---------- */
.loose-v2 .site.grid-container { max-width: none; }
.loose-v2 .site-content { display: block; padding: 0; }
.loose-v2 .content-area { width: 100%; float: none; }
.loose-v2.separate-containers .site-main,
.loose-v2 .site-main { margin: 0; }
.loose-v2 .loose-section { margin: 0; position: relative; overflow: hidden; }
.loose-v2 .loose-section .inside-article {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--v2-pad) var(--v2-gutter) !important;
	background: transparent;
	position: relative;
	z-index: 1;
}
.loose-v2 .entry-content h2 { font-size: clamp(1.5rem, 3vw, 2.125rem); font-weight: 900; letter-spacing: .04em; line-height: 1.5; }

/* ---------- ヘッダー：最初は透明で写真に重ね、スクロールで白に ---------- */
.loose-v2 .site-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
	background: transparent;
	transition: background-color .3s ease, box-shadow .3s ease;
}
.loose-v2 .site-header.is-scrolled,
.loose-v2 .site-header:has(.toggled) { background: #fff; box-shadow: 0 2px 18px rgba(20, 36, 58, .1); }
.loose-v2 .main-navigation,
.loose-v2 .main-navigation ul ul { background: transparent; }
.loose-v2 .main-title { font-weight: 900; letter-spacing: .02em; }
.loose-v2 .main-navigation .main-nav ul li a { font-weight: 700; font-size: .875rem; letter-spacing: .08em; }
.loose-v2:not(.loose-v2-solid) .site-header:not(.is-scrolled):not(:has(.toggled)) .main-title a,
.loose-v2:not(.loose-v2-solid) .site-header:not(.is-scrolled):not(:has(.toggled)) .loose-site-kana,
.loose-v2:not(.loose-v2-solid) .site-header:not(.is-scrolled):not(:has(.toggled)) .main-navigation .main-nav ul li a,
.loose-v2:not(.loose-v2-solid) .site-header:not(.is-scrolled):not(:has(.toggled)) .menu-toggle { color: #fff; }
.loose-v2:not(.loose-v2-solid) .site-header:not(.is-scrolled):not(:has(.toggled)) .menu-toggle { background: rgba(255, 255, 255, .12); }
/* 採用情報を目立つボタンに */
@media (min-width: 769px) {
	.loose-v2 .main-navigation .main-nav ul li a[href*="/recruit/"] {
		margin-left: 8px;
		padding-left: 22px;
		padding-right: 22px;
		line-height: 40px;
		background: var(--v2-shu);
		color: #fff !important;
		border-radius: 999px;
	}
	.loose-v2 .main-navigation .main-nav ul li a[href*="/recruit/"]:hover { background: var(--v2-shu-dark); }
	.loose-v2 .main-navigation .main-nav ul li { display: flex; align-items: center; }
}

/* ---------- メインビジュアル（全画面） ---------- */
.loose-v2 .loose-hero {
	min-height: 100vh;
	min-height: 100svh;
	margin: 0;
	align-items: flex-end;
	background: var(--v2-navy);
}
.loose-v2 .loose-hero--image .loose-hero__image::after {
	background:
		linear-gradient(90deg, rgba(14, 24, 40, .78) 0%, rgba(14, 24, 40, .45) 45%, rgba(14, 24, 40, .05) 75%),
		linear-gradient(0deg, rgba(14, 24, 40, .55) 0%, rgba(14, 24, 40, 0) 40%);
}
.loose-v2 .loose-hero__text {
	max-width: 1120px;
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--v2-gutter) clamp(96px, 14vh, 160px);
}
.loose-v2 .loose-hero__kicker {
	margin: 0 0 18px;
	font-family: var(--v2-en);
	font-weight: 500;
	font-size: clamp(.75rem, 1.2vw, .9375rem);
	letter-spacing: .32em;
	color: var(--v2-mustard);
}
.loose-v2 .loose-hero__catch {
	font-size: clamp(2.25rem, 6.2vw, 5rem);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .02em;
	margin: 0 0 .6em;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .25);
}
.loose-v2 .loose-hero__lead { max-width: 34em; font-size: clamp(.9375rem, 1.3vw, 1.0625rem); line-height: 2; }
.loose-v2 .loose-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
	font-family: var(--v2-en);
	font-size: .6875rem;
	letter-spacing: .3em;
	z-index: 2;
}
.loose-v2 .loose-hero__scroll::after {
	content: "";
	width: 1px;
	height: 48px;
	background: linear-gradient(#fff, rgba(255, 255, 255, 0));
	animation: v2-scroll 2s ease-in-out infinite;
	transform-origin: top;
}
@keyframes v2-scroll { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

/* キャッチコピー：1文字ずつ右からスライドイン */
.loose-v2 .loose-char { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
	.loose-v2.loose-split .loose-hero__line { animation: none; }
	.loose-v2.loose-split .loose-char {
		opacity: 0;
		transform: translateX(.6em);
		animation: v2-char .7s cubic-bezier(.2, .8, .2, 1) forwards;
		animation-delay: calc(.35s + var(--c) * .045s);
	}
	.loose-v2 .loose-hero__kicker { animation: v2-fade-left .9s cubic-bezier(.2, .8, .2, 1) .15s both; }
}
@keyframes v2-char { to { opacity: 1; transform: none; } }
@keyframes v2-fade-left { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }

/* ---------- 基本ファクト（写真に少し重なるカード） ---------- */
.loose-v2 .loose-section--facts { overflow: visible; margin-top: -56px; z-index: 3; }
.loose-v2 .loose-section--facts .inside-article {
	max-width: 1040px;
	padding: 36px var(--v2-gutter) !important;
	background: #fff;
	box-shadow: 0 18px 48px rgba(20, 36, 58, .14);
}
.loose-v2 .loose-facts__value { font-family: var(--v2-en); font-weight: 700; font-size: clamp(1.625rem, 3.4vw, 2.5rem); color: var(--v2-navy); letter-spacing: .02em; }
.loose-v2 .loose-facts__label { font-weight: 700; letter-spacing: .12em; }
.loose-v2 .loose-facts__item { border-left-color: var(--v2-line); }
@media (max-width: 767px) {
	.loose-v2 .loose-section--facts { margin-top: -40px; padding: 0 15px; }
	.loose-v2 .loose-section--facts .inside-article { padding: 24px 12px !important; }
}

/* ---------- セクション見出し：大きな英字の輪郭文字＋右からのワイプ ---------- */
.loose-v2 .loose-section[data-en]:not(.loose-section--facts):not(.loose-section--cta) .inside-article::before {
	content: attr(data-en);
	position: absolute;
	top: calc(var(--v2-pad) - .45em);
	right: var(--v2-gutter);
	font-family: var(--v2-en);
	font-weight: 700;
	font-size: clamp(4.5rem, 13vw, 11rem);
	line-height: 1;
	letter-spacing: .02em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(20, 36, 58, .12);
	pointer-events: none;
	z-index: -1;
	white-space: nowrap;
}
.loose-v2 .loose-heading { margin: 0 0 clamp(32px, 5vw, 56px); }
.loose-v2 .loose-heading__en {
	font-family: var(--v2-en);
	font-weight: 500;
	font-size: .8125rem;
	letter-spacing: .3em;
	padding: 3px 14px 4px;
	background: var(--v2-shu);
}
.loose-v2 .loose-heading__ja {
	position: relative;
	display: inline-block;
	font-size: clamp(1.75rem, 4vw, 2.875rem);
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.4;
	padding-bottom: 14px;
}
.loose-v2 .loose-heading__ja::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	background: var(--v2-shu);
	transform-origin: right;
	transition: transform .8s cubic-bezier(.2, .8, .2, 1) .45s;
}
.loose-v2 .loose-heading__ja { transition: clip-path .9s cubic-bezier(.7, 0, .2, 1); clip-path: inset(0 0 0 0); }
.loose-motion .loose-v2 .loose-reveal:not(.is-visible) .loose-heading__ja { clip-path: inset(0 0 0 100%); }
.loose-motion .loose-v2 .loose-reveal:not(.is-visible) .loose-heading__ja::after { transform: scaleX(0); }
/* セクション全体のふわっと表示は、見出しのワイプに任せて控えめに */
.loose-motion .loose-v2 .loose-section.loose-reveal { transform: none; }

/* ---------- 私たちについて ---------- */
.loose-v2 .loose-section--intro { background: var(--v2-cream); }
.loose-v2 .loose-section--intro .entry-content { font-size: 1.0625rem; }
.loose-v2 .loose-section--intro h2 { font-size: clamp(1.75rem, 4vw, 2.875rem); margin-top: 0; }
.loose-v2 .loose-section--intro h2::before {
	content: "ABOUT";
	display: block;
	width: max-content;
	margin-bottom: 14px;
	padding: 3px 14px 4px;
	font-family: var(--v2-en);
	font-weight: 500;
	font-size: .8125rem;
	letter-spacing: .3em;
	line-height: 1.6;
	color: #fff;
	background: var(--v2-shu);
}

/* ---------- ボタン ---------- */
.loose-v2 .loose-button,
.loose-v2 .loose-button:visited {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 36px;
	border-radius: 999px;
	background: var(--v2-navy);
	border-color: var(--v2-navy);
	font-weight: 700;
	letter-spacing: .1em;
	transition: background-color .25s, color .25s, gap .25s;
}
.loose-v2 .loose-button::after { content: "→"; transition: transform .25s; }
.loose-v2 .loose-button:hover,
.loose-v2 .loose-button:focus { background: var(--v2-shu); border-color: var(--v2-shu); color: #fff; }
.loose-v2 .loose-button:hover::after { transform: translateX(4px); }
.loose-v2 .loose-more { text-align: left; margin-top: 2.5em; }

/* ---------- 事業：左右交互のレイアウト ---------- */
.loose-v2 #business .loose-lead { font-size: 1.0625rem; max-width: 46em; }
.loose-v2 .loose-viewpoints { background: var(--v2-cream); border-radius: 4px; }
.loose-v2 .loose-viewpoints__item svg { color: var(--v2-navy); }
.loose-v2 .loose-business { grid-template-columns: 1fr; gap: clamp(48px, 8vw, 96px); margin-top: clamp(48px, 7vw, 80px); }
.loose-v2 .loose-business__item {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	grid-template-areas: "image num" "image name" "image text";
	grid-template-rows: auto auto 1fr;
	column-gap: clamp(24px, 5vw, 64px);
	align-items: start;
}
.loose-v2 .loose-business__item:nth-child(even) { grid-template-columns: 1fr 1.15fr; grid-template-areas: "num image" "name image" "text image"; }
.loose-v2 .loose-business__image { grid-area: image; overflow: hidden; }
.loose-v2 .loose-business__image img { margin: 0; aspect-ratio: 4 / 3; transition: clip-path 1.1s cubic-bezier(.7, 0, .2, 1), transform 1.6s ease; }
.loose-v2 .loose-business__num { grid-area: num; border: 0; padding: 0; margin: 8px 0 4px; font-family: var(--v2-en); font-size: clamp(3rem, 7vw, 5.5rem); line-height: 1; color: var(--v2-shu); }
.loose-v2 .loose-business__name { grid-area: name; font-size: clamp(1.25rem, 2.4vw, 1.75rem); font-weight: 900; margin: 0 0 .75em; }
.loose-v2 .loose-business__item > p { grid-area: text; margin: 0; }
.loose-motion .loose-v2 .loose-business__item:not(.is-visible) .loose-business__image img { clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%); transform: scale(1.12); }
.loose-v2 .loose-business__image img { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
@media (max-width: 767px) {
	.loose-v2 .loose-business__item,
	.loose-v2 .loose-business__item:nth-child(even) { grid-template-columns: 1fr; grid-template-areas: "num" "image" "name" "text"; }
	.loose-v2 .loose-business__image { margin: 8px 0 16px; }
}

/* ---------- 運営店舗：濃紺の帯 ---------- */
.loose-v2 #stores { background: var(--v2-navy); color: #fff; }
.loose-v2 #stores .loose-heading__ja { color: #fff; }
.loose-v2 #stores .inside-article::before { -webkit-text-stroke-color: rgba(255, 255, 255, .12); }
.loose-v2 #stores .loose-store { border: 0; color: var(--v2-ink); }
.loose-v2 #stores .loose-store__body { padding: 28px; }
.loose-v2 .loose-store__status--coming { color: var(--v2-shu); }
.loose-v2 .loose-store__open { color: var(--v2-shu); }
.loose-v2 .loose-store__name { font-weight: 900; font-size: 1.375rem; }

/* ---------- 流れる帯 ---------- */
.loose-v2 .loose-marquee { overflow: hidden; background: var(--v2-cream); padding: clamp(28px, 4vw, 48px) 0; border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); }
.loose-v2 .loose-marquee__track { display: flex; width: max-content; animation: v2-marquee 40s linear infinite; }
.loose-v2 .loose-marquee__item {
	flex: none;
	padding: 0 .6em;
	font-family: var(--v2-en);
	font-weight: 700;
	font-size: clamp(2.25rem, 6vw, 4.75rem);
	line-height: 1.2;
	letter-spacing: .02em;
	color: var(--v2-navy);
	white-space: nowrap;
}
.loose-v2 .loose-marquee__item::after { content: "／"; margin-left: 1.2em; color: var(--v2-shu); font-weight: 500; }
.loose-v2 .loose-marquee__item.is-jp { font-family: "Noto Sans JP", sans-serif; font-weight: 900; font-size: clamp(1.75rem, 4.6vw, 3.75rem); align-self: center; }
.loose-v2 .loose-marquee__item.is-outline { color: transparent; -webkit-text-stroke: 1.5px var(--v2-navy); }
@keyframes v2-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .loose-v2 .loose-marquee__track { animation: none; } }

/* ---------- 企業理念：朱の帯 ---------- */
.loose-v2 .loose-section--philosophy { background: var(--v2-shu); color: #fff; }
.loose-v2 .loose-section--philosophy .inside-article { background: transparent !important; background-image: none !important; text-align: left; }
.loose-v2 .loose-section--philosophy .inside-article::before { -webkit-text-stroke-color: rgba(255, 255, 255, .25); }
.loose-v2 .loose-section--philosophy .loose-heading { text-align: left; }
.loose-v2 .loose-section--philosophy .loose-heading__en { background: var(--v2-navy); }
.loose-v2 .loose-section--philosophy .loose-heading__ja { color: #fff; }
.loose-v2 .loose-section--philosophy .loose-heading__ja::after { background: #fff; }
.loose-v2 .loose-philosophy__statement { color: #fff; font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 900; line-height: 1.45; letter-spacing: .04em; }
.loose-v2 .loose-section--philosophy .loose-button { background: #fff; color: var(--v2-shu); border-color: #fff; }
.loose-v2 .loose-section--philosophy .loose-button:hover { background: var(--v2-navy); color: #fff; border-color: var(--v2-navy); }

/* ---------- お知らせ・会社情報 ---------- */
.loose-v2 #company { background: var(--v2-cream); }
.loose-v2 .loose-news__item a { padding: 22px 8px; }
.loose-v2 .loose-news__item time { font-family: var(--v2-en); letter-spacing: .08em; }
.loose-v2 .loose-table th { font-weight: 700; }

/* ---------- 終盤のCTA：全幅の2分割パネル ---------- */
.loose-v2 .loose-section--cta .inside-article { max-width: none; padding: 0 !important; }
.loose-v2 .loose-cta { gap: 0; }
.loose-v2 .loose-cta__card {
	border: 0;
	padding: clamp(56px, 8vw, 104px) clamp(24px, 6vw, 80px);
	padding-right: 96px;
	gap: 10px;
}
.loose-v2 .loose-cta__card--recruit { background: var(--v2-navy); }
.loose-v2 .loose-cta__card--contact { background: var(--v2-shu); color: #fff; }
.loose-v2 .loose-cta__card--recruit:hover { background: var(--v2-navy-2); }
.loose-v2 .loose-cta__card--contact:hover { background: var(--v2-shu-dark); color: #fff; }
.loose-v2 .loose-cta__card:hover { transform: none; box-shadow: none; }
.loose-v2 .loose-cta__en { font-family: var(--v2-en); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 700; letter-spacing: .04em; line-height: 1; opacity: 1; }
.loose-v2 .loose-cta__title { font-size: clamp(1.125rem, 2vw, 1.5rem); font-weight: 900; }
.loose-v2 .loose-cta__arrow { right: clamp(24px, 4vw, 56px); width: 56px; height: 56px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%; display: grid; place-items: center; font-size: 1.25rem; }
.loose-v2 .loose-cta__card:hover .loose-cta__arrow { transform: translate(6px, -50%); background: #fff; color: var(--v2-navy); }
.loose-v2 .loose-cta__card--contact:hover .loose-cta__arrow { color: var(--v2-shu); }

/* ---------- フッター：大きなロゴタイプ ---------- */
.loose-v2 .loose-footer-info { background: var(--v2-navy); position: relative; overflow: hidden; padding: 72px 0 40px; }
.loose-v2 .loose-footer-info::before {
	content: "LOOSE";
	position: absolute;
	right: -0.04em;
	bottom: -0.22em;
	font-family: var(--v2-en);
	font-weight: 700;
	font-size: clamp(6rem, 22vw, 18rem);
	line-height: 1;
	color: rgba(255, 255, 255, .06);
	pointer-events: none;
}
.loose-v2 .loose-footer-info .grid-container { max-width: 1120px; position: relative; }

/* ---------- スマホ ---------- */
@media (max-width: 767px) {
	.loose-v2 .loose-hero__text { padding-bottom: 104px; }
	.loose-v2 .loose-heading__en,
	.loose-v2 .loose-section--intro h2::before { font-size: .6875rem; }
	.loose-v2 .loose-cta__card { padding-right: 84px; }
	.loose-v2 .loose-cta__arrow { width: 44px; height: 44px; }
}

/* 店舗カードの外部リンク（ゴーストボタン） */
.loose-v2 .loose-button--ghost,
.loose-v2 .loose-button--ghost:visited { background: #fff; color: var(--v2-navy); border: 1px solid var(--v2-navy); padding: 10px 22px; font-size: .875rem; }
.loose-v2 .loose-button--ghost:hover,
.loose-v2 .loose-button--ghost:focus { background: var(--v2-navy); color: #fff; border-color: var(--v2-navy); }

/* スマホ：キャッチコピーが「。」だけ次の行に落ちないサイズに */
@media (max-width: 767px) {
	.loose-v2 .loose-hero__catch { font-size: clamp(1.75rem, 8.4vw, 2.25rem); }
}


/* =====================================================================
 * 下層ページ（会社情報・採用・お問い合わせ・お知らせ など）
 * ===================================================================== */
.loose-v2-solid .site-header { background: #fff; box-shadow: 0 2px 18px rgba(20, 36, 58, .08); }

/* ページ上部の見出し帯 */
.loose-page-head {
	position: relative;
	overflow: hidden;
	background: var(--v2-navy);
	color: #fff;
	padding: calc(96px + clamp(48px, 7vw, 88px)) var(--v2-gutter) clamp(48px, 7vw, 88px);
}
.loose-page-head::before {
	content: attr(data-en);
	position: absolute;
	right: -0.04em;
	bottom: -0.18em;
	font-family: var(--v2-en);
	font-weight: 700;
	font-size: clamp(4.5rem, 15vw, 13rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, .14);
	white-space: nowrap;
	pointer-events: none;
}
.loose-page-head__inner { position: relative; max-width: 1120px; margin: 0 auto; }
.loose-page-head__en { margin: 0 0 10px; font-family: var(--v2-en); font-weight: 500; font-size: .8125rem; letter-spacing: .32em; color: var(--v2-mustard); }
.loose-page-head__title { margin: 0; color: #fff; font-size: clamp(1.75rem, 4.6vw, 3.25rem); font-weight: 900; line-height: 1.4; letter-spacing: .04em; }
.loose-page-head__title::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 18px; background: var(--v2-shu); }
.loose-page-head__date { margin: 14px 0 0; font-family: var(--v2-en); letter-spacing: .1em; opacity: .8; }
@media (prefers-reduced-motion: no-preference) {
	.loose-page-head__en { animation: v2-fade-left .8s cubic-bezier(.2, .8, .2, 1) .1s both; }
	.loose-page-head__title { animation: v2-wipe .9s cubic-bezier(.7, 0, .2, 1) .2s both; }
}
@keyframes v2-wipe { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@media (max-width: 767px) {
	.loose-page-head { padding-top: calc(72px + 48px); }
	.loose-page-head__title { font-size: 22px; }
}

/* 本文の記事エリア */
.loose-v2 .site-main > article,
.loose-v2 .site-main > .loose-news-archive { margin: 0; }
.loose-v2 .site-main > article > .inside-article,
.loose-v2 .site-main > .loose-news-archive > .inside-article {
	max-width: 1040px;
	margin: 0 auto;
	padding: var(--v2-pad) var(--v2-gutter) !important;
	background: transparent;
}
.loose-v2-solid .entry-meta,
.loose-v2-solid .loose-job-detail .entry-header,
.loose-v2-solid .loose-news-archive .entry-header { display: none; }
.loose-v2 .entry-content { font-size: 1rem; }
.loose-v2 .entry-content > h2,
.loose-v2 .entry-content > .wp-block-heading:not(h3) {
	position: relative;
	margin: 2.4em 0 1em;
	padding-left: 20px;
	font-size: clamp(1.375rem, 2.8vw, 2rem);
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1.5;
}
.loose-v2 .entry-content > h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 5px; background: var(--v2-shu); }
.loose-v2 .entry-content > h2:first-child { margin-top: 0; }
.loose-v2 .loose-breadcrumb { margin-bottom: 1.5em; }

/* 会社情報ページ：企業理念の帯 */
.loose-v2 .loose-philosophy-inline { background-color: var(--v2-cream); padding: clamp(40px, 6vw, 72px) var(--v2-gutter); margin-bottom: clamp(48px, 7vw, 80px); }
.loose-v2 .loose-philosophy__statement { font-size: clamp(1.5rem, 4vw, 2.75rem); font-weight: 900; color: var(--v2-navy); }
.loose-v2 .loose-section--philosophy .loose-philosophy__statement { color: #fff; }
.loose-v2 #history { background: var(--v2-cream); }
.loose-v2 .loose-history__date { font-family: var(--v2-en); font-size: 1.125rem; letter-spacing: .04em; color: var(--v2-shu); }
.loose-v2 .loose-history__item::before { background: var(--v2-shu); }
.loose-v2 .loose-table th { color: var(--v2-muted); }

/* 採用ページ：メインビジュアル */
.loose-v2 .loose-hero--recruit { min-height: 86vh; min-height: 86svh; }
.loose-v2 .loose-hero--recruit .loose-hero__label { font-size: .9375rem; }
.loose-v2 .loose-hero--recruit .loose-hero__label span { font-family: var(--v2-en); font-weight: 500; letter-spacing: .3em; background: var(--v2-shu); }
.loose-v2 .loose-hero--recruit .loose-hero__catch { font-size: clamp(2rem, 5.6vw, 4.25rem); }
.loose-v2 .loose-button--shu { background: var(--v2-shu); border-color: var(--v2-shu); }
.loose-v2 .loose-hero__cta .loose-button::after { content: none; }
.loose-v2 .loose-benefits li { background: var(--v2-cream); border-top-color: var(--v2-navy); }
.loose-v2 .loose-benefits li.is-accent { border-top-color: var(--v2-shu); }
.loose-v2 .loose-benefits__value { font-family: var(--v2-en); color: var(--v2-navy); }
.loose-v2 .loose-reason-card { background: var(--v2-cream); }
.loose-v2 .loose-reason-card__num,
.loose-v2 .loose-steps-list li::before { font-family: var(--v2-en); color: var(--v2-shu); }
.loose-v2 .loose-job a { border-radius: 4px; transition: border-color .2s, transform .2s, box-shadow .2s; }
.loose-v2 .loose-job__type { color: var(--v2-shu); font-family: var(--v2-en); letter-spacing: .12em; }

/* フォーム */
.loose-v2 .loose-form input[type="submit"] { border-radius: 999px; background: var(--v2-navy); border-color: var(--v2-navy); }
.loose-v2 .loose-form input[type="submit"]:hover:not(:disabled) { background: var(--v2-shu); border-color: var(--v2-shu); color: #fff; }
.loose-v2 .loose-steps li.is-current { color: var(--v2-navy); border-bottom-color: var(--v2-shu); }
.loose-v2 .loose-confirm__buttons .loose-button { border-radius: 999px; }
.loose-v2 .loose-confirm__buttons button.loose-confirm__send { background: var(--v2-navy); }
.loose-v2 .loose-confirm__buttons .loose-button::after { content: none; }

/* 採用ページの写真はもともと暗めなので、重ねる暗さを弱める */
.loose-v2 .loose-hero--recruit.loose-hero--image .loose-hero__image::after {
	background:
		linear-gradient(90deg, rgba(14, 24, 40, .62) 0%, rgba(14, 24, 40, .3) 45%, rgba(14, 24, 40, 0) 75%),
		linear-gradient(0deg, rgba(14, 24, 40, .35) 0%, rgba(14, 24, 40, 0) 35%);
}
.loose-v2 .loose-hero--recruit .loose-hero__image img { filter: brightness(1.15); }

/* お知らせ一覧・記事・404 */
.loose-v2 .loose-news__item a { transition: background-color .2s; }
.loose-v2 .loose-news__item a:hover { background: var(--v2-cream); }
.loose-v2 .loose-news__title { font-weight: 700; }
.loose-v2 .loose-back { margin-top: 4em; padding-top: 2em; border-top: 1px solid var(--v2-line); }
.loose-v2 .post-navigation,
.loose-v2 .comments-area { display: none; }
.loose-404__links { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 2em 0 0; padding: 0; list-style: none; }
.loose-404__links a { font-weight: 700; color: var(--v2-navy); }

/* =====================================================================
 * 会社情報：私たちの想い／約束／大切にしていること／目指す未来
 * ===================================================================== */
.loose-v2 .entry-content .loose-block-thoughts,
.loose-v2 .entry-content .loose-block-promise,
.loose-v2 .entry-content .loose-block-values,
.loose-v2 .entry-content .loose-block-vision { margin: 0 0 clamp(72px, 10vw, 120px); }
.loose-v2 .entry-content [class*="loose-block-"] > h2 { margin-top: 0; }

/* 想い：中央ぞろえ、ゆったりした行間で詩のように */
.loose-v2 .entry-content .loose-block-thoughts { text-align: center; }
.loose-v2 .entry-content .loose-block-thoughts > h2 { display: inline-block; padding-left: 0; padding-bottom: 14px; }
.loose-v2 .entry-content .loose-block-thoughts > h2::before { left: 50%; top: auto; bottom: 0; width: 56px; height: 4px; transform: translateX(-50%); }
.loose-v2 .entry-content .loose-block-thoughts p { margin: 0 0 2em; font-size: clamp(1rem, 1.6vw, 1.125rem); line-height: 2.3; letter-spacing: .08em; }
.loose-v2 .entry-content .loose-emph {
	font-size: clamp(1.25rem, 2.6vw, 1.75rem) !important;
	font-weight: 900;
	color: var(--v2-navy);
	letter-spacing: .06em !important;
	line-height: 1.7 !important;
}
.loose-v2 .entry-content .loose-block-thoughts .loose-emph::after { content: ""; display: block; width: 24px; height: 2px; margin: 18px auto 0; background: var(--v2-shu); }

/* 約束・未来のキャッチ */
.loose-v2 .entry-content .loose-catch {
	margin: 0 0 1.2em;
	font-size: clamp(1.5rem, 3.6vw, 2.5rem);
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .04em;
	color: var(--v2-navy);
}
.loose-v2 .entry-content .loose-block-promise { padding: clamp(36px, 6vw, 64px) clamp(20px, 5vw, 56px); background: var(--v2-cream); }
.loose-v2 .entry-content .loose-block-promise p:not(.loose-catch) { line-height: 2.2; }

/* 大切にしていること：2枚のカード */
.loose-v2 .entry-content .loose-value-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.loose-v2 .entry-content .loose-value-card { padding: 28px 28px 24px; border-top: 4px solid var(--v2-shu); background: #fff; box-shadow: 0 10px 30px rgba(20, 36, 58, .08); }
.loose-v2 .entry-content .loose-value-card h3 { margin: 0 0 .8em; font-size: clamp(1.125rem, 2vw, 1.375rem); font-weight: 900; line-height: 1.6; }
.loose-v2 .entry-content .loose-value-card__num { display: block; margin-bottom: 6px; font-family: var(--v2-en); font-size: 2.25rem; line-height: 1; color: var(--v2-shu); }
.loose-v2 .entry-content .loose-value-card p { margin: 0; }
@media (max-width: 767px) { .loose-v2 .entry-content .loose-value-cards { grid-template-columns: 1fr; } }

/* 目指す未来：濃紺のカード */
.loose-v2 .entry-content .loose-block-vision { position: relative; overflow: hidden; padding: clamp(40px, 7vw, 80px) clamp(20px, 5vw, 64px); background: var(--v2-navy); color: #fff; }
.loose-v2 .entry-content .loose-block-vision > h2 { color: #fff; }
.loose-v2 .entry-content .loose-block-vision .loose-catch { color: #fff; font-size: clamp(1.75rem, 5vw, 3.25rem); }
.loose-v2 .entry-content .loose-block-vision .loose-catch::after { content: ""; display: block; width: 56px; height: 4px; margin-top: 20px; background: var(--v2-shu); }
.loose-v2 .entry-content .loose-block-vision p { line-height: 2.2; }
.loose-v2 .entry-content .loose-block-vision::after {
	content: "VISION";
	position: absolute;
	right: -0.04em;
	bottom: -0.2em;
	font-family: var(--v2-en);
	font-weight: 700;
	font-size: clamp(5rem, 16vw, 12rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(255, 255, 255, .12);
	pointer-events: none;
}
.loose-v2 .entry-content .loose-value-cards,
.loose-v2 .entry-content .loose-value-cards > .wp-block-group__inner-container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.loose-v2 .entry-content .loose-value-cards > *,
.loose-v2 .entry-content [class*="loose-block-"] > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.loose-v2 .entry-content .loose-block-thoughts > * { margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) {
	.loose-v2 .entry-content .loose-value-cards,
	.loose-v2 .entry-content .loose-value-cards > .wp-block-group__inner-container { grid-template-columns: 1fr; }
}
.loose-v2 .entry-content .loose-block-promise > h2,
.loose-v2 .entry-content .loose-block-values > h2,
.loose-v2 .entry-content .loose-block-vision > h2 {
	position: relative;
	margin: 0 0 1em;
	padding-left: 20px;
	font-size: clamp(1.25rem, 2.4vw, 1.625rem);
	font-weight: 900;
	letter-spacing: .06em;
}
.loose-v2 .entry-content .loose-block-promise > h2::before,
.loose-v2 .entry-content .loose-block-values > h2::before,
.loose-v2 .entry-content .loose-block-vision > h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 5px; background: var(--v2-shu); }
.loose-v2 .entry-content .loose-block-thoughts > h2 { position: relative; font-size: clamp(1.375rem, 2.8vw, 2rem); font-weight: 900; margin: 0 auto 1.6em; }
.loose-v2 .entry-content .loose-block-thoughts > h2::before { content: ""; position: absolute; }

/* グループの内側ラッパー（.wp-block-group__inner-container）対応 */
.loose-v2 .entry-content .loose-value-cards { display: block; }
.loose-v2 .entry-content .wp-block-group__inner-container { padding: 0 !important; max-width: none !important; }
.loose-v2 .entry-content .loose-value-cards > .wp-block-group__inner-container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 767px) { .loose-v2 .entry-content .loose-value-cards > .wp-block-group__inner-container { grid-template-columns: 1fr; } }
.loose-v2 .entry-content .loose-value-card > .wp-block-group__inner-container > * { margin-left: 0; margin-right: 0; }
.loose-v2 .entry-content .loose-block-promise h2,
.loose-v2 .entry-content .loose-block-values h2,
.loose-v2 .entry-content .loose-block-vision h2 {
	position: relative;
	margin: 0 0 1em;
	padding-left: 20px;
	font-size: clamp(1.25rem, 2.4vw, 1.625rem);
	font-weight: 900;
	letter-spacing: .06em;
}
.loose-v2 .entry-content .loose-block-vision h2 { color: #fff; }
.loose-v2 .entry-content .loose-block-promise h2::before,
.loose-v2 .entry-content .loose-block-values h2::before,
.loose-v2 .entry-content .loose-block-vision h2::before { content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 5px; background: var(--v2-shu); }
.loose-v2 .entry-content .loose-block-thoughts h2 { display: inline-block; position: relative; margin: 0 auto 1.6em; padding: 0 0 14px; font-size: clamp(1.375rem, 2.8vw, 2rem); font-weight: 900; }
.loose-v2 .entry-content .loose-block-thoughts h2::before { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 4px; transform: translateX(-50%); background: var(--v2-shu); }

/* TOP：企業理念の帯に「目指す未来」を添える */
.loose-v2 .loose-philosophy__vision {
	margin: 1.6em 0 0;
	padding-top: 1.4em;
	border-top: 1px solid rgba(255, 255, 255, .35);
	font-size: clamp(1.25rem, 3vw, 2rem);
	font-weight: 900;
	letter-spacing: .06em;
	line-height: 1.5;
	color: #fff;
}
.loose-v2 .loose-philosophy__vision-en { display: block; margin-bottom: 6px; font-family: var(--v2-en); font-weight: 500; font-size: .75rem; letter-spacing: .3em; color: var(--v2-mustard); }

/* 狭い画面（〜400px）では、詩のような文章の字間と大きさを少し詰めて、1行に収まりやすくする */
@media (max-width: 400px) {
	.loose-v2 .entry-content .loose-block-thoughts p { font-size: 15px; letter-spacing: .03em; }
	.loose-v2 .entry-content .loose-emph { font-size: 19px !important; letter-spacing: .02em !important; }
	.loose-v2 .entry-content .loose-catch { font-size: 22px; letter-spacing: .02em; }
	.loose-v2 .entry-content .loose-block-vision .loose-catch { font-size: 26px; }
	.loose-v2 .loose-philosophy__statement { font-size: 24px; letter-spacing: .02em; }
	.loose-v2 body, .loose-v2 { letter-spacing: .02em; }
}
.loose-v2 .loose-benefits__value { white-space: nowrap; }
@media (max-width: 400px) {
	.loose-v2 .loose-benefits li { padding: 16px 6px; }
	.loose-v2 .loose-benefits__value { font-size: 1.125rem; }
}

/* 小さいスマホ（〜400px）：メインビジュアルの文字がヘッダーに重ならない・単語の途中で折り返さないように */
.loose-v2 .loose-hero { padding-top: 88px; }
.loose-v2 .loose-hero__line { white-space: nowrap; }
@media (max-width: 400px) {
	.loose-v2 .loose-hero__catch { font-size: 26px; }
	.loose-v2 .loose-hero--recruit .loose-hero__catch { font-size: 25px; }
	.loose-v2 .loose-hero__cta .loose-button { padding: 14px 22px; font-size: .875rem; white-space: nowrap; }
	.loose-v2 .loose-hero__lead { font-size: .875rem; }
}

/* 会社情報：ページ内メニュー */
.loose-anchor-nav { background: #fff; border-bottom: 1px solid var(--v2-line); }
.loose-anchor-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 1120px; margin: 0 auto; padding: 20px var(--v2-gutter); list-style: none; }
.loose-anchor-nav li { margin: 0; }
.loose-anchor-nav a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border: 1px solid var(--v2-line);
	border-radius: 999px;
	font-size: .875rem;
	font-weight: 700;
	color: var(--v2-navy);
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.loose-anchor-nav a::after { content: "↓"; font-size: .75rem; color: var(--v2-shu); transition: color .2s; }
.loose-anchor-nav a:hover { background: var(--v2-navy); border-color: var(--v2-navy); color: #fff; }
.loose-anchor-nav a:hover::after { color: #fff; }
@media (max-width: 767px) {
	.loose-anchor-nav ul { display: grid; grid-template-columns: 1fr 1fr; padding: 16px 15px; }
	.loose-anchor-nav a { justify-content: center; padding: 10px 8px; }
}
html { scroll-padding-top: 100px; }
@media (max-width: 767px) { .loose-anchor-nav a { width: 100%; } }

/* TOP「私たちについて」：本文見出し用の縦線スタイルと、ABOUT札が重なっていたのを解消 */
.loose-v2 .loose-section--intro .entry-content > h2 { padding-left: 0; }
.loose-v2 .loose-section--intro .entry-content > h2::before {
	position: static;
	display: block;
	width: max-content;
	height: auto;
	margin-bottom: 14px;
	padding: 3px 14px 4px;
	background: var(--v2-shu);
}
.loose-v2 .loose-section--intro .entry-content > h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 14px;
	background: var(--v2-shu);
}
.loose-v2 .loose-section--intro .entry-content > h2::before {
	content: "ABOUT";
	font-family: var(--v2-en);
	font-weight: 500;
	font-size: .8125rem;
	letter-spacing: .3em;
	line-height: 1.6;
	color: #fff;
}
@media (max-width: 767px) { .loose-v2 .loose-section--intro .entry-content > h2::before { font-size: .6875rem; } }
