/*
 * 日宅 宮古島店のサイト層 CSS（ONEstar／ONEsta 本体には手を入れない）。
 * 色はパレット（Brand.php）の CSS 変数を使う。
 * レスポンシブ：intrinsic（折り返し・auto-fit）を基本にし、幅で変える所は region の container query を使う。viewport の @media は使わない。
 *
 * 1. 本文の幅（alignwide）
 * 2. ヘッダー
 * 3. フッター
 * 4. トップページ
 * 5. 共通（ボタン・リンク）
 */

/* ---------- 0. 書体 ----------
 * 見出し・ナビ・ボタン・飾りの文字は丸ゴシック（旧サイトの筑紫A丸ゴシックの代わり。Brand::ROUND_FONT）。本文はテーマの書体のまま。 */
:root {
	--jjc-font-round: var(--wp--preset--font-family--jjc-round, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif);
}

:where(h1, h2, h3, h4, h5, h6),
.wp-block-heading,
.wp-element-button,
.jjcHeader .wp-block-navigation,
.jjcTel,
.jjcHours,
.jjcFooterCatch,
.jjcFooterPill,
.jjcTags,
.jjcFooterHeading,
.jjcCheckList,
.jjcSearchLead {
	font-family: var(--jjc-font-round);
}

/* ---------- 1. 本文の幅 ----------
 * ONEstar は main の子をすべて本文幅（768px）にそろえる。alignwide の部品（物件一覧・検索など）は
 * 広い幅（theme.json の wideSize）まで使えるようにする。 */
.onestarTemplateMain > .alignwide {
	inline-size: min(100%, var(--wp--style--global--wide-size, 1200px));
	max-inline-size: var(--wp--style--global--wide-size, 1200px);
}

/* ---------- 2. ヘッダー ----------
 * PC（ヘッダーの中身が 1200px 取れる幅＝onestarSiteHeader が 74.9rem 以上）：旧サイト style.css の #header・#nav の寸法をそのまま写す。
 *   上 18px、高さ 140px（左：ロゴ 440×70 と家・木 410×40、右：電話 342×80 とお問い合わせ 342×40 を下から 10px）、ナビ 58px。
 * それより狭い幅：ロゴとメニューボタンを 1 行目、お問い合わせを 2 行目（旧サイトのスマホ版に近い並び）。
 * 外側の .jjcHeader が Navigation Shell の container（onestarSiteHeader）なので、並べ方は内側の .jjcHeaderInner に付ける。 */
:root .jjcHeader {
	--jjc-header-pad: max(var(--onestar-gutter, 1rem), calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2));

	padding-block: 0;
	padding-inline: var(--jjc-header-pad);
	background: var(--wp--preset--color--background, #fff);
}

/* スマホ用の帯（.jjcTopText）が先頭に入ったので、内側の段に WordPress の「縦の間隔」が付かないようにする */
:root .jjcHeader > .jjcHeaderInner {
	margin-block: 0;
}

.jjcHeaderInner {
	row-gap: var(--wp--preset--spacing--20, 0.75rem);
	padding-block: var(--wp--preset--spacing--20, 0.75rem);
}

:root .jjcHeaderInner > *,
:root .jjcHeaderBrand > *,
:root .jjcTels > *,
:root .jjcHeaderContact > * {
	margin-block: 0;
}

.jjcHeaderBrand {
	flex: 0 1 27.5rem;
	min-inline-size: 0;
}

.jjcHeader .jjcHeaderLogo img {
	inline-size: 100%;
	block-size: auto;
}

/* 家と木のイラスト。PC だけ、ロゴの下・ナビの帯の上に載せる */
.jjcHeader .jjcHeaderHouses {
	display: none;
	margin: 0;
}

/* 旧サイトの #header_bg（basic-nittaku.png の -791px -522px から 410×40 を切り出したもの）。下端はグローバルメニューの上端にそのまま接する */
.jjcHeader .jjcHeaderHouses img {
	display: block;
	inline-size: 410px;
	max-inline-size: 100%;
	block-size: auto;
}

.jjcHeaderContact {
	flex: 1 1 100%;
	gap: var(--wp--preset--spacing--20, 0.75rem) var(--wp--preset--spacing--30, 1rem);
	align-items: center;
}

/* 電話番号の一覧（見出し・▶・番号）。段落を透過して、見出しの文字と番号を 2 列にそろえる */
.jjcTels {
	display: grid;
	grid-template-columns: max-content max-content;
	align-items: baseline;
	justify-content: end;
	gap: 0 0.25rem;
	padding-inline-start: 50px;
	background: url("icons/icon-phone.png") 2px 9px / 43px auto no-repeat;
}

.jjcTels .jjcTel {
	display: contents;
}

.jjcTels .jjcHours {
	grid-column: 1 / -1;
}

.jjcTel {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.5rem;
	color: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
	font-size: 15px;
	letter-spacing: 0.16em;
	line-height: 1.3;
}

.jjcTel a {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	color: var(--wp--preset--color--jjc-pink, var(--jjc-c-pink2, #d90f52));
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-decoration: none;
	white-space: nowrap;
}

/* ▶（紺） */
.jjcTel a::before {
	content: "";
	inline-size: 0;
	block-size: 0;
	border-block: 0.4em solid transparent;
	border-inline-start: 0.6em solid var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
}

.jjcHours {
	color: #000;
	font-size: 13px;
	letter-spacing: 0.08em;
	white-space: pre-wrap;
}

/* お問い合わせボタン（ピンク・角丸 6px・封筒のアイコン） */
.jjcCta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	border-radius: 6px;
	background: var(--wp--preset--color--jjc-pink, var(--jjc-c-pink2, #d90f52));
	color: #fff;
	font-size: 22px;
	letter-spacing: 0.25em;
}

.jjcCta .wp-block-button__link::before {
	content: "";
	inline-size: 33px;
	block-size: 23px;
	background: url("icons/icon-mail.png") center / contain no-repeat;
}

/* PC 版の幅になるまでは、メニューボタン（ドロワー）。ONEsta の既定（48rem）を、この幅まで延ばす */
@container onestarSiteHeader (inline-size < 74.9rem) {
	.jjcHeader .onesta-nav:not(.onesta-nav--drawer-always) {
		--onesta-nav-mode: drawer;
		--onesta-nav-control-display: inline-flex;
		--onesta-nav-drawer-display: none;
		--onesta-nav-sheet-display: block;

		min-inline-size: 44px;
	}
}

/* スマホ幅：電話番号の一覧と営業時間はフッターに任せ、お問い合わせボタンを幅いっぱいに */
@container onestarSiteHeader (inline-size < 40rem) {
	.jjcHeaderContact .jjcTels {
		display: none;
	}

	.jjcHeaderContact .jjcCta,
	.jjcHeaderContact .jjcCta .wp-block-button,
	.jjcHeaderContact .jjcCta .wp-block-button__link {
		flex: 1 1 100%;
		inline-size: 100%;
		box-sizing: border-box;
	}

	.jjcHeaderContact .jjcCta .wp-block-button__link {
		font-size: 18px;
	}
}

@container onestarSiteHeader (40rem <= inline-size < 74.9rem) {
	.jjcHeaderContact {
		flex: 0 1 auto;
		margin-inline-start: auto;
	}
}

/* PC 版（旧サイトの寸法） */
@container onestarSiteHeader (inline-size >= 74.9rem) {
	:root .jjcHeaderInner {
		display: grid;
		grid-template-columns: 440px minmax(0, 1fr) 342px;
		grid-template-rows: 140px 58px;
		gap: 0;
		align-items: stretch;
		padding-block: 18px 0;
	}

	:root .jjcHeaderInner > .jjcHeaderBrand {
		grid-area: 1 / 1;
		position: relative;
	}

	:root .jjcHeaderInner .jjcHeaderLogo,
	:root .jjcHeaderInner .jjcHeaderLogo a,
	:root .jjcHeaderInner .jjcHeaderLogo img {
		display: block;
		inline-size: 440px;
		block-size: 70px;
		margin: 0;
	}

	:root .jjcHeaderInner .jjcHeaderHouses {
		display: block;
		position: absolute;
		inset-block-end: 0;
		inset-inline-start: 0;
	}

	:root .jjcHeaderInner > .jjcHeaderContact {
		grid-area: 1 / 3;
		display: grid;
		grid-template-rows: 80px 40px;
		align-self: end;
		inline-size: 342px;
		gap: 0;
		margin: 0 0 10px;
	}

	:root .jjcHeaderInner .jjcTels {
		grid-auto-rows: 19px;
		align-content: start;
		justify-content: start;
		gap: 0 4px;
		line-height: 19px;
	}

	:root .jjcHeaderInner .jjcTel a {
		line-height: 19px;
	}

	:root .jjcHeaderInner .jjcTels .jjcHours {
		margin-inline-start: -32px;
		padding-block-start: 2px;
		line-height: 18px;
	}

	:root .jjcHeaderInner .jjcCta,
	:root .jjcHeaderInner .jjcCta .wp-block-button {
		display: block;
		inline-size: 342px;
		margin: 0;
	}

	:root .jjcHeaderInner .jjcCta .wp-block-button__link {
		display: flex;
		inline-size: 342px;
		block-size: 40px;
		padding: 0;
		line-height: 40px;
	}

	/* ナビ：高さ 58px、項目幅 150px／100px（旧サイトの nav-link-l／nav-link-s）、白 14px、中央。帯は画面の端まで */
	:root .jjcHeaderInner > .wp-block-navigation {
		grid-area: 2 / 1 / 3 / -1;
		block-size: 58px;
		margin: 0;
		border-image: linear-gradient(var(--wp--preset--color--primary, var(--jjc-c-navy, #243684)), var(--wp--preset--color--primary, var(--jjc-c-navy, #243684))) fill 0 / 0 / 0 100vw;
		color: #fff;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container {
		display: flex;
		flex-wrap: nowrap;
		gap: 0;
		inline-size: 1200px;
		justify-content: flex-start;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item {
		flex: 0 0 150px;
		justify-content: center;
		transition: opacity 0.3s;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:is(:nth-child(5), :nth-child(8), :nth-child(9)) {
		flex-basis: 100px;
	}

	/* ほかの項目を薄くして、指している項目を目立たせる（旧サイトと同じ） */
	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container:hover > .wp-block-navigation-item {
		opacity: 0.5;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:hover {
		opacity: 1;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: center;
		inline-size: 100%;
		block-size: 58px;
		padding: 0;
		color: #fff;
		font-size: 14px;
		letter-spacing: 0.1em;
		text-align: center;
	}

	/* 子メニュー：#525b80・項目 58px・黄色の区切り線 */
	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__submenu-container {
		min-inline-size: 150px;
		inline-size: 150px;
		padding: 0;
		border-radius: 0;
		background: #525b80;
		box-shadow: none;
		transform: none;
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
		border-block-start: 1px solid var(--wp--preset--color--jjc-yellow, #ffe300);
	}

	:root .jjcHeaderInner > .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		justify-content: center;
		inline-size: 100%;
		block-size: 58px;
		padding: 0;
		color: #fff;
		font-size: 14px;
	}
}

/* ---------- 3. フッター ----------
 * PC（onestarSiteFooter が 74.9rem 以上）：旧サイト style.css の #footer・#footer_content・#img_staff_pic・#btn_footer_tel・#copyright をそのまま写す。
 *   上に 20px の #BCCBDF、面は #E4EAF3、本の形の画像 1200×378 を 37px 上へ重ね、スタッフ写真を左 0・上 78px、
 *   「24時間メール相談」326×54 を右 64px・上 168px、下に 50px、コピーライト 76px。
 * それより狭い幅：本の画像を幅いっぱいに縮め、スタッフ写真・ボタン・電話・リンクを縦に並べる。 */
:root .jjcFooter {
	margin-block-start: 60px;
	padding-block: 0;
	padding-inline: max(var(--onestar-gutter, 1rem), calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2));
	border-block-start: 20px solid var(--wp--preset--color--jjc-pale-dark, var(--jjc-c-line2, #bccbdf));
	background: var(--wp--preset--color--jjc-pale, var(--jjc-c-pale2, #e4eaf3));
}

:root .jjcFooter > *,
:root .jjcFooterInner > *,
:root .jjcFooterBook > *,
:root .jjcFooterContact > *,
:root .jjcFooterLinks > * {
	margin-block: 0;
}

/* フッターの外枠（template part）には WordPress の縦の間隔を付けない（本文との間は旧サイトと同じ 60px だけ） */
:root .wp-site-blocks > footer:has(> .jjcFooter) {
	margin-block-start: 0;
}

.jjcFooterInner {
	padding-block-end: 50px;
}

.jjcFooterBook {
	position: relative;
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--30, 1rem);
}

.jjcFooterBookImage {
	inline-size: 100%;
	margin: 0;
}

.jjcFooterBookImage img,
.jjcFooterStaff img {
	display: block;
	inline-size: 100%;
	block-size: auto;
}

.jjcFooterStaff {
	inline-size: min(100%, 324px);
}

.jjcFooterMail .wp-block-button__link {
	inline-size: min(100%, 326px);
	block-size: 54px;
	box-sizing: border-box;
	padding: 0;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.12em;
}

.jjcFooterColumns {
	gap: var(--wp--preset--spacing--40, 1.5rem);
	align-items: flex-start;
	margin-block-start: var(--wp--preset--spacing--40, 1.5rem);
	padding-block-start: var(--wp--preset--spacing--40, 1.5rem);
	border-block-start: 1px solid var(--wp--preset--color--jjc-pale-dark, var(--jjc-c-line2, #bccbdf));
}

.jjcFooterContact,
.jjcFooterLinks {
	flex: 1 1 16rem;
}

.jjcFooterHeading {
	margin-block-end: 0.5rem;
	color: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
	font-weight: 700;
}

.jjcFooterNav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
}

/* コピーライト：高さ 76px・#243684・白 15px・中央（旧サイト #copyright） */
:root .jjcFooterCredit {
	margin-inline: 0;
	padding: 0;
	border-image: linear-gradient(var(--wp--preset--color--primary, var(--jjc-c-navy, #243684)), var(--wp--preset--color--primary, var(--jjc-c-navy, #243684))) fill 0 / 0 / 0 100vw;
	color: #fff;
	text-align: center;
}

:root .jjcFooterCredit p {
	margin: 0;
	font-size: 15px;
	letter-spacing: 0.1em;
	line-height: 76px;
}

@container onestarSiteFooter (inline-size >= 74.9rem) {
	/* WordPress の「最初の子は上余白 0」（:root :where(.is-layout-flow) > :first-child）より強くする */
	:root .jjcFooter .jjcFooterBook {
		display: block;
		block-size: 378px;
		margin-block-start: -37px;
	}

	:root .jjcFooterBook > .jjcFooterBookImage {
		position: absolute;
		inset: 0;
		inline-size: 1200px;
		block-size: 378px;
	}

	:root .jjcFooterBook > .jjcFooterStaff {
		position: absolute;
		inset-block-start: 78px;
		inset-inline-start: 0;
		inline-size: 324px;
		block-size: 294px;
	}

	:root .jjcFooterBook > .jjcFooterMail {
		position: absolute;
		inset-block-start: 168px;
		inset-inline-end: 64px;
		inline-size: 326px;
	}

	:root .jjcFooterBook > .jjcFooterMail .wp-block-button,
	:root .jjcFooterBook > .jjcFooterMail .wp-block-button__link {
		inline-size: 326px;
	}

	/* 旧サイトの PC 版には電話番号とリンクの段は無い（ヘッダーとナビにある） */
	:root .jjcFooterColumns {
		display: none;
	}
}

/* ---------- 4. トップページ ----------
 * 旧サイトの並び：黄色の帯（3 枚が切り替わる案内・お知らせと動画）→ 屋根の形の「物件を探す」→ 物件の種類と検索 → 淡い青の帯の物件一覧。 */
.jjcFront {
	padding-block-start: 0;
}

/* 画面には出さず、読み上げと検索エンジンには届ける（ページの H1） */
.jjcVisuallyHidden {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* グリッドや横並びの子には、WordPress の「縦の間隔」（2 つ目以降の上余白）を付けない。
 * WordPress の規則（:root :where(.is-layout-flow) > *）より強くするため :root を付ける。 */
:root :is(.jjcNews, .jjcNewsBox) > * {
	margin-block: 0;
}

/* 黄色の帯・屋根・物件一覧の帯は隙間なくつなげる */
:root .jjcFront > :is(.jjcHero, .jjcSearchIntro, .jjcResults, .wp-block-template-part) {
	margin-block: 0;
}

/* ---------- 黄色の帯（旧サイト #bg_frontpage-1：スライダー 1200×346 とお知らせ・動画） ----------
 * 帯の色は店の色 --jjc-store-accent（店舗設定 colors.accent。宮古 #FFE300・石垣 #60D3D7。Plugin::enqueue が :root に出す） */
.jjcHero {
	padding-block: 0 20px;
	background: var(--jjc-store-accent, #ffe300);
	color: #000;
}

/* スライダー：旧サイトの画像（1504×346）を 1200×346 の枠の中央に。旧サイトと同じく 3 秒ごとに 0.4 秒のフェード */
:root .jjcHero > .jjcSliderWrap {
	margin-block: 0;
	overflow: hidden;
}

.jjcSlider .splide__slide {
	background: var(--jjc-store-accent, #ffe300);
}

:root .jjcSlideImage {
	margin: 0;
	aspect-ratio: 1200 / 346;
	overflow: hidden;
}

.jjcSlideImage a {
	display: block;
	block-size: 100%;
}

.jjcSlideImage img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center top;
}

/* お知らせ（左 30%）と動画（右 65%）。旧サイト #top_infomation・#top_topics_list・#top_notice */
:root .jjcHero > .jjcNews {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px 5%;
	margin-block: 20px 0;
}

.jjcNewsBox {
	position: relative;
	flex: 0 1 30%;
	min-inline-size: min(100%, 18rem);
	padding-block-start: 14px;
}

/* 見出し「お知らせ」：左 95px・行の高さ 36px・1.6em 太字。シーサーを左上 30px に重ねる */
:root .jjcNewsHeading {
	display: block;
	margin-block-end: 0;
}

.jjcNewsShisa {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 30px;
	z-index: 1;
	margin: 0;
}

.jjcNewsShisa img {
	display: block;
	inline-size: 46px;
	block-size: 56px;
}

:root .jjcNewsTitle {
	margin: 0 0 0 95px;
	color: #000;
	font-family: inherit;
	font-size: 20.8px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 36px;
}

/* 白い角丸の札：日付 20%（11.2px・太字）と題名 80%（13px）。中身はお知らせ（投稿タイプ topics）の新しい 5 件（クエリーループ） */
:root .jjcNewsList {
	margin: 0;
}

.jjcNewsList .wp-block-post-template {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* クエリーループの li に付く「間の余白」（is-layout-flow）は使わない。間は gap の 5px（旧サイト .whitebox の下 5px） */
:root .jjcNewsList .wp-block-post-template > li {
	margin: 0;
}

.jjcNewsList .wp-block-post-template > li {
	display: flex;
	flex-wrap: wrap;
	padding: 0 1.5em;
	border-radius: 18px;
	background: #fff;
	color: #000;
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.4rem;
}

:root .jjcNewsList .jjcNewsDate {
	margin: 0;
	order: -1;
	flex: 0 0 20%;
	box-sizing: border-box;
	padding: 15px 0 10px;
	color: #000;
	font-size: 0.7rem;
	font-weight: 900;
}

:root .jjcNewsList .jjcNewsPostTitle {
	flex: 0 0 80%;
	box-sizing: border-box;
	margin: 0;
	padding: 15px 5px;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
}

.jjcNewsPostTitle a {
	color: #000;
	text-decoration: none;
}

.jjcNewsPostTitle a:hover,
.jjcNewsPostTitle a:focus-visible {
	text-decoration: underline;
}

.jjcVideo {
	flex: 0 1 65%;
	min-inline-size: min(100%, 20rem);
	padding-block-start: 14px;
}

:root .jjcVideo > * {
	margin-block: 0;
}

:root .jjcVideo > .jjcVideoEmbed {
	margin: 0 0 16px;
}

.jjcVideoMore {
	margin: 0;
	text-align: center;
}

/* 「その他のお役立ち動画はこちら！」：幅 80%・高さ 50px・角丸 30px・白の点線・24px 極太・#073B87 */
.jjcVideoMore a {
	display: block;
	inline-size: 80%;
	min-block-size: 50px;
	margin-inline: auto;
	padding: 0.35rem 1rem;
	border: 2px dashed #fff;
	border-radius: 30px;
	box-sizing: border-box;
	color: var(--jjc-c-blue, #073b87);
	font-size: clamp(16px, 1rem + 1vw, 24px);
	font-weight: 900;
	letter-spacing: 0.05em;
	line-height: 1.35;
	text-decoration: none;
	transition: all 0.3s;
}

.jjcVideoMore a:hover,
.jjcVideoMore a:focus-visible {
	border-style: solid;
	background: rgb(255 255 255 / 30%);
}

/* ---------- 「物件を探す」の屋根（旧サイト #bg_frontpage-2：高さ 304px・画像を下中央） ---------- */
.jjcSearchIntro {
	position: relative;
	min-block-size: 304px;
	background: var(--jjc-store-accent, #ffe300);
	overflow: hidden;
}

:root .jjcSearchIntro > .jjcRoofImage {
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 50%;
	inline-size: 1504px;
	max-inline-size: none;
	margin: 0;
	translate: -50% 0;
}

.jjcRoofImage img {
	display: block;
	inline-size: 1504px;
	max-inline-size: none;
	block-size: 304px;
}

/* Facebook の吹き出し：屋根の右上（旧サイト .btn-fb：1200px の中で top 45px・right 20px・120×120） */
:root .jjcSearchIntro > .jjcFacebook {
	position: absolute;
	z-index: 1;
	inset-block-start: 45px;
	inset-inline-end: max(20px, calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2 + 20px));
	inline-size: 120px;
	margin: 0;
}

.jjcFacebook a {
	display: block;
}

.jjcFacebook img {
	display: block;
	inline-size: 120px;
	block-size: 120px;
}

/* トップの物件検索（jjc/top-search）：旧サイト #top_search と同じく、屋根に 34px 食い込ませる。
 * 屋根の画像（上の黄色の帯の中の position: absolute の画像）より前に出す（後ろだと「※ 下のアイコンを…」と「エリアから探す」が画像に隠れる） */
:root .jjcFront > .jjc-top-search {
	position: relative;
	z-index: 1;
	margin-block: -34px 0;
}

/* ---------- 6. スマホ版 ----------
 * 旧サイトはスマホを User-Agent で見分けて別の作り（style-mobile.css・images-mob）にしていた。ここでは幅 48rem 未満をスマホ版として、同じ並びと寸法に寄せる。
 *   ヘッダー：紺の帯「宮古島の賃貸・不動産情報サイト」24px → ロゴ 60%＋メニューの四角 10%（上下左右 10px）
 *   黄色の帯（上下 5px）にスマホ用のスライド → 紺の見出しの帯「お知らせ」→ 一覧 → 物件を探す（jjc/top-search）→「お役立ち動画」
 *   フッター：紺の面に白い箱 2 つ（メール相談・ロゴと電話）とコピーライト
 * PC 版にしか無いもの（屋根・Facebook・本の形の画像・シーサー）は出さず、スマホ版にしか無いものは PC で出さない。 */
.jjcTopText,
.jjcSlideImageSp,
.jjcSpBand,
.jjcFooterServices,
.jjcFooterLogo {
	display: none;
}

@container onestarViewport (inline-size < 48rem) {
	/* ヘッダーとフッターの外枠は、自分自身が container なので幅は onestarViewport で見る */
	:root .jjcHeader {
		padding-inline: 0;
	}

	:root .jjcFooter {
		margin-block-start: 0;
		padding: 30px 0 0;
		border-block-start: 0;
		background: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
		color: #fff;
		text-align: center;
	}

	/* 旧サイトのスマホ版の本文は 15px・字間なし */
	body {
		font-size: 15px;
		letter-spacing: normal;
	}

	:root .jjcFront {
		display: flex;
		flex-direction: column;
	}

	/* 黄色の帯とお知らせ・動画の箱をほどいて、旧サイトの順（スライド → お知らせ → 物件を探す → 動画）に並べ直す */
	:root .jjcFront > .jjcHero,
	:root .jjcHero > .jjcNews {
		display: contents;
	}

	:root .jjcFront > *,
	:root .jjcHero > *,
	:root .jjcNews > * {
		order: 5;
		margin-block: 0;
	}

	:root .jjcFront > .jjcSearchIntro {
		display: none;
	}

	:root .jjcHero > .jjcSliderWrap {
		order: 1;
		inline-size: 100%;
		max-inline-size: none;
		min-block-size: 160px;
		margin: 0;
		padding: 5px 0;
		box-sizing: border-box;
		background: var(--jjc-store-accent, #ffe300);
	}

	:root .jjcNews > .jjcNewsBox {
		order: 2;
	}

	:root .jjcFront > .jjc-top-search {
		order: 3;
		margin-block: 0;
	}

	:root .jjcNews > .jjcVideo {
		order: 4;
	}

	/* スライド：スマホ用の画像（幅いっぱい・高さ 130px 前後）、枠は 150px */
	.jjcSlider {
		min-block-size: 150px;
	}

	:root .jjcSlideImage {
		display: none;
	}

	:root .jjcSlideImageSp {
		display: block;
		margin: 0;
	}

	.jjcSlideImageSp a,
	.jjcSlideImageSp img {
		display: block;
		inline-size: 100%;
		block-size: auto;
	}

	/* 紺の見出しの帯（旧サイト .mob_heading：18px 太字・白・上下 1em） */
	:root .jjcNewsTitle,
	:root .jjcVideo > .jjcSpBand {
		display: block;
		margin: 0;
		padding: 1em 0;
		background: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
		color: #fff;
		font-family: inherit;
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 0.1em;
		line-height: 21px;
		text-align: center;
	}

	/* お知らせ（旧サイト #mob_top_topics・.topics_article：左右 10px、日付 28%・題名 72%） */
	:root .jjcNews > .jjcNewsBox,
	:root .jjcNews > .jjcVideo {
		flex: none;
		inline-size: 100%;
		min-inline-size: 0;
		padding: 0;
		background: #fff;
	}

	.jjcNewsShisa {
		display: none;
	}

	.jjcNewsList .wp-block-post-template {
		display: block;
		margin: 15px 10px 0;
	}

	.jjcNewsList .wp-block-post-template > li {
		padding: 0;
		border-radius: 0;
		background: none;
		font-size: 15px;
		letter-spacing: normal;
	}

	:root .jjcNewsList .jjcNewsDate {
		flex: 0 0 28%;
		padding: 0.5rem 0;
	}

	.jjcNewsDate br {
		display: none;
	}

	:root .jjcNewsList .jjcNewsPostTitle {
		flex: 0 0 72%;
		padding: 0.5rem 0;
	}

	.jjcNewsPostTitle a {
		color: #00e;
	}

	/* 動画（旧サイト .youtube・.to-video：幅いっぱい、下に 1rem、ボタンは幅 85%・高さ 50px・紺の点線） */
	:root .jjcNews > .jjcVideo {
		padding-block-end: 20px;
	}

	:root .jjcVideo > .jjcVideoEmbed {
		margin: 0 0 1rem;
	}

	.jjcVideoMore a {
		inline-size: 85%;
		min-block-size: 50px;
		padding: 0 0.5em;
		border-color: var(--jjc-c-blue, #073b87);
		background: rgb(36 54 132 / 10%);
		font-size: 1.05rem;
		letter-spacing: normal;
		line-height: 46px;
	}

	.jjcVideoMore a:hover,
	.jjcVideoMore a:focus-visible {
		background: rgb(36 54 132 / 30%);
	}
}

/* ヘッダー（旧サイト #top_text・#header .innerbox・#logo・#menu_icon） */
@container onestarSiteHeader (inline-size < 48rem) {
	:root .jjcHeader > .jjcTopText {
		display: block;
		block-size: 24px;
		margin: 0;
		padding: 0 0 0 0.6em;
		overflow: hidden;
		background: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
		color: #fff;
		font-size: 12px;
		line-height: 24px;
		white-space: nowrap;
	}

	/* 旧サイトはロゴの段が 375px 幅で 54px（line-height 0 で、メニューの四角 35px の下 1px が下の余白に重なる）。
	 * 高さは固定せず、下の余白を 9px にして同じ 54px にする（広い画面ではロゴと四角に合わせて伸びる） */
	:root .jjcHeaderInner {
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 0;
		padding: 10px 10px 9px;
	}

	:root .jjcHeaderInner > .jjcHeaderBrand {
		flex: 0 0 60%;
	}

	:root .jjcHeaderInner > .jjcHeaderContact {
		display: none;
	}

	:root .jjcHeaderInner > .wp-block-navigation {
		flex: 0 0 10%;
		min-inline-size: 0;
		margin: 0 0 0 auto;
	}

	/* メニューの四角（旧サイト images-mob/icon_menu.svg） */
	.jjcHeader .onesta-drawer-open {
		inline-size: 100%;
		min-inline-size: 0;
		block-size: auto;
		min-block-size: 0;
		aspect-ratio: 338.5 / 337.5;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: url("icons/icon-menu.svg") center / 100% 100% no-repeat;
		color: #000;
	}

	.jjcHeader .onesta-drawer-open svg {
		display: none;
	}

	/* メニューの中（旧サイト #nav a：18px・#2e458c・下線 #BDCBDF） */
	.jjcHeader .onesta-drawer .wp-block-navigation-item__content {
		display: block;
		padding: 1em;
		border-block-end: 1px solid var(--jjc-c-line2, #bdcbdf);
		color: var(--jjc-c-navy2, #2e458c);
		font-size: 18px;
		text-decoration: none;
	}
}

/* フッター（旧サイト #footer・.footer_box・#copyright） */
@container onestarSiteFooter (inline-size < 48rem) {
	:root .jjcFooterInner {
		padding: 0;
	}

	/* 白い箱（左右 30px・内側 16px・角丸 4px） */
	:root .jjcFooterInner > .jjcFooterBook,
	:root .jjcFooterInner > .jjcFooterColumns {
		display: block;
		justify-items: normal;
		margin: 0 30px 30px;
		padding: 16px;
		border: 0;
		border-radius: 4px;
		background: #fff;
		color: #222;
	}

	:root .jjcFooterBook > .jjcFooterBookImage,
	:root .jjcFooterBook > .jjcFooterStaff,
	:root .jjcFooterColumns > .jjcFooterLinks,
	:root .jjcFooterContact > .jjcFooterHeading,
	:root .jjcFooterContact > .jjcHours {
		display: none;
	}

	/* 「24時間メール相談」（旧サイト btn_mailform.png を CSS で） */
	:root .jjcFooterBook > .jjcFooterMail {
		margin: 0 0 10px;
	}

	:root .jjcFooterMail .wp-block-button,
	:root .jjcFooterMail .wp-block-button__link {
		inline-size: 100%;
	}

	:root .jjcFooterMail .wp-block-button__link {
		block-size: 36px;
		gap: 12px;
		border-radius: 2px;
		font-size: 19px;
		letter-spacing: 0.1em;
	}

	.jjcFooterMail .wp-block-button__link::before {
		inline-size: 24px;
		block-size: 17px;
	}

	/* 「土地建物・賃貸・不動産投資など」と人の絵、紺の札 2×2（旧サイト bg_toppage_footer.png を CSS で） */
	:root .jjcFooterBook > .jjcFooterServices {
		display: grid;
		grid-template-columns: auto 151px;
		align-items: center;
		justify-content: space-between;
		gap: 8px 4px;
	}

	:root .jjcFooterServices > * {
		margin: 0;
	}

	.jjcFooterServicesLead {
		grid-column: 1 / -1;
		color: #222;
		font-size: 11.5px;
		font-weight: 700;
		letter-spacing: 0.25em;
		line-height: 1.4;
	}

	:root .jjcFooterServices > .jjcFooterPeople {
		margin-inline-start: 8px;
	}

	.jjcFooterPeople img {
		display: block;
		inline-size: 71px;
		block-size: auto;
	}

	.jjcFooterPills {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 3px;
		padding: 0;
		list-style: none;
	}

	.jjcFooterPills li {
		padding-inline-start: 0.3em;
		border-radius: 2px;
		background: var(--jjc-c-blue, #073b87);
		color: #fff;
		font-size: 11.5px;
		letter-spacing: 0.3em;
		line-height: 21px;
		text-align: center;
	}

	/* ロゴと電話 3 本（旧サイト icon-tel-*6.png を CSS で：紺の矢印の札＋ピンクの番号） */
	:root .jjcFooterContact > .jjcFooterLogo {
		display: block;
		margin: 0;
	}

	.jjcFooterLogo img {
		display: block;
		inline-size: 100%;
		block-size: auto;
	}

	:root .jjcFooterContact > .jjcTel {
		position: relative;
		isolation: isolate;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 6px;
		block-size: 31px;
		margin: 15px 0 0;
		padding-inline-start: 5px;
		color: #fff;
		font-size: 9.5px;
		font-weight: 500;
		letter-spacing: 0.02em;
		line-height: 1.2;
		text-align: start;
		white-space: nowrap;
	}

	:root .jjcFooterContact > .jjcTel::before {
		content: "";
		position: absolute;
		inset: 0 auto 0 0;
		z-index: -1;
		inline-size: 35%;
		background: var(--jjc-c-blue, #073b87);
		clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
	}

	:root .jjcFooterContact > .jjcTel a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 63%;
		block-size: 31px;
		border-radius: 2px;
		background: var(--wp--preset--color--jjc-pink, var(--jjc-c-pink2, #d90f52));
		color: #fff;
		font-size: 20px;
		letter-spacing: 0.05em;
	}

	:root .jjcFooterContact > .jjcTel a::before {
		display: none;
	}

	/* コピーライト（上に 1px の #2E458C、上下 1em） */
	:root .jjcFooterCredit {
		padding: 1em 0;
		border-block-start: 1px solid var(--jjc-c-navy2, #2e458c);
	}

	:root .jjcFooterCredit p {
		font-size: 15px;
		letter-spacing: normal;
		line-height: 24px;
	}
}

/* ---------- 7. パンくず ----------
 * 旧サイトにはどのページにもパンくずが無いので、ONEsta のパンくずは画面に出さない（2026-10-31 マッキーさん決定）。 */
.onesta-breadcrumb {
	display: none;
}

/* ---------- 8. お役立ち情報（旧サイト #top_oyakudachi：見出し 987×143 を 40px 上へ重ね、3 列 33%・間に #bdcbdf の線） ---------- */
:root .jjcFront > .jjcUseful {
	position: relative;
	margin-block: 0;
	padding: 0 0 20px;
	background: #fff;
}

/* 本の形の上端（旧サイトの見出し画像の上 46px） */
.jjcUseful::before {
	content: "";
	position: absolute;
	inset: -20px 0 auto;
	block-size: 46px;
	background: url("images/useful-wave.png") center top / 100% 46px no-repeat;
	pointer-events: none;
}

/* 見出し：左にドア、右に「お役立ち情報」と「お部屋や土地の知識が付く！」 */
:root .jjcUseful > .jjcUsefulHead {
	position: relative;
	display: grid;
	grid-template-columns: 45px auto;
	grid-template-rows: auto auto;
	justify-content: center;
	align-content: end;
	column-gap: 12px;
	block-size: 123px;
	margin: 0 auto 60px;
	padding-block-end: 2px;
}

.jjcUsefulHead::before {
	content: "";
	grid-row: 1 / 3;
	grid-column: 1;
	align-self: end;
	inline-size: 45px;
	block-size: 66px;
	background: url("images/useful-door.png") no-repeat;
}

:root .jjcUsefulHead > * {
	grid-column: 2;
	margin: 0;
}

:root .jjcUsefulTitle {
	color: #000;
	font-family: var(--jjc-font-round);
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

:root .jjcUsefulLead {
	color: #000;
	font-family: var(--jjc-font-round);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3em;
	line-height: 1.6;
}

:root .jjcUseful > .jjcUsefulCols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	inline-size: min(100%, var(--wp--style--global--wide-size, 1200px));
	max-inline-size: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
}

:root .jjcUsefulCol {
	margin: 0;
	border-inline-end: 1px solid var(--jjc-c-line2, #bdcbdf);
	color: #000;
	letter-spacing: 1.3px;
	text-align: center;
}

:root .jjcUsefulCol:last-child {
	border-inline-end: 0;
}

:root .jjcUsefulCol > * {
	margin-block: 0;
}

/* 列の見出し：33px・下に 3px の線・右に丸い矢印（賃貸 #D18354・売買 #456C69・リフォーム #D24D8C） */
:root .jjcUsefulColTitle {
	margin: 0;
	font-family: inherit;
	font-size: 33px;
	font-weight: 400;
	line-height: 1;
}

.jjcUsefulColTitle a {
	position: relative;
	display: inline-block;
	margin-block-end: 14px;
	padding: 0 10px 8px;
	border-block-end: 3px solid;
	color: inherit;
	text-decoration: none;
}

.jjcUsefulColTitle a::after {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-end: -40px;
	inline-size: 33px;
	block-size: 33px;
	background: url("images/useful-arrow-chintai.png") no-repeat;
}

.jjcUsefulCol--chintai .jjcUsefulColTitle {
	color: #c97a4b;
}

.jjcUsefulCol--baibai .jjcUsefulColTitle {
	color: #456c69;
}

.jjcUsefulCol--reform .jjcUsefulColTitle {
	color: #d24d8c;
}

.jjcUsefulCol--baibai .jjcUsefulColTitle a::after {
	background-image: url("images/useful-arrow-baibai.png");
}

.jjcUsefulCol--reform .jjcUsefulColTitle a::after {
	background-image: url("images/useful-arrow-reform.png");
}

:root .jjcUsefulDesc {
	font-size: 13px;
	line-height: 1.8;
}

/* 記事：左に写真 88px（#999 の枠）、右に日付（#7F7F7F）と題名（15px 太字）、下に点線 */
:root .jjcUsefulCol > .jjcUsefulList {
	display: flow-root;
	margin: 5px 0 0;
	padding: 0;
	list-style: none;
}

:root .jjcUsefulList > li {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	grid-template-areas:
		"img date"
		"img title";
	align-content: start;
	column-gap: 16px;
	min-block-size: 108px;
	margin: 20px 30px;
	padding-block-end: 12px;
	border-block-end: 1px dotted #333;
	text-align: start;
}

.jjcUsefulList .wp-block-latest-posts__featured-image {
	grid-area: img;
	float: none;
	margin: 0;
}

.jjcUsefulList .wp-block-latest-posts__featured-image img {
	display: block;
	inline-size: 88px;
	max-inline-size: 88px;
	block-size: auto;
	aspect-ratio: 4 / 3;
	border: 1px solid #999;
	object-fit: cover;
}

.jjcUsefulList .wp-block-latest-posts__post-date {
	grid-area: date;
	display: block;
	margin-block-end: 0.2em;
	color: #6f6f6f;
	font-size: 13px;
	line-height: 1.6;
}

.jjcUsefulList .wp-block-latest-posts__post-title {
	grid-area: title;
	display: block;
	color: #000;
	font-size: 15px;
	font-weight: 700;
	line-height: 24px;
	text-decoration: none;
}

.jjcUsefulList .wp-block-latest-posts__post-title:hover,
.jjcUsefulList .wp-block-latest-posts__post-title:focus-visible {
	text-decoration: underline;
}

:root .jjcUsefulMore {
	margin: 0 30px 20px;
	font-size: 13px;
	font-weight: 700;
}

.jjcUsefulMore a {
	color: #000;
	font-size: 15px;
	text-decoration: none;
}

.jjcUsefulMore a:hover,
.jjcUsefulMore a:focus-visible {
	text-decoration: underline;
}

/* スマホ版：1 列に（旧サイトのスマホ版と同じ並び：紺の帯の見出し・左寄せの見出し） */
@container onestarViewport (inline-size < 48rem) {
	:root .jjcFront > .jjcUseful {
		order: 5;
		padding: 0;
	}

	.jjcUseful::before {
		display: none;
	}

	:root .jjcUseful > .jjcUsefulHead {
		display: block;
		block-size: auto;
		margin: 0;
		padding: 1em 0;
		background: var(--wp--preset--color--primary, var(--jjc-c-navy, #243684));
	}

	.jjcUsefulHead::before,
	:root .jjcUsefulLead {
		display: none;
	}

	:root .jjcUsefulTitle {
		color: #fff;
		font-family: inherit;
		font-size: 18px;
		letter-spacing: 0.1em;
		line-height: 21px;
		text-align: center;
	}

	:root .jjcUseful > .jjcUsefulCols {
		grid-template-columns: minmax(0, 1fr);
	}

	:root .jjcUsefulCol {
		border: 0;
	}

	:root .jjcUsefulColTitle {
		padding: 20px 15px 0;
		font-size: 26px;
		text-align: start;
	}

	:root .jjcUsefulList > li {
		margin: 15px;
	}
}

/* ---------- 9. 記事のページ（旧サイト single.php・single-topics.php・category.php、style-post.css） ----------
 * PC：右に本文 850px（#main）、左にメニュー 300px（#sidebar.post_and_page）。ヘッダーの下 46px から。 */
@font-face {
	font-family: "jjc-icons";
	src: url("fonts/font-awesome/jjc-icons.woff2") format("woff2");
	font-display: block;
}

:root :is(.jjcPostPage, .jjcPostArchive) {
	padding: 0;
}

:root .jjcPostPage > .jjcPostLayout {
	display: grid;
	grid-template-columns: 300px minmax(0, 850px);
	justify-content: space-between;
	align-items: start;
	margin: 0;
	inline-size: auto;
	max-inline-size: none;
	padding: 46px max(var(--onestar-gutter, 1rem), calc((100% - 1200px) / 2)) 0;
	font-size: 13px;
	letter-spacing: 1.3px;
}

:root .jjcPostLayout > .jjcPostMain {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	color: #000;
}

:root .jjcPostLayout > .jjcPostSideWrap {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
}

:root .jjcPostMain > * {
	margin-block: 0;
}

/* 見出しの枠（.page_header：点線・内側 30px）、カテゴリーは黄色の札を 10° 傾ける（.page_parent） */
:root .jjcPostMain > .jjcPostHeader {
	margin-block-end: 30px;
	padding: 30px;
	border: 1px dotted #ccc;
}

:root .jjcPostHeader > * {
	margin-block: 0;
}

:root .jjcPostCat {
	display: inline-block;
	margin-block-end: 20.4px;
	padding: 0.2em 0.6em 0.1em;
	background: #ffe300;
	color: var(--jjc-c-navy, #243684);
	font-size: 12px;
	font-weight: 900;
	line-height: 1.7;
	transform: rotate(350deg);
}

.jjcPostCat a {
	color: inherit;
	text-decoration: none;
}

:root .jjcPostHeader > .jjcPostTitle {
	margin-block-end: 16px;
	padding: 10px 0 6px 18px;
	border-block-end: 2px solid #dadada;
	color: #000;
	font-family: inherit;
	font-size: 22.88px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em; /* 旧テーマの h1 { letter-spacing: .1em } */
}

/* アイキャッチ（.eye_catch：幅 640px・薄い灰色の枠）。ONEsta が本文の先頭に入れる画像（.onestaFeaturedImageWrap）にも同じ枠を付ける */
:root :is(.jjcPostMain > .jjcPostEyecatch, .jjcPostContent > .onestaFeaturedImageWrap) {
	box-sizing: border-box;
	inline-size: 640px;
	max-inline-size: 100%;
	margin: 0 auto 20px;
	padding: 7px 8px;
	border: 1px solid #ddd;
	background: var(--jjc-c-pale, #f4f7f8);
	text-align: center;
}

:is(.jjcPostEyecatch, .jjcPostContent > .onestaFeaturedImageWrap) img {
	display: inline-block;
	inline-size: auto;
	max-inline-size: 100%;
	block-size: auto;
	vertical-align: top;
}

/* 本文（#mypost p・h2・h3・h4・ul・ol・table） */
:root .jjcPostContent {
	font-size: 13px;
	line-height: 1.6; /* 旧サイトの body と同じ（段落などはそれぞれ 1.7em） */
}

:root .jjcPostContent > * {
	margin-block: 0;
}

:root .jjcPostContent :is(p, dl, ul, ol, table) {
	margin: 0 0 1.7em;
	padding: 0;
	font-size: 16px;
	line-height: 1.7em;
}

:root .jjcPostContent ul {
	list-style-position: inside;
}

:root .jjcPostContent ol {
	margin-inline-start: 3em;
	list-style-position: outside;
}

:root .jjcPostContent ol li {
	margin-block-end: 0.5em;
	padding-inline-start: 0.4em;
}

:root .jjcPostContent dt {
	margin-block-start: 1.5em;
	font-weight: 900;
}

:root .jjcPostContent a {
	color: #07f;
	text-decoration: none;
}

:root .jjcPostContent a:hover,
:root .jjcPostContent a:focus-visible {
	text-decoration: underline;
}

:root .jjcPostContent :is(h1, h2, h3, h4) {
	display: block;
	inline-size: auto;
	max-inline-size: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #000;
	font-family: inherit;
	font-weight: 700;
	/* 旧テーマの style.css の h1〜h6 { letter-spacing: .1em }（見出しの文字の大きさの 0.1 倍） */
	letter-spacing: 0.1em;
	line-height: 1.6;
}

.jjcPostContent :is(h1, h2, h3, h4)::before,
.jjcPostContent :is(h1, h2, h3, h4)::after {
	content: none;
}

/* 旧サイトの記事には目次・シェアボタンが無い（ONEsta の自動目次・シェアボタンは出さない） */
:root .jjcPostContent > :is(.onesta-toc, .onesta-share) {
	display: none;
}

/* お知らせには、旧サイトと同じくアイキャッチを出さない */
:root .jjcTopicsPage .jjcPostContent > .onestaFeaturedImageWrap {
	display: none;
}

/* 本文の h5・h6：旧サイトのリセット（大きさ・太さ・余白なし）のまま。テーマの見出しの指定を外す（.contents_menu h5 など） */
:root .jjcPostContent :is(h5, h6) {
	margin: 0;
	border: 0;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
	letter-spacing: 0.1em;
}

/* 本文の h1（固定ページの .page_header の中）：旧サイトは太字にせず、上の余白なし（#mypost h1） */
:root .jjcPostContent h1 {
	margin: 0 0 16px;
	font-weight: 400;
}

:root .jjcPostContent h2 {
	margin: 0 0 16px;
	padding: 10px 0 6px 20px;
	background: #585e7e;
	color: #fff;
	font-size: 20.8px;
}

:root .jjcPostContent h3 {
	margin: 48px 0 16px;
	padding: 0 0 0 36px;
	background: url("images/post-h3.png") 0 0 no-repeat;
	font-size: 18.72px;
}

:root .jjcPostContent h4 {
	margin: 0 0 16px;
	padding: 0 0 0 12px;
	font-size: 16.64px;
}

:root .jjcPostContent img {
	max-inline-size: 100%;
	block-size: auto;
	vertical-align: top;
	/* 旧テーマの style.css の img { font-size: 1px }。本文の CSS の img の em（.flex div img の margin-bottom: 1em など）が 1px になる */
	font-size: 1px;
}

/* お知らせ（.cat_title・.topics_title・.topics_date・.topics_end） */
:root .jjcPostMain > .jjcTopicsCat {
	margin-block-end: 3em;
	padding: 0.5em 1em 0.4em;
	background: var(--jjc-c-pale, #f4f7f8);
	color: var(--jjc-c-blue, #073b87);
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

:root .jjcPostMain > .jjcTopicsTitle {
	margin-block-end: 0.5em;
	border-block-end: 1px dotted var(--jjc-c-blue, #073b87);
	color: var(--jjc-c-navy, #243684);
	font-family: inherit;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: inherit;
}

:root .jjcPostMain > .jjcTopicsDate {
	margin-block-end: 3em;
	color: #000;
	font-size: 13px;
	line-height: 1.6;
	text-align: end;
}

.jjcTopicsDate::after {
	content: " 掲載";
}

:root .jjcPostMain > .jjcTopicsEnd {
	inline-size: 360px;
	max-inline-size: 100%;
	margin: 0 auto 24px;
}

.jjcTopicsEnd img {
	display: block;
	inline-size: 100%;
	block-size: auto;
}

/* 左のメニュー（#sidebar.post_and_page：薄い青の地・白い箱・紺の文字・点線） */
:root .jjcPostSide {
	margin: 0;
	background: var(--jjc-c-pale, #f4f7f8);
	font-size: 13px;
	letter-spacing: 1.3px;
}

:root .jjcPostSide > * {
	margin-block: 0;
}

:root .jjcPostSide > .jjcPostSideMenu {
	block-size: 34px;
	margin-block-end: 15px;
	overflow: hidden;
	background: url("images/post-menu.png") 0 0 / 300px 34px no-repeat;
	color: transparent;
	line-height: 34px;
	user-select: none;
}

:root .jjcPostSide > .jjcPostSideHeading {
	padding: 0 15px 3px 25px;
	color: var(--jjc-c-navy, #243684);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
}

.jjcPostSideHeading a {
	padding: 0 15px 3px 0;
	color: inherit;
	text-decoration: none;
}

:root .jjcPostSide > .jjcPostSideBox {
	margin: 0 15px 15px;
	padding: 16px 16px 6px;
	border-radius: 5px;
	background: #fff;
}

:root .jjcPostSideBox ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

:root .jjcPostSideBox li {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
}

.jjcPostSideBox a {
	display: block;
	padding: 0.5em 0;
	color: var(--jjc-c-navy, #243684);
	font-weight: 900;
	text-decoration: none;
}

.jjcPostSideBox a:hover,
.jjcPostSideBox a:focus-visible {
	text-decoration: underline;
}

:root .jjcPostSideBox li ul {
	margin: 0 0 1.5em 0.5em;
}

:root .jjcPostSideBox li li,
:root .jjcPostSideFlat > li {
	margin-inline-start: 1em;
	border-block-end: 1px dotted #ccc;
	text-indent: -1em;
}

:root .jjcPostSideFlat > li {
	margin-inline-start: 1.5em;
}

:root .jjcPostSideBox li li:first-child {
	border-block-start: 1px dotted #ccc;
}

.jjcPostSideBox li li a,
.jjcPostSideFlat a {
	font-weight: 100;
}

/* アイコン（旧サイトの Font Awesome 4 と同じ字形・幅 1.28571429em） */
.jjcIcon > a::before {
	display: inline-block;
	inline-size: 1.28571429em;
	font-family: "jjc-icons";
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-indent: 0;
}

.jjcIcon-clock > a::before {
	content: "\f017";
}

.jjcIcon-calendar > a::before {
	content: "\f073";
}

.jjcIcon-refresh > a::before {
	content: "\f021";
}

.jjcIcon-plus > a::before {
	content: "\f0fe";
}

.jjcIcon-money > a::before {
	content: "\f0d6";
}

.jjcIcon-cubes > a::before {
	content: "\f1b3";
}

.jjcIcon-paw > a::before {
	content: "\f1b0";
}

.jjcIcon-warning > a::before {
	content: "\f071";
}

.jjcIcon-truck > a::before {
	content: "\f0d1";
}

.jjcIcon-archive > a::before {
	content: "\f187";
}

/* カテゴリーの一覧（#archive h1・.postArchive：4 列のカード・黄色の日付、ページ送り） */
:root .jjcPostArchive {
	padding-block-start: 46px;
	font-size: 13px;
	letter-spacing: 1.3px;
}

:root .jjcPostArchive > * {
	margin-block: 0;
}

:root .jjcPostArchive > .jjcPostArchiveTitle {
	color: var(--jjc-c-navy, #243684);
	font-family: inherit;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: inherit;
	text-align: center;
}

.jjcPostArchiveTitle::before {
	content: none;
}

/* 見出しの文字だけに点の地（旧サイトは span に付けている。ここでは中央寄せの inline-block の枠を作る） */
:root .jjcPostArchive > .jjcPostArchiveTitle {
	inline-size: fit-content;
	max-inline-size: calc(100% - 2 * var(--onestar-gutter, 1rem));
	margin-inline: auto;
	padding: 8px 16px;
	border-radius: 6px;
	background: url("images/dotted-lightblue.png") 0 0 repeat;
}

:root .jjcPostArchive > .jjcPostArchiveQuery {
	inline-size: auto;
	max-inline-size: none;
	margin: 0;
}

:root .jjcPostArchiveQuery > .jjcPostCards {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 50px 5%;
	padding: 0;
	list-style: none;
}

.jjcPostCards::before {
	content: "";
	order: 1;
	inline-size: 23%;
}

.jjcPostCards::after {
	content: "";
	inline-size: 23%;
}

:root .jjcPostCards > li {
	inline-size: 23%;
	margin: 0 0 15px;
	padding: 10px;
	border-radius: 3px;
	box-shadow: 0 0 5px rgb(0 0 0 / 0.2);
}

:root .jjcPostCards > li > * {
	margin-block: 0;
}

:root .jjcPostCards .jjcPostCardImage {
	margin: 0;
}

.jjcPostCardImage img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: auto 4 / 3;
}

:root .jjcPostCards .jjcPostCardDate {
	inline-size: 7rem;
	margin: 7px 0 5px;
	border-radius: 3px;
	background: #ffe300;
	color: #000;
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
}

:root .jjcPostCards .jjcPostCardTitle {
	color: var(--jjc-c-navy, #243684);
	font-family: inherit;
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 1.6;
	letter-spacing: inherit;
}

.jjcPostCardTitle a {
	color: inherit;
	text-decoration: none;
}

.jjcPostCardTitle a:hover,
.jjcPostCardTitle a:focus-visible {
	text-decoration: underline;
}

/* ページ送り：59×61 の白い札・影、今のページは #69A4DB */
:root .jjcPostPager {
	gap: 0;
	margin: 0;
	padding-block-end: 32px;
}

.jjcPostPager .page-numbers,
.jjcPostPager :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: block;
	margin: 0 20px 0 0;
	padding: 20px 25px;
	inline-size: auto;
	min-inline-size: 0;
	block-size: auto;
	min-block-size: 0;
	border: 0;
	border-radius: 3px;
	background: #fff;
	box-shadow: 0 3px 3px #999;
	color: #333;
	font-size: 13px;
	line-height: 1.6;
	text-decoration: none;
}

.jjcPostPager .page-numbers.current {
	background: #69a4db;
	color: #fff;
}

.jjcPostPager :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	color: #69a4db;
}

.jjcPostPager .page-numbers.dots {
	background: none;
	box-shadow: none;
}

:root .jjcPostPager {
	flex-wrap: wrap;
	row-gap: 12px;
}

/* ページが多くても折り返して、狭い画面で横にはみ出さない */
.jjcPostPager .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	row-gap: 12px;
	margin: 0;
}

/* ---------- 記事のページのスマホ版・狭い幅：1 列（本文の下にメニュー）、カードは 2 列→1 列 ---------- */
@container onestarViewport (inline-size < 1150px) {
	:root .jjcPostPage > .jjcPostLayout {
		display: flex;
		flex-direction: column;
		gap: 40px;
	}

	:root .jjcPostCards > li {
		inline-size: 48%;
	}

	.jjcPostCards::before,
	.jjcPostCards::after {
		inline-size: 48%;
	}
}

/* スマホ版（旧サイト style-post-mobile.css・style-mobile.css）：本文は内側 15px・15px の文字。メニューは旧サイトと同じく出さない（ヘッダーのメニューから） */
@container onestarViewport (inline-size < 48rem) {
	:root .jjcPostPage > .jjcPostLayout {
		display: block;
		padding: 0;
		font-size: 15px;
		letter-spacing: normal;
	}

	/* 旧サイトのスマホ版の #mypost（内側 15px）は、記事・お知らせでは見出し・アイキャッチ・本文をまとめて包んでいた。
	 * 固定ページは本文だけなので、本文（.jjcPostContent の内側 15px：post-content.css）がそのまま #mypost にあたる */
	:root .jjcPostMain:has(> :is(.jjcPostHeader, .jjcTopicsTitle)) {
		padding: 15px;
	}

	:root .jjcPostMain:has(> :is(.jjcPostHeader, .jjcTopicsTitle)) > .jjcPostContent {
		padding: 0;
	}

	/* 旧サイトのスマホ版は style.css（PC 版のリセット・見出しの字間・書体）を読まず、normalize.css とブラウザの既定のまま：
	 * 本文は 15px・行の高さ 1.15、見出しは太字・字間なし・行の高さ 1.15・上の余白はブラウザの既定（h1 0.67em・h2 0.83em・h4 1.33em）、
	 * h5 は 0.83em の大きさ、画像はベースライン揃え（下に文字の下がりの分のすき間）で font-size は本文と同じ（.flex div img の 1em が 15px）、dd は左 40px */
	:root .jjcPostContent {
		font-size: 15px;
		line-height: 1.15;
	}

	/* 書体も normalize.css の sans-serif（スマホの標準の書体）。見出しの PC 版の書体の指定は inherit なのでこれに従う */
	:root .jjcPostMain {
		font-family: sans-serif;
	}

	:root .jjcPostContent :is(h1, h2, h3, h4, h5, h6) {
		font-weight: 700;
		line-height: 1.15;
		letter-spacing: normal;
	}

	:root .jjcPostContent h1 {
		margin-block-start: 0.67em;
	}

	:root .jjcPostContent h2 {
		margin-block-start: 0.83em;
	}

	:root .jjcPostContent h4 {
		margin-block-start: 1.33em;
	}

	:root .jjcPostContent h5 {
		margin: 1.67em 0;
		font-size: 0.83em;
	}

	:root .jjcPostContent img {
		font-size: inherit;
		vertical-align: baseline;
	}

	/* アイキャッチ（旧 .eye_catch）は上揃えのまま */
	:root .jjcPostContent > .onestaFeaturedImageWrap img {
		vertical-align: top;
	}

	/* 記事の見出し（旧 .page_header の h1）：太字・字間なし・行の高さ 1.15、上の余白 0.67em。カテゴリの黄色の札の行も 1.15 */
	:root .jjcPostMain > .jjcPostHeader {
		line-height: 1.15;
	}

	:root .jjcPostHeader > .jjcPostTitle {
		margin-block-start: 0.67em;
		font-weight: 700;
		line-height: 1.15;
		letter-spacing: normal;
	}

	/* お知らせの札・題名・日付も行の高さ 1.15。最後の絵（旧 .topics_end：幅 360px）は、旧サイトと同じく右の余白 15px まではみ出してよい */
	:root .jjcPostMain > :is(.jjcTopicsCat, .jjcTopicsTitle, .jjcTopicsDate) {
		line-height: 1.15;
	}

	:root .jjcPostMain > .jjcTopicsEnd {
		max-inline-size: calc(100% + 15px);
	}

	.jjcPostContent :where(dd) {
		margin-inline-start: 40px;
	}

	:root .jjcPostLayout > .jjcPostSideWrap {
		display: none;
	}

	:root .jjcPostMain > .jjcPostHeader {
		margin-block-end: 0.5em;
		padding: 15px 25px 30px;
	}

	:root .jjcPostHeader > .jjcPostTitle {
		padding: 0;
		font-size: 26.4px;
	}

	:root :is(.jjcPostMain > .jjcPostEyecatch, .jjcPostContent > .onestaFeaturedImageWrap) {
		inline-size: 100%;
		padding: 7px;
	}

	:is(.jjcPostEyecatch, .jjcPostContent > .onestaFeaturedImageWrap) img {
		inline-size: 100%;
	}

	:root .jjcPostMain > .jjcTopicsTitle {
		font-size: 30px;
	}

	:root .jjcPostMain > .jjcTopicsDate {
		font-size: 15px;
	}

	:root .jjcPostArchive {
		padding-block-start: 20px;
		font-size: 15px;
		letter-spacing: normal;
	}

	/* 旧サイトのスマホ版の一覧（style-mobile.css の #archive h1 span・.postArchive。normalize.css のまま）：
	 * 見出しは太字・行の高さ 1.15・幅いっぱいまで折り返し、下に 0.67em（20.1px）。カードは sans-serif・行の高さ 1.15、
	 * 写真は文字の行の中（下に文字の下がりの分のすき間）、日付は 15px、題名は行の高さ 1.15 */
	:root .jjcPostArchive > .jjcPostArchiveTitle {
		max-inline-size: none;
		margin-block: 0 20.1px;
		font-family: sans-serif;
		font-weight: 700;
		line-height: 1.15;
	}

	:root .jjcPostCards > li {
		font-family: sans-serif;
		line-height: 1.15;
	}

	:root .jjcPostCards .jjcPostCardImage {
		line-height: 1.15;
	}

	:root .jjcPostCards .jjcPostCardImage img {
		display: inline;
		vertical-align: baseline;
	}

	:root .jjcPostCards .jjcPostCardDate {
		font-size: 15px;
		line-height: 1.15;
	}

	:root .jjcPostCards .jjcPostCardTitle,
	:root .jjcPostCards .jjcPostCardTitle a {
		line-height: 1.15;
	}

	:root .jjcPostCards .jjcPostCardTitle a {
		display: inline;
	}

	:root .jjcPostArchiveQuery > .jjcPostCards {
		display: block;
		margin: 10px;
	}

	:root .jjcPostCards > li {
		inline-size: auto;
		margin: 0 0 10px;
	}

	.jjcPostCards::before,
	.jjcPostCards::after {
		display: none;
	}

	.jjcPostPager .page-numbers,
	.jjcPostPager :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
		margin-inline-end: 6px;
		padding: 10px 12px;
	}
}

/* ---------- 10. 移した記事・固定ページの本文のアイコン（旧サイトの <i class="fa fa-…">、Font Awesome 4.7 と同じ字形） ----------
 * 本文の CSS は assets/post-content.css（旧サイト style-post.css を tools/legacy-css/convert.py で書き換えたもの） */
.jjcPostContent .fa {
	display: inline-block;
	font: normal normal normal 14px/1 "jjc-icons";
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

.jjcPostContent .fa-fw {
	inline-size: 1.28571429em;
	text-align: center;
}

.jjcPostContent .fa-archive::before {
	content: "\f187";
}

.jjcPostContent .fa-building::before {
	content: "\f1ad";
}

.jjcPostContent .fa-calendar::before {
	content: "\f073";
}

.jjcPostContent .fa-car::before {
	content: "\f1b9";
}

.jjcPostContent .fa-clock-o::before {
	content: "\f017";
}

.jjcPostContent .fa-cubes::before {
	content: "\f1b3";
}

.jjcPostContent .fa-envelope-o::before {
	content: "\f003";
}

.jjcPostContent .fa-exclamation-triangle::before {
	content: "\f071";
}

.jjcPostContent .fa-file-text-o::before {
	content: "\f0f6";
}

.jjcPostContent .fa-home::before {
	content: "\f015";
}

.jjcPostContent .fa-lightbulb-o::before {
	content: "\f0eb";
}

.jjcPostContent .fa-map-marker::before {
	content: "\f041";
}

.jjcPostContent .fa-money::before {
	content: "\f0d6";
}

.jjcPostContent .fa-paw::before {
	content: "\f1b0";
}

.jjcPostContent .fa-plus-square::before {
	content: "\f0fe";
}

.jjcPostContent .fa-question-circle::before {
	content: "\f059";
}

.jjcPostContent .fa-refresh::before {
	content: "\f021";
}

.jjcPostContent .fa-tachometer::before {
	content: "\f0e4";
}

.jjcPostContent .fa-truck::before {
	content: "\f0d1";
}

.jjcPostContent .fa-user::before {
	content: "\f007";
}

.jjcPostContent .fa-volume-control-phone::before {
	content: "\f2a0";
}

.jjcPostContent .fa-wrench::before {
	content: "\f0ad";
}

/* ---------- 11. 固定ページ（旧サイト page.php：本文だけ・左にメニュー） ----------
 * 見出しは本文の .page_header > h1。本文に H1 が無いページ（会社概要など）も旧サイトはタイトルを出していないので、
 * テンプレートの H1（投稿タイトル）は読み上げにだけ残す */
:root .jjcPostMain > .jjcPageTitle {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* 旧サイトの固定ページはアイキャッチを本文の上に大きく出していない */
:root .jjcPageView .jjcPostContent > .onestaFeaturedImageWrap {
	display: none;
}

/* ---------- 12. 「退去の申請はコチラ」（旧サイト front-page.php の #head-bt・custom.css） ----------
 * トップページだけ。PC：画面の右端に固定した縦書きの緑のボタン（上から 280px・幅 50px）。
 * スマホ（480px 以下）：ページの先頭に、上に「退去申込はネットが便利！」の付いたピンクの横長のボタン */
:root .jjcFront > .jjcLeaveBtn {
	position: fixed;
	inset-block-start: 280px;
	inset-inline-end: 0;
	z-index: 10;
	inline-size: 50px;
	block-size: 350px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
	pointer-events: none; /* 旧サイトは 350px の箱が下の内容のクリックをふさいでいた。ボタン以外は通す */
}

.jjcLeaveBtn > li {
	inline-size: 100%;
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.jjcLeaveBtn a {
	display: flex;
	align-items: center;
	width: 100%; /* 縦書きなので inline-size ではなく横幅で指定する */
	padding: 20px 0;
	border-radius: 10px 0 0 10px;
	background: #00d33f;
	color: #fff;
	text-decoration: none;
	writing-mode: vertical-rl;
	pointer-events: auto;
}

.jjcLeaveBtn a:is(:hover, :focus-visible) {
	background: rgba(0, 211, 63, 0.8);
	color: #fff;
}

/* 旧サイトの <i class="fa fa-chevron-right"> と後ろの空白（Font Awesome 4.7 の f054。ブロックで作るので擬似要素で出す） */
.jjcLeaveBtn a::before {
	display: inline-block;
	margin: 0 0 5px -5px;
	font: normal normal normal 14px/1 "jjc-icons";
	font-size: inherit;
	transform: rotate(90deg);
	content: "\f054";
}

.jjcLeaveBtn a::after {
	content: none;
}

@container onestarViewport (inline-size <= 480px) {
	:root .jjcFront > .jjcLeaveBtn {
		position: relative;
		inset: auto;
		display: block;
		inline-size: 80%;
		block-size: auto;
		order: 2; /* スマホ版の並び（スライド → ここ → お知らせ）。旧サイトのスマホ版はスライドの下・お知らせの上 */
		margin: 15px auto 20px;
		font-size: 19.2px; /* 1.2rem（旧サイトのスマホ版は 16px が基準） */
		font-weight: 900;
		pointer-events: auto;
	}

	.jjcLeaveBtn > li {
		font-size: inherit;
	}

	.jjcLeaveBtn > li::before {
		content: "退去申込はネットが便利！";
		display: block;
		inline-size: 100%;
		font-size: 12px;
		text-align: center;
	}

	.jjcLeaveBtn a {
		display: block;
		block-size: 60px;
		padding: 0;
		border-radius: 5px;
		background: var(--jjc-c-pink, #f6115d);
		line-height: 60px;
		writing-mode: inherit;
		box-shadow: 0 1px 2px rgb(0 0 0 / 6%), 0 1.7px 1.55px rgb(0 0 0 / 8%), 0 2.5px 3.2px rgb(0 0 0 / 9%), 0 3.6px 3.9px rgb(0 0 0 / 9%), 0 7.7px 7.4px rgb(0 0 0 / 10%), 0 15px 10.5px rgb(0 0 0 / 13%);
	}
}

/* ---------- フッター：カスタマーハラスメント基本方針（コピーライトのすぐ上に小さく。4 店共通） ---------- */
:root .jjcFooterPolicy {
	margin: 0;
	padding: 14px var(--onestar-gutter, 1rem);
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 1.6;
	text-align: center;
}

.jjcFooterPolicy a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.jjcFooterPolicy a:is(:hover, :focus-visible) {
	text-decoration: none;
}

/* お問い合わせのページの「カスタマーハラスメントに対する当社の方針」の 1 行（tools/add-contact-policy.php が入れる） */
:root .contact-policy {
	font-size: 13px;
}
