/* ==================================================
	   個別事業所ページ共通設定
	================================================== */

	.office-detail {
	  --office-accent: #348c49;
	  --office-accent-dark: #256f38;
	  --office-accent-light: #69b879;
	  --office-accent-soft: #edf7ef;
	  --office-gold: #c89522;
	  --office-ink: #26342b;
	  --office-text: #566158;
	  --office-line: #d9e6db;
	  --office-white: #fff;

	  color: var(--office-ink);
	  font-size: 16px;
	  line-height: 1.8;
	}

	.office-detail *,
	.office-detail *::before,
	.office-detail *::after {
	  box-sizing: border-box;
	}

	.office-detail--type-a {
	  --office-accent: #348c49;
	  --office-accent-dark: #256f38;
	  --office-accent-soft: #edf7ef;
	}

	.office-detail--type-b {
	  --office-accent: #b88a35;
	  --office-accent-dark: #876425;
	  --office-accent-soft: #fbf5e9;
	}

	.office-detail--planning {
	  --office-accent: #9a7559;
	  --office-accent-dark: #71513b;
	  --office-accent-soft: #f8f1ec;
	}

/* ==================================================
	   ファーストビュー
	================================================== */

	.office-detail .office-hero {
	  position: relative;
	  width: 100%;
	  overflow: hidden;
	  padding: 88px 24px 92px;
	  background:
		radial-gradient(
		  circle at 8% 18%,
		  rgba(52, 140, 73, 0.09) 0,
		  rgba(52, 140, 73, 0.09) 130px,
		  transparent 131px
		),
		linear-gradient(135deg, #f4faf5 0%, #fff 64%);
	}

	.office-detail .office-hero::after {
	  position: absolute;
	  right: -120px;
	  bottom: -150px;
	  width: 380px;
	  height: 380px;
	  border: 65px solid rgba(200, 149, 34, 0.06);
	  border-radius: 50%;
	  content: "";
	  pointer-events: none;
	}

	.office-detail .office-hero__inner {
	  position: relative;
	  z-index: 1;
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-hero__columns {
	  align-items: center;
	  gap: clamp(42px, 6vw, 80px);
	  margin: 0;
	}

	.office-detail .office-hero__content,
	.office-detail .office-hero__visual {
	  min-width: 0;
	  margin: 0;
	}

	.office-detail .office-hero__label {
	  margin: 0 0 16px;
	  color: var(--office-accent-dark);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 14px;
	  font-weight: 700;
	  line-height: 1.4;
	  letter-spacing: 0.22em;
	}

	.office-detail .office-badge {
	  display: inline-flex;
	  width: auto;
	  align-items: center;
	  margin: 0 0 22px;
	  padding: 7px 16px;
	  color: var(--office-accent-dark);
	  background: var(--office-accent-soft);
	  border: 1px solid color-mix(
		in srgb,
		var(--office-accent) 30%,
		white
	  );
	  border-radius: 999px;
	  font-size: 14px;
	  font-weight: 700;
	  line-height: 1.5;
	}

	.office-detail .office-hero__title {
	  margin: 0;
	  color: var(--office-ink);
	  font-size: clamp(32px, 3.7vw, 48px);
	  font-weight: 700;
	  line-height: 1.42;
	  letter-spacing: 0.025em;
	}

	.office-detail .office-hero__title span {
	  display: inline-block;
	  margin-top: 8px;
	  color: var(--office-accent-dark);
	}

	.office-detail .office-hero__catch {
	  position: relative;
	  margin: 30px 0 0;
	  padding-top: 22px;
	  color: var(--office-ink);
	  font-size: clamp(21px, 2.2vw, 28px);
	  font-weight: 700;
	  line-height: 1.6;
	}

	.office-detail .office-hero__catch::before {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 62px;
	  height: 3px;
	  background: var(--office-gold);
	  border-radius: 999px;
	  content: "";
	}

	.office-detail .office-hero__lead {
	  max-width: 660px;
	  margin: 24px 0 0;
	  color: var(--office-text);
	  font-size: 16px;
	  line-height: 2;
	}

/* ==================================================
	   ボタン
	================================================== */

	.office-detail .office-hero__buttons {
	  display: grid !important;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: 14px;
	  width: 100%;
	  margin: 32px 0 0;
	}

	.office-detail .office-hero__buttons .wp-block-button {
	  width: 100%;
	  margin: 0;
	}

	.office-detail
	.office-hero__buttons
	.wp-block-button__link {
	  position: relative;
	  display: flex;
	  width: 100%;
	  min-height: 60px;
	  align-items: center;
	  justify-content: center;
	  padding: 14px 40px 14px 20px;
	  border-radius: 12px;
	  font-size: 15px;
	  font-weight: 700;
	  line-height: 1.5;
	  text-align: center;
	  text-decoration: none;
	  transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
	}

	.office-detail
	.office-hero__buttons
	.wp-block-button__link::after {
	  position: absolute;
	  right: 18px;
	  content: "→";
	  font-size: 17px;
	}

	.office-detail
	.office-button--primary
	.wp-block-button__link {
	  color: #fff;
	  background: var(--office-accent);
	  border: 1px solid var(--office-accent);
	  box-shadow: 0 9px 22px rgba(38, 111, 56, 0.18);
	}

	.office-detail
	.office-button--tel
	.wp-block-button__link {
	  color: #76591d;
	  background: #fff;
	  border: 1px solid #d9b65d;
	  box-shadow: 0 9px 22px rgba(116, 86, 24, 0.08);
	}

	.office-detail
	.office-button--primary
	.wp-block-button__link:hover,
	.office-detail
	.office-button--tel
	.wp-block-button__link:hover {
	  transform: translateY(-3px);
	  box-shadow: 0 13px 26px rgba(38, 75, 45, 0.16);
	}

.office-detail .office-hero__note {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 16px auto 0 !important;
  color: #68736b;
  font-size: 13px;
  line-height: 1.7;
  text-align: center !important;
}

/* ==================================================
	   メイン画像
	================================================== */

	.office-detail .office-hero__visual {
	  position: relative;
	}

	.office-detail .office-hero__image {
	  position: relative;
	  width: 100%;
	  margin: 0;
	  overflow: hidden;
	  aspect-ratio: 4 / 3;
	  background: #eaf1eb;
	  border: 8px solid #fff;
	  border-radius: 26px;
	  box-shadow: 0 22px 52px rgba(39, 75, 45, 0.14);
	}

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

/* ==================================================
	   HERO 基本情報カード
	   左列120px／右列は残りの幅
	================================================== */

	.office-detail .office-hero__quick-info {
	  position: relative !important;
	  inset: auto !important;
	  display: block !important;
	  width: 100% !important;
	  max-width: none !important;
	  margin: 22px 0 0 !important;
	  padding: 8px !important;
	  overflow: hidden;
	  background: rgba(255, 255, 255, 0.96);
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow:
		0 16px 36px rgba(39, 75, 45, 0.11),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
	}

	.office-detail .office-hero__quick-info::before {
	  display: block;
	  width: 48px;
	  height: 3px;
	  margin: 8px 0 4px 14px;
	  content: "";
	  background: linear-gradient(
		90deg,
		var(--office-accent),
		var(--office-gold)
	  );
	  border-radius: 999px;
	}

	.office-detail
	.office-hero__quick-info
	> .wp-block-columns {
	  display: grid !important;
	  grid-template-columns: 120px minmax(0, 1fr) !important;
	  gap: 0 !important;
	  width: 100% !important;
	  max-width: none !important;
	  margin: 0 !important;
	  padding: 0 !important;
	  border-bottom: 1px solid var(--office-line);
	}

	.office-detail
	.office-hero__quick-info
	> .wp-block-columns:last-child {
	  border-bottom: 0;
	}

	.office-detail
	.office-hero__quick-info
	.wp-block-column {
	  width: auto !important;
	  min-width: 0 !important;
	  max-width: none !important;
	  flex: none !important;
	  flex-basis: auto !important;
	  margin: 0 !important;
	  padding: 0 !important;
	}

	.office-detail
	.office-hero__quick-info
	.wp-block-column
	p {
	  display: flex !important;
	  box-sizing: border-box;
	  width: 100% !important;
	  max-width: none !important;
	  min-height: 72px;
	  align-items: center;
	  margin: 0 !important;
	  padding: 15px 20px !important;
	  color: var(--office-text);
	  font-size: 14px;
	  line-height: 1.75;
	  text-align: left !important;
	  word-break: normal !important;
	  overflow-wrap: anywhere;
	}

	.office-detail
	.office-hero__quick-info
	> .wp-block-columns
	> .wp-block-column:first-child {
	  position: relative;
	  background: linear-gradient(
		90deg,
		var(--office-accent-soft),
		#f7fbf7
	  );
	}

	.office-detail
	.office-hero__quick-info
	> .wp-block-columns
	> .wp-block-column:first-child::before {
	  position: absolute;
	  top: 50%;
	  left: 10px;
	  width: 4px;
	  height: 26px;
	  content: "";
	  background: var(--office-accent);
	  border-radius: 999px;
	  transform: translateY(-50%);
	}

	.office-detail
	.office-hero__quick-info
	strong {
	  display: block;
	  margin: 0;
	  padding-left: 6px;
	  color: var(--office-accent-dark);
	  font-size: 14px;
	  font-weight: 700;
	  letter-spacing: 0.04em;
	}

	.office-detail
	.office-hero__quick-info
	> .wp-block-columns
	> .wp-block-column:last-child
	p {
	  color: var(--office-ink);
	  font-weight: 500;
	  background: #fff;
	}

	.office-detail
	.office-hero__quick-info
	p + p {
	  border: 0 !important;
	}

	@media screen and (max-width: 900px) {
	  .office-detail
	  .office-hero__quick-info
	  > .wp-block-columns {
		grid-template-columns: 115px minmax(0, 1fr) !important;
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-hero__quick-info {
		margin-top: 16px !important;
		padding: 6px !important;
		border-radius: 15px;
	  }

	  .office-detail .office-hero__quick-info::before {
		margin-top: 7px;
		margin-left: 12px;
	  }

	  .office-detail
	  .office-hero__quick-info
	  > .wp-block-columns {
		grid-template-columns: 96px minmax(0, 1fr) !important;
	  }

	  .office-detail
	  .office-hero__quick-info
	  .wp-block-column
	  p {
		min-height: 64px;
		padding: 12px 14px !important;
		font-size: 13px;
		line-height: 1.65;
	  }

	  .office-detail
	  .office-hero__quick-info
	  strong {
		padding-left: 4px;
		font-size: 13px;
	  }

	  .office-detail
	  .office-hero__quick-info
	  > .wp-block-columns
	  > .wp-block-column:first-child::before {
		left: 7px;
		height: 23px;
	  }
	}

/* ==================================================
	   タブレット・スマートフォン
	================================================== */

	@media screen and (max-width: 900px) {

	  .office-detail .office-hero {
		padding: 64px 20px 70px;
	  }

	  .office-detail .office-hero__columns {
		display: flex !important;
		flex-direction: column;
		gap: 46px;
	  }

	  .office-detail .office-hero__content,
	  .office-detail .office-hero__visual {
		width: 100% !important;
		max-width: 720px !important;
		flex-basis: auto !important;
	  }
	}

	@media screen and (max-width: 781px) {

	  .office-detail .office-hero {
		padding: 52px 16px 58px;
	  }

	  .office-detail .office-hero__columns {
		gap: 38px;
	  }

	  .office-detail .office-hero__label {
		margin-bottom: 12px;
		font-size: 13px;
	  }

	  .office-detail .office-badge {
		margin-bottom: 18px;
		padding: 6px 13px;
		font-size: 12px;
	  }

	  .office-detail .office-hero__title {
		font-size: 29px;
		line-height: 1.48;
	  }

	  .office-detail .office-hero__title span {
		margin-top: 6px;
	  }

	  .office-detail .office-hero__catch {
		margin-top: 24px;
		padding-top: 18px;
		font-size: 20px;
		line-height: 1.65;
	  }

	  .office-detail .office-hero__catch::before {
		width: 48px;
	  }

	  .office-detail .office-hero__lead {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.9;
	  }

	  .office-detail .office-hero__buttons {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		margin-top: 26px;
	  }

	  .office-detail
	  .office-hero__buttons
	  .wp-block-button__link {
		min-height: 56px;
		font-size: 14px;
	  }

	  .office-detail .office-hero__image {
		aspect-ratio: 4 / 3;
		border-width: 5px;
		border-radius: 18px;
	  }

	}

/* ==================================================
	   共通セクション・見出し
	================================================== */

	.office-detail .office-section {
	  width: 100%;
	  padding: 88px 24px;
	}

	.office-detail .office-section__inner {
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-section-heading {
	  max-width: 820px !important;
	  margin: 0 auto 52px;
	}

	.office-detail .office-section-heading__label {
	  margin: 0 0 14px;
	  color: var(--office-accent-dark);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 14px;
	  font-weight: 700;
	  line-height: 1.4;
	  letter-spacing: 0.22em;
	}

	.office-detail .office-section-heading__title {
	  margin: 0;
	  color: var(--office-ink);
	  font-size: clamp(28px, 3.4vw, 40px);
	  font-weight: 700;
	  line-height: 1.45;
	}

	.office-detail .office-section-heading__lead {
	  margin: 22px auto 0;
	  color: var(--office-text);
	  font-size: 16px;
	  line-height: 2;
	}

/* ==================================================
	   ABOUT
	================================================== */

	.office-detail .office-about {
	  background: #fff;
	}

	.office-detail .office-about__columns {
	  align-items: center;
	  gap: clamp(40px, 6vw, 76px);
	  margin: 0;
	}

	.office-detail .office-about__visual,
	.office-detail .office-about__content {
	  min-width: 0;
	  margin: 0;
	}

	.office-detail .office-about__image {
	  width: 100%;
	  margin: 0;
	  overflow: hidden;
	  aspect-ratio: 4 / 3;
	  background: var(--office-accent-soft);
	  border-radius: 22px;
	  box-shadow: 0 18px 42px rgba(39, 75, 45, 0.12);
	}

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

	.office-detail .office-about__eyebrow {
	  margin: 0 0 12px;
	  color: var(--office-accent-dark);
	  font-size: 13px;
	  font-weight: 700;
	  letter-spacing: 0.16em;
	}

	.office-detail .office-about__title {
	  position: relative;
	  margin: 0 0 26px;
	  padding-bottom: 18px;
	  color: var(--office-ink);
	  font-size: clamp(25px, 2.8vw, 34px);
	  line-height: 1.55;
	}

	.office-detail .office-about__title::after {
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  width: 58px;
	  height: 3px;
	  background: var(--office-gold);
	  border-radius: 999px;
	  content: "";
	}

	.office-detail .office-about__content > p:not(.office-about__eyebrow) {
	  margin: 0 0 18px;
	  color: var(--office-text);
	  font-size: 16px;
	  line-height: 2;
	}

/* ==================================================
	   ABOUT：スマートフォン
	================================================== */

	@media screen and (max-width: 900px) {
	  .office-detail .office-about__columns {
		display: flex !important;
		flex-direction: column;
		gap: 36px;
	  }

	  .office-detail .office-about__visual,
	  .office-detail .office-about__content {
		width: 100% !important;
		max-width: 720px !important;
		flex-basis: auto !important;
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-section {
		padding: 64px 16px;
	  }

	  .office-detail .office-section-heading {
		margin-bottom: 36px;
	  }

	  .office-detail .office-section-heading__label {
		margin-bottom: 10px;
		font-size: 13px;
	  }

	  .office-detail .office-section-heading__title {
		font-size: 27px;
	  }

	  .office-detail .office-section-heading__lead {
		margin-top: 18px;
		font-size: 15px;
		line-height: 1.9;
	  }

	  .office-detail .office-about__image {
		border-radius: 16px;
	  }

	  .office-detail .office-about__title {
		margin-bottom: 22px;
		font-size: 24px;
	  }

	  .office-detail .office-about__content > p:not(.office-about__eyebrow) {
		font-size: 15px;
		line-height: 1.9;
	  }
	}

/* ==================================================
	   03 FEATURES
	================================================== */

	.office-features {
		padding: clamp(64px, 8vw, 112px) 24px;
		background:
			radial-gradient(
				circle at 8% 15%,
				color-mix(in srgb, var(--office-accent) 8%, transparent) 0 110px,
				transparent 111px
			),
			#f7faf6;
	}

	.office-feature-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 22px;
		margin-top: clamp(36px, 5vw, 60px);
	}

	.office-feature-card {
		position: relative;
		box-sizing: border-box;
		min-width: 0;
		height: 100%;
		padding: 34px 28px 32px;
		overflow: hidden;
		background: #fff;
		border: 1px solid #dce8dc;
		border-radius: 20px;
		box-shadow: 0 14px 34px rgba(38, 78, 48, 0.08);
	}

	.office-feature-card::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 5px;
		content: "";
		background: linear-gradient(
			90deg,
			var(--office-accent),
			var(--office-accent-light)
		);
	}

	.office-feature-card__number {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 52px;
		height: 52px;
		margin: 0 0 26px;
		color: var(--office-accent);
		font-weight: 700;
		font-size: 15px;
		letter-spacing: 0.12em;
		background: var(--office-accent-soft);
		border-radius: 50%;
	}

	.office-feature-card h3 {
		margin: 0 0 16px;
		color: #183426;
		font-size: clamp(20px, 1.7vw, 25px);
		line-height: 1.45;
	}

	.office-feature-card h3::after {
		display: block;
		width: 38px;
		height: 2px;
		margin-top: 14px;
		content: "";
		background: #c89a26;
	}

	.office-feature-card p:not(.office-feature-card__number) {
		margin: 0;
		color: #536159;
		font-size: 16px;
		line-height: 2;
	}

	@media screen and (max-width: 1024px) {
		.office-feature-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media screen and (max-width: 781px) {
		.office-features {
			padding: 56px 20px;
		}

		.office-feature-grid {
			grid-template-columns: 1fr;
			gap: 18px;
			margin-top: 34px;
		}

		.office-feature-card {
			padding: 28px 24px;
		}

		.office-feature-card__number {
			width: 46px;
			height: 46px;
			margin-bottom: 20px;
		}

		.office-feature-card p:not(.office-feature-card__number) {
			font-size: 15px;
			line-height: 1.9;
		}
	}

/* ==================================================
	   04 WORK
	================================================== */

	.office-work {
		padding: clamp(64px, 8vw, 112px) 24px;
		background: #fff;
	}

	.office-work-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
		margin-top: clamp(36px, 5vw, 60px);
	}

	.office-work-card {
		position: relative;
		box-sizing: border-box;
		min-width: 0;
		height: 100%;
		overflow: hidden;
		background: #fff;
		border: 1px solid #dce7dc;
		border-radius: 20px;
		box-shadow: 0 12px 30px rgba(38, 78, 48, 0.07);
		transition:
			transform 0.25s ease,
			box-shadow 0.25s ease;
	}

	.office-work-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 18px 38px rgba(38, 78, 48, 0.12);
	}

	.office-work-card--large {
		grid-column: span 2;
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	}

	.office-work-card__image {
		height: 100%;
		min-height: 330px;
		margin: 0;
		overflow: hidden;
		background: #eef4ec;
	}

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

	.office-work-card__body {
		box-sizing: border-box;
		padding: 32px 28px;
	}

	.office-work-card__number {
		margin: 0 0 18px;
		color: var(--office-accent);
		font-weight: 700;
		font-size: 13px;
		letter-spacing: 0.16em;
	}

	.office-work-card h3 {
		margin: 0 0 16px;
		color: #183426;
		font-size: clamp(20px, 1.8vw, 26px);
		line-height: 1.45;
	}

	.office-work-card h3::after {
		display: block;
		width: 42px;
		height: 2px;
		margin-top: 14px;
		content: "";
		background: #c89a26;
	}

	.office-work-card p:not(.office-work-card__number) {
		margin: 0;
		color: #536159;
		font-size: 16px;
		line-height: 1.95;
	}

	.office-work__note {
		margin: 30px 0 0;
		color: #69736d;
		font-size: 14px;
		line-height: 1.8;
	}

	@media screen and (max-width: 1024px) {
		.office-work-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.office-work-card--large {
			grid-column: span 2;
		}
	}

	@media screen and (max-width: 781px) {
		.office-work {
			padding: 56px 20px;
		}

		.office-work-grid {
			grid-template-columns: 1fr;
			gap: 18px;
			margin-top: 34px;
		}

		.office-work-card--large {
			grid-column: auto;
			display: block;
		}

		.office-work-card__image {
			height: 220px;
			min-height: 0;
		}

		.office-work-card__body {
			padding: 27px 24px 29px;
		}

		.office-work-card p:not(.office-work-card__number) {
			font-size: 15px;
			line-height: 1.9;
		}

		.office-work__note {
			margin-top: 24px;
			font-size: 13px;
			text-align: left;
		}
	}

/* ==================================================
	   05 SUPPORT
	================================================== */

	.office-detail .office-support {
	  position: relative;
	  padding: clamp(64px, 8vw, 112px) 24px;
	  overflow: hidden;
	  background:
		radial-gradient(
		  circle at 92% 12%,
		  rgba(52, 140, 73, 0.07) 0 130px,
		  transparent 131px
		),
		#f7faf6;
	}

	.office-detail .office-support .office-inner {
	  position: relative;
	  z-index: 1;
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-support-grid {
	  display: grid;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: 22px;
	}

	.office-detail .office-support-card {
	  position: relative;
	  min-width: 0;
	  padding: 34px 34px 34px 94px;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow: 0 12px 30px rgba(38, 78, 48, 0.07);
	}

	.office-detail .office-support-card__number {
	  position: absolute;
	  top: 34px;
	  left: 30px;
	  display: flex;
	  width: 44px;
	  height: 44px;
	  align-items: center;
	  justify-content: center;
	  margin: 0;
	  color: #fff;
	  font-weight: 700;
	  font-size: 13px;
	  letter-spacing: 0.08em;
	  background: var(--office-accent);
	  border-radius: 50%;
	}

	.office-detail .office-support-card h3 {
	  margin: 0 0 14px;
	  color: var(--office-ink);
	  font-size: clamp(20px, 1.7vw, 25px);
	  line-height: 1.5;
	}

	.office-detail
	.office-support-card
	p:not(.office-support-card__number) {
	  margin: 0;
	  color: var(--office-text);
	  font-size: 16px;
	  line-height: 1.95;
	}

	.office-detail .office-support-message {
	  position: relative;
	  margin-top: 28px;
	  padding: 38px 42px 38px 48px;
	  overflow: hidden;
	  background: linear-gradient(
		135deg,
		var(--office-accent-dark),
		var(--office-accent)
	  );
	  border-radius: 20px;
	  box-shadow: 0 16px 34px rgba(38, 111, 56, 0.16);
	}

	.office-detail .office-support-message::after {
	  position: absolute;
	  right: -45px;
	  bottom: -65px;
	  width: 190px;
	  height: 190px;
	  content: "";
	  border: 35px solid rgba(255, 255, 255, 0.08);
	  border-radius: 50%;
	}

	.office-detail .office-support-message__label {
	  margin: 0 0 12px;
	  color: #f2d58e;
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 13px;
	  font-weight: 700;
	  letter-spacing: 0.18em;
	}

	.office-detail .office-support-message h3 {
	  position: relative;
	  z-index: 1;
	  margin: 0 0 14px;
	  color: #fff;
	  font-size: clamp(22px, 2.3vw, 30px);
	  line-height: 1.55;
	}

	.office-detail
	.office-support-message
	p:not(.office-support-message__label) {
	  position: relative;
	  z-index: 1;
	  max-width: 780px;
	  margin: 0;
	  color: rgba(255, 255, 255, 0.9);
	  font-size: 16px;
	  line-height: 1.95;
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-support {
		padding: 56px 20px;
	  }

	  .office-detail .office-support-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	  }

	  .office-detail .office-support-card {
		padding: 26px 23px 27px;
	  }

	  .office-detail .office-support-card__number {
		position: static;
		width: 42px;
		height: 42px;
		margin: 0 0 18px;
	  }

	  .office-detail .office-support-card h3 {
		font-size: 20px;
	  }

	  .office-detail
	  .office-support-card
	  p:not(.office-support-card__number) {
		font-size: 15px;
		line-height: 1.9;
	  }

	  .office-detail .office-support-message {
		margin-top: 22px;
		padding: 30px 24px 32px;
	  }

	  .office-detail .office-support-message h3 {
		font-size: 21px;
	  }

	  .office-detail
	  .office-support-message
	  p:not(.office-support-message__label) {
		font-size: 15px;
		line-height: 1.9;
	  }
	}

/* ==================================================
	   06 FOR YOU
	================================================== */

	.office-detail .office-for-you {
	  position: relative;
	  padding: clamp(64px, 8vw, 112px) 24px;
	  overflow: hidden;
	  background: #fff;
	}

	.office-detail .office-for-you .office-inner {
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-for-you-grid {
	  display: grid;
	  grid-template-columns: repeat(3, minmax(0, 1fr));
	  gap: 20px;
	}

	.office-detail .office-for-you-card {
	  position: relative;
	  display: flex;
	  min-width: 0;
	  min-height: 150px;
	  align-items: center;
	  gap: 20px;
	  padding: 28px 26px;
	  overflow: hidden;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow: 0 10px 28px rgba(38, 78, 48, 0.07);
	}

	.office-detail .office-for-you-card::after {
	  position: absolute;
	  right: -25px;
	  bottom: -35px;
	  width: 90px;
	  height: 90px;
	  content: "";
	  background: var(--office-accent-soft);
	  border-radius: 50%;
	}

	.office-detail .office-for-you-card__number {
	  position: relative;
	  z-index: 1;
	  flex: 0 0 auto;
	  margin: 0;
	  color: var(--office-accent);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 26px;
	  font-weight: 700;
	  line-height: 1;
	  letter-spacing: 0.04em;
	}

	.office-detail .office-for-you-card__number::after {
	  display: block;
	  width: 30px;
	  height: 2px;
	  margin-top: 10px;
	  content: "";
	  background: var(--office-gold);
	}

	.office-detail .office-for-you-card__text {
	  position: relative;
	  z-index: 1;
	  margin: 0;
	  color: var(--office-ink);
	  font-size: 17px;
	  font-weight: 700;
	  line-height: 1.75;
	}

	.office-detail .office-for-you-note {
	  position: relative;
	  margin-top: 34px;
	  padding: 38px 44px;
	  text-align: center;
	  background: var(--office-accent-soft);
	  border: 1px solid var(--office-line);
	  border-radius: 20px;
	}

	.office-detail .office-for-you-note h3 {
	  margin: 0 0 18px;
	  color: var(--office-accent-dark);
	  font-size: clamp(21px, 2vw, 27px);
	  line-height: 1.5;
	}

	.office-detail .office-for-you-note > p {
	  max-width: 820px;
	  margin: 0 auto 12px;
	  color: var(--office-text);
	  font-size: 16px;
	  line-height: 1.95;
	}

	.office-detail .office-for-you-note .wp-block-buttons {
	  margin-top: 26px;
	}

	.office-detail
	.office-for-you-note
	.office-button
	.wp-block-button__link {
	  position: relative;
	  display: flex;
	  min-width: 320px;
	  min-height: 58px;
	  align-items: center;
	  justify-content: center;
	  padding: 14px 46px 14px 24px;
	  color: #fff;
	  background: var(--office-accent);
	  border: 1px solid var(--office-accent);
	  border-radius: 12px;
	  font-size: 15px;
	  font-weight: 700;
	  text-decoration: none;
	  box-shadow: 0 9px 22px rgba(38, 111, 56, 0.16);
	}

	.office-detail
	.office-for-you-note
	.office-button
	.wp-block-button__link::after {
	  position: absolute;
	  right: 20px;
	  content: "→";
	  color: #f2d58e;
	  font-size: 17px;
	}

	@media screen and (max-width: 1024px) {
	  .office-detail .office-for-you-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-for-you {
		padding: 56px 20px;
	  }

	  .office-detail .office-for-you-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	  }

	  .office-detail .office-for-you-card {
		min-height: 0;
		gap: 17px;
		padding: 23px 21px;
	  }

	  .office-detail .office-for-you-card__number {
		font-size: 23px;
	  }

	  .office-detail .office-for-you-card__text {
		font-size: 16px;
		line-height: 1.7;
	  }

	  .office-detail .office-for-you-note {
		margin-top: 26px;
		padding: 30px 22px;
		text-align: left;
	  }

	  .office-detail .office-for-you-note h3 {
		font-size: 20px;
		text-align: center;
	  }

	  .office-detail .office-for-you-note > p {
		font-size: 15px;
		line-height: 1.9;
	  }

	  .office-detail .office-for-you-note .wp-block-buttons {
		width: 100%;
		margin-top: 22px;
	  }

	  .office-detail
	  .office-for-you-note
	  .wp-block-button {
		width: 100%;
	  }

	  .office-detail
	  .office-for-you-note
	  .office-button
	  .wp-block-button__link {
		width: 100%;
		min-width: 0;
		min-height: 56px;
		padding-right: 42px;
		font-size: 14px;
	  }
	}

/* ==================================================
	   07 SCHEDULE
	================================================== */

	.office-detail .office-schedule {
	  position: relative;
	  padding: clamp(64px, 8vw, 112px) 24px;
	  overflow: hidden;
	  background:
		linear-gradient(
		  180deg,
		  #f7faf6 0%,
		  #fff 100%
		);
	}

	.office-detail .office-schedule .office-inner {
	  width: min(100%, 960px);
	  max-width: 960px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-schedule-list {
	  position: relative;
	  display: grid;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: 18px 22px;
	}

	.office-detail .office-schedule-item {
	  position: relative;
	  display: grid;
	  grid-template-columns: 92px minmax(0, 1fr);
	  min-width: 0;
	  min-height: 140px;
	  overflow: hidden;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow: 0 10px 28px rgba(38, 78, 48, 0.07);
	}

	.office-detail .office-schedule-item__time {
	  display: flex;
	  height: 100%;
	  align-items: center;
	  justify-content: center;
	  margin: 0;
	  padding: 20px 12px;
	  color: #fff;
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 19px;
	  font-weight: 700;
	  line-height: 1;
	  letter-spacing: 0.04em;
	  background: var(--office-accent);
	}

	.office-detail .office-schedule-item__content {
	  display: flex;
	  min-width: 0;
	  flex-direction: column;
	  justify-content: center;
	  padding: 24px 25px;
	}

	.office-detail .office-schedule-item__content h3 {
	  margin: 0 0 9px;
	  color: var(--office-ink);
	  font-size: 20px;
	  line-height: 1.5;
	}

	.office-detail .office-schedule-item__content p {
	  margin: 0;
	  color: var(--office-text);
	  font-size: 15px;
	  line-height: 1.85;
	}

	.office-detail
	.office-schedule-item--break
	.office-schedule-item__time {
	  color: var(--office-accent-dark);
	  background: var(--office-accent-soft);
	}

	.office-detail
	.office-schedule-item--lunch
	.office-schedule-item__time {
	  color: #76571d;
	  background: #f8edcf;
	}

	.office-detail
	.office-schedule-item--end
	.office-schedule-item__time {
	  background: var(--office-accent-dark);
	}

	.office-detail .office-schedule-note {
	  position: relative;
	  margin-top: 28px;
	  padding: 30px 34px 30px 92px;
	  background: var(--office-accent-soft);
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	}

	.office-detail .office-schedule-note::before {
	  position: absolute;
	  top: 31px;
	  left: 34px;
	  display: flex;
	  width: 38px;
	  height: 38px;
	  align-items: center;
	  justify-content: center;
	  color: #fff;
	  content: "!";
	  font-weight: 700;
	  background: var(--office-accent);
	  border-radius: 50%;
	}

	.office-detail .office-schedule-note h3 {
	  margin: 0 0 10px;
	  color: var(--office-accent-dark);
	  font-size: 20px;
	  line-height: 1.5;
	}

	.office-detail .office-schedule-note p {
	  margin: 0;
	  color: var(--office-text);
	  font-size: 15px;
	  line-height: 1.9;
	}

	@media screen and (max-width: 900px) {
	  .office-detail .office-schedule-list {
		grid-template-columns: 1fr;
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-schedule {
		padding: 56px 20px;
	  }

	  .office-detail .office-schedule-list {
		gap: 14px;
	  }

	  .office-detail .office-schedule-item {
		grid-template-columns: 78px minmax(0, 1fr);
		min-height: 126px;
		border-radius: 15px;
	  }

	  .office-detail .office-schedule-item__time {
		padding: 18px 8px;
		font-size: 17px;
	  }

	  .office-detail .office-schedule-item__content {
		padding: 20px 18px;
	  }

	  .office-detail .office-schedule-item__content h3 {
		margin-bottom: 7px;
		font-size: 18px;
	  }

	  .office-detail .office-schedule-item__content p {
		font-size: 14px;
		line-height: 1.75;
	  }

	  .office-detail .office-schedule-note {
		margin-top: 22px;
		padding: 70px 22px 25px;
	  }

	  .office-detail .office-schedule-note::before {
		top: 23px;
		left: 22px;
		width: 34px;
		height: 34px;
	  }

	  .office-detail .office-schedule-note h3 {
		font-size: 18px;
	  }

	  .office-detail .office-schedule-note p {
		font-size: 14px;
		line-height: 1.85;
	  }
	}

/* ==================================================
	   08 SERVICE INFO
	================================================== */

	.office-detail .office-service-info {
	  position: relative;
	  padding: clamp(64px, 8vw, 112px) 24px;
	  background: #fff;
	}

	.office-detail .office-service-info .office-inner {
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-service-info-grid {
	  display: grid;
	  grid-template-columns: repeat(3, minmax(0, 1fr));
	  gap: 22px;
	}

	.office-detail .office-service-info-card {
	  position: relative;
	  display: flex;
	  min-width: 0;
	  min-height: 280px;
	  flex-direction: column;
	  padding: 32px 28px;
	  overflow: hidden;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow: 0 12px 30px rgba(38, 78, 48, 0.07);
	}

	.office-detail .office-service-info-card::before {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 5px;
	  content: "";
	  background: var(--office-accent);
	}

	.office-detail .office-service-info-card__label {
	  margin: 0 0 16px;
	  color: var(--office-accent);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 12px;
	  font-weight: 700;
	  line-height: 1.4;
	  letter-spacing: 0.15em;
	}

	.office-detail .office-service-info-card h3 {
	  margin: 0 0 18px;
	  color: var(--office-ink);
	  font-size: 21px;
	  line-height: 1.5;
	}

	.office-detail .office-service-info-card__main {
	  margin: 0 0 14px;
	  color: var(--office-accent-dark);
	  font-size: 18px;
	  font-weight: 700;
	  line-height: 1.7;
	}

	.office-detail
	.office-service-info-card
	p:not(.office-service-info-card__label):
	not(.office-service-info-card__main) {
	  margin: auto 0 0;
	  padding-top: 18px;
	  color: var(--office-text);
	  border-top: 1px solid var(--office-line);
	  font-size: 15px;
	  line-height: 1.85;
	}

	.office-detail .office-service-info-notice {
	  position: relative;
	  margin-top: 28px;
	  padding: 28px 32px 28px 180px;
	  background: var(--office-accent-soft);
	  border: 1px solid var(--office-line);
	  border-radius: 16px;
	}

	.office-detail .office-service-info-notice__label {
	  position: absolute;
	  top: 29px;
	  left: 32px;
	  margin: 0;
	  color: var(--office-accent-dark);
	  font-size: 15px;
	  font-weight: 700;
	}

	.office-detail
	.office-service-info-notice
	p:not(.office-service-info-notice__label) {
	  margin: 0;
	  color: var(--office-text);
	  font-size: 15px;
	  line-height: 1.9;
	}

	@media screen and (max-width: 1024px) {
	  .office-detail .office-service-info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-service-info {
		padding: 56px 20px;
	  }

	  .office-detail .office-service-info-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	  }

	  .office-detail .office-service-info-card {
		min-height: 0;
		padding: 27px 23px;
	  }

	  .office-detail .office-service-info-card h3 {
		margin-bottom: 14px;
		font-size: 20px;
	  }

	  .office-detail .office-service-info-card__main {
		font-size: 17px;
	  }

	  .office-detail
	  .office-service-info-card
	  p:not(.office-service-info-card__label):
	  not(.office-service-info-card__main) {
		margin-top: 16px;
		padding-top: 16px;
		font-size: 14px;
		line-height: 1.8;
	  }

	  .office-detail .office-service-info-notice {
		margin-top: 22px;
		padding: 24px 22px;
	  }

	  .office-detail .office-service-info-notice__label {
		position: static;
		margin-bottom: 10px;
	  }

	  .office-detail
	  .office-service-info-notice
	  p:not(.office-service-info-notice__label) {
		font-size: 14px;
		line-height: 1.85;
	  }
	}

/* ==================================================
	   11 ACCESS
	================================================== */

	.office-detail .office-access {
	  position: relative;
	  padding: clamp(64px, 8vw, 112px) 24px;
	  overflow: hidden;
	  background:
		radial-gradient(
		  circle at 95% 8%,
		  rgba(52, 140, 73, 0.07) 0 130px,
		  transparent 131px
		),
		#f7faf6;
	}

	.office-detail .office-access .office-inner {
	  width: min(100%, 1120px);
	  max-width: 1120px !important;
	  margin-right: auto;
	  margin-left: auto;
	}

	.office-detail .office-access-columns {
	  align-items: stretch;
	  gap: 24px;
	  margin: 0;
	}

	.office-detail .office-access-map-column,
	.office-detail .office-access-info-column {
	  min-width: 0;
	  margin: 0;
	}

	.office-detail .office-access-map {
	  height: 100%;
	  min-height: 540px;
	  overflow: hidden;
	  background: var(--office-accent-soft);
	  border: 1px solid var(--office-line);
	  border-radius: 20px;
	  box-shadow: 0 12px 30px rgba(38, 78, 48, 0.08);
	}

	.office-detail .office-access-map iframe {
	  display: block;
	  width: 100%;
	  height: 100%;
	  min-height: 540px;
	  border: 0;
	}

	.office-detail .office-access-map-link {
	  margin: 16px 0 0;
	  text-align: center;
	}

	.office-detail .office-access-map-link a {
	  position: relative;
	  display: inline-flex;
	  min-height: 50px;
	  align-items: center;
	  justify-content: center;
	  padding: 11px 46px 11px 22px;
	  color: #fff;
	  background: var(--office-accent);
	  border-radius: 10px;
	  font-size: 14px;
	  font-weight: 700;
	  text-decoration: none;
	}

	.office-detail .office-access-map-link a::after {
	  position: absolute;
	  right: 18px;
	  content: "↗";
	  color: #f2d58e;
	}

	.office-detail .office-access-map-link a:hover {
	  color: #fff;
	  background: var(--office-accent-dark);
	}

	.office-detail .office-access-info {
	  height: 100%;
	  padding: 36px 34px;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 20px;
	  box-shadow: 0 12px 30px rgba(38, 78, 48, 0.08);
	}

	.office-detail .office-access-info__label {
	  margin: 0 0 14px;
	  color: var(--office-accent);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 12px;
	  font-weight: 700;
	  letter-spacing: 0.16em;
	}

	.office-detail .office-access-info > h3 {
	  margin: 0 0 24px;
	  color: var(--office-ink);
	  font-size: clamp(23px, 2.3vw, 31px);
	  line-height: 1.5;
	}

	.office-detail .office-access-info > h3::after {
	  display: block;
	  width: 50px;
	  height: 3px;
	  margin-top: 14px;
	  content: "";
	  background: var(--office-gold);
	  border-radius: 999px;
	}

	.office-detail .office-access-data {
	  margin: 0;
	  overflow: hidden;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 14px;
	}

	.office-detail .office-access-data > div {
	  display: grid;
	  grid-template-columns: 145px minmax(0, 1fr);
	  border-bottom: 1px solid var(--office-line);
	}

	.office-detail .office-access-data > div:last-child {
	  border-bottom: 0;
	}

	.office-detail .office-access-data dt,
	.office-detail .office-access-data dd {
	  margin: 0;
	  padding: 16px 18px;
	  font-size: 14px;
	  line-height: 1.75;
	}

	.office-detail .office-access-data dt {
	  color: var(--office-accent-dark);
	  font-weight: 700;
	  background: var(--office-accent-soft);
	}

	.office-detail .office-access-data dd {
	  min-width: 0;
	  color: var(--office-ink);
	  overflow-wrap: anywhere;
	}

	.office-detail .office-access-data a {
	  color: var(--office-accent-dark);
	  font-weight: 700;
	  text-decoration: underline;
	  text-underline-offset: 4px;
	}

	.office-detail .office-access-route {
	  margin-top: 54px;
	}

	.office-detail .office-access-route > h3 {
	  margin: 0 0 30px;
	  color: var(--office-ink);
	  font-size: clamp(23px, 2.5vw, 31px);
	  line-height: 1.5;
	}

	.office-detail .office-access-route-columns {
	  align-items: stretch;
	  gap: 22px;
	  margin: 0;
	}

	.office-detail .office-access-route-card {
	  height: 100%;
	  padding: 30px 30px 26px;
	  background: #fff;
	  border: 1px solid var(--office-line);
	  border-radius: 18px;
	  box-shadow: 0 10px 28px rgba(38, 78, 48, 0.07);
	}

	.office-detail .office-access-route-card__label {
	  margin: 0 0 11px;
	  color: var(--office-accent);
	  font-family: Georgia, "Times New Roman", serif;
	  font-size: 12px;
	  font-weight: 700;
	  letter-spacing: 0.16em;
	}

	.office-detail .office-access-route-card h4 {
	  margin: 0 0 20px;
	  color: var(--office-ink);
	  font-size: 20px;
	  line-height: 1.5;
	}

	.office-detail .office-access-route-list {
	  margin: 0;
	  padding: 0;
	  list-style: none;
	}

	.office-detail .office-access-route-list li {
	  position: relative;
	  margin: 0;
	  padding: 16px 0 16px 26px;
	  color: var(--office-text);
	  border-top: 1px solid var(--office-line);
	  font-size: 15px;
	  line-height: 1.8;
	}

	.office-detail .office-access-route-list li::before {
	  position: absolute;
	  top: 26px;
	  left: 3px;
	  width: 8px;
	  height: 8px;
	  content: "";
	  background: var(--office-accent);
	  border-radius: 50%;
	}

	.office-detail .office-access-route-list strong {
	  display: block;
	  color: var(--office-ink);
	  font-size: 16px;
	}

	.office-detail .office-access-route-list span {
	  display: inline-block;
	  margin-top: 3px;
	  color: var(--office-accent-dark);
	  font-weight: 700;
	}

	.office-detail .office-access-route-list small {
	  display: inline-block;
	  margin-left: 12px;
	  color: var(--office-text);
	  font-size: 13px;
	}

	.office-detail .office-access-route__note {
	  margin: 24px 0 0;
	  color: var(--office-text);
	  font-size: 13px;
	  line-height: 1.8;
	}

	@media screen and (max-width: 900px) {
	  .office-detail .office-access-columns {
		flex-direction: column;
	  }

	  .office-detail .office-access-map-column,
	  .office-detail .office-access-info-column {
		flex-basis: 100% !important;
		width: 100%;
	  }

	  .office-detail .office-access-map,
	  .office-detail .office-access-map iframe {
		min-height: 420px;
	  }
	}

	@media screen and (max-width: 781px) {
	  .office-detail .office-access {
		padding: 56px 20px;
	  }

	  .office-detail .office-access-columns,
	  .office-detail .office-access-route-columns {
		gap: 18px;
	  }

	  .office-detail .office-access-map,
	  .office-detail .office-access-map iframe {
		min-height: 300px;
	  }

	  .office-detail .office-access-info {
		padding: 27px 21px;
		border-radius: 16px;
	  }

	  .office-detail .office-access-info > h3 {
		margin-bottom: 21px;
		font-size: 23px;
	  }

	  .office-detail .office-access-data > div {
		grid-template-columns: 1fr;
	  }

	  .office-detail .office-access-data dt {
		padding: 11px 15px;
	  }

	  .office-detail .office-access-data dd {
		padding: 13px 15px 16px;
	  }

	  .office-detail .office-access-route {
		margin-top: 42px;
	  }

	  .office-detail .office-access-route > h3 {
		margin-bottom: 23px;
		font-size: 22px;
	  }

	  .office-detail .office-access-route-card {
		padding: 25px 21px 21px;
	  }

	  .office-detail .office-access-route-list strong {
		font-size: 15px;
	  }

	  .office-detail .office-access-route-list li {
		font-size: 14px;
	  }

	  .office-detail .office-access-route-list small {
		display: block;
		margin: 2px 0 0;
	  }

	  .office-detail .office-access-route__note {
		text-align: left;
	  }
	}

/* ==================================================
	   OFFICEページ H1を共通H2と同じサイズにする
	================================================== */

	.office-detail .daikon-heading-unified .office-page-title {
	  margin-right: auto;
	  margin-left: auto;
	  font-size: clamp(30px, 3.4vw, 42px) !important;
	  line-height: 1.55;
	  letter-spacing: 0.03em;
	}

	.office-detail
	.daikon-heading-unified
	.office-page-title span {
	  color: var(--office-accent-dark);
	  font-size: inherit;
	}

	@media screen and (max-width: 781px) {
	  .office-detail .daikon-heading-unified .office-page-title {
		font-size: 28px !important;
		line-height: 1.55;
	  }
	}

/* ==================================================
   HERO CTA
   既存のボタン意匠を保ち、配置とはみ出しだけを制御
================================================== */

.office-detail .office-hero-cta-panel {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 30px 0 0;
  padding: 24px 22px 20px;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    rgba(237, 247, 239, 0.94),
    rgba(255, 255, 255, 0.98)
  );
  border: 1px solid var(--office-line);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(39, 75, 45, 0.09);
}

.office-detail .office-hero-cta-panel::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 82px;
  height: 4px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--office-accent),
    var(--office-gold)
  );
  border-radius: 0 999px 999px 0;
}

.office-detail .office-hero-cta-panel::after {
  position: absolute;
  right: -42px;
  bottom: -56px;
  width: 130px;
  height: 130px;
  content: "";
  background: var(--office-accent-soft);
  border-radius: 50%;
  opacity: 0.7;
  pointer-events: none;
}

.office-detail .office-hero__content .daikon-three-buttons,
.office-detail .office-hero-cta-panel .daikon-three-buttons {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.office-detail .daikon-three-buttons > .wp-block-button {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.office-detail
.daikon-three-buttons
> .wp-block-button
> .wp-block-button__link {
  box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.office-detail .office-hero-cta-panel .office-hero__note {
  position: relative;
  z-index: 1;
  margin: 18px 0 0 !important;
  padding-top: 15px;
  color: var(--office-text);
  border-top: 1px dashed var(--office-line);
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}

.office-detail .office-hero-cta-panel .office-hero__note::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  content: "";
  vertical-align: 1px;
  background: var(--office-accent);
  border-radius: 50%;
}

@media screen and (max-width: 781px) {
  .office-detail .office-hero-cta-panel {
    margin-top: 25px;
    padding: 21px 17px 17px;
    border-radius: 15px;
  }

  .office-detail .office-hero__content .daikon-three-buttons,
  .office-detail .office-hero-cta-panel .daikon-three-buttons {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .office-detail .office-hero-cta-panel .office-hero__note {
    margin-top: 15px !important;
    padding-top: 13px;
    font-size: 12px;
  }
}

.office-detail
.office-hero__quick-info
.wp-block-column
p {
  min-height: 60px;
  padding: 10px 18px !important;
}

@media screen and (max-width: 781px) {
  .office-detail
  .office-hero__quick-info
  .wp-block-column
  p {
    min-height: 56px;
    padding: 9px 12px !important;
  }
}

/* ==================================================
   ABOUT：3つの特徴カード
================================================== */

.office-detail .office-about__points {
  width: 100%;
  max-width: 1120px;
  margin: 44px auto 0;
}

.office-detail .office-about-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
  margin: 0;
}

.office-detail
.office-about-card-grid
> .wp-block-column {
  display: flex;
  min-width: 0;
  margin: 0;
}

.office-detail .office-about-card {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 250px;
  flex-direction: column;
  margin: 0;
  padding: 34px 30px 30px;
  overflow: hidden;
  background: linear-gradient(145deg, #fff 0%, #f7fbf7 100%);
  border: 1px solid var(--office-line);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(39, 75, 45, 0.09);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.office-detail .office-about-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--office-accent),
    var(--office-gold)
  );
}

.office-detail .office-about-card::after {
  position: absolute;
  right: -38px;
  bottom: -48px;
  width: 125px;
  height: 125px;
  content: "";
  background: var(--office-accent-soft);
  border-radius: 50%;
  opacity: 0.75;
  pointer-events: none;
}

.office-detail .office-about-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  color: var(--office-text);
  background: transparent;
  border: 0;
  font-size: 15px;
  line-height: 1.95;
}

.office-detail .office-about-card p::before {
  display: none;
  content: none;
}

.office-detail .office-about-card p:first-child {
  margin-bottom: 18px;
}

.office-detail .office-about-card strong {
  position: relative;
  display: block;
  padding-bottom: 15px;
  color: var(--office-accent-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.03em;
}

.office-detail .office-about-card strong::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42px;
  height: 3px;
  content: "";
  background: var(--office-gold);
  border-radius: 999px;
}

@media (hover: hover) {
  .office-detail .office-about-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(39, 75, 45, 0.14);
  }
}

@media screen and (max-width: 900px) {
  .office-detail .office-about-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .office-detail .office-about-card {
    min-height: 0;
  }
}

@media screen and (max-width: 781px) {
  .office-detail .office-about__points {
    margin-top: 32px;
  }

  .office-detail .office-about-card-grid {
    gap: 14px;
  }

  .office-detail .office-about-card {
    padding: 27px 23px 25px;
    border-radius: 15px;
  }

  .office-detail .office-about-card strong {
    padding-bottom: 13px;
    font-size: 17px;
  }

  .office-detail .office-about-card p {
    font-size: 14px;
    line-height: 1.85;
  }
}

/* ==================================================
   WORKカード：画像と本文の間隔
================================================== */

.office-detail .office-work-card__image {
  width: 100%;
  height: 160px;
  min-height: 0;
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
}

.office-detail .office-work-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
}

.office-detail
.office-work-card
> .office-work-card__body {
  margin-block-start: 0 !important;
  margin-top: 0 !important;
  padding: 18px 28px 28px;
}

.office-detail .office-work-card__number {
  margin: 0 0 14px !important;
}

@media screen and (max-width: 781px) {
  .office-detail .office-work-card__image {
    height: 145px;
  }

  .office-detail
  .office-work-card
  > .office-work-card__body {
    padding: 16px 22px 25px;
  }
}

/* ==================================================
   特徴カード：右上の背景番号
================================================== */

.office-detail .office-feature-card {
  position: relative;
  min-height: 220px;
  padding: 34px 32px 30px;
  overflow: hidden;
}

.office-detail
.office-feature-card
p.office-feature-card__number {
  position: absolute !important;
  top: 4px !important;
  right: 14px !important;
  left: auto !important;
  z-index: 0;

  display: block !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: none !important;
  height: 86px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--office-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 80px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: -0.06em !important;
  text-align: right !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;

  background: transparent !important;
  border-radius: 0 !important;
  opacity: 0.09;
  pointer-events: none;
}

.office-detail .office-feature-card h3,
.office-detail
.office-feature-card
p:not(.office-feature-card__number) {
  position: relative;
  z-index: 1;
}

.office-detail .office-feature-card h3 {
  max-width: calc(100% - 90px);
  margin-top: 0;
}

@media screen and (max-width: 781px) {
  .office-detail
  .office-feature-card
  p.office-feature-card__number {
    top: 7px !important;
    right: 12px !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 66px !important;
    font-size: 60px !important;
  }

  .office-detail .office-feature-card h3 {
    max-width: calc(100% - 68px);
  }
}

.office-detail .office-for-you {
  padding-top: 32px;
}
@media screen and (max-width: 781px) {
  .office-detail .office-for-you {
    padding-top: 22px;
  }
}

.office-detail .daikon-section-heading:has(#office-for-you-title) {
  margin-bottom: 0 !important;
  padding-bottom: 16px !important;
}

.office-detail .daikon-section-heading:has(#office-for-you-title)
+ .office-for-you {
  margin-top: 0 !important;
}

/* ==================================================
   支援カード：右上に80pxの背景番号
================================================== */

.office-detail .office-support-card {
  position: relative;
  min-height: 220px;
  padding: 34px 32px 30px;
  overflow: hidden;
}

.office-detail .office-support-card p.office-support-card__number {
  position: absolute !important;
  top: 4px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 0;

  display: block !important;
  width: 110px !important;
  min-width: 110px !important;
  max-width: none !important;
  height: 86px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--office-accent);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 80px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: -0.06em !important;
  text-align: right !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 0.09;
  pointer-events: none;
}

.office-detail .office-support-card h3,
.office-detail
.office-support-card
p:not(.office-support-card__number) {
  position: relative;
  z-index: 1;
}

.office-detail .office-support-card h3 {
  max-width: calc(100% - 90px);
  margin-top: 0;
}

@media screen and (max-width: 781px) {
  .office-detail .office-support-card {
    min-height: 0;
    padding: 28px 23px 25px;
  }

  .office-detail .office-support-card p.office-support-card__number {
    top: 7px !important;
    right: 12px !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 66px !important;
    font-size: 60px !important;
  }

  .office-detail .office-support-card h3 {
    max-width: calc(100% - 68px);
  }
}

/* ==================================================
   AM・PM見出し｜修正版
================================================== */

.office-detail .office-time-heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px !important;
  padding: 0 0 14px;
  color: #3d3731;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  background: transparent;
  border: 0;
  border-bottom: 2px solid #e8e3da;
  border-radius: 0;
  box-shadow: none;
}

.office-detail .office-time-heading::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 105px;
  height: 3px;
  content: "";
  border-radius: 999px;
}

.office-detail .office-time-heading::after {
  display: none !important;
  content: none !important;
}

.office-detail .office-time-heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: auto;
  min-width: 48px;
  height: 27px;
  padding: 0 11px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  border-radius: 999px;
  box-shadow: none;
}

/* ==================================================
   午前
================================================== */

.office-detail .office-time-heading--morning span {
  background: #55a64e;
}

.office-detail
  .office-time-heading--morning::before {
  background: linear-gradient(
    90deg,
    #55a64e 0%,
    #a9d7a4 100%
  );
}

/* ==================================================
   午後
================================================== */

.office-detail .office-time-heading--afternoon span {
  background: #c38f35;
}

.office-detail
  .office-time-heading--afternoon::before {
  background: linear-gradient(
    90deg,
    #c38f35 0%,
    #e5c68c 100%
  );
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-detail .office-time-heading {
    gap: 10px;
    margin-bottom: 16px !important;
    padding-bottom: 12px;
    font-size: 19px;
  }

  .office-detail .office-time-heading span {
    min-width: 45px;
    height: 25px;
    padding: 0 10px;
    font-size: 11px;
  }

  .office-detail .office-time-heading::before {
    width: 92px;
  }
}

/* ==================================================
   英字ラベルをゴールドに統一
================================================== */

.office-detail .daikon-section-label {
  color: #b58a18 !important;
}

.office-detail .office-service-info-card__label {
  color: #b58a18 !important;
}

.office-detail
.daikon-section-heading:has(#office-feature-title)
.daikon-section-label {
  color: #b58a18 !important;
}

/* ==================================================
   WORK WITH SUPPORT 背景
================================================== */

.office-detail .office-about-panel {
  position: relative;
  isolation: isolate;
  width: min(100%, 1120px);
  margin-right: auto;
  margin-left: auto;
  padding: clamp(42px, 5vw, 72px);
  overflow: hidden;
  background:
    radial-gradient(
      circle at 4% 8%,
      rgba(84, 169, 94, 0.14) 0 110px,
      transparent 112px
    ),
    radial-gradient(
      circle at 97% 93%,
      rgba(181, 138, 24, 0.09) 0 145px,
      transparent 147px
    ),
    linear-gradient(
      135deg,
      #f4faf4 0%,
      #ffffff 48%,
      #fdf9ef 100%
    );
  border: 1px solid #d8e6da;
  border-radius: 30px;
  box-shadow:
    0 22px 55px rgba(38, 78, 48, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
}

.office-detail .office-about-panel::before {
  position: absolute;
  top: 0;
  right: 48px;
  left: 48px;
  z-index: -1;
  height: 5px;
  background: linear-gradient(
    90deg,
    #2f914e 0%,
    #68b36f 65%,
    #b58a18 100%
  );
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-about-panel > * {
  position: relative;
  z-index: 1;
}

.office-detail .office-about-panel .office-about__eyebrow {
  color: #b58a18 !important;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.office-detail .office-about-panel .office-about__points {
  margin-top: clamp(32px, 4vw, 52px);
}

@media screen and (max-width: 781px) {
  .office-detail .office-about-panel {
    width: calc(100% - 32px);
    padding: 32px 20px;
    border-radius: 22px;
    background:
      radial-gradient(
        circle at 0 3%,
        rgba(84, 169, 94, 0.12) 0 72px,
        transparent 74px
      ),
      linear-gradient(
        145deg,
        #f5faf5 0%,
        #ffffff 58%,
        #fdf9ef 100%
      );
  }

  .office-detail .office-about-panel::before {
    right: 25px;
    left: 25px;
    height: 4px;
  }

  .office-detail .office-about-panel .office-about__points {
    margin-top: 28px;
  }
}

/* ==================================================
   WORK：主な仕事内容セクション背景
================================================== */

.office-detail .office-work {
  position: relative;
  isolation: isolate;
  width: min(100%, 1200px);
  margin-right: auto;
  margin-left: auto;
  padding: clamp(52px, 6vw, 82px) clamp(24px, 4vw, 48px);
  overflow: hidden;
  background:
    radial-gradient(
      circle at 4% 10%,
      rgba(66, 154, 80, 0.13) 0 125px,
      transparent 127px
    ),
    radial-gradient(
      circle at 96% 90%,
      rgba(181, 138, 24, 0.1) 0 160px,
      transparent 162px
    ),
    linear-gradient(
      145deg,
      #f3f9f3 0%,
      #ffffff 48%,
      #fcf8ee 100%
    );
  border: 1px solid #d8e6da;
  border-radius: 30px;
  box-shadow:
    0 22px 55px rgba(38, 78, 48, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
}

.office-detail .office-work::before {
  position: absolute;
  top: 0;
  right: 48px;
  left: 48px;
  z-index: -1;
  height: 5px;
  background: linear-gradient(
    90deg,
    #2f914e 0%,
    #68b36f 62%,
    #b58a18 100%
  );
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-work > * {
  position: relative;
  z-index: 1;
}

.office-detail .office-work .wp-block-columns {
  align-items: stretch;
  gap: clamp(18px, 2.4vw, 28px);
  margin-bottom: 0;
}

.office-detail .office-work .wp-block-column {
  display: flex;
}

.office-detail .office-work .office-work-card {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #dce8dd;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(38, 78, 48, 0.08);
}

.office-detail .office-work-card__number {
  color: #b58a18 !important;
}

.office-detail .office-work__note {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto !important;
  padding: 12px 22px;
  color: #526257;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #dce8dd;
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(38, 78, 48, 0.06);
}

@media screen and (max-width: 781px) {
  .office-detail .office-work {
    width: calc(100% - 32px);
    padding: 38px 18px;
    border-radius: 22px;
    background:
      radial-gradient(
        circle at 0 5%,
        rgba(66, 154, 80, 0.11) 0 76px,
        transparent 78px
      ),
      linear-gradient(
        145deg,
        #f4faf4 0%,
        #ffffff 58%,
        #fcf8ee 100%
      );
  }

  .office-detail .office-work::before {
    right: 24px;
    left: 24px;
    height: 4px;
  }

  .office-detail .office-work .wp-block-columns {
    gap: 18px;
  }

  .office-detail .office-work__note {
    width: 100%;
    padding: 12px 15px;
    line-height: 1.7;
    border-radius: 14px;
    box-sizing: border-box;
  }
}

/* ==================================================
   SERVICE INFO：利用・勤務情報
================================================== */

.office-detail .office-service-info {
  position: relative;
  isolation: isolate;
  width: min(100%, 1200px);
  margin-inline: auto;
  padding: clamp(48px, 6vw, 76px) clamp(24px, 4vw, 48px);
  overflow: hidden;
  background:
    radial-gradient(
      circle at 3% 8%,
      rgba(71, 158, 85, 0.12) 0 115px,
      transparent 117px
    ),
    radial-gradient(
      circle at 97% 94%,
      rgba(181, 138, 24, 0.09) 0 145px,
      transparent 147px
    ),
    linear-gradient(
      145deg,
      #f4faf4 0%,
      #fff 52%,
      #fdf9ef 100%
    );
  border: 1px solid #d8e6da;
  border-radius: 30px;
  box-shadow: 0 20px 52px rgba(38, 78, 48, 0.08);
  box-sizing: border-box;
}

.office-detail .office-service-info::before {
  position: absolute;
  top: 0;
  right: 48px;
  left: 48px;
  z-index: -1;
  height: 5px;
  background: linear-gradient(
    90deg,
    #2f914e 0%,
    #68b36f 62%,
    #b58a18 100%
  );
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-service-info > .wp-block-columns {
  align-items: stretch !important;
  gap: clamp(18px, 2.3vw, 28px) !important;
  margin: 0 !important;
}

.office-detail .office-service-info > .wp-block-columns > .wp-block-column {
  display: flex !important;
  min-width: 0 !important;
}

.office-detail .office-service-info-card {
  position: relative;
  display: flex !important;
  width: 100% !important;
  min-height: 290px;
  flex-direction: column;
  margin: 0 !important;
  padding: 30px 28px 28px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d9e6da;
  border-radius: 20px;
  box-shadow:
    0 13px 32px rgba(38, 78, 48, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.office-detail .office-service-info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(38, 78, 48, 0.13);
}

.office-detail .office-service-info-card::before {
  position: absolute;
  top: 0;
  right: 25px;
  left: 25px;
  height: 4px;
  background: linear-gradient(90deg, #399453, #b58a18);
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-service-info-card__label {
  display: inline-flex;
  width: fit-content !important;
  align-items: center;
  min-height: 30px;
  margin: 0 0 18px !important;
  padding: 6px 12px;
  color: #9a7414 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  background: #fcf5df;
  border: 1px solid #ead9a6;
  border-radius: 999px;
}

.office-detail .office-service-info-card h3 {
  position: relative;
  margin: 0 0 20px !important;
  padding-bottom: 13px;
  color: #173c2b !important;
  font-size: clamp(21px, 2vw, 26px);
  font-weight: 700;
  line-height: 1.45;
}

.office-detail .office-service-info-card h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 3px;
  background: #b58a18;
  border-radius: 999px;
  content: "";
}

.office-detail .office-service-info-card__main {
  margin: 0 0 15px !important;
  color: #257d42 !important;
  font-size: clamp(18px, 1.6vw, 21px) !important;
  font-weight: 700;
  line-height: 1.6;
}

.office-detail
.office-service-info-card
p:not(.office-service-info-card__label):not(.office-service-info-card__main) {
  margin: auto 0 0 !important;
  color: #526257 !important;
  font-size: 15px;
  line-height: 1.85;
}

.office-detail .office-service-info-notice {
  position: relative;
  width: min(100%, 920px);
  margin: 32px auto 0 !important;
  padding: 25px 28px 25px 92px;
  background: #fffaf0;
  border: 1px solid #eadcb8;
  border-radius: 17px;
  box-shadow: 0 9px 25px rgba(112, 83, 18, 0.07);
  box-sizing: border-box;
}

.office-detail .office-service-info-notice::before {
  position: absolute;
  top: 25px;
  left: 28px;
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  background: #b58a18;
  border-radius: 50%;
  content: "!";
}

.office-detail .office-service-info-notice__label {
  margin: 0 0 7px !important;
  color: #80600f !important;
  font-size: 16px;
  font-weight: 700;
}

.office-detail
.office-service-info-notice
p:not(.office-service-info-notice__label) {
  margin: 0 !important;
  color: #5e5b4f;
  font-size: 14px;
  line-height: 1.85;
}

@media screen and (max-width: 781px) {
  .office-detail .office-service-info {
    width: calc(100% - 32px);
    padding: 38px 18px;
    border-radius: 22px;
  }

  .office-detail .office-service-info::before {
    right: 24px;
    left: 24px;
    height: 4px;
  }

  .office-detail .office-service-info > .wp-block-columns {
    gap: 16px !important;
  }

  .office-detail .office-service-info-card {
    min-height: 0;
    padding: 25px 22px 23px;
    border-radius: 17px;
  }

  .office-detail .office-service-info-card__label {
    margin-bottom: 14px !important;
    font-size: 11px !important;
  }

  .office-detail .office-service-info-card h3 {
    margin-bottom: 16px !important;
    font-size: 21px;
  }

  .office-detail .office-service-info-card__main {
    font-size: 18px !important;
  }

  .office-detail .office-service-info-notice {
    margin-top: 22px !important;
    padding: 68px 20px 22px;
  }

  .office-detail .office-service-info-notice::before {
    top: 18px;
    left: 20px;
    width: 38px;
    height: 38px;
  }
}

/* ==================================================
   FOR YOU：おすすめの方 セクション背景
================================================== */

.office-detail .office-for-you {
  position: relative;
  isolation: isolate;
  width: min(100%, 1200px);
  margin-inline: auto;
  padding: clamp(48px, 6vw, 76px) clamp(24px, 4vw, 48px);
  overflow: hidden;
  background:
    radial-gradient(
      circle at 4% 9%,
      rgba(74, 159, 87, 0.13) 0 120px,
      transparent 122px
    ),
    radial-gradient(
      circle at 96% 90%,
      rgba(181, 138, 24, 0.1) 0 155px,
      transparent 157px
    ),
    linear-gradient(
      145deg,
      #f3f9f3 0%,
      #fff 50%,
      #fdf8ec 100%
    );
  border: 1px solid #d8e6da;
  border-radius: 30px;
  box-shadow:
    0 22px 55px rgba(38, 78, 48, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
}

.office-detail .office-for-you::before {
  position: absolute;
  top: 0;
  right: 48px;
  left: 48px;
  z-index: -1;
  height: 5px;
  background: linear-gradient(
    90deg,
    #2f914e 0%,
    #68b36f 62%,
    #b58a18 100%
  );
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-for-you > * {
  position: relative;
  z-index: 1;
}

.office-detail .office-for-you-grid {
  align-items: stretch !important;
  gap: clamp(18px, 2.3vw, 26px) !important;
  margin: 0 !important;
}

.office-detail
.office-for-you-grid
> .wp-block-column {
  display: flex !important;
  min-width: 0 !important;
}

.office-detail .office-for-you-card {
  position: relative;
  display: flex !important;
  width: 100% !important;
  min-height: 180px;
  flex-direction: column;
  justify-content: center;
  margin: 0 !important;
  padding: 30px 27px 27px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d9e6da;
  border-radius: 19px;
  box-shadow:
    0 12px 30px rgba(38, 78, 48, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.office-detail .office-for-you-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px rgba(38, 78, 48, 0.13);
}

.office-detail .office-for-you-card::before {
  position: absolute;
  top: 0;
  right: 24px;
  left: 24px;
  height: 4px;
  background: linear-gradient(90deg, #399453, #b58a18);
  border-radius: 0 0 999px 999px;
  content: "";
}

.office-detail .office-for-you-card__number {
  position: absolute !important;
  top: 7px !important;
  right: 16px !important;
  z-index: 0;
  margin: 0 !important;
  color: rgba(47, 145, 78, 0.12) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 74px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  pointer-events: none;
}

.office-detail .office-for-you-card__text {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  color: #173c2b !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  font-weight: 700;
  line-height: 1.8;
}

.office-detail
.office-for-you-grid
+ .office-for-you-grid {
  margin-top: 22px !important;
}

.office-detail .office-for-you-note {
  position: relative;
  width: min(100%, 920px);
  margin: 38px auto 0 !important;
  padding: 34px clamp(24px, 4vw, 46px);
  text-align: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #dfdfca;
  border-radius: 21px;
  box-shadow: 0 13px 32px rgba(38, 78, 48, 0.08);
  box-sizing: border-box;
}

.office-detail .office-for-you-note h3 {
  margin: 0 0 18px !important;
  color: #173c2b !important;
  font-size: clamp(21px, 2vw, 27px);
  line-height: 1.5;
}

.office-detail .office-for-you-note h3::after {
  display: block;
  width: 52px;
  height: 3px;
  margin: 13px auto 0;
  background: #b58a18;
  border-radius: 999px;
  content: "";
}

.office-detail .office-for-you-note p {
  margin: 0 0 13px !important;
  color: #526257 !important;
  font-size: 15px;
  line-height: 1.9;
}

.office-detail .office-for-you-note .wp-block-buttons {
  margin-top: 25px;
}

@media screen and (max-width: 781px) {
  .office-detail .office-for-you {
    width: calc(100% - 32px);
    padding: 38px 18px;
    border-radius: 22px;
  }

  .office-detail .office-for-you::before {
    right: 24px;
    left: 24px;
    height: 4px;
  }

  .office-detail .office-for-you-grid {
    gap: 16px !important;
  }

  .office-detail
  .office-for-you-grid
  + .office-for-you-grid {
    margin-top: 16px !important;
  }

  .office-detail .office-for-you-card {
    min-height: 145px;
    padding: 25px 22px;
    border-radius: 16px;
  }

  .office-detail .office-for-you-card__number {
    top: 8px !important;
    right: 13px !important;
    font-size: 60px !important;
  }

  .office-detail .office-for-you-card__text {
    padding-right: 34px;
    font-size: 16px !important;
    line-height: 1.75;
  }

  .office-detail .office-for-you-note {
    margin-top: 24px !important;
    padding: 27px 20px;
    text-align: left;
    border-radius: 17px;
  }

  .office-detail .office-for-you-note h3 {
    font-size: 21px;
    text-align: center;
  }

  .office-detail .office-for-you-note p {
    font-size: 14px;
    line-height: 1.8;
  }
}

/* ==================================================
   ご確認ください：最終修正版
================================================== */

.office-detail .office-service-info-notice {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  width: min(100%, 1120px) !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 32px auto 0 !important;
  padding: 26px 32px 26px 38px !important;

  overflow: hidden !important;
  background: #fffdf8 !important;
  border: 1px solid #e3d4ae !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(91, 71, 28, 0.08);
}

.office-detail .office-service-info-notice::before {
  content: "" !important;
  position: absolute !important;
  top: 20px !important;
  bottom: 20px !important;
  left: 0 !important;

  width: 6px !important;
  height: auto !important;

  background: #bf8e23 !important;
  border-radius: 0 6px 6px 0 !important;
}

.office-detail
  .office-service-info-notice
  > .office-service-info-notice__label {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  transform: none !important;

  display: inline-block !important;
  flex: none !important;

  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 0 14px !important;
  padding: 7px 17px !important;

  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: nowrap !important;

  background: #bf8e23 !important;
  border-radius: 999px !important;
}

.office-detail
  .office-service-info-notice
  > .office-service-info-notice__text {
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  transform: none !important;

  display: block !important;
  flex: none !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #4f554f !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  text-align: left !important;

  writing-mode: horizontal-tb !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media screen and (max-width: 781px) {
  .office-detail .office-service-info-notice {
    margin-top: 24px !important;
    padding: 22px 20px 22px 27px !important;
    border-radius: 14px !important;
  }

  .office-detail .office-service-info-notice::before {
    top: 16px !important;
    bottom: 16px !important;
    width: 5px !important;
  }

  .office-detail
    .office-service-info-notice
    > .office-service-info-notice__label {
    margin-bottom: 12px !important;
    padding: 6px 14px !important;
    font-size: 13px !important;
  }

  .office-detail
    .office-service-info-notice
    > .office-service-info-notice__text {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}

/* ==================================================
   一日の流れ（旧スケジュールCSSと競合しない専用クラス）
================================================== */

.office-detail .office-day-flow {
  width: min(100%, 1120px) !important;
  margin-inline: auto !important;
}

.office-detail .office-day-flow__columns {
  align-items: stretch !important;
  gap: 48px !important;
}

.office-detail .office-day-flow__columns > .wp-block-column {
  min-width: 0 !important;
}

.office-detail .office-day-flow__heading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
  padding: 16px !important;
  color: #173c2b !important;
  font-size: 30px !important;
  line-height: 1.3 !important;
  background: #fff !important;
  border: 1px solid #d7e6da !important;
  border-left: 9px solid #34944f !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(38, 78, 48, 0.07) !important;
}

.office-detail .office-day-flow__heading--pm {
  border-left-color: #c99613 !important;
}

.office-detail .office-day-flow__heading span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 13px !important;
  color: #d2a12c !important;
  font: 700 16px/1 Georgia, serif !important;
  background: #34944f !important;
  border-radius: 999px !important;
}

.office-detail .office-day-flow__heading--pm span {
  background: #c99613 !important;
}

.office-detail .office-day-flow__item.wp-block-group {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 160px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #d7e6da !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(38, 78, 48, 0.07) !important;
}

.office-detail .office-day-flow__time {
  grid-column: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 118px !important;
  min-width: 118px !important;
  min-height: 160px !important;
  margin: 0 !important;
  padding: 10px !important;
  color: #fff !important;
  font: 700 19px/1 Georgia, serif !important;
  background: #2f914e !important;
}

.office-detail .office-day-flow__content.wp-block-group {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 160px !important;
  margin: 0 !important;
  padding: 24px 28px !important;
  background: #fff !important;
}

.office-detail .office-day-flow__content > * {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  writing-mode: horizontal-tb !important;
}

.office-detail .office-day-flow__content h3 {
  margin: 0 0 8px !important;
  color: #173c2b !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.office-detail .office-day-flow__content p {
  margin: 0 !important;
  color: #526257 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  text-align: left !important;
}

.office-detail .office-day-flow__item--break .office-day-flow__time {
  color: #246c3c !important;
  background: #eaf5ec !important;
}

.office-detail .office-day-flow__item--lunch .office-day-flow__time {
  color: #76571d !important;
  background: #f8edcf !important;
}

.office-detail .office-day-flow__item--end .office-day-flow__time {
  color: #fff !important;
  background: #216f3d !important;
}

.office-detail .office-day-flow__note {
  max-width: 900px !important;
  margin: 30px auto 0 !important;
  padding: 24px 30px !important;
  text-align: center !important;
  background: #f2f8f3 !important;
  border: 1px solid #d7e6da !important;
  border-radius: 18px !important;
}

.office-detail .office-day-flow__note h3 {
  margin: 0 0 8px !important;
  color: #246f3d !important;
  font-size: 20px !important;
}

.office-detail .office-day-flow__note p {
  margin: 0 !important;
  color: #526257 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

@media screen and (max-width: 900px) {
  .office-detail .office-day-flow__columns {
    display: block !important;
  }

  .office-detail
    .office-day-flow__columns
    > .wp-block-column
    + .wp-block-column {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 781px) {
  .office-detail .office-day-flow__item.wp-block-group {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    min-height: 145px !important;
  }

  .office-detail .office-day-flow__time {
    width: 78px !important;
    min-width: 78px !important;
    min-height: 145px !important;
    padding: 6px !important;
    font-size: 15px !important;
  }

  .office-detail .office-day-flow__content.wp-block-group {
    min-height: 145px !important;
    padding: 18px 16px !important;
  }

  .office-detail .office-day-flow__content h3 {
    font-size: 18px !important;
  }

  .office-detail .office-day-flow__content p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}

/* ==================================================
   見学・利用開始までの流れ
================================================== */

.office-detail .office-flow {
  position: relative;
  padding: 64px 24px;
  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(85, 166, 78, 0.1) 0 110px,
      transparent 111px
    ),
    radial-gradient(
      circle at 94% 88%,
      rgba(201, 150, 19, 0.1) 0 130px,
      transparent 131px
    ),
    linear-gradient(135deg, #f6faf6 0%, #fffdf8 100%);
  border: 1px solid #dce9de;
  border-radius: 32px;
}

.office-detail .office-flow .office-inner > .wp-block-columns {
  align-items: stretch;
  gap: 24px;
  margin: 0 0 24px;
}

.office-detail
  .office-flow
  .office-inner
  > .wp-block-columns:last-child {
  margin-bottom: 0;
}

.office-detail
  .office-flow
  .wp-block-column {
  display: flex;
  min-width: 0;
}

.office-detail .office-flow-item {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  width: 100%;
  min-height: 230px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #d7e6da;
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(36, 83, 50, 0.08);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

@media (hover: hover) {
  .office-detail .office-flow-item:hover {
    transform: translateY(-4px);
    border-color: #a9cfaf;
    box-shadow: 0 18px 38px rgba(36, 83, 50, 0.13);
  }
}

.office-detail .office-flow-item__number {
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 118px;
  min-height: 100%;
  margin: 0;
  padding: 24px 12px;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  background:
    linear-gradient(
      160deg,
      #3f9b58 0%,
      #287843 100%
    );
}

.office-detail .office-flow-item__number span {
  display: block;
  color: #f3d47b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.office-detail
  .office-flow-item--last
  .office-flow-item__number {
  background:
    linear-gradient(
      160deg,
      #d2a126 0%,
      #aa7711 100%
    );
}

.office-detail
  .office-flow-item--last
  .office-flow-item__number span {
  color: #fff4ce;
}

.office-detail .office-flow-item__content {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: 32px 34px;
}

.office-detail .office-flow-item__content h3 {
  position: relative;
  margin: 0 0 22px;
  padding-bottom: 13px;
  color: #173c2b;
  font-size: clamp(20px, 1.5vw, 24px);
  font-weight: 700;
  line-height: 1.5;
}

.office-detail .office-flow-item__content h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 3px;
  background: #c99613;
  border-radius: 999px;
}

.office-detail .office-flow-item__content p {
  margin: 0;
  color: #526257;
  font-size: 15px;
  line-height: 1.9;
}

@media screen and (max-width: 781px) {
  .office-detail .office-flow {
    padding: 36px 16px;
    border-radius: 22px;
  }

  .office-detail
    .office-flow
    .office-inner
    > .wp-block-columns {
    display: block;
    margin-bottom: 18px;
  }

  .office-detail
    .office-flow
    .wp-block-column
    + .wp-block-column {
    margin-top: 18px;
  }

  .office-detail .office-flow-item {
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 190px;
    border-radius: 16px;
  }

  .office-detail .office-flow-item__number {
    min-width: 82px;
    padding: 18px 8px;
    font-size: 25px;
  }

  .office-detail .office-flow-item__number span {
    font-size: 10px;
  }

  .office-detail .office-flow-item__content {
    padding: 24px 20px;
  }

  .office-detail .office-flow-item__content h3 {
    margin-bottom: 17px;
    font-size: 18px;
  }

  .office-detail .office-flow-item__content p {
    font-size: 14px;
    line-height: 1.8;
  }
}

/* ==================================================
   見学・利用開始までの流れ
================================================== */

.office-detail .office-start-flow {
  padding: 64px 24px;
  background:
    radial-gradient(
      circle at 8% 12%,
      rgba(91, 166, 106, 0.1),
      transparent 240px
    ),
    #f7fbf7;
}

.office-detail .office-start-flow .office-inner {
  width: min(100%, 960px);
  margin-inline: auto;
}

.office-detail
.office-start-flow
.office-inner
> .wp-block-columns {
  display: flex !important;
  align-items: stretch !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
}

.office-detail
.office-start-flow
.office-inner
> .wp-block-columns
> .wp-block-column {
  display: flex !important;
  flex: 1 1 0 !important;
  align-self: stretch !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.office-detail
.office-start-flow
.office-start-card.wp-block-group {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;

  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;

  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

  background: #fff !important;
  border: 1px solid #d7e6da !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 30px rgba(36, 83, 50, 0.09) !important;
}

.office-detail
.office-start-flow
.office-start-card
> .office-start-card__number {
  position: static !important;
  inset: auto !important;

  display: flex !important;
  flex: 0 0 112px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  box-sizing: border-box !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;

  margin: 0 !important;
  padding: 16px 8px !important;

  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  writing-mode: horizontal-tb !important;

  background: linear-gradient(
    160deg,
    #3f9b58 0%,
    #287843 100%
  ) !important;
}

.office-detail
.office-start-flow
.office-start-card__number
> span {
  position: static !important;
  display: block !important;

  margin: 0 !important;
  color: #f3d47b !important;
  font-size: 11px !important;
  line-height: 1 !important;
  letter-spacing: 0.16em !important;
  writing-mode: horizontal-tb !important;
}

.office-detail
.office-start-flow
.office-start-card
> .office-start-card__content.wp-block-group {
  position: static !important;
  inset: auto !important;

  display: flex !important;
  flex: 1 1 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;

  margin: 0 !important;
  padding: 28px 30px !important;

  color: #173c2b !important;
  background: #fff !important;

  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  overflow: visible !important;
}

.office-detail
.office-start-flow
.office-start-card__content
> * {
  position: static !important;
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  height: auto !important;

  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.office-detail
.office-start-flow
.office-start-card__content
h3 {
  margin: 0 0 16px !important;
  padding: 0 0 12px !important;

  color: #173c2b !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
}

.office-detail
.office-start-flow
.office-start-card__content
h3::after {
  content: "";
  display: block;
  width: 46px;
  height: 3px;
  margin-top: 10px;
  background: #c99613;
  border-radius: 999px;
}

.office-detail
.office-start-flow
.office-start-card__content
p {
  display: block !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #526257 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  text-align: left !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;

  visibility: visible !important;
  opacity: 1 !important;
}

.office-detail
.office-start-flow
.office-start-card--last
> .office-start-card__number {
  background: linear-gradient(
    160deg,
    #d2a126 0%,
    #aa7711 100%
  ) !important;
}

@media screen and (max-width: 781px) {
  .office-detail .office-start-flow {
    padding: 48px 18px;
  }

  .office-detail
  .office-start-flow
  .office-inner
  > .wp-block-columns {
    display: block !important;
    margin-bottom: 16px !important;
  }

  .office-detail
  .office-start-flow
  .wp-block-column
  + .wp-block-column {
    margin-top: 16px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card.wp-block-group {
    height: auto !important;
    min-height: 190px !important;
    max-height: none !important;
    border-radius: 16px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card
  > .office-start-card__number {
    flex-basis: 76px !important;
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: auto !important;
    min-height: 190px !important;
    max-height: none !important;
    padding: 12px 5px !important;
    font-size: 24px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card__number
  > span {
    font-size: 9px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card
  > .office-start-card__content.wp-block-group {
    height: auto !important;
    min-height: 190px !important;
    max-height: none !important;
    padding: 22px 18px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card__content
  h3 {
    font-size: 18px !important;
  }

  .office-detail
  .office-start-flow
  .office-start-card__content
  p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}

/* ==================================================
   1日の流れ｜事業所共通
================================================== */

.office-detail .office-daily-schedule {
  --schedule-green: #55a64e;
  --schedule-green-dark: #347c3d;
  --schedule-green-soft: #edf7ec;
  --schedule-gold: #c38f35;
  --schedule-gold-dark: #94671f;
  --schedule-gold-soft: #fff7e8;
  --schedule-text: #403a34;
  --schedule-border: #e7e2d9;

  width: 100%;
  margin: 0;
}

.office-detail
  .office-daily-schedule
  > .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 32px;
  margin: 0 !important;
}

.office-detail
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column {
  position: relative;
  min-width: 0;
  margin: 0 !important;
  padding: 32px 28px 28px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--schedule-border);
  border-radius: 24px;
  box-shadow:
    0 12px 35px rgba(68, 58, 42, 0.08),
    0 2px 8px rgba(68, 58, 42, 0.04);
}

.office-detail
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  content: "";
  background: linear-gradient(
    90deg,
    var(--schedule-green-dark),
    var(--schedule-green),
    #91ca87
  );
}

.office-detail
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column:nth-child(2)::before {
  background: linear-gradient(
    90deg,
    var(--schedule-gold-dark),
    var(--schedule-gold),
    #e6c37d
  );
}

.office-detail .office-time-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 24px !important;
  padding: 0 0 18px;
  color: var(--schedule-text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 1px solid var(--schedule-border);
}

.office-detail .office-time-heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  height: 36px;
  padding: 0 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  background: var(--schedule-green);
  border-radius: 999px;
  box-shadow: 0 5px 12px rgba(85, 166, 78, 0.2);
}

.office-detail
  .office-time-heading--afternoon
  span {
  background: var(--schedule-gold);
  box-shadow: 0 5px 12px rgba(195, 143, 53, 0.2);
}

.office-detail .office-schedule-card {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: stretch !important;
  gap: 16px !important;
  position: relative;
  margin: 0 0 16px !important;
}

.office-detail
  .office-schedule-card
  > .wp-block-column {
  min-width: 0 !important;
  margin: 0 !important;
  flex-basis: auto !important;
}

.office-detail .office-schedule-card:last-child {
  margin-bottom: 0 !important;
}

.office-detail .office-schedule-item__time {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  margin: 0 !important;
  padding: 16px 7px;
  color: var(--schedule-green-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  background: var(--schedule-green-soft);
  border: 1px solid rgba(85, 166, 78, 0.25);
  border-radius: 14px;
}

.office-detail
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column:nth-child(2)
  .office-schedule-item__time {
  color: var(--schedule-gold-dark);
  background: var(--schedule-gold-soft);
  border-color: rgba(195, 143, 53, 0.27);
}

.office-detail .office-schedule-item__content {
  position: relative;
  min-height: 100%;
  margin: 0 !important;
  padding: 17px 19px;
  background: #faf9f6;
  border: 1px solid #eae6de;
  border-radius: 14px;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.office-detail
  .office-schedule-item__content::before {
  position: absolute;
  top: 20px;
  left: -7px;
  width: 12px;
  height: 12px;
  content: "";
  background: #faf9f6;
  border-bottom: 1px solid #eae6de;
  border-left: 1px solid #eae6de;
  transform: rotate(45deg);
}

.office-detail
  .office-schedule-item__content
  h3 {
  margin: 0 0 6px !important;
  color: var(--schedule-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.office-detail
  .office-schedule-item__content
  p {
  margin: 0 !important;
  color: #665f58;
  font-size: 15px;
  line-height: 1.75;
}

@media (hover: hover) {
  .office-detail
    .office-schedule-card:hover
    .office-schedule-item__content {
    border-color: rgba(85, 166, 78, 0.42);
    box-shadow: 0 8px 20px rgba(68, 58, 42, 0.09);
    transform: translateY(-2px);
  }

  .office-detail
    .office-daily-schedule
    > .wp-block-columns
    > .wp-block-column:nth-child(2)
    .office-schedule-card:hover
    .office-schedule-item__content {
    border-color: rgba(195, 143, 53, 0.45);
  }
}

/* ==================================================
   勤務時間の注記
================================================== */

.office-detail .office-schedule-note {
  position: relative;
  margin-top: 32px;
  padding: 26px 30px 26px 82px;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #f5f9f2 0%,
    #fffaf1 100%
  );
  border: 1px solid #dedfce;
  border-radius: 18px;
}

.office-detail .office-schedule-note::before {
  position: absolute;
  top: 25px;
  left: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  content: "!";
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  background: var(--schedule-green);
  border-radius: 50%;
}

.office-detail .office-schedule-note h3 {
  margin: 0 0 7px !important;
  color: var(--schedule-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.office-detail .office-schedule-note p {
  margin: 0 !important;
  color: #625c55;
  font-size: 15px;
  line-height: 1.8;
}

/* ==================================================
   タブレット・スマートフォン
================================================== */

@media screen and (max-width: 781px) {

  .office-detail
    .office-daily-schedule
    > .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .office-detail
    .office-daily-schedule
    > .wp-block-columns
    > .wp-block-column {
    width: 100%;
    padding: 26px 20px 22px;
    border-radius: 20px;
  }

  .office-detail .office-time-heading {
    margin-bottom: 20px !important;
    font-size: 21px;
  }

  .office-detail .office-time-heading span {
    min-width: 58px;
    height: 34px;
    font-size: 13px;
  }

  .office-detail .office-schedule-card {
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .office-detail .office-schedule-item__time {
    padding: 14px 5px;
    font-size: 15px;
    border-radius: 12px;
  }

  .office-detail .office-schedule-item__content {
    padding: 15px 16px;
    border-radius: 12px;
  }

  .office-detail
    .office-schedule-item__content
    h3 {
    font-size: 17px;
  }

  .office-detail
    .office-schedule-item__content
    p {
    font-size: 15px;
  }

  .office-detail .office-schedule-note {
    margin-top: 24px;
    padding: 68px 20px 20px;
    border-radius: 16px;
  }

  .office-detail .office-schedule-note::before {
    top: 18px;
    left: 20px;
    width: 36px;
    height: 36px;
  }

  .office-detail .office-schedule-note h3 {
    font-size: 17px;
  }
}

@media screen and (max-width: 390px) {
  .office-detail
    .office-daily-schedule
    > .wp-block-columns
    > .wp-block-column {
    padding-right: 15px;
    padding-left: 15px;
  }

  .office-detail .office-schedule-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 9px !important;
  }

  .office-detail .office-schedule-item__time {
    font-size: 14px;
  }

  .office-detail .office-schedule-item__content {
    padding-right: 13px;
    padding-left: 13px;
  }
}

.office-detail
  .office-schedule-item__content--break {
  background: #fff8eb;
  border-color: #ead9b9;
}

.office-detail
  .office-schedule-item__content--break::before {
  background: #fff8eb;
  border-bottom-color: #ead9b9;
  border-left-color: #ead9b9;
}

.office-detail
  .office-schedule-item__content--break
  h3 {
  color: #806231;
}

.office-detail
  .office-schedule-item__content--break
  p {
  color: #6c604e;
}

@media (hover: hover) {
  .office-detail
    .office-schedule-card:hover
    .office-schedule-item__content--break {
    background: #fff8eb;
    border-color: #ddc391;
  }
}

/* ==================================================
   休憩｜時間を含めて薄いベージュに統一
================================================== */

.office-detail
  .office-schedule-card--break
  .office-schedule-item__time {
  color: #8a682f !important;
  background: #f9efd9 !important;
  border-color: #e4d1ad !important;
}

.office-detail
  .office-schedule-card--break
  .office-schedule-item__content {
  background: #fff9ed !important;
  border-color: #e4d1ad !important;
}

.office-detail
  .office-schedule-card--break
  .office-schedule-item__content::before {
  background: #fff9ed !important;
  border-bottom-color: #e4d1ad !important;
  border-left-color: #e4d1ad !important;
}

.office-detail
  .office-schedule-card--break
  .office-schedule-item__content
  h3 {
  color: #765827 !important;
}

.office-detail
  .office-schedule-card--break
  .office-schedule-item__content
  p {
  color: #695f50 !important;
}

@media (hover: hover) {
  .office-detail
    .office-schedule-card--break:hover
    .office-schedule-item__content {
    background: #fff6e3 !important;
    border-color: #d9bd89 !important;
    box-shadow: 0 8px 20px rgba(157, 119, 55, 0.1);
  }
}

/* ==================================================
   昼休憩｜濃いベージュ
================================================== */

.office-detail
  .office-schedule-card--lunch
  .office-schedule-item__time {
  color: #76521e !important;
  background: #ead4aa !important;
  border-color: #d4b578 !important;
}

.office-detail
  .office-schedule-card--lunch
  .office-schedule-item__content {
  background: #f4e5c8 !important;
  border-color: #d4b578 !important;
}

.office-detail
  .office-schedule-card--lunch
  .office-schedule-item__content::before {
  background: #f4e5c8 !important;
  border-bottom-color: #d4b578 !important;
  border-left-color: #d4b578 !important;
}

.office-detail
  .office-schedule-card--lunch
  .office-schedule-item__content
  h3 {
  color: #684817 !important;
}

.office-detail
  .office-schedule-card--lunch
  .office-schedule-item__content
  p {
  color: #5f513d !important;
}

@media (hover: hover) {
  .office-detail
    .office-schedule-card--lunch:hover
    .office-schedule-item__content {
    background: #efdbb5 !important;
    border-color: #c9a45f !important;
    box-shadow: 0 8px 20px rgba(145, 104, 40, 0.14);
  }
}

/* ==================================================
   1日の流れ｜セクション背景
================================================== */

.office-detail .office-schedule-section {
  position: relative;
  isolation: isolate;
  width: 100%;
  padding: 54px 48px 46px;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 5% 10%,
      rgba(85, 166, 78, 0.1) 0,
      rgba(85, 166, 78, 0) 31%
    ),
    radial-gradient(
      circle at 96% 90%,
      rgba(195, 143, 53, 0.12) 0,
      rgba(195, 143, 53, 0) 32%
    ),
    linear-gradient(
      135deg,
      #fbfcf8 0%,
      #fffdf8 50%,
      #fbf7ee 100%
    );
  border: 1px solid #e8e2d6;
  border-radius: 30px;
  box-shadow:
    0 18px 48px rgba(67, 57, 40, 0.08),
    0 3px 10px rgba(67, 57, 40, 0.04);
}

.office-detail .office-schedule-section::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 70px;
  left: 70px;
  height: 5px;
  content: "";
  background: linear-gradient(
    90deg,
    rgba(85, 166, 78, 0) 0%,
    #55a64e 25%,
    #a1bd68 50%,
    #c38f35 75%,
    rgba(195, 143, 53, 0) 100%
  );
  border-radius: 0 0 999px 999px;
}

.office-detail .office-schedule-section::after {
  position: absolute;
  z-index: -1;
  top: 25px;
  left: 25px;
  width: 90px;
  height: 90px;
  content: "";
  background-image: radial-gradient(
    circle,
    rgba(85, 166, 78, 0.18) 1.5px,
    transparent 1.8px
  );
  background-size: 12px 12px;
  opacity: 0.7;
  mask-image: linear-gradient(
    135deg,
    #000,
    transparent 72%
  );
}

/* ==================================================
   午前・午後の大きなカード
================================================== */

.office-detail
  .office-schedule-section
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(225, 219, 208, 0.9);
  box-shadow:
    0 10px 28px rgba(67, 57, 40, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(3px);
}

.office-detail
  .office-schedule-section
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column:first-child {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(247, 252, 245, 0.96) 100%
    );
}

.office-detail
  .office-schedule-section
  .office-daily-schedule
  > .wp-block-columns
  > .wp-block-column:nth-child(2) {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 250, 241, 0.96) 100%
    );
}

/* ==================================================
   勤務時間の案内カード
================================================== */

.office-detail
  .office-schedule-section
  .office-schedule-note {
  margin-top: 32px;
  background:
    linear-gradient(
      110deg,
      rgba(239, 248, 236, 0.95) 0%,
      rgba(255, 252, 244, 0.95) 100%
    );
  border: 1px solid #dcdcc9;
  box-shadow: 0 7px 20px rgba(67, 57, 40, 0.06);
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-detail .office-schedule-section {
    padding: 34px 18px 28px;
    border-radius: 22px;
  }

  .office-detail .office-schedule-section::before {
    right: 35px;
    left: 35px;
    height: 4px;
  }

  .office-detail .office-schedule-section::after {
    top: 16px;
    left: 14px;
    width: 65px;
    height: 65px;
    background-size: 10px 10px;
  }

  .office-detail
    .office-schedule-section
    .office-schedule-note {
    margin-top: 24px;
  }
}

/* ==================================================
   サービス情報｜確認事項
================================================== */

.office-detail .office-service-info-notice {
  position: relative;
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  width: 100%;
  margin: 30px 0 0 !important;
  padding: 22px 26px;
  overflow: hidden;
  background: #fffaf0;
  border: 1px solid #e3d2ae;
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(114, 82, 32, 0.06);
}

.office-detail
  .office-service-info-notice::before {
  position: absolute;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 4px;
  content: "";
  background: #c38f35;
  border-radius: 0 999px 999px 0;
}

.office-detail
  .office-service-info-notice__label {
  position: static !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  margin: 0 !important;
  padding: 7px 13px;
  color: #76531e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  background: #f2dfb9;
  border: 1px solid #dfc28a;
  border-radius: 999px;
  transform: none !important;
}

.office-detail
  .office-service-info-notice__text {
  position: static !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: #625847;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  transform: none !important;
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-detail .office-service-info-notice {
    display: block;
    margin-top: 24px !important;
    padding: 20px 18px 18px;
    border-radius: 13px;
  }

  .office-detail
    .office-service-info-notice__label {
    width: auto;
    min-height: 32px;
    margin-bottom: 12px !important;
    padding: 5px 13px;
    font-size: 13px;
  }

  .office-detail
    .office-service-info-notice__text {
    font-size: 14px;
    line-height: 1.75;
  }
}

.office-detail
  .office-service-info-notice
  .office-service-info-notice__label {
  position: static !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #76531e !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left !important;
  white-space: normal;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ==================================================
   利用開始までの流れ｜既存CSS競合解除・最終調整
================================================== */

.office-detail
  .office-inner.office-start-flow
  > .wp-block-columns {
  display: flex !important;
  align-items: stretch !important;
  gap: 22px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

.office-detail
  .office-inner.office-start-flow
  > .wp-block-columns:last-child {
  margin-bottom: 0 !important;
}

.office-detail
  .office-inner.office-start-flow
  > .wp-block-columns
  > .wp-block-column {
  display: flex !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 170px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 24px 24px 24px 22px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #dce2d8 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(54, 70, 50, 0.08) !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card::before {
  position: absolute !important;
  top: 18px !important;
  bottom: 18px !important;
  left: 0 !important;
  width: 4px !important;
  height: auto !important;
  content: "" !important;
  background: linear-gradient(
    180deg,
    #55a64e 0%,
    #7fb663 55%,
    #c38f35 100%
  ) !important;
  border-radius: 0 999px 999px 0 !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card::after {
  display: none !important;
  content: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card
  > .office-start-card__number {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;

  display: flex !important;
  flex: 0 0 68px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #3f7f3e !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;

  background: #edf7eb !important;
  border: 1px solid #c7dfc2 !important;
  border-radius: 50% !important;
  box-shadow:
    inset 0 0 0 5px rgba(255, 255, 255, 0.7) !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card
  > .office-start-card__number
  span {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: #6c9667 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
  background: none !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card
  > .office-start-card__content {
  position: static !important;
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card__content
  h3 {
  position: relative !important;
  display: block !important;
  margin: 0 0 11px !important;
  padding: 0 0 10px !important;
  color: #30432f !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card__content
  h3::after {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  width: 38px !important;
  height: 2px !important;
  content: "" !important;
  background: #c38f35 !important;
  border-radius: 999px !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card__content
  p {
  position: static !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #615e57 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  text-align: left !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card--last {
  background: linear-gradient(
    135deg,
    #f1f8ee 0%,
    #fffaf0 100%
  ) !important;
  border-color: #b7d2ae !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card--last
  > .office-start-card__number {
  color: #fff !important;
  background: linear-gradient(
    135deg,
    #64ae58 0%,
    #40883f 100%
  ) !important;
  border-color: #55a64e !important;
  box-shadow: 0 6px 15px rgba(85, 166, 78, 0.24) !important;
}

.office-detail
  .office-inner.office-start-flow
  .office-start-card--last
  > .office-start-card__number
  span {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-detail
    .office-inner.office-start-flow
    > .wp-block-columns {
    display: block !important;
    margin-bottom: 0 !important;
  }

  .office-detail
    .office-inner.office-start-flow
    > .wp-block-columns
    > .wp-block-column {
    display: block !important;
    margin-bottom: 16px !important;
  }

  .office-detail
    .office-inner.office-start-flow
    .office-start-card {
    gap: 14px !important;
    min-height: 0 !important;
    padding: 20px 17px 20px 15px !important;
    border-radius: 15px !important;
  }

  .office-detail
    .office-inner.office-start-flow
    .office-start-card
    > .office-start-card__number {
    flex-basis: 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    font-size: 20px !important;
  }

  .office-detail
    .office-inner.office-start-flow
    .office-start-card__content
    h3 {
    font-size: 17px !important;
  }

  .office-detail
    .office-inner.office-start-flow
    .office-start-card__content
    p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}

/* ==================================================
   STEP表示｜既存デザイン完全リセット
================================================== */

body
  .office-detail
  .office-inner.office-start-flow
  .office-start-card
  p.office-start-card__number {
  all: unset !important;

  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;

  margin: 0 0 12px !important;
  padding: 0 !important;

  color: #3f803e !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.03em !important;
}

body
  .office-detail
  .office-inner.office-start-flow
  .office-start-card
  p.office-start-card__number
  span {
  all: unset !important;

  display: inline !important;
  color: #c38f35 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.1em !important;
}

body
  .office-detail
  .office-inner.office-start-flow
  .office-start-card
  p.office-start-card__number::before,
body
  .office-detail
  .office-inner.office-start-flow
  .office-start-card
  p.office-start-card__number::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
}

body
  .office-detail
  .office-inner.office-start-flow
  .office-start-card--last
  p.office-start-card__number {
  color: #3f803e !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ==================================================
   利用開始までの流れ｜補足案内カード
================================================== */

.office-detail .office-flow-note {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 32px auto 0 !important;
  padding: 28px 30px 28px 82px !important;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      #f2f8ef 0%,
      #fffaf0 100%
    );
  border: 1px solid #d9ddca;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(66, 72, 49, 0.07);
}

.office-detail .office-flow-note::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 5px;
  content: "";
  background: linear-gradient(
    180deg,
    #55a64e 0%,
    #7fb863 55%,
    #c38f35 100%
  );
  border-radius: 0 999px 999px 0;
}

.office-detail .office-flow-note::after {
  position: absolute;
  top: 27px;
  left: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  content: "i";
  color: #fff;
  font-family: Georgia, serif;
  font-size: 21px;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  background: #55a64e;
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(85, 166, 78, 0.2);
}

.office-detail .office-flow-note h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #344432;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.office-detail .office-flow-note > p:not(.office-flow-note__link) {
  margin: 0 !important;
  color: #625f57;
  font-size: 15px;
  line-height: 1.8;
}

.office-detail .office-flow-note__link {
  margin: 18px 0 0 !important;
  padding: 0 !important;
}

.office-detail .office-flow-note__link a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 46px 10px 20px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none !important;
  background: #4d9648;
  border: 1px solid #4d9648;
  border-radius: 999px;
  box-shadow: 0 5px 13px rgba(73, 139, 68, 0.18);
  transition:
    color 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.office-detail .office-flow-note__link a::after {
  position: absolute;
  top: 50%;
  right: 19px;
  width: 7px;
  height: 7px;
  content: "";
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

@media (hover: hover) {
  .office-detail .office-flow-note__link a:hover {
    color: #4d8f48 !important;
    background: #fff;
    box-shadow: 0 7px 17px rgba(73, 139, 68, 0.15);
    transform: translateY(-2px);
  }
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-detail .office-flow-note {
    margin-top: 24px !important;
    padding: 67px 20px 22px !important;
    border-radius: 15px;
  }

  .office-detail .office-flow-note::before {
    top: 14px;
    bottom: 14px;
    width: 4px;
  }

  .office-detail .office-flow-note::after {
    top: 18px;
    left: 20px;
    width: 35px;
    height: 35px;
    font-size: 19px;
  }

  .office-detail .office-flow-note h3 {
    font-size: 17px;
  }

  .office-detail
    .office-flow-note
    > p:not(.office-flow-note__link) {
    font-size: 15px;
    line-height: 1.75;
  }

  .office-detail .office-flow-note__link {
    margin-top: 16px !important;
  }

  .office-detail .office-flow-note__link a {
    width: 100%;
    min-height: 46px;
    padding-right: 42px;
    padding-left: 16px;
    font-size: 14px;
  }
}

/* ==================================================
   フォトギャラリー｜修正版
================================================== */

.office-inner.office-gallery-grid
  > .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
}

.office-inner.office-gallery-grid
  > .wp-block-columns
  > .wp-block-column {
  display: flex !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-basis: auto !important;
}

.office-inner.office-gallery-grid
  .office-gallery-item {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid #dce1d8 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(55, 65, 48, 0.09) !important;
}

.office-inner.office-gallery-grid
  .office-gallery-item__image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f2f3ef !important;
}

.office-inner.office-gallery-grid
  .office-gallery-item__image
  img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.office-inner.office-gallery-grid
  .office-gallery-item__caption {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 14px 17px !important;
  color: #3e403a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  background: #fff !important;
}

.office-inner.office-gallery-grid
  .office-gallery-item__caption
  span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 33px !important;
  width: 33px !important;
  height: 33px !important;
  color: #438a42 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  background: #edf7eb !important;
  border: 1px solid #c8e1c4 !important;
  border-radius: 50% !important;
}

@media (hover: hover) {
  .office-inner.office-gallery-grid
    .office-gallery-item {
    transition:
      transform 0.25s ease,
      box-shadow 0.25s ease;
  }

  .office-inner.office-gallery-grid
    .office-gallery-item:hover {
    box-shadow: 0 13px 28px rgba(55, 65, 48, 0.14) !important;
    transform: translateY(-4px);
  }
}

@media screen and (max-width: 781px) {
  .office-inner.office-gallery-grid
    > .wp-block-columns {
    display: block !important;
    margin-bottom: 0 !important;
  }

  .office-inner.office-gallery-grid
    > .wp-block-columns
    > .wp-block-column {
    display: block !important;
    margin-bottom: 16px !important;
  }

  .office-inner.office-gallery-grid
    .office-gallery-item {
    border-radius: 15px !important;
  }
}

/* ==================================================
   公共交通機関｜シンプル
================================================== */

.office-access-route {
  width: 100%;
  margin: 32px 0 0 !important;
  padding: 0 !important;
}

.office-access-route > h3 {
  margin: 0 0 22px !important;
  color: #333;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
}

.office-access-route-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 22px !important;
  margin: 0 !important;
}

.office-access-route-columns
  > .wp-block-column {
  display: flex !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-basis: auto !important;
}

.office-access-route-card {
  width: 100%;
  margin: 0 !important;
  padding: 26px 26px 22px !important;
  background: #fff;
  border: 1px solid #deded8;
  border-top: 4px solid #55a64e;
  border-radius: 12px;
}

.office-access-route-card__label {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #55a64e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  background: none !important;
  border: 0 !important;
}

.office-access-route-card > h4 {
  margin: 0 0 18px !important;
  padding: 0 0 13px !important;
  color: #333;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 1px solid #deded8;
}

.office-access-route-list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.office-access-route-list > li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 14px;
  margin: 0 !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e8e8e3;
  list-style: none !important;
}

.office-access-route-list > li:first-child {
  padding-top: 0 !important;
}

.office-access-route-list > li:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0;
}

.office-access-route-list strong {
  color: #444;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.office-access-route-list span {
  color: #43863f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.office-access-route-list small {
  grid-column: 1 / -1;
  color: #777;
  font-size: 12px;
  line-height: 1.5;
}

.office-access-route__note {
  margin: 18px 0 0 !important;
  color: #777;
  font-size: 13px;
  line-height: 1.7;
}

/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 781px) {
  .office-access-route {
    margin-top: 26px !important;
  }

  .office-access-route > h3 {
    margin-bottom: 18px !important;
    font-size: 19px;
  }

  .office-access-route-columns {
    display: block !important;
  }

  .office-access-route-columns
    > .wp-block-column {
    display: block !important;
    margin-bottom: 16px !important;
  }

  .office-access-route-columns
    > .wp-block-column:last-child {
    margin-bottom: 0 !important;
  }

  .office-access-route-card {
    padding: 22px 19px 19px !important;
    border-radius: 10px;
  }

  .office-access-route-card > h4 {
    margin-bottom: 14px !important;
    font-size: 17px;
  }

  .office-access-route-list > li {
    display: block;
    padding: 13px 0 !important;
  }

  .office-access-route-list strong {
    display: block;
    margin-bottom: 3px;
  }

  .office-access-route-list span {
    display: block;
  }

  .office-access-route-list small {
    display: block;
    margin-top: 3px;
  }

  .office-access-route__note {
    margin-top: 15px !important;
    font-size: 12px;
    text-align: left !important;
  }
}

.office-page-title span {
  color: #b28f00 !important;
}
/* ==================================================
   事業所情報｜シンプル
================================================== */

.office-access-info {
  width: 100%;
  margin: 0 !important;
  padding: 30px !important;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
}

.office-access-info__label {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #55a64e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  background: none !important;
  border: 0 !important;
}

.office-access-info > h3 {
  margin: 0 0 20px !important;
  padding: 0 0 13px !important;
  color: #333;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  border-bottom: 1px solid #ddd;
}

.office-access-data {
  width: 100%;
  margin: 0;
  padding: 0;
}

.office-access-data > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #e6e6e6;
}

.office-access-data > div:last-child {
  border-bottom: 0;
}

.office-access-data dt {
  margin: 0;
  padding-right: 20px;
  color: #444;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.office-access-data dd {
  min-width: 0;
  margin: 0;
  padding-left: 20px;
  color: #555;
  font-size: 15px;
  line-height: 1.7;
  border-left: 1px solid #ddd;
}

.office-access-data a {
  color: #42863f !important;
  font-weight: 700;
  text-decoration: none;
}

/* スマートフォン */
@media screen and (max-width: 781px) {
  .office-access-info {
    padding: 22px 18px !important;
  }

  .office-access-info > h3 {
    margin-bottom: 12px !important;
    font-size: 20px;
  }

  .office-access-data > div {
    display: block;
    padding: 13px 0;
  }

  .office-access-data dt {
    margin-bottom: 4px;
    padding: 0;
    font-size: 13px;
  }

  .office-access-data dd {
    padding: 0;
    font-size: 15px;
    border-left: 0;
  }
}
/* ==================================================
   ABOUT画像｜縦型5：7
================================================== */

.office-detail .office-gallery-image {
  position: relative;
  z-index: 1;
  width: min(100%, 330px) !important;
  aspect-ratio: 5 / 7 !important;
  margin: 0 auto !important;
  padding: 9px !important;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe4db;
  border-radius: 20px;
  box-shadow: 0 14px 32px rgba(53, 69, 49, 0.12);
}

/* 背景装飾は削除 */
.office-detail .office-gallery-image::before,
.office-detail .office-gallery-image::after {
  display: none !important;
  content: none !important;
}

/* 画像を縦型の枠いっぱいに表示 */
.office-detail .office-gallery-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 13px;
}

/* スマートフォン */
@media screen and (max-width: 781px) {
  .office-detail .office-gallery-image {
    width: min(100%, 290px) !important;
    padding: 7px !important;
    border-radius: 16px;
  }

  .office-detail .office-gallery-image img {
    border-radius: 10px;
  }
}
/* 基本情報カード全体の横幅 */
.office-detail .office-hero__quick-info {
  width: 498px !important;
  max-width: 100% !important;
}

/* 左列120px・右列360px */
.office-detail
.office-hero__quick-info
> .wp-block-columns {
  display: grid !important;
  grid-template-columns: 120px 360px !important;
  gap: 0 !important;
  width: 480px !important;
  max-width: 100% !important;
}

/* WordPress標準のカラム幅を解除 */
.office-detail
.office-hero__quick-info
> .wp-block-columns
> .wp-block-column {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  flex-basis: auto !important;
}
@media screen and (max-width: 781px) {
  .office-detail .office-hero__quick-info {
    width: 100% !important;
  }

  .office-detail
  .office-hero__quick-info
  > .wp-block-columns {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    width: 100% !important;
  }
}
/* 基本情報カード：左右の幅を明確に変更 */
.office-detail
.office-hero__quick-info
> .wp-block-columns {
  display: grid !important;
  grid-template-columns: 145px minmax(0, 1fr) !important;
  width: 100% !important;
}

/* 左右のカラム幅指定を強制解除 */
.office-detail
.office-hero__quick-info
> .wp-block-columns
> .wp-block-column {
  width: auto !important;
  max-width: none !important;
  flex-basis: auto !important;
}
@media screen and (max-width: 781px) {
  .office-detail
  .office-hero__quick-info
  > .wp-block-columns {
    grid-template-columns: 105px minmax(0, 1fr) !important;
  }
}
/* ==================================================
   フォトギャラリー｜スマホのカード間隔を統一
================================================== */

@media screen and (max-width: 781px) {

  /* すべてのカードを1列のグリッドとして管理 */
  .office-inner.office-gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* WordPressのカラム行を解除 */
  .office-inner.office-gallery-grid
  > .wp-block-columns {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 各カードの余白をリセット */
  .office-inner.office-gallery-grid
  > .wp-block-columns
  > .wp-block-column {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .office-inner.office-gallery-grid
  .office-gallery-item {
    width: 100% !important;
    margin: 0 !important;
  }
}
/* ==================================================
   交通アクセス｜装飾の●を完全に非表示
================================================== */
.office-detail .office-access-route-card__label,
.office-detail .office-access-route-list,
.office-detail .office-access-route-list > li {
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  background-image: none !important;
}

.office-detail .office-access-route-card__label::before,
.office-detail .office-access-route-card__label::after,
.office-detail .office-access-route-list > li::before,
.office-detail .office-access-route-list > li::after,
.office-detail .office-access-route-list > li > strong::before,
.office-detail .office-access-route-list > li > strong::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
  background: none !important;
}

.office-detail .office-access-route-list > li::marker {
  content: "" !important;
  color: transparent !important;
  font-size: 0 !important;
}
/* ==================================================
   基本情報カラムの固定
================================================== */
/* 左側120px・右側は残り */
.office-detail
.office-hero
.office-hero__quick-info
.wp-block-columns {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

/* 左側カラム */
.office-detail
.office-hero
.office-hero__quick-info
.wp-block-columns
.wp-block-column:first-child {
  width: 120px !important;
  min-width: 120px !important;
  box-sizing: border-box !important;
}

/* 項目名を改行させない */
.office-detail
.office-hero
.office-hero__quick-info
.wp-block-columns
.wp-block-column:first-child p,
.office-detail
.office-hero
.office-hero__quick-info
.wp-block-columns
.wp-block-column:first-child strong {
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* スマートフォン */
@media screen and (max-width: 781px) {
  .office-detail
  .office-hero
  .office-hero__quick-info
  .wp-block-columns {
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }

  .office-detail
  .office-hero
  .office-hero__quick-info
  .wp-block-columns
  .wp-block-column:first-child {
    width: 100px !important;
    min-width: 100px !important;
  }
}
/* ==================================================
   就労継続支援B型ページ：配色補正
================================================== */

/* ファーストビュー */
.office-detail--type-b .office-hero {
  background:
    radial-gradient(
      circle at 8% 18%,
      rgba(184, 138, 53, 0.1) 0,
      rgba(184, 138, 53, 0.1) 130px,
      transparent 131px
    ),
    linear-gradient(135deg, #fdf9f1 0%, #fff 64%);
}

/* 見学・相談ボタン */
.office-detail--type-b
.daikon-a-midcta__button--visit
.wp-block-button__link {
  color: #fff;
  background: var(--office-accent);
  border-color: var(--office-accent);
  box-shadow: 0 9px 22px rgba(135, 100, 37, 0.18);
}

.office-detail--type-b
.daikon-a-midcta__button--visit
.wp-block-button__link:hover {
  background: var(--office-accent-dark);
  border-color: var(--office-accent-dark);
}

/* 電話ボタン */
.office-detail--type-b
.daikon-a-midcta__button--tel
.wp-block-button__link {
  color: var(--office-accent-dark);
  background: #fff;
  border-color: #d9b65d;
  box-shadow: 0 9px 22px rgba(135, 100, 37, 0.1);
}

/* SUPPORT背景 */
.office-detail--type-b .office-support {
  background:
    radial-gradient(
      circle at 92% 12%,
      rgba(184, 138, 53, 0.08) 0 130px,
      transparent 131px
    ),
    #fcfaf5;
}

/* SUPPORTメッセージ */
.office-detail--type-b .office-support-message {
  box-shadow: 0 16px 34px rgba(135, 100, 37, 0.18);
}

/* 「見学・利用について相談する」ボタン */
.office-detail--type-b
.office-for-you-note
.office-button
.wp-block-button__link {
  background: var(--office-accent);
  border-color: var(--office-accent);
  box-shadow: 0 9px 22px rgba(135, 100, 37, 0.18);
}

.office-detail--type-b
.office-for-you-note
.office-button
.wp-block-button__link:hover {
  background: var(--office-accent-dark);
  border-color: var(--office-accent-dark);
}

/* ACCESS背景 */
.office-detail--type-b .office-access {
  background:
    radial-gradient(
      circle at 95% 8%,
      rgba(184, 138, 53, 0.08) 0 130px,
      transparent 131px
    ),
    #fcfaf5;
}

/* 共通ボタンの影 */
.office-detail--type-b
.office-button--primary
.wp-block-button__link {
  box-shadow: 0 9px 22px rgba(135, 100, 37, 0.18);
}

