@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/


/* ==================================================
   フッター前お問い合わせ：td-contact-cta
================================================== */

.td-contact-cta {
	--td-contact-panel-bg: #ffffff;
	--td-contact-panel-text: #202724;
	--td-contact-accent: var(--color_main, #008f87);
	--td-contact-panel-hover: #eef7f6;
}

/* 背景画像 */
.td-contact-cta .swell-block-fullWide {
	background-position: center;
	background-size: cover;
}

/* SWELL標準のH2装飾を解除 */
.td-contact-cta .td-contact-cta__title {
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-contact-cta .td-contact-cta__title::before,
.td-contact-cta .td-contact-cta__title::after {
	display: none !important;
	content: none !important;
}

/* 見出し下 */
.td-contact-cta .td-contact-cta__subtitle {
	margin-top: 16px;
	margin-bottom: 0;
}

.td-contact-cta .td-contact-cta__lead {
	margin-top: 36px;
	margin-bottom: 0;
}

/* ==================================================
   電話・FAXとお問い合わせフォーム
================================================== */

.td-contact-cta .td-contact-cta__panel {
	display: flex;
	align-items: stretch !important;
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
	margin-top: 36px;
	margin-bottom: 0;
}

.td-contact-cta
	.td-contact-cta__panel
	> .wp-block-column {
	display: flex;
	box-sizing: border-box;
	min-width: 0;
	margin: 0 !important;
}

/* 2つのパネル間の区切り線 */
.td-contact-cta
	.td-contact-cta__panel
	> .wp-block-column
	+ .wp-block-column {
	border-left: 1px solid var(--td-contact-panel-text);
}

/* ==================================================
   電話・FAX
================================================== */

.td-contact-cta .td-contact-cta__phone-panel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 24px 36px;
	color: var(--td-contact-panel-text);
	background: var(--td-contact-panel-bg);
}

/* 旧形式のグループ内部ラッパーにも対応 */
.td-contact-cta
	.td-contact-cta__phone-panel
	> .wp-block-group__inner-container {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}

.td-contact-cta .td-contact-cta__phone-label {
	margin-top: 0;
	margin-bottom: 10px;
}

/* TEL・FAX */
.td-contact-cta .td-contact-cta__numbers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 28px;
	width: 100%;
	margin: 0 !important;
}

.td-contact-cta
	.td-contact-cta__numbers
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-contact-cta .td-contact-cta__number-row,
.td-contact-cta
	.td-contact-cta__number-row
	> .wp-block-group__inner-container {
	display: flex;
	flex-wrap: nowrap;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	width: 100%;
}

.td-contact-cta .td-contact-cta__number-label,
.td-contact-cta .td-contact-cta__number-value {
	margin: 0;
	white-space: nowrap;
}

.td-contact-cta .td-contact-cta__number-value a,
.td-contact-cta .td-contact-cta__number-value a:hover {
	color: inherit;
	text-decoration: none;
	opacity: 1;
}

/* ==================================================
   お問い合わせフォーム
================================================== */

.td-contact-cta .td-contact-cta__form-menu {
	display: flex;
	flex: 1;
	width: 100%;
	height: 100%;
	margin: 0 !important;
}

.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__inner {
	display: flex;
	width: 100%;
	height: 100%;
}

.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__item {
	display: flex;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border: 0 !important;
	color: var(--td-contact-panel-text) !important;
	background: var(--td-contact-panel-bg) !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__link {
	display: flex;
	flex: 1;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 100%;
	padding: 24px 30px;
	border: 0 !important;
	color: var(--td-contact-panel-text) !important;
	background: var(--td-contact-panel-bg) !important;
	box-shadow: none !important;
	text-decoration: none;
	opacity: 1 !important;
	filter: none !important;
	transform: none !important;
}

/* メールアイコン */
.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__figure {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--td-contact-accent) !important;
}

.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__figure
	svg {
	width: 1.8em;
	height: 1.8em;
	fill: currentColor;
}

/* フォーム名と矢印 */
.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__text {
	display: flex;
	flex: 1;
	align-items: center;
	width: 100%;
	color: var(--td-contact-panel-text) !important;
	text-align: left;
}

.td-contact-cta
	.td-contact-cta__form-menu
	.swell-block-box-menu__text::after {
	margin-left: auto;
	color: inherit;
	content: "›";
}

/* ==================================================
   フォームのホバー
================================================== */

@media (hover: hover) and (pointer: fine) {
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:hover,
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:focus-within {
		border: 0 !important;
		color: var(--td-contact-panel-text) !important;
		background: var(--td-contact-panel-hover) !important;
		box-shadow: none !important;
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
	}

	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:hover
		.swell-block-box-menu__link,
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:focus-within
		.swell-block-box-menu__link,
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__link:hover {
		border: 0 !important;
		color: var(--td-contact-panel-text) !important;
		background: var(--td-contact-panel-hover) !important;
		box-shadow: none !important;
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
	}

	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:hover
		.swell-block-box-menu__figure,
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:focus-within
		.swell-block-box-menu__figure {
		color: var(--td-contact-accent) !important;
	}

	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:hover
		.swell-block-box-menu__text,
	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__item:focus-within
		.swell-block-box-menu__text {
		color: var(--td-contact-panel-text) !important;
	}
}

/* 下部注記 */
.td-contact-cta .td-contact-cta__note {
	margin-top: 24px;
	margin-bottom: 0;
}

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

@media (max-width: 781px) {
	.td-contact-cta .td-contact-cta__panel {
		gap: 0 !important;
		row-gap: 0 !important;
		column-gap: 0 !important;
	}

	/* 縦並び時は区切り線を上側へ移動 */
	.td-contact-cta
		.td-contact-cta__panel
		> .wp-block-column
		+ .wp-block-column {
		border-top: 1px solid var(--td-contact-panel-text);
		border-left: 0;
	}

	.td-contact-cta .td-contact-cta__phone-panel {
		padding: 24px 20px;
	}

	.td-contact-cta .td-contact-cta__numbers {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.td-contact-cta
		.td-contact-cta__form-menu
		.swell-block-box-menu__link {
		min-height: 88px;
		padding: 20px;
	}
}


/* ==================================================
   フッター：会社情報・フッターメニュー（ブログパーツ）
================================================== */

#footer .l-footer__widgetArea {
  padding-top: 0;
  padding-bottom: 0;
}

/* フッターウィジェットの内容が親幅を超えるのを防ぐ */
#footer .w-footer.-col1 > .w-footer__box {
  min-width: 0;
}

/* フッター内ではSWELLの全幅指定を親要素の幅へ戻す */
.td-footer-parts.alignfull {
  left: 0;
  width: 100%;
}

#footer .td-footer-parts {
  padding-top: clamp(3rem, 5vw, 4rem);
  padding-bottom: clamp(3rem, 5vw, 4rem);
}

.td-footer-parts__body > * {
  max-width: none;
}

#footer .td-footer-parts__layout {
  display: grid;
  grid-template-columns: minmax(0, 48%) minmax(0, 1fr);
  align-items: flex-start;
  gap: clamp(2rem, 3vw, 3rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-footer-parts__company,
.td-footer-parts__navigation {
  min-width: 0;
}

.td-footer-parts__logo-slot {
  width: min(100%, 13.75rem);
  margin: 0 0 2rem;
}

.td-footer-parts__logo-slot > * {
  max-width: none;
}

.td-footer-parts__logo-slot .wp-block-image {
  margin: 0;
}

.td-footer-parts__logo-slot img {
  display: block;
  width: 100%;
  height: auto;
}

.td-footer-parts__company-name {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.td-footer-parts__postal-code,
.td-footer-parts__address {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.td-footer-parts__contact {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin-top: 1.25rem;
  margin-bottom: 0;
}

.td-footer-parts__contact > p {
  margin: 0;
}

.td-footer-parts__contact a {
  text-decoration: none;
}

.td-footer-parts__menus {
  margin: 0;
}

.td-footer-parts__menus > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 3.5rem);
  margin: 0;
}

.td-footer-parts__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.td-footer-parts__menu li {
  margin: 0;
  padding: 0;
}

.td-footer-parts__menu li + li {
  margin-top: 1.25rem;
}

.td-footer-parts__menu a,
.td-footer-parts__menu a:visited {
  display: inline-block;
  text-decoration: none;
}

.td-footer-parts__menu a:hover {
  opacity: 0.65;
  text-decoration: none;
}

.td-footer-parts__menu a:focus-visible,
.td-footer-parts__contact a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* タブレット・スマートフォン */
@media (max-width: 781px) {
  #footer .td-footer-parts__layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  /* 会社情報とメニュー全体を中央寄せ */
  .td-footer-parts__company,
  .td-footer-parts__navigation {
    width: 100%;
    text-align: center;
  }

  /* ロゴを中央寄せ */
  .td-footer-parts__logo-slot {
    margin: 0 auto 1.5rem;
  }

  /* TEL・FAXを中央寄せ */
  .td-footer-parts__contact {
    justify-content: center;
  }

  /* メニューを中央寄せ */
  .td-footer-parts__menu {
    width: 100%;
    text-align: center;
  }
}

/* スマートフォン */
@media (max-width: 520px) {
  .td-footer-parts__menus > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .td-footer-parts__menu li + li {
    margin-top: 1rem;
  }
}

/* ==================================================
   トップページ
================================================== */

/* ==================================================
   タツミ電工 トップページ
   FV：td-fv
================================================== */

.swell-block-fullWide.td-fv {
  --td-fv-line: rgba(156, 225, 219, 0.22);
  --td-fv-line-soft: rgba(156, 225, 219, 0.12);
  --td-fv-node-border: rgba(156, 225, 219, 0.42);
  --td-fv-node-bg: rgba(0, 46, 91, 0.55);

  --td-fv-btn-primary: #ffffff;
  --td-fv-btn-primary-hover: #eef4fa;
  --td-fv-btn-primary-text: #003d7c;
  --td-fv-btn-secondary: #ffffff;

  position: relative;
  display: flex;
  isolation: isolate;
  box-sizing: border-box;
  min-height: clamp(42rem, calc(100svh - 7rem), 56rem);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* コンテンツをFVの上下中央へ配置 */
.td-fv > .swell-block-fullWide__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: inherit;
  padding-top: clamp(4rem, 8vh, 7rem);
  padding-bottom: clamp(4rem, 8vh, 7rem);
}

/*
 * SWELLの暗い背景カバーは外側の::beforeへ任せ、
 * 電線装飾は内側コンテナへ設置する
 */
.td-fv > .swell-block-fullWide__inner::before {
  position: absolute;
  z-index: 0;
  top: 24%;
  left: 50%;
  width: 100vw;
  height: 1px;
  background: var(--td-fv-line);
  box-shadow: 0 28px 0 var(--td-fv-line-soft);
  transform: translateX(-50%) rotate(-0.35deg);
  transform-origin: left center;
  content: "";
  pointer-events: none;
}

.td-fv > .swell-block-fullWide__inner::after {
  position: absolute;
  z-index: 0;
  top: calc(24% - 3px);
  left: 68%;
  width: 7px;
  height: 7px;
  border: 1px solid var(--td-fv-node-border);
  border-radius: 50%;
  background: var(--td-fv-node-bg);
  content: "";
  pointer-events: none;
}

.td-fv > .swell-block-fullWide__inner > * {
  position: relative;
  z-index: 1;
}

/* ボタンの横並びと間隔 */
.td-fv .td-fv__actions {
  column-gap: 0.875rem;
  row-gap: 0.75rem;
}

.td-fv .td-fv__button .swell-block-button__link {
  box-shadow: none;
}

.td-fv .td-fv__button .swell-block-button__link span {
  color: inherit;
}

/* 事業内容：白背景＋濃紺文字 */
.td-fv .td-fv__button--primary {
  --the-btn-color: var(--td-fv-btn-primary);
}

.td-fv .td-fv__button--primary .swell-block-button__link,
.td-fv .td-fv__button--primary .swell-block-button__link:visited {
  color: var(--td-fv-btn-primary-text);
  background: var(--td-fv-btn-primary);
  border-color: var(--td-fv-btn-primary);
}

/* 採用情報：透明背景＋白枠 */
.td-fv .td-fv__button--secondary {
  --the-btn-color: var(--td-fv-btn-secondary);
}

.td-fv .td-fv__button--secondary .swell-block-button__link,
.td-fv .td-fv__button--secondary .swell-block-button__link:visited {
  color: var(--td-fv-btn-secondary);
  background: transparent;
  border-color: var(--td-fv-btn-secondary);
}

/* PCホバー */
@media (hover: hover) and (pointer: fine) {
  .td-fv .td-fv__button--primary .swell-block-button__link:hover {
    color: var(--td-fv-btn-primary-text);
    background: var(--td-fv-btn-primary-hover);
    border-color: var(--td-fv-btn-primary-hover);
    box-shadow: none;
    opacity: 1;
    transform: none;
  }

  .td-fv .td-fv__button--secondary .swell-block-button__link:hover {
    color: var(--td-fv-btn-secondary);
    background: rgba(255, 255, 255, 0.12);
    border-color: var(--td-fv-btn-secondary);
    box-shadow: none;
    opacity: 1;
    transform: none;
  }
}

/* キーボード操作 */
.td-fv .td-fv__button .swell-block-button__link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

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

@media (max-width: 959px) {
  .swell-block-fullWide.td-fv {
    min-height: clamp(38rem, calc(100svh - 4rem), 50rem);
    background-position: 58% center;
  }

  .td-fv > .swell-block-fullWide__inner {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
}

/* スマホでは電線装飾を非表示 */
@media (max-width: 767px) {
  .td-fv > .swell-block-fullWide__inner::before,
  .td-fv > .swell-block-fullWide__inner::after {
    display: none;
  }
}

/* 小さいスマートフォンではボタンを縦並び */
@media (max-width: 520px) {
  .td-fv .td-fv__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .td-fv .td-fv__button,
  .td-fv .td-fv__button .swell-block-button__link {
    box-sizing: border-box;
    width: 100%;
  }
}


/* ==================================================
   採用告知帯：td-recruit-notice
================================================== */

.td-recruit-notice {
	--td-recruit-button-bg: #ffffff;
	--td-recruit-button-text: #005d58;
	--td-recruit-button-hover-bg: #dff4f2;
}

.td-recruit-notice .swell-block-fullWide {
	padding-top: 26px;
	padding-bottom: 26px;
}

.td-recruit-notice .wp-block-columns,
.td-recruit-notice .wp-block-column > p {
	margin-bottom: 0;
}

.td-recruit-notice .swell-block-button.is-style-btn_normal {
	--the-btn-color: var(--td-recruit-button-bg);
}

.td-recruit-notice
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link {
	color: var(--td-recruit-button-text);
	background: var(--td-recruit-button-bg);
	border-color: var(--td-recruit-button-bg);
}

.td-recruit-notice
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link
	span {
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.td-recruit-notice
		.swell-block-button.is-style-btn_normal
		.swell-block-button__link:hover {
		color: var(--td-recruit-button-text);
		background: var(--td-recruit-button-hover-bg);
		border-color: var(--td-recruit-button-hover-bg);
		opacity: 1;
	}

	.td-recruit-notice
		.swell-block-button.is-style-btn_normal
		.swell-block-button__link:hover
		span {
		color: inherit;
	}
}

.td-recruit-notice
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link:focus-visible {
	color: var(--td-recruit-button-text);
	background: var(--td-recruit-button-hover-bg);
	border-color: var(--td-recruit-button-hover-bg);
}

.td-recruit-notice
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link:focus-visible
	span {
	color: inherit;
}

@media (max-width: 781px) {
	.td-recruit-notice .swell-block-fullWide {
		padding-top: 22px;
		padding-bottom: 22px;
	}

	.td-recruit-notice .wp-block-columns {
		row-gap: 18px;
	}

	.td-recruit-notice .wp-block-column:first-child {
		text-align: center;
	}
}


/* ==================================================
   会社紹介：td-about
================================================== */

.td-about {
	--td-about-accent: #007d76;
	--td-about-value: #003d7c;
	--td-about-label: #52616f;
	--td-about-border: rgba(0, 125, 118, 0.38);
	--td-about-rule: #d9e2e7;
}

.td-about .td-about__eyebrow {
	color: var(--td-about-accent);
	letter-spacing: 0.18em;
}

.td-about .td-about__title {
	position: relative;
}


.td-about .td-about__lead {
	color: var(--td-about-accent);
}

.td-about .td-about__content {
	margin-top: 48px;
}

.td-about .td-about__image {
	position: relative;
}

.td-about .td-about__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}


.td-about .td-about__facts {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--td-about-rule);
}

.td-about .td-about__facts-grid {
	margin-bottom: 0;
}

.td-about .td-about__fact-label {
	margin-bottom: 5px;
	color: var(--td-about-label);
	letter-spacing: 0.16em;
}

.td-about .td-about__fact-value {
	margin-bottom: 0;
	color: var(--td-about-value);
	line-height: 1.55;
}

@media (max-width: 781px) {
	.td-about .td-about__title::after {
		width: 100%;
		bottom: -10px;
	}

	.td-about .td-about__content {
		margin-top: 34px;
		row-gap: 28px;
	}

	.td-about .td-about__image::after {
		display: none;
	}

	.td-about .td-about__facts {
		margin-top: 22px;
		padding-top: 16px;
	}

	.td-about .td-about__facts-grid {
		row-gap: 14px;
	}

	.td-about
		.td-about__facts-grid
		.wp-block-column {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		column-gap: 14px;
		align-items: baseline;
	}

	.td-about .td-about__fact-label,
	.td-about .td-about__fact-value {
		margin-bottom: 0;
	}
}


/* ==================================================
   3つの特徴：td-strengths
================================================== */

.td-strengths {
	--td-strengths-accent: #008f87;
	--td-strengths-label: #52616f;
	--td-strengths-border: #d9e2e7;
	--td-strengths-button: #003d7c;
}

.td-strengths .wp-block-column {
	padding-top: 24px;
	border-top: 1px solid var(--td-strengths-border);
}

.td-strengths .td-strengths__number {
	color: var(--td-strengths-accent);
}

.td-strengths .td-strengths__label {
	color: var(--td-strengths-label);
	letter-spacing: 0.16em;
}

.td-strengths
	.wp-block-column:first-child
	.swell-block-button {
	margin-top: 32px;
}

.td-strengths .swell-block-button.is-style-btn_line {
	--the-btn-color: var(--td-strengths-button);
}

.td-strengths
	.swell-block-button.is-style-btn_line
	.swell-block-button__link {
	color: var(--td-strengths-button);
	background: transparent;
	border-color: var(--td-strengths-button);
}

.td-strengths
	.swell-block-button.is-style-btn_line
	.swell-block-button__link
	span {
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.td-strengths
		.swell-block-button.is-style-btn_line
		.swell-block-button__link:hover {
		color: #ffffff;
		background: var(--td-strengths-button);
		border-color: var(--td-strengths-button);
		opacity: 1;
	}

	.td-strengths
		.swell-block-button.is-style-btn_line
		.swell-block-button__link:hover
		span {
		color: inherit;
	}
}

.td-strengths
	.swell-block-button.is-style-btn_line
	.swell-block-button__link:focus-visible {
	color: #ffffff;
	background: var(--td-strengths-button);
	border-color: var(--td-strengths-button);
}

.td-strengths
	.swell-block-button.is-style-btn_line
	.swell-block-button__link:focus-visible
	span {
	color: inherit;
}

@media (max-width: 781px) {
	.td-strengths .wp-block-columns {
		row-gap: 36px;
	}

	.td-strengths .wp-block-column {
		padding-top: 20px;
	}

	.td-strengths
		.wp-block-column:first-child
		.swell-block-button {
		margin-top: 24px;
	}
}


/* ==================================================
   事業内容：td-services
================================================== */

.td-services {
	--td-services-accent: #008f87;
	--td-services-border: #cfdce5;
	--td-services-button: #007d76;
	--td-services-button-hover: #005d58;
}

.td-services .td-services__eyebrow {
	color: var(--td-services-accent);
	letter-spacing: 0.18em;
}

.td-services .td-services__image {
	margin-top: 36px;
	margin-bottom: 0;
}

.td-services .td-services__primary {
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid var(--td-services-accent);
}

.td-services
	.td-services__primary
	.wp-block-columns {
	margin-bottom: 0;
}

.td-services .td-services__number {
	color: var(--td-services-accent);
}

.td-services .td-services__secondary {
	margin-top: 30px;
}

.td-services
	.td-services__secondary
	.wp-block-column {
	padding-top: 18px;
	border-top: 1px solid var(--td-services-border);
}

.td-services .td-services__partners {
	margin-top: 32px;
	padding-top: 18px;
	border-top: 1px solid var(--td-services-border);
}

.td-services
	.td-services__partners
	.wp-block-columns {
	margin-bottom: 0;
}

.td-services
	.td-services__partners
	.wp-block-column
	> p {
	margin-bottom: 0;
}

.td-services
	> .swell-block-fullWide
	> .swell-block-fullWide__inner
	> .swell-block-button {
	margin-top: 28px;
}

.td-services .swell-block-button.is-style-btn_normal {
	--the-btn-color: var(--td-services-button);
}

.td-services
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link {
	color: #ffffff;
	background: var(--td-services-button);
	border-color: var(--td-services-button);
}

.td-services
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link
	span {
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.td-services
		.swell-block-button.is-style-btn_normal
		.swell-block-button__link:hover {
		color: #ffffff;
		background: var(--td-services-button-hover);
		border-color: var(--td-services-button-hover);
		opacity: 1;
	}

	.td-services
		.swell-block-button.is-style-btn_normal
		.swell-block-button__link:hover
		span {
		color: inherit;
	}
}

.td-services
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link:focus-visible {
	color: #ffffff;
	background: var(--td-services-button-hover);
	border-color: var(--td-services-button-hover);
}

.td-services
	.swell-block-button.is-style-btn_normal
	.swell-block-button__link:focus-visible
	span {
	color: inherit;
}

@media (max-width: 781px) {
	.td-services .td-services__image {
		margin-top: 28px;
	}

	.td-services .td-services__primary {
		margin-top: 24px;
		padding-top: 16px;
	}

	.td-services
		.td-services__primary
		.wp-block-columns {
		row-gap: 14px;
	}

	.td-services .td-services__secondary {
		margin-top: 26px;
	}

	.td-services
		.td-services__secondary
		.wp-block-columns {
		row-gap: 28px;
	}

	.td-services
		.td-services__secondary
		.wp-block-column {
		padding-top: 16px;
	}

	.td-services
		.td-services__partners
		.wp-block-columns {
		row-gap: 8px;
	}
}

/* ==================================================
   保有車両：td-fleet
================================================== */

.td-fleet {
	--td-fleet-accent: #008f87;
	--td-fleet-blue: #003d7c;
	--td-fleet-text: #172735;
	--td-fleet-muted: #52616f;
	--td-fleet-border: #d9e2e7;
}

.td-fleet .td-fleet__header {
	margin-bottom: 0;
}

.td-fleet .td-fleet__eyebrow {
	color: var(--td-fleet-accent);
	letter-spacing: 0.18em;
}

.td-fleet .td-fleet__title {
	margin-top: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--td-fleet-text);
	line-height: 1.35;
}

.td-fleet .td-fleet__title::before,
.td-fleet .td-fleet__title::after {
	display: none;
	content: none;
}

.td-fleet .td-fleet__lead {
	max-width: 620px;
	margin-top: 24px;
	margin-bottom: 0;
	color: var(--td-fleet-muted);
	line-height: 2;
}

.td-fleet .td-fleet__count {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 14px;
	min-height: 150px;
}

.td-fleet .td-fleet__count-number,
.td-fleet .td-fleet__count-unit,
.td-fleet .td-fleet__count-label {
	margin: 0;
}


.td-fleet .td-fleet__count-meta {
	padding-bottom: 8px;
}

.td-fleet .td-fleet__count-unit {
	color: var(--td-fleet-blue);
	font-size: 0.9rem;
	line-height: 1.2;
}

.td-fleet .td-fleet__count-label {
	margin-top: 5px;
	color: var(--td-fleet-muted);
	font-size: 0.55rem;
	line-height: 1.2;
	letter-spacing: 0.12em;
}

.td-fleet .td-fleet__gallery {
	gap: 24px;
	margin-top: 44px;
	margin-bottom: 0;
}

.td-fleet .td-fleet__gallery .wp-block-column {
	min-width: 0;
}

.td-fleet .td-fleet__photo {
	margin: 0;
}

.td-fleet .td-fleet__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	border: 1px solid rgba(0, 61, 124, 0.14);
	object-fit: cover;
}

.td-fleet .td-fleet__photo figcaption {
	margin-top: 10px;
	margin-bottom: 0;
	color: var(--td-fleet-text);
	font-size: 0.84rem;
	line-height: 1.6;
	text-align: left;
}

.td-fleet .td-fleet__vehicles {
	margin-top: 38px;
	padding-top: 20px;
	border-top: 1px solid var(--td-fleet-border);
}

.td-fleet .td-fleet__vehicles-label {
	color: var(--td-fleet-text);
	letter-spacing: 0.08em;
}

.td-fleet .td-fleet__vehicle-list {
	display: flex;
	flex-wrap: wrap;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

.td-fleet .td-fleet__vehicle-list li {
	margin: 0;
	padding: 0 22px;
	border-right: 1px solid var(--td-fleet-border);
	color: var(--td-fleet-muted);
	font-size: 0.84rem;
	line-height: 1.5;
	list-style: none;
}

.td-fleet .td-fleet__vehicle-list li:first-child {
	padding-left: 0;
}

.td-fleet .td-fleet__vehicle-list li:last-child {
	padding-right: 0;
	border-right: 0;
}

.td-fleet
	> .swell-block-fullWide
	> .swell-block-fullWide__inner
	> .swell-block-button {
	margin-top: 32px;
}

.td-fleet .swell-block-button.is-style-btn_line {
	--the-btn-color: var(--td-fleet-blue);
}

.td-fleet
	.swell-block-button.is-style-btn_line
	.swell-block-button__link {
	color: var(--td-fleet-blue);
	background: transparent;
	border-color: var(--td-fleet-blue);
}

.td-fleet
	.swell-block-button.is-style-btn_line
	.swell-block-button__link
	span {
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.td-fleet
		.swell-block-button.is-style-btn_line
		.swell-block-button__link:hover {
		color: #ffffff;
		background: var(--td-fleet-blue);
		border-color: var(--td-fleet-blue);
		opacity: 1;
	}

	.td-fleet
		.swell-block-button.is-style-btn_line
		.swell-block-button__link:hover
		span {
		color: inherit;
	}
}

.td-fleet
	.swell-block-button.is-style-btn_line
	.swell-block-button__link:focus-visible {
	color: #ffffff;
	background: var(--td-fleet-blue);
	border-color: var(--td-fleet-blue);
}

@media (max-width: 781px) {
	.td-fleet .td-fleet__header {
		row-gap: 24px;
	}

	.td-fleet .td-fleet__lead {
		margin-top: 18px;
		line-height: 1.9;
	}

	.td-fleet .td-fleet__count {
		justify-content: flex-start;
		min-height: 0;
		margin-top: 4px;
	}


	.td-fleet .td-fleet__gallery {
		row-gap: 28px;
		margin-top: 34px;
	}

	.td-fleet .td-fleet__vehicles {
		margin-top: 32px;
		padding-top: 18px;
	}

	.td-fleet .td-fleet__vehicle-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 10px;
	}

	.td-fleet .td-fleet__vehicle-list li,
	.td-fleet .td-fleet__vehicle-list li:first-child,
	.td-fleet .td-fleet__vehicle-list li:last-child {
		padding: 11px 8px 11px 0;
		border-right: 0;
		border-bottom: 1px solid var(--td-fleet-border);
	}
}

/* ==================================================
   採用情報：td-recruit
================================================== */

.td-recruit {
	--td-recruit-blue: #003d7c;
	--td-recruit-white: #ffffff;
	--td-recruit-line: rgba(255, 255, 255, 0.28);
}

/* 上部2カラム */
.td-recruit .td-recruit__top {
	align-items: center;
	gap: clamp(32px, 5vw, 64px);
	margin-bottom: 0;
}

.td-recruit .td-recruit__top > .wp-block-column {
	min-width: 0;
}

/* SWELL標準のH2装飾を解除 */
.td-recruit .td-recruit__title {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-recruit .td-recruit__title::before,
.td-recruit .td-recruit__title::after {
	display: none !important;
	content: none !important;
}

/* 募集職種 */
.td-recruit .td-recruit__jobs {
	margin-top: 28px;
	border-top: 1px solid var(--td-recruit-line);
}

/* SWELLが自動生成する内部コンテナ */
.td-recruit
	.td-recruit__jobs
	> .wp-block-group__inner-container {
	width: 100%;
	max-width: none !important;
}

/* 「>」を使用せず、内部コンテナ越しに指定 */
.td-recruit
	.td-recruit__jobs
	.td-recruit__job-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 18px 0;
	border-bottom: 1px solid var(--td-recruit-line);
}

.td-recruit .td-recruit__job-name,
.td-recruit .td-recruit__job-badge {
	max-width: none !important;
	margin: 0 !important;
}

.td-recruit .td-recruit__job-badge {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	padding: 5px 12px;
	color: var(--td-recruit-blue);
	line-height: 1.3;
	white-space: nowrap;
	background: var(--td-recruit-white);
}

/* 採用写真 */
.td-recruit .td-recruit__image {
	margin: 0;
}

.td-recruit .td-recruit__image img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* 数字情報 */
.td-recruit .td-recruit__facts {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
	margin-top: 40px;
	margin-bottom: 0;
}

.td-recruit .td-recruit__facts > .wp-block-column {
	min-width: 0;
	padding-top: 18px;
	border-top: 1px solid var(--td-recruit-line);
}

.td-recruit .td-recruit__fact-label {
	margin-top: 0;
	margin-bottom: 10px;
}

.td-recruit .td-recruit__fact-value {
	margin: 0;
}

.td-recruit .td-recruit__note {
	margin-top: 24px;
	margin-bottom: 0;
}

/* 下部リンク */
.td-recruit .td-recruit__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 30px;
}

.td-recruit .td-recruit__links .swell-block-button,
.td-recruit .td-recruit__faq-link {
	margin: 0;
}

.td-recruit
	.td-recruit__links
	.swell-block-button__link {
	border-radius: 0;
}

/* 1つ目の白いボタン */
.td-recruit
	.td-recruit__links
	.is-style-btn_normal {
	--the-btn-color: var(--td-recruit-white);
}

.td-recruit
	.td-recruit__links
	.is-style-btn_normal
	.swell-block-button__link {
	color: var(--td-recruit-blue);
	background: var(--td-recruit-white);
	border-color: var(--td-recruit-white);
}

/* 2つ目の枠線ボタン */
.td-recruit
	.td-recruit__links
	.is-style-btn_line {
	--the-btn-color: var(--td-recruit-white);
}

.td-recruit
	.td-recruit__links
	.is-style-btn_line
	.swell-block-button__link {
	color: var(--td-recruit-white);
	background: transparent;
	border-color: var(--td-recruit-white);
}

.td-recruit
	.td-recruit__links
	.swell-block-button__link
	span {
	color: inherit;
}

/* よくある質問 */
.td-recruit .td-recruit__faq-link a {
	color: var(--td-recruit-white);
}

@media (hover: hover) and (pointer: fine) {
	.td-recruit
		.td-recruit__links
		.is-style-btn_normal
		.swell-block-button__link:hover {
		color: var(--td-recruit-blue);
		background: #eef7f6;
		border-color: #eef7f6;
		opacity: 1;
	}

	.td-recruit
		.td-recruit__links
		.is-style-btn_line
		.swell-block-button__link:hover {
		color: var(--td-recruit-white);
		background: rgba(255, 255, 255, 0.1);
		border-color: var(--td-recruit-white);
		opacity: 1;
	}
}

@media (max-width: 781px) {
	.td-recruit .td-recruit__top {
		row-gap: 32px;
	}

	.td-recruit .td-recruit__image img {
		aspect-ratio: 4 / 3;
	}

	.td-recruit .td-recruit__facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}

	.td-recruit
		.td-recruit__jobs
		.td-recruit__job-row {
		gap: 12px;
		padding: 16px 0;
	}

	.td-recruit .td-recruit__links {
		gap: 14px;
	}
}

/* ==================================================
   トップページ：NEWS
================================================== */

.swell-block-fullWide.td-home-news {
  margin-top: 0;
  margin-bottom: 0;
}

/* PC：左側見出し＋右側お知らせ */
.td-home-news__layout {
  /* SWELLのカラム間隔指定へ反映 */
  --wp-column-gap: clamp(4rem, 8vw, 10rem);

  display: grid;
  grid-template-columns: 20rem minmax(0, 1fr);
  align-items: start;
  gap: var(--wp-column-gap);
  margin: 0;
}

.td-home-news__heading,
.td-home-news__posts {
  min-width: 0;
}

.td-home-news__eyebrow {
  margin-top: 0;
}

/* SWELL標準のH2上余白を解除 */
.post_content .td-home-news__title {
  margin-top: 0;
}

.td-home-news__lead {
  margin-top: 0;
  margin-bottom: 2.5rem;
}

/* お知らせ一覧ボタン */
.td-home-news__button {
  width: fit-content;
  max-width: 100%;
  margin: 0;
}

.td-home-news__button .swell-block-button__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 15.5rem;
  max-width: 100%;
  min-width: 0;
  border-color: #222b35;
  border-radius: 999px;
  color: #222b35;
}


/* お知らせ一覧 */
.td-home-news__posts .p-postList.-type-simple {
  margin: 0;
  border-top-color: #d8e1e8;
}

.td-home-news__posts .p-postList__link {
  padding: 1.5rem 0.5rem;
  border-bottom-color: #d8e1e8;
}

.td-home-news__posts .p-postList__body {
  display: grid;
  grid-template-columns: 7.5rem 7rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding-right: 2rem;
}

.td-home-news__posts .p-postList__meta {
  display: contents;
  margin: 0;
}

/* 日付 */
.td-home-news__posts .p-postList__times {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  color: #007f7a;
}

.td-home-news__posts .c-postTimes__posted {
  color: #007f7a;
}

.td-home-news__posts .c-postTimes__posted::before {
  content: none;
}

/* カテゴリー */
.td-home-news__posts .p-postList__cat {
  display: inline-flex;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: max-content;
  min-width: 5rem;
  margin: 0;
  padding: 0.25rem 0.75rem;
  border: 1px solid #ccd6df;
  background-color: #fff;
  color: #566575;
}

/* SWELL標準のフォルダーアイコンを非表示 */
.td-home-news__posts .p-postList__cat::before {
  display: none;
  content: none;
}

/* 投稿タイトル */
.td-home-news__posts .p-postList__title {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}

/* 右端の矢印 */
.td-home-news__posts .p-postList__link::after {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  color: #667580;
  content: "→";
}

/* タブレット */
@media (max-width: 959px) {
  .td-home-news__layout {
    --wp-column-gap: 2.5rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .td-home-news__lead {
    margin-bottom: 2rem;
  }
}

/* スマートフォン */
@media (max-width: 699px) {
  .td-home-news__posts .p-postList__link {
    padding: 1.125rem 0.25rem;
  }

  .td-home-news__posts .p-postList__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding-right: 2rem;
  }

  .td-home-news__posts .p-postList__meta {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    align-items: center;
    gap: 0.75rem;
  }

  .td-home-news__posts .p-postList__times,
  .td-home-news__posts .p-postList__cat {
    grid-column: auto;
    grid-row: auto;
  }

  .td-home-news__posts .p-postList__title {
    grid-column: 1;
    grid-row: 2;
  }

  .td-home-news__button,
  .td-home-news__button .swell-block-button__link {
    width: 100%;
  }
}


/* ==================================================
   タツミ電工について：導入セクション
================================================== */

.td-about-introduction .td-about-introduction__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準のH2装飾を解除 */
.td-about-introduction .td-about-introduction__title {
	margin-top: 0;
	margin-bottom: 48px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-introduction .td-about-introduction__title::before,
.td-about-introduction .td-about-introduction__title::after {
	display: none !important;
	content: none !important;
}

.td-about-introduction .td-about-introduction__columns {
	align-items: flex-start;
	gap: clamp(28px, 4vw, 56px);
	margin-bottom: 0;
}

.td-about-introduction
	.td-about-introduction__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-introduction .td-about-introduction__image {
	width: 100%;
	margin: 0;
}

.td-about-introduction .td-about-introduction__image img {
	display: block;
	width: 100%;
}

.td-about-introduction .td-about-introduction__body,
.td-about-introduction
	.td-about-introduction__body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

.td-about-introduction .td-about-introduction__text {
	margin: 0;
}

@media (max-width: 781px) {
	.td-about-introduction .td-about-introduction__title {
		margin-bottom: 32px;
	}

	.td-about-introduction .td-about-introduction__columns {
		gap: 28px;
	}
}

/* ==================================================
   タツミ電工について：企業理念
================================================== */

.td-about-philosophy .td-about-philosophy__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準のH2装飾を解除 */
.td-about-philosophy .td-about-philosophy__title {
	margin-top: 0;
	margin-bottom: 44px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-philosophy .td-about-philosophy__title::before,
.td-about-philosophy .td-about-philosophy__title::after {
	display: none !important;
	content: none !important;
}

.td-about-philosophy .td-about-philosophy__columns {
	align-items: flex-start;
	gap: clamp(32px, 4.5vw, 60px);
	margin-bottom: 0;
}

.td-about-philosophy
	.td-about-philosophy__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-philosophy .td-about-philosophy__accent {
	position: relative;
	width: 100%;
	max-width: none !important;
	height: 1px;
	margin: 0 0 28px;
	border: 0;
	opacity: 1;
}

.td-about-philosophy .td-about-philosophy__accent::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #037d76;
	content: "";
	transform: translateY(-50%);
}

.td-about-philosophy .td-about-philosophy__statement {
	margin: 0;
}

.td-about-philosophy .td-about-philosophy__since {
	margin-top: 28px;
	margin-bottom: 0;
}

.td-about-philosophy .td-about-philosophy__body,
.td-about-philosophy
	.td-about-philosophy__body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

.td-about-philosophy .td-about-philosophy__text {
	margin: 0;
}

.td-about-philosophy .td-about-philosophy__image {
	width: 100%;
	margin: 56px 0 0;
}

.td-about-philosophy .td-about-philosophy__image img {
	display: block;
	width: 100%;
}

@media (max-width: 781px) {
	.td-about-philosophy .td-about-philosophy__title {
		margin-bottom: 32px;
	}

	.td-about-philosophy .td-about-philosophy__columns {
		gap: 36px;
	}

	.td-about-philosophy .td-about-philosophy__image {
		margin-top: 36px;
	}

	.td-about-philosophy .td-about-philosophy__image img {
		aspect-ratio: 4 / 3 !important;
	}
}

/* ==================================================
   タツミ電工について：大切にしていること
================================================== */

.td-about-values .td-about-values__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準の見出し装飾を解除 */
.td-about-values .td-about-values__title {
	margin-top: 0;
	margin-bottom: 56px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-values .td-about-values__title::before,
.td-about-values .td-about-values__title::after,
.td-about-values .td-about-values__item-title::before,
.td-about-values .td-about-values__item-title::after {
	display: none !important;
	content: none !important;
}

.td-about-values .td-about-values__columns {
	align-items: flex-start;
	gap: clamp(28px, 3.6vw, 48px);
	margin-bottom: 0;
}

.td-about-values
	.td-about-values__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-values .td-about-values__line {
	width: 100%;
	max-width: none !important;
	height: 1px;
	margin: 0 0 28px;
	border: 0;
	opacity: 1;
}

.td-about-values .td-about-values__number {
	margin-top: 0;
	margin-bottom: 14px;
}

.td-about-values .td-about-values__item-title {
	margin-top: 0;
	margin-bottom: 16px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-values .td-about-values__text {
	margin: 0;
}

@media (max-width: 781px) {
	.td-about-values .td-about-values__title {
		margin-bottom: 36px;
	}

	.td-about-values .td-about-values__columns {
		gap: 40px;
	}
}

/* ==================================================
   タツミ電工について：代表メッセージ
================================================== */

.td-about-message .td-about-message__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準の見出し装飾を解除 */
.td-about-message .td-about-message__title {
	margin-top: 0;
	margin-bottom: 52px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-message .td-about-message__title::before,
.td-about-message .td-about-message__title::after,
.td-about-message .td-about-message__section-title::before,
.td-about-message .td-about-message__section-title::after {
	display: none !important;
	content: none !important;
}

.td-about-message .td-about-message__lead {
	align-items: center;
	gap: clamp(36px, 5vw, 72px);
	margin-bottom: 0;
}

.td-about-message
	.td-about-message__lead
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-message .td-about-message__image {
	width: 100%;
	margin: 0;
}

.td-about-message .td-about-message__image img {
	display: block;
	width: 100%;
}

.td-about-message .td-about-message__lead-text {
	margin: 0;
}

.td-about-message .td-about-message__body {
	width: 100%;
	max-width: 800px;
	margin: 64px auto 0;
}

.td-about-message .td-about-message__section {
	margin: 0;
}

.td-about-message .td-about-message__line {
	width: 100%;
	max-width: none !important;
	height: 1px;
	margin: 0 0 30px;
	border: 0;
	opacity: 1;
}

.td-about-message .td-about-message__section-title {
	margin-top: 0;
	margin-bottom: 24px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-message .td-about-message__section-body,
.td-about-message
	.td-about-message__section-body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

.td-about-message .td-about-message__section-body p {
	margin: 0;
}

.td-about-message
	.td-about-message__section
	+ .td-about-message__section {
	margin-top: 48px;
}

.td-about-message .td-about-message__signature {
	margin-top: 36px;
}

.td-about-message .td-about-message__signature p {
	margin-top: 0;
	margin-bottom: 8px;
}

.td-about-message .td-about-message__signature p:last-child {
	margin-bottom: 0;
}

@media (max-width: 781px) {
	.td-about-message .td-about-message__title {
		margin-bottom: 32px;
	}

	.td-about-message .td-about-message__lead {
		gap: 30px;
	}

	.td-about-message .td-about-message__image img {
		aspect-ratio: 4 / 3 !important;
	}

	.td-about-message .td-about-message__body {
		margin-top: 44px;
	}

	.td-about-message
		.td-about-message__section
		+ .td-about-message__section {
		margin-top: 40px;
	}
}

/* ==================================================
   タツミ電工について：これからの会社
================================================== */

.td-about-future .td-about-future__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準の見出し装飾を解除 */
.td-about-future .td-about-future__title {
	margin-top: 0;
	margin-bottom: 44px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-future .td-about-future__title::before,
.td-about-future .td-about-future__title::after,
.td-about-future .td-about-future__item-title::before,
.td-about-future .td-about-future__item-title::after {
	display: none !important;
	content: none !important;
}

.td-about-future .td-about-future__image {
	width: 100%;
	margin: 0;
}

.td-about-future .td-about-future__image img {
	display: block;
	width: 100%;
}

.td-about-future .td-about-future__columns {
	align-items: flex-start;
	gap: clamp(32px, 4.5vw, 56px);
	margin-top: 56px;
	margin-bottom: 0;
}

.td-about-future
	.td-about-future__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-future .td-about-future__line {
	width: 100%;
	max-width: none !important;
	height: 1px;
	margin: 0 0 28px;
	border: 0;
	opacity: 1;
}

.td-about-future .td-about-future__item-title {
	margin-top: 0;
	margin-bottom: 20px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-future .td-about-future__body,
.td-about-future
	.td-about-future__body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

.td-about-future .td-about-future__body p {
	margin: 0;
}

@media (max-width: 781px) {
	.td-about-future .td-about-future__title {
		margin-bottom: 32px;
	}

	.td-about-future .td-about-future__image img {
		aspect-ratio: 4 / 3 !important;
	}

	.td-about-future .td-about-future__columns {
		gap: 40px;
		margin-top: 40px;
	}
}



/* ==================================================
   タツミ電工について：DISCOVER MORE
================================================== */

.swell-block-fullWide.td-about-discover {
  margin-top: 0;
  margin-bottom: 0;
}

/* SWELLが公開画面で追加する内側コンテナの幅を解除 */
.td-about-discover__body > .wp-block-group__inner-container,
.td-about-discover__cards > .wp-block-group__inner-container,
.td-about-discover__card > .wp-block-group__inner-container,
.td-about-discover__card-head > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
}

.td-about-discover__body > .wp-block-group__inner-container > *,
.td-about-discover__card > .wp-block-group__inner-container > *,
.td-about-discover__card-head > .wp-block-group__inner-container > * {
  max-width: none;
}

.td-about-discover__eyebrow {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.td-about-discover__title {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-about-discover__lead {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-about-discover__cards {
  width: 100%;
  margin: 0;
}

/* PC：3列 */
.td-about-discover__cards > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 1.5rem;
  margin: 0;
}

.td-about-discover__card {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 0;
  min-height: 18rem;
  margin: 0;
  padding: 2.25rem;
  border: 1px solid #d8e1ec;
  box-shadow: none;
}

.td-about-discover__card > .wp-block-group__inner-container {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
}

.td-about-discover__card-head {
  margin: 0;
}

.td-about-discover__number {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.td-about-discover__card-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-about-discover__description {
  margin-top: 0;
  margin-bottom: 2rem;
}

.td-about-discover__link {
  margin-top: auto;
  margin-bottom: 0;
}

.td-about-discover__link a,
.td-about-discover__link a:visited {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none;
}

/* カード全体をリンク範囲にする */
.td-about-discover__link a::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
}

.td-about-discover__link a::after {
  position: relative;
  z-index: 2;
  display: grid;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 50%;
  background-color: var(--color_main, #0756c9);
  color: #fff;
  content: "→";
}

.td-about-discover__link a:focus-visible {
  outline: none;
}

.td-about-discover__link a:focus-visible::before {
  outline: 2px solid var(--color_main, #0756c9);
  outline-offset: 3px;
}

/* タブレット：横長カードを1列 */
@media (min-width: 700px) and (max-width: 959px) {
  .td-about-discover__lead {
    margin-bottom: 2rem;
  }

  .td-about-discover__cards > .wp-block-group__inner-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
  }

  .td-about-discover__card {
    min-height: 0;
    padding: 1.5rem 1.75rem;
  }

  .td-about-discover__card > .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: minmax(9.5rem, 0.8fr) minmax(0, 1.35fr) auto;
    align-items: center;
    column-gap: 1.5rem;
  }

  .td-about-discover__number {
    margin-bottom: 0.375rem;
  }

  .td-about-discover__card-title,
  .td-about-discover__description,
  .td-about-discover__link {
    margin: 0;
  }

  .td-about-discover__link a {
    white-space: nowrap;
  }
}

/* スマートフォン：コンパクトな縦1列 */
@media (max-width: 699px) {
  .td-about-discover__lead {
    margin-bottom: 2rem;
  }

  .td-about-discover__cards > .wp-block-group__inner-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
  }

  .td-about-discover__card {
    min-height: 0;
    padding: 1.25rem;
  }

  .td-about-discover__number {
    margin-bottom: 0.375rem;
  }

  .td-about-discover__card-title {
    margin-bottom: 0.75rem;
  }

  .td-about-discover__description {
    margin-bottom: 1.25rem;
  }

  .td-about-discover__link {
    margin-top: 0;
  }
}

/* ==================================================
   事業内容：導入
================================================== */

.td-business-intro .td-business-intro__eyebrow {
	margin-top: 0;
	margin-bottom: 16px;
}

/* SWELL標準のH2装飾を解除 */
.td-business-intro .td-business-intro__title {
	margin-top: 0;
	margin-bottom: 34px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-business-intro .td-business-intro__title::before,
.td-business-intro .td-business-intro__title::after {
	display: none !important;
	content: none !important;
}

.td-business-intro .td-business-intro__body {
	width: 100%;
	max-width: 780px;
	margin: 0;
}

.td-business-intro .td-business-intro__body,
.td-business-intro
	.td-business-intro__body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 22px;
}

.td-business-intro .td-business-intro__body p {
	margin: 0;
}

@media (max-width: 781px) {
	.td-business-intro .td-business-intro__title {
		margin-bottom: 28px;
	}
}



/* ==================================================
   事業内容：導入
================================================== */

.td-business-service01__body {
  scroll-margin-top: 90px;
}

.td-business-service01__body > * {
  max-width: none;
}

.td-business-service01__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1.25rem;
  margin-bottom: 0.875rem;
}

.td-business-service01__label p {
  margin: 0;
}

.td-business-service01__body > .wp-block-heading {
  margin-top: 0;
  margin-bottom: 2rem;
}

.td-business-service01__image {
  margin: 0 0 2.375rem;
}

.td-business-service01__image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.td-business-service01__content {
  align-items: flex-start;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-service01__text > p:first-child,
.td-business-service01__services > .wp-block-heading {
  margin-top: 0;
}

.td-business-service01__text > p:last-child {
  margin-bottom: 0;
}

.td-business-service01__services > .wp-block-heading {
  margin-bottom: 0.75rem;
}

.td-business-service01__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e5e9ef;
}

.td-business-service01__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #e5e9ef;
}

@media (max-width: 781px) {
  .td-business-service01__label {
    gap: 0.875rem;
  }

  .td-business-service01__body > .wp-block-heading {
    margin-bottom: 1.5rem;
  }

  .td-business-service01__image {
    margin-bottom: 2rem;
  }

  .td-business-service01__content {
    gap: 1.75rem;
  }
}


/* ==================================================
   事業内容：02 一般電気工事
================================================== */

.td-business-service02__body {
  scroll-margin-top: 90px;
}

.td-business-service02__body > * {
  max-width: none;
}

.td-business-service02__layout {
  align-items: center;
  gap: clamp(2rem, 4.5vw, 3.75rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-service02__image {
  margin: 0;
}

.td-business-service02__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-business-service02__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1.125rem;
  margin-bottom: 0.75rem;
}

.td-business-service02__label p {
  margin: 0;
}

.td-business-service02__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-business-service02__content > p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-business-service02__content > p:last-of-type {
  margin-bottom: 0;
}

.td-business-service02__list-title {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}

.td-business-service02__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d7deea;
}

.td-business-service02__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #d7deea;
}

@media (max-width: 781px) {
  .td-business-service02__layout {
    gap: 2rem;
  }

  .td-business-service02__label {
    gap: 0.875rem;
  }

  .td-business-service02__title {
    margin-bottom: 1.25rem;
  }
}

/* ==================================================
   事業内容：03 電柱建替工事
================================================== */

.td-business-service03__body {
  scroll-margin-top: 90px;
}

.td-business-service03__body > * {
  max-width: none;
}

.td-business-service03__layout {
  align-items: center;
  gap: clamp(2rem, 4.5vw, 3.75rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-service03__media {
  order: 2;
}

.td-business-service03__content {
  order: 1;
}

.td-business-service03__image {
  margin: 0;
}

.td-business-service03__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-business-service03__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1.125rem;
  margin-bottom: 0.75rem;
}

.td-business-service03__label p {
  margin: 0;
}

.td-business-service03__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-business-service03__content > p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-business-service03__content > p:last-of-type {
  margin-bottom: 0;
}

.td-business-service03__list-title {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}

.td-business-service03__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e5e9ef;
}

.td-business-service03__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #e5e9ef;
}

@media (max-width: 781px) {
  .td-business-service03__layout {
    gap: 2rem;
  }

  .td-business-service03__media,
  .td-business-service03__content {
    order: 0;
  }

  .td-business-service03__label {
    gap: 0.875rem;
  }

  .td-business-service03__title {
    margin-bottom: 1.25rem;
  }
}

/* ==================================================
   事業内容：04 伐採工事
================================================== */

.td-business-service04__body {
  scroll-margin-top: 90px;
}

.td-business-service04__body > * {
  max-width: none;
}

.td-business-service04__layout {
  align-items: center;
  gap: clamp(2rem, 4.5vw, 3.75rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-service04__image {
  margin: 0;
}

.td-business-service04__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-business-service04__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1.125rem;
  margin-bottom: 0.75rem;
}

.td-business-service04__label p {
  margin: 0;
}

.td-business-service04__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-business-service04__content > p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-business-service04__content > p:last-of-type {
  margin-bottom: 0;
}

.td-business-service04__list-title {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}

.td-business-service04__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #cfdcd5;
}

.td-business-service04__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #cfdcd5;
}

@media (max-width: 781px) {
  .td-business-service04__layout {
    gap: 2rem;
  }

  .td-business-service04__label {
    gap: 0.875rem;
  }

  .td-business-service04__title {
    margin-bottom: 1.25rem;
  }
}

/* ==================================================
   事業内容：保有車両 FLEET
================================================== */

.td-business-fleet__body {
  scroll-margin-top: 90px;
}

.td-business-fleet__body > * {
  max-width: none;
}

.td-business-fleet__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-business-fleet__heading-row {
  align-items: flex-end;
  gap: clamp(1.5rem, 4vw, 3.25rem);
  margin-top: 0;
  margin-bottom: 2rem;
}

.td-business-fleet__title {
  margin: 0;
}

.td-business-fleet__count {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 0.625rem;
}

.td-business-fleet__count p {
  margin: 0;
}

.td-business-fleet__main-image {
  margin: 0 0 1.5rem;
}

.td-business-fleet__main-image img {
  width: 100%;
  aspect-ratio: 21 / 10;
  object-fit: cover;
}

.td-business-fleet__gallery {
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-top: 0;
  margin-bottom: 2.5rem;
}

.td-business-fleet__sub-image {
  margin: 0;
}

.td-business-fleet__sub-image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.td-business-fleet__caption {
  margin-top: 0.625rem;
  margin-bottom: 0;
}

/* ==================================================
   事業内容：05 産業廃棄物収集運搬
================================================== */

.td-business-service05__body {
  scroll-margin-top: 90px;
}

.td-business-service05__body > * {
  max-width: none;
}

.td-business-service05__layout {
  align-items: center;
  gap: clamp(2rem, 4.5vw, 3.75rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-service05__media {
  order: 2;
}

.td-business-service05__content {
  order: 1;
}

.td-business-service05__image {
  margin: 0;
}

.td-business-service05__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-business-service05__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1.125rem;
  margin-bottom: 0.75rem;
}

.td-business-service05__label p {
  margin: 0;
}

.td-business-service05__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-business-service05__content > p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-business-service05__content > p:last-of-type {
  margin-bottom: 0;
}

.td-business-service05__list-title {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
}

.td-business-service05__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e5e9ef;
}

.td-business-service05__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #e5e9ef;
}

@media (max-width: 781px) {
  .td-business-service05__layout {
    gap: 2rem;
  }

  .td-business-service05__media,
  .td-business-service05__content {
    order: 0;
  }

  .td-business-service05__label {
    gap: 0.875rem;
  }

  .td-business-service05__title {
    margin-bottom: 1.25rem;
  }
}

.td-business-fleet__details {
  align-items: flex-start;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-fleet__description > p:first-child,
.td-business-fleet__list-title {
  margin-top: 0;
}

.td-business-fleet__description > p:last-child {
  margin-bottom: 0;
}

.td-business-fleet__list-title {
  margin-bottom: 0.75rem;
}

.td-business-fleet__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d7deea;
}

.td-business-fleet__list li {
  margin: 0;
  padding: 0.6875rem 0;
  border-bottom: 1px solid #d7deea;
}

@media (max-width: 781px) {
  .td-business-fleet__heading-row {
    gap: 0.875rem;
    margin-bottom: 1.5rem;
  }

  .td-business-fleet__gallery {
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .td-business-fleet__details {
    gap: 2rem;
  }
}

/* ==================================================
   事業内容：採用情報への導線 RECRUIT
================================================== */

.td-business-recruit__body > * {
  max-width: none;
}

.td-business-recruit__layout {
  align-items: center;
  gap: clamp(2rem, 4.5vw, 3.75rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-business-recruit__content > p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-business-recruit__content > .td-business-recruit__eyebrow {
  margin-bottom: 0.875rem;
}

.td-business-recruit__content > p:last-of-type {
  margin-bottom: 0;
}

.td-business-recruit__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-business-recruit__image {
  margin: 0;
}

.td-business-recruit__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* ==================================================
   RECRUIT：ボタン調整
================================================== */

.td-business-recruit .td-business-recruit__button[data-align="left"] {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 2rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: 0;
  align-self: flex-start;
  justify-self: start;
}

.td-business-recruit .td-business-recruit__button .swell-block-button__link,
.td-business-recruit .td-business-recruit__button .swell-block-button__link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  max-width: 100%;
  padding: 1rem 1.75rem;
  background: #fff;
  color: #0d4a9c;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
}

.td-business-recruit .td-business-recruit__button .swell-block-button__link:hover {
  background: #eef3fa;
  color: #08417a;
  opacity: 1;
}

.td-business-recruit .td-business-recruit__button .swell-block-button__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 781px) {
  .td-business-recruit__layout {
    gap: 2rem;
  }

  .td-business-recruit__title {
    margin-bottom: 1.25rem;
  }

  .td-business-recruit .td-business-recruit__button[data-align="left"] {
    margin-top: 1.75rem;
  }
}

/* ==================================================
   事業内容：SERVICE MENU
================================================== */

.td-service-menu__layout {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}

.td-service-menu__eyebrow {
  flex: 0 0 auto;
  margin: 0;
}

.td-service-menu__list {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  gap: 0.625rem;
  min-width: 0;
}

.td-service-menu__link {
  flex: 0 0 auto;
  max-width: 100%;
  margin: 0;
}

.td-service-menu__link a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-sizing: border-box;
  min-height: 3.25rem;
  padding: 0.75rem 1.25rem;
  border: 1px solid #d8e1ec;
  background-color: #fff;
  box-shadow: none;
  text-decoration: none;
  white-space: nowrap;
}

.td-service-menu__link a > span:first-child {
  flex: 0 0 auto;
}

.td-service-menu__link a > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.td-service-menu__link a:hover {
  border-color: #b9c8d9;
  background-color: #f8fbfe;
}

.td-service-menu__link a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* タブレット：2列 */
@media (max-width: 1100px) {
  .td-service-menu__layout {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }

  .td-service-menu__list {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100%;
    max-width: 100%;
  }

  .td-service-menu__link {
    flex: 1 1 calc(50% - 0.3125rem);
    width: calc(50% - 0.3125rem);
    min-width: 0;
  }

  .td-service-menu__link a {
    width: 100%;
    height: 100%;
    white-space: normal;
  }
}

/* スマホ：見出し中央・メニュー1列 */
@media (max-width: 600px) {
  .td-service-menu__eyebrow {
    width: 100%;
    text-align: center;
  }

  .td-service-menu__eyebrow br {
    display: none;
  }

  .td-service-menu__link {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* PCのみ上下余白を縮小 */
@media (min-width: 960px) {
  .swell-block-fullWide.td-service-menu.pc-py-60 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

/* ==================================================
   会社情報：導入セクション
================================================== */

.td-about-intro .td-about-intro__eyebrow {
	margin-top: 0;
	margin-bottom: 12px;
}

/* SWELL標準のH2装飾を解除 */
.td-about-intro .td-about-intro__title {
	margin-top: 0;
	margin-bottom: 40px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-about-intro .td-about-intro__title::before,
.td-about-intro .td-about-intro__title::after {
	display: none !important;
	content: none !important;
}

.td-about-intro .td-about-intro__columns {
	align-items: flex-start;
	gap: clamp(32px, 5vw, 56px);
	margin-bottom: 0;
}

.td-about-intro
	.td-about-intro__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-about-intro .td-about-intro__image {
	width: 100%;
	margin: 0;
}

.td-about-intro .td-about-intro__image img {
	display: block;
	width: 100%;
}

.td-about-intro .td-about-intro__since {
	margin-top: 12px;
	margin-bottom: 0;
}

.td-about-intro .td-about-intro__body,
.td-about-intro
	.td-about-intro__body
	> .wp-block-group__inner-container {
	display: grid;
	gap: 24px;
}

.td-about-intro .td-about-intro__text {
	margin: 0;
}

.td-about-intro .td-about-intro__cta {
	margin: 0;
	padding-top: 24px;
}

.td-about-intro
	.td-about-intro__cta
	.swell-block-button {
	margin: 0;
}

.td-about-intro
	.td-about-intro__cta
	.swell-block-button__link {
	border-radius: 0;
}

@media (max-width: 781px) {
	.td-about-intro .td-about-intro__title {
		margin-bottom: 32px;
	}

	.td-about-intro .td-about-intro__columns {
		gap: 32px;
	}
}

/* ==================================================
   会社情報：会社概要
================================================== */

.td-company-profile .td-company-profile__eyebrow {
	margin-top: 0;
	margin-bottom: 12px;
}

/* SWELL標準のH2装飾を解除 */
.td-company-profile .td-company-profile__title {
	margin-top: 0;
	margin-bottom: 40px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-company-profile .td-company-profile__title::before,
.td-company-profile .td-company-profile__title::after {
	display: none !important;
	content: none !important;
}

.td-company-profile .td-company-profile__image {
	width: 100%;
	margin: 0;
}

.td-company-profile .td-company-profile__image img {
	display: block;
	width: 100%;
	aspect-ratio: 8 / 3;
	object-fit: cover;
}

/* 会社情報一覧 */
.td-company-profile .td-company-profile__list {
	display: grid !important;
	grid-template-columns: minmax(180px, 28%) minmax(0, 1fr);
	width: 100%;
	margin-top: 48px;
	margin-bottom: 0;
	border-bottom: 1px solid #cfdbe6;
}

.td-company-profile
	.td-company-profile__list
	> .swell-block-dl__dt,
.td-company-profile
	.td-company-profile__list
	> .swell-block-dl__dd {
	box-sizing: border-box;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: 1px solid #cfdbe6;
	background: transparent;
}

.td-company-profile
	.td-company-profile__list
	> .swell-block-dl__dt {
	padding-right: 32px;
}

.td-company-profile
	.td-company-profile__list
	> .swell-block-dl__dd {
	padding-left: 0;
}

.td-company-profile
	.td-company-profile__list
	.swell-block-dl__dd
	p {
	margin: 0;
}

@media (max-width: 781px) {
	.td-company-profile .td-company-profile__title {
		margin-bottom: 32px;
	}

	.td-company-profile .td-company-profile__image img {
		aspect-ratio: 4 / 3;
	}

	.td-company-profile .td-company-profile__list {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 32px;
	}

	.td-company-profile
		.td-company-profile__list
		> .swell-block-dl__dt {
		padding: 18px 0 6px;
	}

	.td-company-profile
		.td-company-profile__list
		> .swell-block-dl__dd {
		padding: 0 0 18px;
		border-top: 0;
	}
}

/* ==================================================
   会社情報：許可・主要取引先
================================================== */

.td-license-clients .td-license-clients__eyebrow {
	margin-top: 0;
	margin-bottom: 12px;
}

/* SWELL標準の見出し装飾を解除 */
.td-license-clients .td-license-clients__title,
.td-license-clients .td-license-clients__list-title {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-license-clients .td-license-clients__title::before,
.td-license-clients .td-license-clients__title::after,
.td-license-clients .td-license-clients__list-title::before,
.td-license-clients .td-license-clients__list-title::after {
	display: none !important;
	content: none !important;
}

.td-license-clients .td-license-clients__title {
	margin-top: 0;
	margin-bottom: 40px;
}

.td-license-clients .td-license-clients__columns {
	align-items: stretch !important;
	gap: 0;
	margin-bottom: 0;
}

.td-license-clients
	.td-license-clients__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

.td-license-clients .td-license-clients__column:first-child {
	padding-right: 40px;
}

.td-license-clients .td-license-clients__column--clients {
	padding-left: 40px;
	border-left: 1px solid #dbe3ea;
}

.td-license-clients .td-license-clients__list-title {
	margin-top: 0;
	margin-bottom: 18px;
}

.td-license-clients .td-license-clients__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #dbe3ea;
}

.td-license-clients .td-license-clients__list > li {
	margin: 0;
	padding: 16px 0;
	list-style: none;
	border-bottom: 1px solid #dbe3ea;
}

.td-license-clients .td-license-clients__list > li::marker {
	content: "";
}

.td-license-clients .td-license-clients__note {
	max-width: 840px;
	margin-top: 40px;
	margin-bottom: 0;
}

@media (max-width: 781px) {
	.td-license-clients .td-license-clients__title {
		margin-bottom: 32px;
	}

	.td-license-clients .td-license-clients__columns {
		gap: 36px;
	}

	.td-license-clients .td-license-clients__column:first-child,
	.td-license-clients .td-license-clients__column--clients {
		padding-right: 0;
		padding-left: 0;
		border-left: 0;
	}

	.td-license-clients .td-license-clients__note {
		margin-top: 32px;
	}
}

/* ==================================================
   会社情報：所在地・アクセス
================================================== */

.td-company-access .td-company-access__eyebrow {
	margin-top: 0;
	margin-bottom: 12px;
}

/* SWELL標準の見出し装飾を解除 */
.td-company-access .td-company-access__title,
.td-company-access .td-company-access__company-name {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.td-company-access .td-company-access__title::before,
.td-company-access .td-company-access__title::after,
.td-company-access .td-company-access__company-name::before,
.td-company-access .td-company-access__company-name::after {
	display: none !important;
	content: none !important;
}

.td-company-access .td-company-access__title {
	margin-top: 0;
	margin-bottom: 40px;
}

.td-company-access .td-company-access__columns {
	gap: clamp(32px, 5vw, 48px);
	margin-bottom: 0;
}

.td-company-access
	.td-company-access__columns
	> .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}

/* Googleマップ挿入用の空欄 */
.td-company-access .td-company-access__map-slot {
	width: 100%;
	min-height: 400px;
	margin: 0;
}

.td-company-access .td-company-access__map-slot iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 400px;
	border: 0;
}

.td-company-access .td-company-access__info,
.td-company-access
	.td-company-access__info
	> .wp-block-group__inner-container {
	display: grid;
	gap: 20px;
}

.td-company-access .td-company-access__company-name {
	margin: 0;
}

.td-company-access .td-company-access__address,
.td-company-access .td-company-access__contact {
	margin: 0;
	padding-top: 20px;
}

.td-company-access .td-company-access__address p,
.td-company-access .td-company-access__contact p {
	margin: 0;
}

.td-company-access .td-company-access__contact,
.td-company-access
	.td-company-access__contact
	> .wp-block-group__inner-container {
	display: grid;
	gap: 4px;
}

.td-company-access .td-company-access__map-button {
	margin: 0;
}

.td-company-access
	.td-company-access__map-button
	.swell-block-button__link {
	border-radius: 0;
}

@media (max-width: 781px) {
	.td-company-access .td-company-access__title {
		margin-bottom: 32px;
	}

	.td-company-access .td-company-access__columns {
		gap: 32px;
	}

	.td-company-access .td-company-access__map-slot,
	.td-company-access .td-company-access__map-slot iframe {
		min-height: 280px;
	}
}

/* ==================================================
   採用情報：ファーストビュー
================================================== */

.page-id-176 #top_title_area {
  display: none;
}

.page-id-176 .l-content {
  padding-top: 0;
}

.td-recruit-hero {
  overflow: hidden;
}

/* SWELLのコンテナ幅と余白を解除 */
.td-recruit-hero > .swell-block-fullWide__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.td-recruit-hero__body,
.td-recruit-hero__body > .wp-block-group__inner-container {
  width: 100%;
  max-width: none;
  margin: 0;
}

.td-recruit-hero__body > * {
  max-width: none;
}

/* PC：左48％・写真52％ */
.td-recruit-hero__layout {
  --wp-column-gap: 0;

  display: grid !important;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  align-items: stretch !important;
  gap: 0 !important;
  width: 100%;
  max-width: none;
  margin: 0;
}

.td-recruit-hero__content,
.td-recruit-hero__media {
  min-width: 0;
  align-self: stretch !important;
}

/* 左側コンテンツ */
.td-recruit-hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 8rem;
  padding-right: clamp(2rem, 3vw, 4rem);
  padding-bottom: 8rem;
  padding-left: max(1.5rem, calc((100vw - 1200px) / 2));
}

.td-recruit-hero__eyebrow {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-recruit-hero__title {
  margin-top: 0;
  margin-bottom: 1.375rem;
}

.td-recruit-hero__lead {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-recruit-hero__text {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-recruit-hero__text--last {
  margin-bottom: 1.875rem;
}

/* ボタン */
.td-recruit-hero__actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin: 0;
}

.td-recruit-hero__button[data-align="left"] {
  width: fit-content;
  max-width: 100%;
  margin: 0;
}

.td-recruit-hero__button .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 3.5rem;
  max-width: 100%;
  padding: 1rem 2rem;
  border-radius: 4px;
  box-shadow: none;
  text-decoration: none;
}

.td-recruit-hero__button--primary .swell-block-button__link,
.td-recruit-hero__button--primary .swell-block-button__link:visited {
  color: #003d7c;
  background: #fff;
  border: 1px solid #fff;
}

.td-recruit-hero__button--secondary .swell-block-button__link,
.td-recruit-hero__button--secondary .swell-block-button__link:visited {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.55);
}

.td-recruit-hero__button--primary .swell-block-button__link:hover {
  color: #003d7c;
  background: #eef3fa;
  border-color: #eef3fa;
  opacity: 1;
  transform: none;
}

.td-recruit-hero__button--secondary .swell-block-button__link:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: #fff;
  opacity: 1;
  transform: none;
}

.td-recruit-hero__button .swell-block-button__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

/* 写真カラム */
.td-recruit-hero__media {
  position: relative;
  display: flex;
  overflow: hidden;
  background-color: #0b223d;
}

/* 濃紺から写真へつなぐグラデーション */
.td-recruit-hero__media::before {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  width: clamp(10rem, 16vw, 20rem);
  background: linear-gradient(
    90deg,
    #0b223d 0%,
    rgba(11, 34, 61, 0.88) 22%,
    rgba(11, 34, 61, 0.48) 58%,
    rgba(11, 34, 61, 0) 100%
  );
  content: "";
  pointer-events: none;
}

/* figureをカラムの高さいっぱいまで伸ばす */
.td-recruit-hero__image {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.td-recruit-hero__image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center center;
}

/* タブレット・スマートフォン */
@media (max-width: 781px) {
  .td-recruit-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .td-recruit-hero__content {
    padding: 4rem max(1.5rem, 5vw) 3rem;
  }

  .td-recruit-hero__text--last {
    margin-bottom: 1.75rem;
  }

  .td-recruit-hero__media {
    min-height: clamp(20rem, 65vw, 30rem);
  }

  /* スマホでは縦方向のグラデーション */
  .td-recruit-hero__media::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 6rem;
    background: linear-gradient(
      180deg,
      #0b223d 0%,
      rgba(11, 34, 61, 0.72) 28%,
      rgba(11, 34, 61, 0) 100%
    );
  }
}

/* スマートフォン */
@media (max-width: 520px) {
  .td-recruit-hero__content {
    padding: 3.5rem 1.25rem 2.5rem;
  }

  .td-recruit-hero__media {
    min-height: 20rem;
  }

  .td-recruit-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .td-recruit-hero__button[data-align="left"],
  .td-recruit-hero__button .swell-block-button__link {
    width: 100%;
  }
}

/* ==================================================
   採用情報：募集職種案内帯
================================================== */

.swell-block-fullWide.td-recruit-jobbar {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.td-recruit-jobbar > .swell-block-fullWide__inner {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 4rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.td-recruit-jobbar__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  flex-wrap: wrap !important;
  gap: 0.625rem 1.75rem;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.td-recruit-jobbar__inner > p {
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5;
}

/* SWELLによる次のフルワイドブロックの重なりを解除 */
.td-recruit-jobbar + .td-recruit-contents {
  margin-top: 0 !important;
}

@media (max-width: 600px) {
  .td-recruit-jobbar > .swell-block-fullWide__inner {
    min-height: auto;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .td-recruit-jobbar__inner {
    gap: 0.375rem 1rem;
  }
}
/* ==================================================
   採用情報：採用メッセージ
================================================== */

.td-recruit-message__body {
  scroll-margin-top: 90px;
}

.td-recruit-message__body > * {
  max-width: none;
}

.td-recruit-message__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-message__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-message__layout {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-message__media,
.td-recruit-message__content {
  min-width: 0;
}

.td-recruit-message__image {
  margin: 0;
}

.td-recruit-message__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-recruit-message__text {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-recruit-message__text--last {
  margin-bottom: 0;
}

.td-recruit-message__divider {
  margin-top: 3rem;
  margin-bottom: 2.5rem;
  border: 0;
  border-top: 1px solid #d3ddea;
}

.td-recruit-message__statement {
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-message__philosophy {
  margin-top: 1.75rem;
  margin-bottom: 0;
}

.td-recruit-message__philosophy > * {
  max-width: none;
}

.td-recruit-message__philosophy-label {
  margin-top: 0;
  margin-bottom: 0.625rem;
}

.td-recruit-message__philosophy-text {
  margin: 0;
}

.td-recruit-message__signature {
  margin-top: 2.25rem;
  margin-bottom: 0;
}

@media (max-width: 781px) {
  .td-recruit-message__title {
    margin-bottom: 2rem;
  }

  .td-recruit-message__layout {
    gap: 1.75rem;
  }

  .td-recruit-message__divider {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .td-recruit-message__philosophy {
    margin-top: 1.5rem;
  }

  .td-recruit-message__signature {
    margin-top: 1.75rem;
  }
}

/* ==================================================
   採用情報：募集中の仕事 01 電気設備工事スタッフ
================================================== */

.td-recruit-position01__body {
  scroll-margin-top: 90px;
}

.td-recruit-position01__body > * {
  max-width: none;
}

.td-recruit-position01__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-position01__title {
  margin-top: 0;
  margin-bottom: 4.5rem;
}

.td-recruit-position01__layout,
.td-recruit-position01__details {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-bottom: 0;
}

.td-recruit-position01__layout {
  margin-top: 0;
}

.td-recruit-position01__details {
  margin-top: 3rem;
}

.td-recruit-position01__media,
.td-recruit-position01__content,
.td-recruit-position01__tasks,
.td-recruit-position01__area {
  min-width: 0;
}

.td-recruit-position01__image {
  margin: 0;
}

.td-recruit-position01__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.td-recruit-position01__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1rem;
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-position01__label p {
  margin: 0;
}

.td-recruit-position01__role-title {
  margin-top: 0;
  margin-bottom: 1.375rem;
  padding-top: 1.125rem;
  border-top: 1px solid #e4e8ec;
}

.td-recruit-position01__text {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-recruit-position01__text--last {
  margin-bottom: 0;
}

.td-recruit-position01__detail-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-recruit-position01__task-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #eceff2;
}

.td-recruit-position01__task-list li {
  margin: 0;
  padding: 0.8125rem 0;
  border-bottom: 1px solid #eceff2;
}

.td-recruit-position01__area-name {
  margin-top: 0;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #eceff2;
}

.td-recruit-position01__note {
  margin: 0;
}

@media (max-width: 781px) {
  .td-recruit-position01__title {
    margin-bottom: 2.5rem;
  }

  .td-recruit-position01__layout,
  .td-recruit-position01__details {
    gap: 2rem;
  }

  .td-recruit-position01__details {
    margin-top: 2rem;
  }
}

/* ==================================================
   採用情報：募集中の仕事 02 伐採・下刈りスタッフ
================================================== */

.td-recruit-position02__body {
  scroll-margin-top: 90px;
}

.td-recruit-position02__body > * {
  max-width: none;
}

.td-recruit-position02__layout,
.td-recruit-position02__details {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-bottom: 0;
}

.td-recruit-position02__layout {
  margin-top: 0;
}

.td-recruit-position02__details {
  margin-top: 3rem;
}

.td-recruit-position02__media {
  order: 2;
}

.td-recruit-position02__content {
  order: 1;
}

.td-recruit-position02__media,
.td-recruit-position02__content,
.td-recruit-position02__tasks,
.td-recruit-position02__area {
  min-width: 0;
}

.td-recruit-position02__image {
  margin: 0;
}

.td-recruit-position02__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.td-recruit-position02__label {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 1rem;
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-position02__label p {
  margin: 0;
}

.td-recruit-position02__role-title {
  margin-top: 0;
  margin-bottom: 1.375rem;
  padding-top: 1.125rem;
  border-top: 1px solid #d5e5e2;
}

.td-recruit-position02__text {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.td-recruit-position02__text--last {
  margin-bottom: 0;
}

.td-recruit-position02__detail-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-recruit-position02__task-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d9e7e4;
}

.td-recruit-position02__task-list li {
  margin: 0;
  padding: 0.8125rem 0;
  border-bottom: 1px solid #d9e7e4;
}

.td-recruit-position02__area-name {
  margin-top: 0;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #d9e7e4;
}

.td-recruit-position02__note {
  margin: 0;
}

@media (max-width: 781px) {
  .td-recruit-position02__layout,
  .td-recruit-position02__details {
    gap: 2rem;
  }

  .td-recruit-position02__details {
    margin-top: 2rem;
  }

  .td-recruit-position02__media,
  .td-recruit-position02__content {
    order: 0;
  }
}

/* ==================================================
   採用情報：仕事を通じて得られること OUR WORK
================================================== */

.td-recruit-ourwork__body {
  scroll-margin-top: 90px;
}

.td-recruit-ourwork__body > * {
  max-width: none;
}

.td-recruit-ourwork__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-ourwork__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-ourwork__row {
  align-items: flex-start;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-ourwork__row--second {
  margin-top: 2.5rem;
}

.td-recruit-ourwork__item {
  min-width: 0;
  padding-top: 1.75rem;
  border-top: 1px solid #e4e8ec;
}

.td-recruit-ourwork__number {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-ourwork__item-title {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-ourwork__text {
  margin: 0;
}

@media (max-width: 781px) {
  .td-recruit-ourwork__title {
    margin-bottom: 2rem;
  }

  .td-recruit-ourwork__row {
    gap: 2rem;
  }

  .td-recruit-ourwork__row--second {
    margin-top: 2rem;
  }

  .td-recruit-ourwork__item {
    padding-top: 1.5rem;
  }
}

/* ==================================================
   採用情報：数字で見るタツミ電工
================================================== */

.td-recruit-numbers__body {
  scroll-margin-top: 90px;
}

.td-recruit-numbers__body > * {
  max-width: none;
}

.td-recruit-numbers__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-numbers__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-numbers__row {
  align-items: stretch;
  gap: 0 clamp(2.5rem, 4.5vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-numbers__row--last {
  border-bottom: 1px solid #d3ddea;
}

.td-recruit-numbers__item {
  min-width: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid #d3ddea;
}

.td-recruit-numbers__label {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.td-recruit-numbers__value,
.td-recruit-numbers__value > .wp-block-group__inner-container {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 0.25rem;
  margin: 0;
}

.td-recruit-numbers__value p {
  margin: 0;
}

@media (max-width: 781px) {
  .td-recruit-numbers__title {
    margin-bottom: 2rem;
  }

  .td-recruit-numbers__row {
    gap: 0;
  }

  .td-recruit-numbers__row:not(.td-recruit-numbers__row--last) {
    margin-bottom: 0;
  }

  .td-recruit-numbers__item {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

/* ==================================================
   採用情報：働く環境・制度 WORK ENVIRONMENT
================================================== */

.td-recruit-environment__body {
  scroll-margin-top: 90px;
}

.td-recruit-environment__body > * {
  max-width: none;
}

.td-recruit-environment__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-environment__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-environment__layout {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-environment__column {
  min-width: 0;
}

.td-recruit-environment__section {
  margin: 0;
}

.td-recruit-environment__section > * {
  max-width: none;
}

.td-recruit-environment__section--spaced {
  margin-top: 2.5rem;
}

.td-recruit-environment__section-title {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #037d76;
}

.td-recruit-environment__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.td-recruit-environment__list li {
  margin: 0;
  padding: 0.875rem 0;
  border-bottom: 1px solid #eceff2;
}

.td-recruit-environment__image {
  margin-top: 3.5rem;
  margin-bottom: 0;
}

.td-recruit-environment__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 6;
  object-fit: cover;
}

@media (max-width: 781px) {
  .td-recruit-environment__title {
    margin-bottom: 2rem;
  }

  .td-recruit-environment__layout {
    gap: 2.5rem;
  }

  .td-recruit-environment__section--spaced {
    margin-top: 2rem;
  }

  .td-recruit-environment__image {
    margin-top: 2.5rem;
  }

  .td-recruit-environment__image img {
    aspect-ratio: 3 / 2;
  }
}

/* ==================================================
   採用情報：電気設備工事スタッフの一日 ONE DAY
================================================== */

.td-recruit-oneday__body {
  scroll-margin-top: 90px;
}

.td-recruit-oneday__body > * {
  max-width: none;
}

.td-recruit-oneday__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-oneday__title {
  margin-top: 0;
  margin-bottom: 1.375rem;
}

.td-recruit-oneday__intro {
  max-width: 48rem;
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-oneday__layout {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-oneday__timeline,
.td-recruit-oneday__gallery {
  min-width: 0;
}

.td-recruit-oneday__item {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr);
  gap: 1rem;
  margin: 0;
}

.td-recruit-oneday__item > .wp-block-group__inner-container {
  display: contents;
}

.td-recruit-oneday__time {
  margin: 0;
}

.td-recruit-oneday__detail {
  min-width: 0;
  margin: 0;
  padding-right: 0;
  padding-bottom: 2.25rem;
  padding-left: 1.5rem;
  border-left: 1px solid #037d76;
}

.td-recruit-oneday__detail > * {
  max-width: none;
}

.td-recruit-oneday__item--last .td-recruit-oneday__detail {
  padding-bottom: 0;
  border-left: 0;
}

.td-recruit-oneday__item-title {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

.td-recruit-oneday__text {
  margin: 0;
}

.td-recruit-oneday__gallery-row {
  align-items: flex-start;
  gap: 1rem;
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-oneday__gallery-row--second {
  margin-top: 1rem;
}

.td-recruit-oneday__image {
  margin: 0;
}

.td-recruit-oneday__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

@media (max-width: 781px) {
  .td-recruit-oneday__intro {
    margin-bottom: 2rem;
  }

  .td-recruit-oneday__layout {
    gap: 2.5rem;
  }

  .td-recruit-oneday__item {
    grid-template-columns: 3.75rem minmax(0, 1fr);
    gap: 0.75rem;
  }

  .td-recruit-oneday__detail {
    padding-bottom: 1.75rem;
    padding-left: 1rem;
  }

  .td-recruit-oneday__gallery-row {
    gap: 0.75rem;
  }

  .td-recruit-oneday__gallery-row--second {
    margin-top: 0.75rem;
  }
}

/* ==================================================
   採用情報：一緒に働きたい人物像 PERSON
================================================== */

.td-recruit-person__body {
  scroll-margin-top: 90px;
}

.td-recruit-person__body > * {
  max-width: none;
}

.td-recruit-person__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-person__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-person__layout {
  align-items: flex-start;
  gap: clamp(2.5rem, 4.5vw, 3.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-person__media,
.td-recruit-person__content {
  min-width: 0;
}

.td-recruit-person__image {
  margin: 0;
}

.td-recruit-person__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.td-recruit-person__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e4e8ec;
}

.td-recruit-person__list li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0.875rem;
  margin: 0;
  padding: 1.125rem 0;
  border-bottom: 1px solid #e4e8ec;
}

@media (max-width: 781px) {
  .td-recruit-person__title {
    margin-bottom: 2rem;
  }

  .td-recruit-person__layout {
    gap: 2rem;
  }

  .td-recruit-person__list li {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 1rem 0;
  }
}




/* ==================================================
   採用情報：募集職種・共通条件 JOB DESCRIPTION
================================================== */

.td-recruit-job-description__body {
  scroll-margin-top: 90px;
}

.td-recruit-job-description__body > * {
  max-width: none;
}

.td-recruit-job-description__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-job-description__title {
  margin-top: 0;
  margin-bottom: 3rem;
}

.td-recruit-job-description__jobs {
  align-items: flex-start;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-job-description__job {
  min-width: 0;
}

.td-recruit-job-description__job-title {
  margin-top: 0;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #d9e2ea;
}

.td-recruit-job-description__label {
  margin-top: 0;
  margin-bottom: 0.75rem;
}

.td-recruit-job-description__job-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e4e8ec;
}

.td-recruit-job-description__job-list li {
  margin: 0;
  padding: 1rem 0;
  border-bottom: 1px solid #e4e8ec;
}

.td-recruit-job-description__conditions-title {
  margin-top: clamp(3rem, 6vw, 5rem);
  margin-bottom: 1rem;
}

.td-recruit-job-description__table {
  margin: 0;
  overflow: visible;
}

.td-recruit-job-description__table table {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid #d9e2ea;
  border-collapse: collapse;
}

.td-recruit-job-description__table td {
  padding: 0.875rem 0;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid #e4e8ec;
  overflow-wrap: anywhere;
}

.td-recruit-job-description__table td:first-child {
  width: 28%;
  padding-right: 1.5rem;
}

.td-recruit-job-description__note {
  margin-top: 2rem;
  padding: 1.25rem 1.5rem;
  background: #f3f7fa;
}

.td-recruit-job-description__note > * {
  max-width: none;
}

.td-recruit-job-description__note-text {
  margin: 0;
}

@media (max-width: 781px) {
  .td-recruit-job-description__title {
    margin-bottom: 2rem;
  }

  .td-recruit-job-description__jobs {
    gap: 2.5rem;
  }

  .td-recruit-job-description__conditions-title {
    margin-top: 3rem;
  }

  .td-recruit-job-description__table td {
    padding: 0.75rem 0;
  }

  .td-recruit-job-description__table td:first-child {
    width: 34%;
    padding-right: 1rem;
  }

  .td-recruit-job-description__note {
    margin-top: 1.5rem;
    padding: 1.25rem;
  }
}
/* ==================================================
   採用情報：採用応募への導線 ENTRY
================================================== */

.td-recruit-entry__body {
  scroll-margin-top: 90px;
}

.td-recruit-entry__body > * {
  max-width: none;
}

.td-recruit-entry__layout {
  align-items: center;
  gap: clamp(2.5rem, 5vw, 4.5rem);
  margin-top: 0;
  margin-bottom: 0;
}

.td-recruit-entry__content,
.td-recruit-entry__media {
  min-width: 0;
}

.td-recruit-entry__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-entry__title {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.td-recruit-entry__text {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-recruit-entry__text--last {
  margin-bottom: 0;
}

.td-recruit-entry__actions {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-top: 2rem;
  margin-bottom: 0;
}

.td-recruit-entry__button[data-align="left"] {
  width: fit-content;
  max-width: 100%;
  margin: 0;
}

.td-recruit-entry__button .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 3.5rem;
  max-width: 100%;
  padding: 1rem 1.75rem;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
}

/* 左ボタン：白背景＋青文字 */
.td-recruit-entry .td-recruit-entry__button--primary .swell-block-button__link,
.td-recruit-entry .td-recruit-entry__button--primary .swell-block-button__link:visited {
  background: #fff;
  color: #0d4a9c;
  border: 1px solid #fff;
}

/* 右ボタン：透明背景＋白文字 */
.td-recruit-entry .td-recruit-entry__button--secondary .swell-block-button__link,
.td-recruit-entry .td-recruit-entry__button--secondary .swell-block-button__link:visited {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
}

/* SWELL側のspan装飾よりリンクの文字色を優先 */
.td-recruit-entry .td-recruit-entry__button .swell-block-button__link span {
  color: inherit;
}

.td-recruit-entry .td-recruit-entry__button--primary .swell-block-button__link:hover {
  background: #eef3fa;
  color: #08417a;
  border-color: #eef3fa;
  opacity: 1;
  transform: none;
}

.td-recruit-entry .td-recruit-entry__button--secondary .swell-block-button__link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-color: #fff;
  opacity: 1;
  transform: none;
}

.td-recruit-entry__button .swell-block-button__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.td-recruit-entry__phone {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.375rem 1rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
}

.td-recruit-entry__phone > p {
  margin: 0;
}

.td-recruit-entry__image {
  margin: 0;
}

.td-recruit-entry__image img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 781px) {
  .td-recruit-entry__layout {
    gap: 2rem;
  }

  .td-recruit-entry__actions {
    margin-top: 1.75rem;
  }

  .td-recruit-entry__phone {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
  }
}

@media (max-width: 520px) {
  .td-recruit-entry__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .td-recruit-entry__button[data-align="left"],
  .td-recruit-entry__button .swell-block-button__link {
    width: 100%;
  }
}

/* ==================================================
   採用情報：応募前に知っていただきたいこと BEFORE ENTRY
================================================== */

.td-recruit-before-entry__body {
  scroll-margin-top: 90px;
}

.td-recruit-before-entry__body > * {
  max-width: none;
}

.td-recruit-before-entry__eyebrow {
  margin-top: 0;
  margin-bottom: 0.875rem;
}

.td-recruit-before-entry__title {
  margin-top: 0;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.td-recruit-before-entry__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.td-recruit-before-entry__list li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 3vw, 2rem);
  margin: 0;
  padding: clamp(1.5rem, 2.5vw, 2rem) 0;
  border-bottom: 1px solid #e0e5ea;
}

.td-recruit-before-entry__list li > strong,
.td-recruit-before-entry__list li > span {
  display: block;
  min-width: 0;
}

@media (max-width: 781px) {
  .td-recruit-before-entry__title {
    margin-bottom: 2rem;
  }

  .td-recruit-before-entry__list li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.25rem 0;
  }
}

/* ==================================================
   採用情報：CONTENTS
================================================== */

.swell-block-fullWide.td-recruit-contents {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.td-recruit-contents__layout {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}

.td-recruit-contents__eyebrow {
  flex: 0 0 auto;
  margin: 0;
  padding-top: 1rem;
}

.td-recruit-contents__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 1 1 auto;
  gap: 0.625rem;
  width: 100%;
  min-width: 0;
}

.td-recruit-contents__link {
  min-width: 0;
  margin: 0;
}

.td-recruit-contents__link a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 3.5rem;
  padding: 0.75rem 1rem;
  border: 1px solid #d8e1ec;
  background-color: #f7f9fc;
  box-shadow: none;
  text-decoration: none;
}

.td-recruit-contents__number,
.td-recruit-contents__arrow {
  flex: 0 0 auto;
}

.td-recruit-contents__text {
  flex: 1 1 auto;
  min-width: 0;
}

.td-recruit-contents__arrow {
  margin-left: auto;
}

.td-recruit-contents__link a:hover {
  border-color: #b9c8d9;
  background-color: #eef4fa;
}

.td-recruit-contents__link a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* タブレット */
@media (max-width: 1100px) {
  .td-recruit-contents__layout {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }

  .td-recruit-contents__eyebrow {
    padding-top: 0;
  }

  .td-recruit-contents__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* スマートフォン */
@media (max-width: 600px) {
  .td-recruit-contents__eyebrow {
    width: 100%;
    text-align: center;
  }

  .td-recruit-contents__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .td-recruit-contents__link,
  .td-recruit-contents__link a {
    width: 100%;
  }
}

/* ==================================================
   お問い合わせ：Contact Form 7
================================================== */

.td-contact-form {
  width: min(100%, 720px);
  margin-right: auto;
  margin-left: auto;
}

.td-contact-form,
.td-contact-form * {
  box-sizing: border-box;
}

.td-contact-form__field {
  margin-bottom: 2rem;
}

.td-contact-form__heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}

.td-contact-form__heading label,
.td-contact-form__label {
  margin: 0;
  font-weight: 700;
}

.td-contact-form__required,
.td-contact-form__optional {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 3px;
  line-height: 1;
  font-weight: 700;
}

.td-contact-form__required {
  color: #fff;
  background-color: #8ccad7;
}

.td-contact-form__optional {
  border: 1px solid #8ccad7;
  background-color: transparent;
}

.td-contact-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.td-contact-form input[type="text"],
.td-contact-form input[type="email"],
.td-contact-form input[type="tel"],
.td-contact-form select,
.td-contact-form textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.875rem 1rem;
  border: 2px solid #8ccad7;
  border-radius: 5px;
  background-color: #f8f9fa;
  box-shadow: none;
  font-family: inherit;
}

.td-contact-form select {
  min-height: 3.25rem;
  cursor: pointer;
}

.td-contact-form textarea {
  min-height: 15rem;
  resize: vertical;
}

.td-contact-form input[type="text"]:focus,
.td-contact-form input[type="email"]:focus,
.td-contact-form input[type="tel"]:focus,
.td-contact-form select:focus,
.td-contact-form textarea:focus {
  border-color: #8ccad7;
  background-color: #e6f7fa;
  outline: 2px solid rgba(140, 202, 215, 0.45);
  outline-offset: 2px;
}

.td-contact-form__field--consent {
  margin-top: 2.5rem;
}

.td-contact-form__consent-text {
  margin-top: 0;
  margin-bottom: 1rem;
}

.td-contact-form .wpcf7-acceptance {
  display: block;
}

.td-contact-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.td-contact-form .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}

.td-contact-form .wpcf7-acceptance input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.15rem 0 0;
  accent-color: #8ccad7;
}

.td-contact-form__submit-wrap {
  margin-top: 2.75rem;
  text-align: center;
}

.td-contact-form input[type="submit"].td-contact-form__submit {
  display: block;
  width: min(80%, 480px);
  min-height: 3.25rem;
  margin: 0 auto;
  padding: 0.875rem 1.5rem;
  border: 0;
  border-radius: 999px;
  background-color: #e44141;
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-family: inherit;
  font-weight: 700;
  cursor: pointer;
  transition:
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.td-contact-form input[type="submit"].td-contact-form__submit:hover {
  background-color: #f25c5c;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.24);
  transform: translateY(-1px);
}

.td-contact-form input[type="submit"].td-contact-form__submit:focus-visible {
  outline: 2px solid #e44141;
  outline-offset: 4px;
}

.td-contact-form input[type="submit"].td-contact-form__submit:disabled {
  cursor: not-allowed;
  opacity: 0.65;
  transform: none;
}

.td-contact-form .wpcf7-spinner {
  display: block;
  margin: 0.75rem auto 0;
}

.td-contact-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.5rem;
}

/* Contact Form 7の送信結果 */
.page-id-178 .wpcf7 .wpcf7-response-output {
  box-sizing: border-box;
  width: min(100%, 720px);
  margin: 1.5rem auto 0;
  padding: 1rem;
  border-width: 1px;
  border-radius: 5px;
  text-align: center;
}

.td-contact-form form.sent .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #8ccad7;
  background-color: #fff4e6;
}

@media (max-width: 600px) {
  .td-contact-form__field {
    margin-bottom: 1.75rem;
  }

  .td-contact-form textarea {
    min-height: 12rem;
  }

  .td-contact-form input[type="submit"].td-contact-form__submit {
    width: 100%;
  }
}

/* Turnstileを中央揃え */
.page-id-178 .wpcf7-turnstile {
	display: flex;
	justify-content: center;
	margin: 0 auto 2rem;
}

/* プライバシーポリシー同意欄を中央揃え */
.page-id-178 .td-contact-form__field--consent {
	display: block;
	text-align: center;
}

.page-id-178 .td-contact-form__field--consent > p {
	width: 100%;
	text-align: center;
}

.page-id-178 .td-contact-form__field--consent .wpcf7-list-item {
	margin: 0;
}