@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ（ミライク・カラ）
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================
   ミライク・カラ　デザイン（2026-09-28）
   デザイン案：https://claude.ai/artifact/MdeuYoYsgVo51h6KKt1rAk
   色は LP（studio-g.co.jp/lp/）と共通。ミライク・ノカとは違う「工房の冊子」風
   ========================================================= */

:root {
	--kar-ink:   #2A2420;  /* 文字 */
	--kar-brown: #6F5E42;  /* 小さい文字・リンク（地の上で 4.5:1） */
	--kar-gold:  #A2906C;  /* ロゴの Kar */
	--kar-gold-lt: #C9B793;/* 濃茶の上の金茶 */
	--kar-paper: #F7F5F0;  /* 地 */
	--kar-sand:  #EFEAE1;  /* 1日の流れ・見学の面 */
	--kar-line:  #DDD5C7;
	--kar-line2: #CFC5B3;
	--kar-sub:   #4A4038;
	--kar-line-green: #06C755; /* LINE 公式の緑 */
	--kar-serif: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--kar-sans:  "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	--kar-en:    "Cormorant Garamond", "Times New Roman", serif;
}

body {
	font-family: var(--kar-sans);
	color: var(--kar-ink);
	letter-spacing: .03em;
}

/* 見出しは明朝 */
.post_content h2, .post_content h3, .c-pageTitle, .c-postTitle__ttl, .c-secTitle, .l-footer__widgetArea .c-widget__title {
	font-family: var(--kar-serif);
	font-weight: 700;
	letter-spacing: .08em;
}

/* ヘッダー：地と同じ色＋細い線。メニューは小さく字間広め */
.l-header { border-bottom: 1px solid var(--kar-line); box-shadow: none; }
.c-gnav > .menu-item > a { font-size: 14px; letter-spacing: .08em; }
.c-gnav > .menu-item > a .ttl { font-weight: 500; }
/* LINE・見学のボタン：メニュー行の高さの中で上下中央に置く */
.c-gnav > .kar-nav-line, .c-gnav > .kar-nav-visit { display: flex; align-items: center; }
.c-gnav .kar-nav-line > a, .c-gnav .kar-nav-visit > a { height: 44px !important; line-height: 44px; padding: 0 22px !important; margin-left: 8px; border-radius: 999px; align-self: center; }
.c-gnav .kar-nav-line > a { color: #fff !important; background: var(--kar-line-green); font-weight: 700; }
.c-gnav .kar-nav-visit > a { color: var(--kar-paper) !important; background: var(--kar-ink); }
.c-gnav .kar-nav-line > a .ttl, .c-gnav .kar-nav-visit > a .ttl { line-height: 1; }
.c-gnav .kar-nav-line > a::after, .c-gnav .kar-nav-visit > a::after { display: none; }

/* =========================================================
   トップページ（固定ページ本文にブロックで組む）
   ========================================================= */

/* SWELL はグループの中身を .wp-block-group__inner-container で包む。
   その箱を「無いもの」として扱い、グリッド・横並びの指定を中の要素に直接効かせる */
.post_content [class*="kar-"] > .wp-block-group__inner-container { display: contents; }

/* 幅いっぱいに出す面 */
html { overflow-x: clip; }
.post_content .kar-full,
.kar-full {
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
}
.kar-wrap { max-width: 1184px; margin-left: auto !important; margin-right: auto !important; padding-left: 32px; padding-right: 32px; box-sizing: border-box; }

/* 番号つきの小見出し（01 — About） */
.post_content .kar-label {
	font-family: var(--kar-en);
	font-size: 18px;
	color: var(--kar-gold);
	letter-spacing: .1em;
	margin: 0 0 12px !important;
}
.post_content h2.kar-ttl {
	font-family: var(--kar-serif);
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .1em;
	margin: 0 0 24px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	color: var(--kar-ink);
}
.post_content h2.kar-ttl::before, .post_content h2.kar-ttl::after { display: none !important; }
.post_content .kar-lead { color: var(--kar-brown); font-size: 14px; letter-spacing: .06em; }

/* トップページ（固定ページ #4128）ではタイトル・パンくず・上下の余白を消す */
.page-id-4128 .c-pageTitle, .page-id-4128 .p-articleHead, .page-id-4128 .l-topTitleArea, .page-id-4128 .p-breadcrumb, .page-id-4128 #breadcrumb { display: none !important; }
.page-id-4128 .l-content, .page-id-4128 .l-mainContent, .page-id-4128 .l-mainContent__inner, .page-id-4128 .post_content, .page-id-4128 .l-article { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.page-id-4128 .post_content > * { margin-bottom: 0 !important; }
.page-id-4128 #content { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.page-id-4128 .l-footer { margin-top: 0 !important; }

/* ---------- ファーストビュー（カスタムHTML） ---------- */
.kar-fv {
	display: grid;
	grid-template-columns: minmax(360px, 36%) 1fr;
	min-height: 720px;
	background: var(--kar-paper);
}
.kar-fv__text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 64px 0 56px 64px;
	box-sizing: border-box;
}
.kar-fv__en { font-family: var(--kar-en); font-style: italic; font-size: 20px; color: var(--kar-brown); letter-spacing: .04em; margin: 0; }
.kar-fv__copy {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	gap: 32px;
	height: 480px;
	padding-right: 64px; /* 左の余白（.kar-fv__text の padding-left）と釣り合わせて列の中央に置く */
	margin: 64px 0 40px; /* 上の英字と詰まらないように下げる（2026-09-28） */
}
.kar-fv__copy span {
	writing-mode: vertical-rl;
	white-space: nowrap;
	font-family: var(--kar-serif);
	font-weight: 700;
	font-size: clamp(40px, 3.6vw, 52px);
	line-height: 1.5;
	letter-spacing: .16em;
	color: var(--kar-ink);
}
.kar-fv__copy span:nth-child(2) { padding-top: 48px; }
.kar-fv__sub { font-size: 14px; line-height: 1.9; letter-spacing: .06em; margin: 0; }
.kar-fv__sub .is-muted { color: var(--kar-brown); }

.kar-fv__slides { position: relative; overflow: hidden; min-height: 720px; }
.kar-fv__slides figure { position: absolute; inset: 0; margin: 0; opacity: 0; animation: karFade 30s infinite; }
/* 1枚目は最初から見えている状態で始める（負の遅延で周期の途中から再生） */
.kar-fv__slides figure:nth-child(1) { animation-delay: -1s; }
.kar-fv__slides figure:nth-child(2) { animation-delay: 5s; }
.kar-fv__slides figure:nth-child(3) { animation-delay: 11s; }
.kar-fv__slides figure:nth-child(4) { animation-delay: 17s; }
.kar-fv__slides figure:nth-child(5) { animation-delay: 23s; }
.kar-fv__slides img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.04); animation: karZoom 30s infinite; animation-delay: inherit; }
.kar-fv__slides figcaption {
	position: absolute; left: 0; bottom: 0;
	background: var(--kar-paper);
	padding: 16px 24px 0 0;
	font-size: 13px; color: var(--kar-brown); letter-spacing: .08em;
}
.kar-fv__slides figcaption b { font-family: var(--kar-en); font-weight: 500; font-size: 20px; color: var(--kar-ink); margin-right: 16px; }
.kar-fv__slides figcaption i { font-style: normal; color: var(--kar-gold); }
@keyframes karFade { 0% { opacity: 0; } 3% { opacity: 1; } 20% { opacity: 1; } 24% { opacity: 0; } 100% { opacity: 0; } }
@keyframes karZoom { 0% { transform: scale(1.08); } 24% { transform: scale(1.0); } 100% { transform: scale(1.0); } }
@media (prefers-reduced-motion: reduce) {
	.kar-fv__slides figure { animation: none; }
	.kar-fv__slides figure:first-child { opacity: 1; }
	.kar-fv__slides img { animation: none; transform: none; }
}

/* ---------- セクション共通 ---------- */
.post_content .kar-sec { padding: 120px 0; margin-top: 0 !important; margin-bottom: 0 !important; }
.post_content .kar-sec--tight { padding: 96px 0 40px; }
.post_content .kar-sec--sand { background: var(--kar-sand); }
.post_content .kar-sec--dark { background: var(--kar-ink); color: var(--kar-paper); }
.post_content .kar-sec--dark .kar-label { color: var(--kar-gold-lt); }
.post_content .kar-sec--dark h2.kar-ttl { color: var(--kar-paper); }
.post_content .kar-sec--dark p { color: #E4DCCD; }

/* 見出し行（ラベル＋見出し＋右の補足） */
.post_content .kar-head { display: flex; align-items: baseline; gap: 40px; flex-wrap: wrap; margin-bottom: 40px !important; }
.post_content .kar-head .kar-label, .post_content .kar-head h2.kar-ttl { margin: 0 !important; }
.post_content .kar-head .kar-more { margin: 0 0 0 auto !important; font-size: 14px; }

/* ---------- ブログ ---------- */
.kar-journal .p-postList.-type-card { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0 !important; }
.kar-journal .p-postList__item { width: auto !important; padding: 0 !important; margin: 0 !important; }
.kar-journal .p-postList__title { font-family: var(--kar-sans); font-size: 15px !important; font-weight: 500; line-height: 1.7; }
.kar-journal .p-postList__meta { font-family: var(--kar-en); color: var(--kar-brown); }
.kar-journal .c-postThumb__figure { border-radius: 0; }
.kar-journal .c-postThumb__cat { background: var(--kar-paper) !important; color: var(--kar-brown) !important; border-radius: 0; font-size: 11px; }
.kar-journal .is-style-more_btn a, .kar-journal .p-postList__more a { border-radius: 999px; }

/* ---------- 01 About ---------- */
.post_content .kar-about { display: grid; grid-template-columns: 5fr 6fr; gap: 96px; align-items: center; }
/* 写真2枚を重ねる（大きい写真の右下に小さい写真） */
.post_content .kar-about__photos { position: relative; padding-bottom: 72px; margin: 0 !important; }
.post_content .kar-about__photos figure { margin: 0 !important; }
.post_content .kar-about__photos figure:first-child img { width: 86%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.post_content .kar-about__photos figure:nth-child(2) { position: absolute; right: 0; bottom: 0; width: 52%; border: 10px solid var(--kar-paper); }
.post_content .kar-about__photos figure:nth-child(2) img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.post_content .kar-about__body { margin: 0 !important; }
.post_content .kar-about h2.kar-ttl { font-size: clamp(28px, 2.8vw, 40px); line-height: 1.7; margin-bottom: 32px !important; }
.post_content .kar-about p { font-size: 16px; line-height: 2.1; margin: 0 0 16px; }
/* 3つの要点 */
.post_content .kar-points { margin: 40px 0 0 !important; border-top: 1px solid var(--kar-line); }
.post_content .kar-points p.kar-point { display: flex; align-items: baseline; gap: 24px; margin: 0 !important; padding: 18px 0; border-bottom: 1px solid var(--kar-line); font-family: var(--kar-serif); font-weight: 700; font-size: 19px; letter-spacing: .1em; line-height: 1.6; }
.post_content .kar-point b { font-family: var(--kar-en); font-weight: 500; font-size: 18px; color: var(--kar-gold); letter-spacing: .06em; min-width: 28px; }
.post_content .kar-point small { font-family: var(--kar-sans); font-weight: 400; font-size: 13px; color: var(--kar-brown); letter-spacing: .04em; margin-left: auto; }

/* ---------- 02 できること ---------- */
.post_content .kar-courses {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 24px;
	row-gap: 72px;
	margin: 0 !important;
}
.post_content .kar-course { margin: 0 !important; }
.post_content .kar-course:nth-child(1) { grid-column: 1 / span 7; }
.post_content .kar-course:nth-child(2) { grid-column: 9 / span 4; margin-top: 160px !important; }
.post_content .kar-course:nth-child(3) { grid-column: 2 / span 4; }
.post_content .kar-course:nth-child(4) { grid-column: 7 / span 6; margin-top: 96px !important; }
.post_content .kar-course figure { margin: 0 0 20px !important; }
.post_content .kar-course img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.post_content .kar-course:nth-child(1) img { aspect-ratio: 7 / 5; }
.post_content .kar-cpage__name { font-family: var(--kar-serif); font-weight: 700; font-size: 24px; letter-spacing: .1em; margin: 0 0 10px !important; }
.post_content .kar-cpage__name em { font-family: var(--kar-en); font-style: italic; font-weight: 500; font-size: 20px; color: var(--kar-gold); margin-right: 16px; letter-spacing: .02em; }
.post_content .kar-cpage__desc { font-size: 15px; line-height: 1.9; color: var(--kar-sub); margin: 0 !important; }
.post_content .kar-note { margin: 56px 0 0 !important; font-size: 14px; color: var(--kar-brown); letter-spacing: .06em; }

/* ---------- 03 1日の流れ（表） ---------- */
.post_content .kar-day table { width: 100%; border-collapse: collapse; border: 0; font-size: 17px; background: none; }
.post_content .kar-day th, .post_content .kar-day td { border: 0; border-top: 1px solid var(--kar-line2); padding: 28px 24px 28px 0; background: none; text-align: left; vertical-align: top; line-height: 1.8; }
.post_content .kar-day tr:last-child td, .post_content .kar-day tr:last-child th { border-bottom: 1px solid var(--kar-line2); }
.post_content .kar-day thead th { font-family: var(--kar-en); font-weight: 500; font-size: 19px; color: var(--kar-brown); padding: 16px 24px 16px 0; }
.post_content .kar-day tbody th { width: 200px; font-family: var(--kar-serif); font-weight: 700; font-size: 21px; }
.post_content .kar-day tbody th small { display: block; font-family: var(--kar-sans); font-weight: 400; font-size: 13px; color: var(--kar-brown); margin-top: 4px; }
.post_content .kar-day .is-muted { color: var(--kar-brown); }
.post_content .kar-day figure.wp-block-table { margin: 0; }
.post_content .kar-day thead { border-bottom: 0 !important; }
.post_content .kar-day thead th { border-bottom: 0 !important; }

/* ---------- 04 工賃と、毎日のこと ---------- */
.post_content .kar-wage { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--kar-ink); margin: 0 !important; }
.post_content .kar-wage > .wp-block-group__inner-container > * { padding: 40px 28px 8px !important; border-left: 1px solid var(--kar-line); margin: 0 !important; }
.post_content .kar-wage > .wp-block-group__inner-container > *:first-child { padding-left: 0 !important; border-left: 0; }
.post_content .kar-wage__label { font-size: 13px; color: var(--kar-brown); letter-spacing: .1em; margin: 0 0 18px !important; line-height: 1.6; }
.post_content .kar-wage__num { font-family: var(--kar-en); font-size: 60px; line-height: 1; margin: 0 !important; }
.post_content .kar-wage__num small { font-family: var(--kar-sans); font-size: 17px; margin-left: 4px; }

/* ---------- 05 作品 ---------- */
.post_content .kar-works { display: grid; grid-template-columns: 400px 1fr; gap: 72px; align-items: start; }
.post_content .kar-works .wp-block-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px !important; margin: 0 !important; }
.post_content .kar-works .wp-block-gallery figure.wp-block-image { width: auto !important; margin: 0 !important; }
.post_content .kar-works .wp-block-gallery figure:first-child { grid-column: 1 / span 2; }
.post_content .kar-works .wp-block-gallery img { width: 100%; height: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; }
.post_content .kar-works .wp-block-gallery figure:first-child img { aspect-ratio: auto; }
.post_content .kar-sec--dark .wp-block-button__link { background: transparent !important; color: var(--kar-paper) !important; border: 1px solid var(--kar-gold-lt) !important; }

/* ---------- 06 見学 ---------- */
.post_content .kar-visit { display: grid; grid-template-columns: 520px 1fr; background: var(--kar-sand); margin: 0 !important; }
.post_content .kar-visit > .wp-block-group__inner-container > figure { margin: 0 !important; height: 100%; }
.post_content .kar-visit > .wp-block-group__inner-container > figure img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; display: block; }
.post_content .kar-visit__body { padding: 80px 88px; }
.post_content .kar-visit dl { display: grid; grid-template-columns: 96px 1fr; row-gap: 12px; margin: 24px 0 32px; font-size: 15px; line-height: 1.8; }
.post_content .kar-visit dt { color: var(--kar-brown); font-weight: 400; }
.post_content .kar-visit dd { margin: 0; }

/* ボタン（丸・濃茶／枠線／LINE緑） */
.post_content .kar-btns { gap: 12px; margin: 0 !important; }
.post_content .kar-btns .wp-block-button__link { border-radius: 999px; padding: 16px 32px; font-weight: 500; letter-spacing: .06em; background: var(--kar-ink); color: var(--kar-paper); box-shadow: none; }
.post_content .kar-btns .is-style-outline .wp-block-button__link { background: transparent; color: var(--kar-ink); border: 1px solid var(--kar-ink); }
.post_content .kar-btns .kar-btn-line .wp-block-button__link { background: var(--kar-line-green); color: #fff; font-weight: 700; }


/* ---------- スマホのヘッダー：ロゴを大きく（2026-09-28） ----------
   SWELL はロゴのリンクに上下 10px の余白を付け、ロゴ枠の幅も狭い（375px 幅で 199px）。
   横長のロゴ（約5:1）が高さ36px・幅184px まで縮んでいたので、余白を消し、枠をメニュー／検索ボタンの間いっぱいに広げる。
   高さはカスタマイザーの logo_size_sp（48px → 「厚ぼったい」で 38px → 「上下が窮屈」で 34px＋ヘッダー66px）*/
@media (max-width: 959px) {
	#header .l-header__logo { width: calc(100% - 120px) !important; max-width: none !important; padding: 0 !important; }
	#header .c-headLogo__link { padding: 0 !important; }
	#header .l-header__inner { min-height: 66px; align-items: center; } /* ロゴ34px＋上下16px */
}

/* ---------- スマホ下部の固定バー（電話／LINE／見学予約）常時表示 ---------- */
@media (max-width: 959px) {
	#fix_bottom_menu { bottom: 0 !important; box-shadow: none; }
	#fix_bottom_menu .menu_list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 !important; }
	#fix_bottom_menu .menu-item { width: auto !important; }
	#fix_bottom_menu .menu-item a { height: 58px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; color: var(--kar-paper) !important; font-size: 12px; letter-spacing: .04em; }
	#fix_bottom_menu .kar-fbm-tel a { background: var(--kar-ink); }
	#fix_bottom_menu .kar-fbm-line a { background: var(--kar-line-green); color: #fff !important; font-weight: 700; }
	#fix_bottom_menu .kar-fbm-visit a { background: var(--kar-gold); color: #fff !important; font-weight: 700; }
	#fix_bottom_menu .menu-item a i { font-size: 18px; }
	body { padding-bottom: 58px; }
	.p-fixBtnWrap { bottom: 72px !important; }
	.grecaptcha-badge { bottom: 72px !important; }
}


/* ---------- フッター（functions.php の swell_after_copyright で出力） ---------- */
.l-footer { background: var(--kar-ink) !important; color: #E4DCCD; }
.l-footer__foot { padding: 0 !important; background: transparent; }
.l-footer__foot .l-container { max-width: 1184px; padding: 0 32px; }
.l-footer__nav, .l-footer .copyright { display: none !important; }
.kar-foot { padding: 96px 0 32px; text-align: left; line-height: 1.8; font-size: 14px; }
.kar-foot li, .kar-foot a, .kar-foot p { line-height: inherit; }
.kar-foot a { color: #F7F5F0; text-decoration: none; }
.kar-foot a:hover { color: var(--kar-gold-lt); }
.kar-foot__main { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 64px; padding-bottom: 64px; border-bottom: 1px solid rgba(247,245,240,.18); }
.kar-foot__logo img { width: 200px; height: auto; display: block; margin-bottom: 28px; }
.kar-foot__addr { font-size: 13px; line-height: 2; letter-spacing: .04em; margin: 0 0 18px; }
.kar-foot__tel { margin: 0; display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.kar-foot__tel a { font-family: var(--kar-en); font-size: 30px; letter-spacing: .04em; }
.kar-foot__tel span { font-size: 12px; color: var(--kar-gold-lt); }
.kar-foot__label { font-family: var(--kar-en); font-size: 18px; color: var(--kar-gold-lt); letter-spacing: .1em; margin: 0 0 20px; }
.kar-foot__nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; }
.kar-foot__nav li { font-size: 14px; letter-spacing: .06em; }
.kar-foot__ctatext { font-family: var(--kar-serif); font-weight: 700; font-size: 18px; line-height: 1.8; letter-spacing: .08em; color: #F7F5F0; margin: 0 0 20px; }
.kar-foot__btn { display: flex; align-items: center; justify-content: center; height: 50px; border-radius: 999px; font-size: 14px; font-weight: 700; letter-spacing: .06em; margin-bottom: 10px; max-width: 280px; }
.kar-foot__btn.-visit { background: var(--kar-gold); color: #1E1915 !important; }
.kar-foot__btn.-line { background: var(--kar-line-green); color: #fff !important; }
.kar-foot__insta { display: inline-block; margin-top: 10px; font-size: 13px; border-bottom: 1px solid rgba(247,245,240,.4); padding-bottom: 2px; }
.kar-foot__bottom { display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: center; padding-top: 28px; font-size: 12px; letter-spacing: .04em; }
.kar-foot__bottom p { margin: 0; }
.kar-foot__sister { color: var(--kar-gold-lt); }
.kar-foot__sister a { margin-left: 12px; }
.kar-foot__copy { margin-left: auto !important; color: rgba(247,245,240,.6); }
@media (max-width: 959px) {
	.kar-foot { padding: 64px 0 24px; }
	.l-footer__foot .l-container { padding: 0 16px; }
	.kar-foot__main { grid-template-columns: 1fr; gap: 40px; padding-bottom: 40px; }
	.kar-foot__logo img { width: 160px; }
	.kar-foot__btn { max-width: none; }
	.kar-foot__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
	.kar-foot__copy { margin-left: 0 !important; }
}


/* ---------- 固定ページ共通のタイトル（SWELL の .c-pageTitle） ---------- */
.c-pageTitle { font-family: var(--kar-serif); font-size: clamp(28px, 3vw, 40px); letter-spacing: .12em; text-align: center; padding: 56px 0 40px; margin-bottom: 40px !important; }
.c-pageTitle__inner, .c-pageTitle { border: 0 !important; }
/* SWELL の b_bottom スタイルは中身を float させている。::after（回り込み解除）を消したので float も外す */
.c-pageTitle__inner { float: none !important; padding: 0 !important; margin: 0 !important; }
.c-pageTitle::before, .c-pageTitle::after { display: none !important; }
.c-pageTitle__subTitle { display: block; margin-top: 14px; font-family: var(--kar-en); font-style: italic; font-size: 16px !important; font-weight: 500; letter-spacing: .08em; color: var(--kar-gold); }

/* ---------- お問い合わせ（固定ページ #115 と Contact Form 7） ---------- */
.page-id-115 .l-mainContent__inner { max-width: 760px; margin: 0 auto; }
/* 電話の案内（本文の .kar-contactTel。2026-09-28 の切り替え時に番号を本文へ書いた） */
.page-id-115 .kar-contactTel { background: var(--kar-sand); padding: 24px 28px; margin: 0 0 48px !important; }
.page-id-115 .kar-contactTel p { margin: 0 !important; }
.page-id-115 .kar-contactTel__lead { font-size: 14px; font-weight: 700; letter-spacing: .06em; }
.page-id-115 .kar-contactTel__num a { display: inline-block; margin-top: 6px; font-family: var(--kar-en); font-size: 30px; font-weight: 500; letter-spacing: .04em; color: var(--kar-ink); text-decoration: none; }
.page-id-115 .kar-contactTel__time { font-size: 12px; color: var(--kar-brown); letter-spacing: .06em; }

.wpcf7 form { background: #fff; border: 1px solid var(--kar-line); padding: 48px 48px 40px; }
.wpcf7 form > p { margin: 0 0 28px !important; }
.wpcf7 label { display: block; font-size: 14px; font-weight: 700; letter-spacing: .06em; color: var(--kar-ink); line-height: 1.6; }
.wpcf7 label br { display: block; content: ""; margin-bottom: 8px; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea {
	width: 100% !important; max-width: none; box-sizing: border-box;
	font-family: var(--kar-sans); font-size: 16px; color: var(--kar-ink);
	background: var(--kar-paper); border: 1px solid var(--kar-line); border-radius: 6px;
	padding: 14px 16px; box-shadow: none; transition: border-color .2s, background .2s;
}
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select { height: 54px; }
.wpcf7 textarea { min-height: 220px; line-height: 1.8; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--kar-gold); background: #fff; box-shadow: 0 0 0 3px rgba(162,144,108,.2); }
.wpcf7 input.wpcf7-submit {
	display: block; width: 100%; max-width: 320px; height: 58px; margin: 12px auto 0;
	background: var(--kar-ink) !important; color: var(--kar-paper); border: 0; border-radius: 999px;
	font-family: var(--kar-sans); font-size: 16px; font-weight: 700; letter-spacing: .12em; cursor: pointer; transition: background .2s;
}
.wpcf7 input.wpcf7-submit:hover { background: var(--kar-brown) !important; }
.wpcf7 .wpcf7-spinner { display: block; margin: 12px auto 0; }
.wpcf7 .wpcf7-not-valid-tip { font-size: 13px; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 24px 0 0; padding: 14px 18px; border-radius: 6px; font-size: 14px; }
@media (max-width: 959px) {
	.wpcf7 form { padding: 28px 18px 24px; }
	.page-id-115 .kar-contactTel { padding: 20px; }
	.page-id-115 .kar-contactTel__num a { font-size: 24px; }
}


/* ---------- 経営理念（.kar-philo を含むページ。#69 /philosophy/） ---------- */
body:has(.kar-philo) .p-articleHead, body:has(.kar-philo) .c-pageTitle, body:has(.kar-philo) .l-topTitleArea,
body:has(.kar-company) .p-articleHead, body:has(.kar-company) .c-pageTitle, body:has(.kar-company) .l-topTitleArea,
body:has(.kar-cpage) .p-articleHead, body:has(.kar-cpage) .c-pageTitle, body:has(.kar-cpage) .l-topTitleArea { display: none !important; }
body:has(.kar-philo) .l-content, body:has(.kar-philo) .l-mainContent, body:has(.kar-philo) .post_content,
body:has(.kar-company) .l-content, body:has(.kar-company) .l-mainContent, body:has(.kar-company) .post_content,
body:has(.kar-cpage) .l-content, body:has(.kar-cpage) .l-mainContent, body:has(.kar-cpage) .post_content { padding-top: 0 !important; margin-top: 0 !important; }
body:has(.kar-philo) .post_content > *, body:has(.kar-company) .post_content > *, body:has(.kar-cpage) .post_content > * { margin-bottom: 0 !important; }
body:has(.kar-philo) .l-footer, body:has(.kar-company) .l-footer, body:has(.kar-cpage) .l-footer { margin-top: 0 !important; }
.post_content .kar-philo-head { padding: 120px 0 80px; text-align: center; }
.post_content .kar-philo-head h1 { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(32px, 3.6vw, 48px); letter-spacing: .2em; margin: 0 0 20px !important; }
.post_content .kar-philo-head p { color: var(--kar-brown); font-size: 14px; letter-spacing: .1em; margin: 0 !important; }

.post_content .kar-purpose { text-align: center; }
.post_content .kar-purpose .kar-label { text-align: center; }
.post_content .kar-purpose__main { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(44px, 6vw, 84px); letter-spacing: .12em; line-height: 1.3; margin: 24px 0 28px !important; color: var(--kar-ink); }
.post_content .kar-purpose__sub { font-family: var(--kar-serif); font-weight: 500; font-size: clamp(16px, 1.6vw, 20px); letter-spacing: .1em; color: var(--kar-brown); margin: 0 !important; }

.post_content .kar-philo-photo { height: 420px; overflow: hidden; margin-top: 0 !important; margin-bottom: 0 !important; }
.post_content figure.kar-philo-photo.kar-full { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; width: 100vw !important; max-width: none !important; }
.post_content .kar-philo-photo img { width: 100%; height: 420px; object-fit: cover; display: block; }

.post_content .kar-mission { display: grid; grid-template-columns: 1fr 1.6fr; gap: 64px; align-items: center; }
.post_content .kar-mission__text { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.9; letter-spacing: .1em; margin: 0 !important; color: var(--kar-ink); }

.post_content .kar-credo-list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--kar-ink); margin: 0 !important; }
.post_content .kar-credo-list > .wp-block-group__inner-container > * { grid-column: span 2; padding: 40px 32px 44px 0 !important; border-bottom: 1px solid var(--kar-line); margin: 0 !important; }
.post_content .kar-credo-list > .wp-block-group__inner-container > *:nth-child(4),
.post_content .kar-credo-list > .wp-block-group__inner-container > *:nth-child(5) { grid-column: span 3; }
.post_content .kar-credo__no { font-family: var(--kar-en); font-size: 44px; line-height: 1; color: var(--kar-gold); margin: 0 0 16px !important; }
.post_content h3.kar-credo__ttl { font-family: var(--kar-serif); font-weight: 700; font-size: 26px; letter-spacing: .2em; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.post_content h3.kar-credo__ttl::before, .post_content h3.kar-credo__ttl::after { display: none !important; }
.post_content .kar-credo__desc { font-size: 15px; line-height: 2; color: var(--kar-sub); margin: 0 !important; }

@media (max-width: 959px) {
	.post_content .kar-philo-head { padding: 72px 0 48px; }
	.post_content .kar-purpose__main { font-size: 40px; }
	.post_content .kar-philo-photo, .post_content .kar-philo-photo img { height: 240px; }
	.post_content .kar-mission { grid-template-columns: 1fr; gap: 16px; }
	.post_content .kar-mission__text { font-size: 22px; }
	.post_content .kar-credo-list { grid-template-columns: 1fr; }
	.post_content .kar-credo-list > .wp-block-group__inner-container > *,
	.post_content .kar-credo-list > .wp-block-group__inner-container > *:nth-child(n) { grid-column: auto; padding: 28px 0 !important; }
	.post_content .kar-credo__no { font-size: 32px; }
	.post_content h3.kar-credo__ttl { font-size: 22px; }
}

/* ---------- 事業所概要（.kar-company を含むページ。#79 /company/） ---------- */
.post_content .kar-sec--first { padding-top: 40px; }
.post_content .kar-outline { display: grid; grid-template-columns: 4fr 8fr; grid-template-rows: auto auto 1fr; column-gap: 72px; align-items: start; }
.post_content .kar-outline > .wp-block-group__inner-container > .kar-label { grid-column: 1; grid-row: 1; }
.post_content .kar-outline > .wp-block-group__inner-container > h2 { grid-column: 1; grid-row: 2; }
.post_content .kar-outline > .wp-block-group__inner-container > .kar-table { grid-column: 2; grid-row: 1 / span 3; }

.post_content .kar-table { margin: 0 !important; }
.post_content .kar-table table { border-collapse: collapse; width: 100%; border: 0 !important; border-top: 1px solid var(--kar-ink) !important; table-layout: auto !important; }
.post_content .kar-table tr { background: none !important; }
.post_content .kar-table td { border: 0 !important; border-bottom: 1px solid var(--kar-line) !important; background: none !important; padding: 24px 0 !important; vertical-align: top; font-size: 15px; line-height: 1.9; }
.post_content .kar-table td:first-child { width: 8.5em !important; white-space: nowrap; color: var(--kar-brown); font-size: 14px; letter-spacing: .12em; padding-right: 16px !important; }
.post_content .kar-table a { color: var(--kar-ink); text-decoration: underline; text-decoration-color: var(--kar-line2); text-underline-offset: 4px; }

.post_content .kar-access { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
.post_content .kar-access__addr { font-family: var(--kar-serif); font-weight: 500; font-size: 20px; line-height: 1.8; letter-spacing: .06em; margin: 0 0 16px !important; }
.post_content .kar-access__way { font-size: 14px; line-height: 2; color: var(--kar-sub); margin: 0 0 32px !important; }
.post_content .kar-map { margin: 0 !important; }
.post_content .kar-map iframe { display: block; width: 100%; height: 460px; border: 0; filter: grayscale(.5) sepia(.15); }

.post_content .kar-group-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 48px !important; }
.post_content .kar-gcard { background: var(--kar-sand); border-top: 3px solid var(--kar-gold); padding: 40px 44px 44px; margin: 0 !important; }
.post_content .kar-gcard p { margin: 0 !important; }
.post_content .kar-gcard__en { font-family: var(--kar-en); font-size: 18px; color: var(--kar-gold); letter-spacing: .1em; }
.post_content h3.kar-gcard__name { font-family: var(--kar-serif); font-weight: 700; font-size: 26px; letter-spacing: .12em; margin: 4px 0 20px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.post_content h3.kar-gcard__name::before, .post_content h3.kar-gcard__name::after { display: none !important; }
.post_content .kar-gcard__note { font-size: 12px; color: var(--kar-brown); margin: -12px 0 16px !important; }
.post_content .kar-gcard__addr, .post_content .kar-gcard__access { font-size: 14px; line-height: 1.9; color: var(--kar-sub); }
.post_content .kar-gcard__tel { font-size: 15px; margin-top: 12px !important; }
.post_content .kar-gcard__tel a { color: var(--kar-ink); }
.post_content .kar-gcard__link { margin-top: 24px !important; font-size: 14px; }
.post_content .kar-gcard__link a { color: var(--kar-brown); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

@media (max-width: 959px) {
	.post_content .kar-sec--first { padding-top: 16px; }
	.post_content .kar-outline, .post_content .kar-access { grid-template-columns: 1fr; gap: 32px; }
	.post_content .kar-outline { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
	.post_content .kar-outline > .wp-block-group__inner-container > * { grid-column: 1 !important; grid-row: auto !important; }
	.post_content .kar-table td { display: block; padding: 0 !important; border-bottom: 0 !important; }
	.post_content .kar-table td:first-child { width: auto !important; padding-top: 18px !important; font-size: 12px; }
	.post_content .kar-table td:last-child { padding-bottom: 18px !important; border-bottom: 1px solid var(--kar-line) !important; }
	.post_content .kar-map iframe { height: 300px; }
	.post_content .kar-group-list { grid-template-columns: 1fr; gap: 20px; margin-top: 32px !important; }
	.post_content .kar-gcard { padding: 32px 24px; }
}

/* ---------- コースページ（陶芸・アクセサリー・イラスト。.kar-cpage を含むページ。トップの .kar-course とは別物） ---------- */
.post_content .kar-cpage__intro { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
.post_content .kar-cpage__intro > .wp-block-group__inner-container > .kar-cpage__lead:only-child { grid-column: 1 / -1; max-width: 760px; margin: 0 auto !important; text-align: center; }
.post_content .kar-cpage__hero { margin: 0 !important; }
.post_content .kar-cpage__hero img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.post_content .kar-cpage__lead p { font-size: 16px; line-height: 2.1; margin: 0 0 1.2em !important; }
.post_content .kar-cpage__lead p:first-child { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(19px, 1.7vw, 22px); line-height: 1.9; letter-spacing: .06em; }

.post_content .kar-cpage__sec { display: grid; grid-template-columns: 6fr 5fr; gap: 72px; align-items: center; margin: 0 0 112px !important; }
.post_content .kar-cpage__sec:last-child { margin-bottom: 0 !important; }
.post_content .kar-cpage__sec.-rev { grid-template-columns: 5fr 6fr; }
.post_content .kar-cpage__sec.-rev > .wp-block-group__inner-container > .kar-cpage__media { order: 2; }
.post_content .kar-cpage__sec.-noimg { grid-template-columns: 1fr; max-width: 760px; }
.post_content .kar-cpage__media { margin: 0 !important; display: grid; gap: 16px; }
.post_content .kar-cpage__media.-multi { grid-template-columns: 1fr 1fr; }
.post_content .kar-cpage__media figure { margin: 0 !important; }
.post_content .kar-cpage__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.post_content .kar-cpage__media.-multi img { aspect-ratio: 3 / 4; }
.post_content .kar-cpage__body p { font-size: 15px; line-height: 2.1; margin: 0 0 1em !important; }
.post_content .kar-cpage__no { font-family: var(--kar-en); font-size: 44px !important; line-height: 1 !important; color: var(--kar-gold); margin: 0 0 14px !important; }
.post_content h3.kar-cpage__ttl { font-family: var(--kar-serif); font-weight: 700; font-size: 26px; letter-spacing: .1em; line-height: 1.6; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.post_content h3.kar-cpage__ttl::before, .post_content h3.kar-cpage__ttl::after { display: none !important; }
.post_content .kar-cpage__sub { font-size: 13px !important; color: var(--kar-brown); letter-spacing: .1em; margin: 24px 0 6px !important; }
.post_content .kar-cpage__links { font-size: 14px !important; line-height: 2.2 !important; margin-top: 16px !important; }
.post_content .kar-cpage__links a { color: var(--kar-brown); text-decoration: none; border-bottom: 1px solid var(--kar-line2); }
.post_content .kar-cpage__links a::after { content: "→"; margin-left: 6px; }
.post_content .kar-cpage__links a:hover { border-color: var(--kar-brown); }

.post_content .kar-cpage__close { max-width: 880px; text-align: center; }
.post_content .kar-cpage__closing { font-family: var(--kar-serif); font-weight: 500; font-size: clamp(17px, 1.6vw, 20px); line-height: 2; letter-spacing: .06em; margin: 0 !important; }
.post_content .kar-cpage__close .kar-postCta { margin-top: 56px !important; }

@media (max-width: 959px) {
	.post_content .kar-cpage__intro, .post_content .kar-cpage__sec, .post_content .kar-cpage__sec.-rev { grid-template-columns: 1fr; gap: 24px; }
	.post_content .kar-cpage__sec { margin-bottom: 64px !important; }
	.post_content .kar-cpage__sec.-rev > .wp-block-group__inner-container > .kar-cpage__media { order: 0; }
	.post_content .kar-cpage__no { font-size: 32px !important; }
	.post_content h3.kar-cpage__ttl { font-size: 21px; }
	.post_content .kar-cpage__lead p, .post_content .kar-cpage__body p { font-size: 15px; }
	.post_content .kar-cpage__closing { text-align: left; }
}

/* ---------- 送信完了（#786 /thanks/）・プライバシーポリシー（#148 /privacy/）
   本文は GENSEN と共通なので CSS だけで整える ---------- */
.page-id-786 .post_content { max-width: 680px; margin: 0 auto 40px; padding: 56px 48px; background: var(--kar-sand); border-top: 3px solid var(--kar-gold); text-align: center; font-size: 15px; line-height: 2.1; }
.page-id-786 .post_content p { margin: 0 0 1.2em !important; }
.page-id-786 .post_content p:last-child { margin-bottom: 0 !important; }

.post_content .kar-privacy { max-width: 800px; margin: 0 auto !important; padding: 56px 64px; background: #fff; border: 1px solid var(--kar-line); font-size: 14px; line-height: 2.1; color: var(--kar-sub); }
.post_content .kar-privacy p { margin: 0 0 1.2em !important; }
.post_content .kar-privacy h4 { font-family: var(--kar-serif); font-weight: 700; font-size: 17px; letter-spacing: .06em; color: var(--kar-ink); margin: 48px 0 16px !important; padding: 0 0 10px !important; border: 0 !important; border-bottom: 1px solid var(--kar-line) !important; background: none !important; }
.post_content .kar-privacy h4::before, .post_content .kar-privacy h4::after { display: none !important; }
.post_content .kar-privacy ol { margin: 0 0 1.2em !important; padding-left: 1.6em !important; list-style: decimal; }
.post_content .kar-privacy ol ol { margin: .4em 0 .6em !important; list-style: lower-roman; }
.post_content .kar-privacy li { margin: 0 0 .4em; }
.post_content .kar-privacy strong { color: var(--kar-ink); }
.post_content .kar-privacy dl { display: flex; gap: 1em; margin: 0 0 .6em !important; }
.post_content .kar-privacy dd { margin: 0; }
.post_content .kar-privacy a { color: var(--kar-brown); }

@media (max-width: 959px) {
	.page-id-786 .post_content { padding: 40px 20px; text-align: left; }
	.post_content .kar-privacy { padding: 28px 20px; font-size: 13px; }
	.post_content .kar-privacy dl { flex-direction: column; gap: 0; }
}

/* ---------- 404 ---------- */
.error404 .l-mainContent__inner { max-width: 640px; margin: 0 auto; padding: 72px 0 40px; text-align: center; }
.c-ttl404 { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.6 !important; letter-spacing: .1em; margin: 0 0 32px !important; padding: 0 !important; border: 0 !important; background: none !important; }
.c-ttl404::after { display: none !important; }
.c-ttl404::before { content: "404 — Not Found" !important; display: block !important; position: static !important; width: auto !important; height: auto !important; background: none !important; border: 0 !important; transform: none !important; font-family: var(--kar-en); font-weight: 500; font-size: 18px; line-height: 1.4 !important; letter-spacing: .1em; color: var(--kar-gold); margin: 0 0 14px; }
.error404 .post_content p { font-size: 15px; line-height: 2; color: var(--kar-sub); margin: 0 0 .4em !important; }
.error404 .c-searchForm { margin: 32px auto 40px !important; max-width: 480px; display: flex; border: 1px solid var(--kar-line2); border-radius: 999px; overflow: hidden; background: #fff; }
.error404 .c-searchForm__s { border: 0 !important; background: transparent !important; padding: 14px 20px !important; font-size: 15px; box-shadow: none !important; }
.error404 .c-searchForm__submit { position: static !important; width: 56px; height: auto !important; background: var(--kar-ink) !important; border-radius: 0; }
.error404 .is-style-more_btn a { display: inline-flex; align-items: center; justify-content: center; min-width: 240px; padding: 16px 32px !important; border: 0 !important; border-radius: 999px !important; background: var(--kar-ink) !important; color: var(--kar-paper) !important; font-weight: 500; letter-spacing: .06em; box-shadow: none !important; }
.error404 .is-style-more_btn a::after { display: none !important; }

/* ---------- ブログ：記事一覧（カテゴリ・タグ・日付・検索・/blog/） ---------- */
.archive .p-postList.-type-card, .blog .p-postList.-type-card, .search .p-postList.-type-card {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; margin: 0 !important;
}
.archive .p-postList__item, .blog .p-postList__item, .search .p-postList__item { width: auto !important; padding: 0 !important; margin: 0 !important; }
.p-postList.-type-card .p-postList__link { display: block; }
.p-postList.-type-card .c-postThumb__figure { border-radius: 0; margin: 0; }
.p-postList.-type-card .c-postThumb { margin-bottom: 16px; box-shadow: none !important; }
.p-postList.-type-card .c-postThumb__cat {
	background: var(--kar-paper) !important; color: var(--kar-ink) !important; font-size: 11px; letter-spacing: .08em;
	padding: 4px 10px; margin: 0; top: auto; bottom: 0; left: 0; right: auto; width: auto; border-radius: 0;
}
.p-postList.-type-card .c-postThumb__cat::before { display: none; }
.p-postList.-type-card .p-postList__body { padding: 0 !important; }
.p-postList.-type-card .p-postList__title { font-family: var(--kar-sans); font-size: 16px !important; font-weight: 500; line-height: 1.7; letter-spacing: .04em; margin: 0 0 8px !important; }
.archive .p-postList__excerpt, .blog .p-postList__excerpt, .search .p-postList__excerpt { display: none; }
.p-postList.-type-card .p-postList__meta { font-family: var(--kar-en); font-size: 14px; color: var(--kar-brown); margin: 0; }
.p-postList.-type-card .p-postList__link:hover .p-postList__title { color: var(--kar-brown); }

/* 1ページ10件なので、先頭の1件を横長に大きく出して 1＋3×3 で割り切る */
.archive .p-postList__item:first-child, .blog .p-postList__item:first-child, .search .p-postList__item:first-child { grid-column: 1 / -1; }
.archive .p-postList__item:first-child .p-postList__link, .blog .p-postList__item:first-child .p-postList__link, .search .p-postList__item:first-child .p-postList__link {
	display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; padding-bottom: 48px; border-bottom: 1px solid var(--kar-line);
}
.archive .p-postList__item:first-child .c-postThumb, .blog .p-postList__item:first-child .c-postThumb, .search .p-postList__item:first-child .c-postThumb { margin: 0; }
.archive .p-postList__item:first-child .p-postList__title, .blog .p-postList__item:first-child .p-postList__title, .search .p-postList__item:first-child .p-postList__title {
	font-family: var(--kar-serif); font-weight: 700; font-size: clamp(20px, 2vw, 26px) !important; line-height: 1.6; letter-spacing: .08em; margin-bottom: 16px !important;
}
.archive .p-postList__item:first-child .p-postList__excerpt, .blog .p-postList__item:first-child .p-postList__excerpt, .search .p-postList__item:first-child .p-postList__excerpt {
	display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 2; color: var(--kar-sub); margin-bottom: 16px;
}

.c-pagination { margin-top: 72px !important; gap: 8px; }
.c-pagination .page-numbers { border-radius: 999px; min-width: 44px; height: 44px; line-height: 44px; border: 1px solid var(--kar-line2); background: transparent; color: var(--kar-ink); font-family: var(--kar-en); font-size: 16px; box-shadow: none; }
.c-pagination .page-numbers.current, .c-pagination .page-numbers:hover { background: var(--kar-ink) !important; border-color: var(--kar-ink); color: var(--kar-paper) !important; }
.c-pagination .page-numbers.dots { border: 0; }

/* ---------- ブログ：記事ページ ---------- */
/* .p-articleHead と .c-postTitle は同じ要素（中身は タイトル h1 → 日付 time の順）。日付を左に出す */
.single-post .p-articleHead.c-postTitle { display: flex; flex-direction: row; align-items: center; gap: 24px; padding-top: 32px; margin-bottom: 20px; }
.single-post .c-postTitle__date { order: -1; flex-shrink: 0; }
.single-post .p-articleMetas.-top { margin-bottom: 40px !important; }
.single-post .c-postTitle__date { border: 0 !important; padding: 0 !important; margin: 0 !important; font-family: var(--kar-en); color: var(--kar-gold); text-align: left; min-width: 0; }
.single-post .c-postTitle__date::after { display: none !important; }
.single-post .c-postTitle__date .__y { font-size: 14px; letter-spacing: .1em; display: block; }
.single-post .c-postTitle__date .__md { font-size: 28px; line-height: 1; display: block; }
.single-post .c-postTitle__ttl { font-family: var(--kar-serif); font-weight: 700; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.6; letter-spacing: .08em; padding-left: 24px; border-left: 1px solid var(--kar-line2); }
/* 日付はタイトルの左に出しているので、カテゴリ横の投稿日は見た目だけ隠す（time 要素は残る） */
.single-post .p-articleMetas.-top .c-postTimes { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.c-categoryList__link { background: transparent !important; color: var(--kar-brown) !important; border: 1px solid var(--kar-line2); border-radius: 999px; padding: 3px 12px !important; font-size: 12px !important; letter-spacing: .06em; }
.c-categoryList__link::before { display: none !important; }
.c-categoryList__link:hover { border-color: var(--kar-brown); }
.c-tagList__link { color: var(--kar-brown); font-size: 12px; }

.single-post .p-articleThumb { margin-bottom: 56px; }
.single-post .p-articleThumb__img { box-shadow: none !important; border-radius: 0; }

.single-post .post_content { font-size: 16px; line-height: 2.1; letter-spacing: .04em; }
.single-post .post_content img { border-radius: 2px; }
.single-post .post_content h1, .single-post .post_content h3 {
	font-family: var(--kar-serif); font-weight: 700; font-size: 22px; line-height: 1.6; letter-spacing: .08em;
	background: none !important; border: 0 !important; border-left: 3px solid var(--kar-gold) !important; padding: 2px 0 2px 16px !important; margin: 56px 0 24px !important; color: var(--kar-ink);
}
.single-post .post_content h1::before, .single-post .post_content h1::after, .single-post .post_content h3::before, .single-post .post_content h3::after { display: none !important; }

/* 見出し・短い案内文は文節で改行する（Chrome/Edge。非対応ブラウザは従来どおり） */
.post_content h1, .post_content h2, .post_content h3, .c-pageTitle, .c-postTitle__ttl, .kar-postCta__txt, .kar-postCta__ttl, .kar-cpage__closing, .kar-cpage__lead p:first-child { word-break: auto-phrase; }

/* 記事末の見学の案内（functions.php で本文の後ろに出力） */
.post_content .kar-postCta { margin: 80px 0 0 !important; padding: 48px 48px 52px; background: var(--kar-sand); border-top: 3px solid var(--kar-gold); text-align: center; line-height: 1.9; }
.post_content .kar-postCta__en { font-family: var(--kar-en); font-size: 18px; color: var(--kar-gold); letter-spacing: .1em; margin: 0 0 8px !important; }
.post_content .kar-postCta__ttl { font-family: var(--kar-serif); font-weight: 700; font-size: 24px; letter-spacing: .1em; margin: 0 0 12px !important; }
.post_content .kar-postCta__txt { font-size: 14px; color: var(--kar-sub); margin: 0 0 28px !important; }
.post_content .kar-postCta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 0 !important; }
.post_content .kar-postCta__btns a { display: inline-flex; align-items: center; justify-content: center; min-width: 200px; padding: 15px 28px; border-radius: 999px; font-weight: 700; letter-spacing: .06em; text-decoration: none; font-size: 15px; line-height: 1.4; }
.post_content .kar-postCta__btns .-visit { background: var(--kar-ink); color: var(--kar-paper); }
.post_content .kar-postCta__btns .-line { background: var(--kar-line-green); color: #fff; }
.post_content .kar-postCta__tel { font-size: 13px; color: var(--kar-sub); margin: 20px 0 0 !important; }
.post_content .kar-postCta__tel a { color: var(--kar-ink); font-family: var(--kar-en); font-size: 18px; margin-left: 6px; }

/* シェアボタン：左の追従は消し、記事下は小さく */
.c-shareBtns.-fix { display: none !important; }
.c-shareBtns.-bottom { margin-top: 48px; }
.c-shareBtns__message { font-size: 13px; color: var(--kar-brown); }
.c-shareBtns__message::before, .c-shareBtns__message::after { background: var(--kar-line2) !important; }
.c-shareBtns__btn { border-radius: 999px !important; height: 40px; }

/* 「この記事を書いた人」はアカウント名しか出ないので出さない */
.l-articleBottom__section.-author { display: none !important; }

.single-post .p-articleFoot { border-top: 1px solid var(--kar-line); padding-top: 24px; margin-top: 56px; }
.p-pnLinks { margin: 56px 0 !important; gap: 24px; }
.p-pnLinks__link { background: transparent !important; border: 1px solid var(--kar-line) !important; border-radius: 0 !important; box-shadow: none !important; padding: 20px 24px !important; font-size: 14px; color: var(--kar-ink); }
.p-pnLinks__link:hover { border-color: var(--kar-brown) !important; }
.p-pnLinks__link::before { color: var(--kar-gold); }

.l-articleBottom__section { margin-top: 80px !important; }
.l-articleBottom__title.c-secTitle { font-family: var(--kar-serif); font-weight: 700; font-size: 24px; letter-spacing: .12em; text-align: left; border: 0 !important; background: none !important; padding: 0 0 20px !important; margin-bottom: 32px !important; border-bottom: 1px solid var(--kar-ink) !important; color: var(--kar-ink); }
.l-articleBottom__title.c-secTitle::before, .l-articleBottom__title.c-secTitle::after { display: none !important; }
.p-relatedPosts.-type-card { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; margin: 0 !important; }
.p-relatedPosts .p-postList__item { width: auto !important; padding: 0 !important; margin: 0 !important; }
.p-relatedPosts .p-postList__title { font-size: 14px !important; }

@media (max-width: 959px) {
	.c-pageTitle { padding: 32px 0 24px; margin-bottom: 24px !important; }
	.archive .p-postList.-type-card, .blog .p-postList.-type-card, .search .p-postList.-type-card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 14px; }
	.p-postList.-type-card .p-postList__title { font-size: 14px !important; }
	.archive .p-postList__item:first-child .p-postList__link, .blog .p-postList__item:first-child .p-postList__link, .search .p-postList__item:first-child .p-postList__link { grid-template-columns: 1fr; gap: 14px; padding-bottom: 32px; }
	.archive .p-postList__item:first-child .p-postList__excerpt, .blog .p-postList__item:first-child .p-postList__excerpt, .search .p-postList__item:first-child .p-postList__excerpt { font-size: 13px; }
	.p-postList.-type-card .c-postThumb { margin-bottom: 10px; }
	.c-pagination .page-numbers { min-width: 40px; height: 40px; line-height: 40px; }
	.single-post .p-articleHead.c-postTitle { padding-top: 16px; margin-bottom: 16px; }
	.single-post .p-articleMetas.-top { margin-bottom: 28px !important; }
	.single-post .c-postTitle { gap: 16px; }
	.single-post .c-postTitle__date .__md { font-size: 22px; }
	.single-post .c-postTitle__ttl { font-size: 21px; padding-left: 16px; }
	.single-post .p-articleThumb { margin-bottom: 36px; }
	.single-post .post_content { font-size: 15px; }
	.post_content .kar-postCta { margin-top: 56px !important; padding: 36px 20px 40px; }
	.post_content .kar-postCta__ttl { font-size: 20px; }
	.post_content .kar-postCta__btns a { min-width: 0; width: 100%; }
	.p-pnLinks { gap: 12px; }
	.p-pnLinks__link { padding: 14px 16px !important; font-size: 13px; }
	.p-relatedPosts.-type-card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
}

/* =========================================================
   スマホ（〜959px）
   ========================================================= */
@media (max-width: 959px) {
	.kar-fv { grid-template-columns: 1fr 136px; min-height: 0; }
	.kar-fv__text { display: contents; }
	.kar-fv__en { display: none; }
	.kar-fv__slides { grid-column: 1; grid-row: 1; min-height: 520px; }
	.kar-fv__copy { grid-column: 2; grid-row: 1; height: auto; padding: 28px 0 0; margin: 0; gap: 14px; justify-content: center; }
	.kar-fv__copy span { font-size: 28px; letter-spacing: .12em; line-height: 1.4; }
	.kar-fv__copy span:nth-child(2) { padding-top: 30px; }
	.kar-fv__sub { grid-column: 1 / span 2; padding: 24px 16px 0; font-size: 13px; }
	.kar-fv__slides figcaption { padding: 10px 16px 0 16px; font-size: 12px; }
	.kar-fv__slides figcaption b { font-size: 16px; margin-right: 10px; }

	.kar-journal .p-postList.-type-card { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.kar-journal .p-postList__title { font-size: 13px !important; }
	.post_content .kar-head .kar-more { margin: 0 !important; width: 100%; }
	.post_content .kar-sec { padding: 72px 0; }
	.post_content .kar-sec--tight { padding: 64px 0 16px; }
	.kar-wrap { padding-left: 16px; padding-right: 16px; }
	.post_content .kar-label { font-size: 15px; }
	.post_content h2.kar-ttl { font-size: 22px; letter-spacing: .06em; }
	.post_content .kar-head { gap: 8px 12px; margin-bottom: 24px !important; }

	.post_content .kar-about { grid-template-columns: 1fr; gap: 40px; }
	.post_content .kar-about__photos { padding-bottom: 48px; }
	.post_content .kar-about__photos figure:nth-child(2) { width: 46%; border-width: 6px; }
	.post_content .kar-about p { font-size: 15px; line-height: 2; }
	.post_content .kar-points p.kar-point { font-size: 16px; gap: 16px; padding: 14px 0; flex-wrap: wrap; }
	.post_content .kar-point small { margin-left: 44px; width: 100%; }

	.post_content .kar-courses { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 32px; }
	.post_content .kar-course:nth-child(n) { grid-column: auto; margin-top: 0 !important; }
	.post_content .kar-course:nth-child(1), .post_content .kar-course:nth-child(4) { grid-column: 1 / span 2; }
	.post_content .kar-cpage__name { font-size: 18px; }
	.post_content .kar-cpage__name em { display: none; }
	.post_content .kar-cpage__desc { font-size: 13px; }
	.post_content .kar-course:nth-child(2) .kar-cpage__desc, .post_content .kar-course:nth-child(3) .kar-cpage__desc { display: none; }
	.post_content .kar-note { margin-top: 24px !important; font-size: 12px; }

	.post_content .kar-day table { font-size: 14px; }
	.post_content .kar-day thead { display: none; }
	.post_content .kar-day tr { display: grid; grid-template-columns: 48px 1fr; border-top: 1px solid var(--kar-line2); padding: 16px 0; }
	.post_content .kar-day tr:last-child { border-bottom: 1px solid var(--kar-line2); }
	.post_content .kar-day th, .post_content .kar-day td { border: 0 !important; padding: 4px 0; }
	.post_content .kar-day tbody th { grid-column: 1 / span 2; width: auto; font-size: 17px; padding-bottom: 8px; }
	.post_content .kar-day tbody th small { display: inline; margin-left: 10px; }
	.post_content .kar-day td::before { font-family: var(--kar-en); color: var(--kar-brown); }
	.post_content .kar-day td:nth-of-type(1)::before { content: "AM"; position: absolute; margin-left: -48px; }
	.post_content .kar-day td:nth-of-type(2)::before { content: "PM"; position: absolute; margin-left: -48px; }
	.post_content .kar-day td { grid-column: 2; position: relative; }

	.post_content .kar-wage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.post_content .kar-wage > .wp-block-group__inner-container > * { padding: 24px 0 20px 16px !important; border-bottom: 1px solid var(--kar-line); }
	.post_content .kar-wage > .wp-block-group__inner-container > *:nth-child(odd) { padding-left: 0 !important; border-left: 0; }
	.post_content .kar-wage > .wp-block-group__inner-container > *:nth-child(n+3) { border-bottom: 0; }
	.post_content .kar-wage__num { font-size: 38px; }
	.post_content .kar-wage__num small { font-size: 13px; }

	.post_content .kar-works { grid-template-columns: 1fr; gap: 24px; }
	.post_content .kar-works .wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px !important; }
	.post_content .kar-works .wp-block-gallery figure:nth-child(n+4) { display: none; }
	.post_content .kar-visit { grid-template-columns: 1fr; }
	.post_content .kar-visit > .wp-block-group__inner-container > figure { height: auto; }
	.post_content .kar-visit > .wp-block-group__inner-container > figure img { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
	.post_content .kar-visit__body { padding: 40px 16px 56px; }
	.post_content .kar-visit dl { grid-template-columns: 1fr; row-gap: 2px; font-size: 13px; }
	.post_content .kar-visit dt { margin-top: 10px; }
	.post_content .kar-btns .wp-block-button { width: 100%; }
	.post_content .kar-btns .wp-block-button__link { width: 100%; }
}
