/* ==========================
   リセットスタイル・基本設定
   ========================== */
	html, body, #main {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
		overflow-x: hidden; /* 横スクロール禁止 */
	}
	.full-width-section {
		width: 100%;
		max-width: 100vw;
		box-sizing: border-box;
	}
	
/* スムージング設定 */
	:root {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

/* 全要素ボックスサイズ＆フォントスムージング継承 */
	* {
	  box-sizing: border-box;
	  -webkit-font-smoothing: inherit;
	}

/* タグ共通 マージンリセット */
	h1, h2, h3, h4, h5, h6, p, figure {
	  margin: 0;
	}

/* 基本フォント設定 */
	body, input, textarea, select, button {
	  font-size: 12px;
	  font-family: sans-serif;
	}

/* Framerバッジ関連 */
	#__framer-badge-container {
	  position: fixed;
	  bottom: 0;
	  padding: 20px;
	  width: 100%;
	  display: flex;
	  justify-content: right;
	  pointer-events: none;
	  z-index: 314159;
	}
	.__framer-badge {
	  pointer-events: auto;
	}

/* ==========================
	Framerコンポーネント共通設定
========================== */
/* 基本ポジション設定 */
	[data-framer-component-type]{position:absolute}
/* テキスト系 コンポーネント設定 */
	[data-framer-component-type=Text]{cursor:inherit}
/* 自動サイズ調整されたテキストは改行しない */
	[data-framer-component-text-autosized] *{white-space:pre}
/* テキストアライメント設定 */
	[data-framer-component-type=Text]>*{text-align:var(--framer-text-alignment, start)}
/* span, p, hタグなどへのblock display */
	[data-framer-component-type=Text] span span,
	[data-framer-component-type=Text] p span,
	[data-framer-component-type=Text] h1 span,
	[data-framer-component-type=Text] h2 span,
	[data-framer-component-type=Text] h3 span,
	[data-framer-component-type=Text] h4 span,
	[data-framer-component-type=Text] h5 span,
	[data-framer-component-type=Text] h6 span{display:block}
/* さらに深いspanにはdisplay: unset */
	[data-framer-component-type=Text] span span span,
	[data-framer-component-type=Text] p span span,
	[data-framer-component-type=Text] h1 span span,
	[data-framer-component-type=Text] h2 span span,
	[data-framer-component-type=Text] h3 span span,
	[data-framer-component-type=Text] h4 span span,
	[data-framer-component-type=Text] h5 span span,
	[data-framer-component-type=Text] h6 span span{display:unset}
/* 通常テキスト、リンクテキストに共通のフォント・色設定 */
	[data-framer-component-type=Text] div div span,
	[data-framer-component-type=Text] a div span,
	[data-framer-component-type=Text] span span span,
	[data-framer-component-type=Text] p span span,
	[data-framer-component-type=Text] h1 span span,
	[data-framer-component-type=Text] h2 span span,
	[data-framer-component-type=Text] h3 span span,
	[data-framer-component-type=Text] h4 span span,
	[data-framer-component-type=Text] h5 span span,
	[data-framer-component-type=Text] h6 span span,
	[data-framer-component-type=Text] a{
		font-family:var(--font-family);
		font-style:var(--font-style);
		font-weight:min(calc(var(--framer-font-weight-increase, 0) + var(--font-weight, 400)),900);
		color:var(--text-color);
		letter-spacing:var(--letter-spacing);
		font-size:var(--font-size);
		text-transform:var(--text-transform);
		text-decoration:var(--text-decoration);
		line-height:var(--line-height)
	}
/* Framerフォント変数で上書き設定 */
	[data-framer-component-type=Text] div div span,
	[data-framer-component-type=Text] a div span,
	[data-framer-component-type=Text] span span span,
	[data-framer-component-type=Text] p span span,
	[data-framer-component-type=Text] h1 span span,
	[data-framer-component-type=Text] h2 span span,
	[data-framer-component-type=Text] h3 span span,
	[data-framer-component-type=Text] h4 span span,
	[data-framer-component-type=Text] h5 span span,
	[data-framer-component-type=Text] h6 span span,
	[data-framer-component-type=Text] a{
		--font-family: var(--framer-font-family);
		--font-style: var(--framer-font-style);
		--font-weight: var(--framer-font-weight);
		--text-color: var(--framer-text-color);
		--letter-spacing: var(--framer-letter-spacing);
		--font-size: var(--framer-font-size);
		--text-transform: var(--framer-text-transform);
		--text-decoration: var(--framer-text-decoration);
		--line-height: var(--framer-line-height)
	}

/* ==========================
   Framer リンクスタイル設定
   ========================== */
	[data-framer-component-type=Text] a,
	[data-framer-component-type=Text] a div span,
	[data-framer-component-type=Text] a span span span,
	[data-framer-component-type=Text] a p span span,
	[data-framer-component-type=Text] a h1 span span,
	[data-framer-component-type=Text] a h2 span span,
	[data-framer-component-type=Text] a h3 span span,
	[data-framer-component-type=Text] a h4 span span,
	[data-framer-component-type=Text] a h5 span span,
	[data-framer-component-type=Text] a h6 span span{
		--font-family: var(--framer-link-font-family, var(--framer-font-family));
		--font-style: var(--framer-link-font-style, var(--framer-font-style));
		--font-weight: var(--framer-link-font-weight, var(--framer-font-weight));
		--text-color: var(--framer-link-text-color, var(--framer-text-color));
		--font-size: var(--framer-link-font-size, var(--framer-font-size));
		--text-transform: var(--framer-link-text-transform, var(--framer-text-transform));
		--text-decoration: var(--framer-link-text-decoration, var(--framer-text-decoration))
	}
/* リンク hover時 */	
	[data-framer-component-type=Text] a:hover,
	[data-framer-component-type=Text] a div span:hover,
	[data-framer-component-type=Text] a span span span:hover,
	[data-framer-component-type=Text] a p span span:hover,
	[data-framer-component-type=Text] a h1 span span:hover,
	[data-framer-component-type=Text] a h2 span span:hover,
	[data-framer-component-type=Text] a h3 span span:hover,
	[data-framer-component-type=Text] a h4 span span:hover,
	[data-framer-component-type=Text] a h5 span span:hover,
	[data-framer-component-type=Text] a h6 span span:hover{--font-family: var(--framer-link-hover-font-family, var(--framer-link-font-family, var(--framer-font-family)));--font-style: var(--framer-link-hover-font-style, var(--framer-link-font-style, var(--framer-font-style)));--font-weight: var(--framer-link-hover-font-weight, var(--framer-link-font-weight, var(--framer-font-weight)));--text-color: var(--framer-link-hover-text-color, var(--framer-link-text-color, var(--framer-text-color)));--font-size: var(--framer-link-hover-font-size, var(--framer-link-font-size, var(--framer-font-size)));--text-transform: var(--framer-link-hover-text-transform, var(--framer-link-text-transform, var(--framer-text-transform)));--text-decoration: var(--framer-link-hover-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration)))}

/* 現在ページリンク（isCurrentクラス） */
	[data-framer-component-type=Text].isCurrent a,
	[data-framer-component-type=Text].isCurrent a div span,
	[data-framer-component-type=Text].isCurrent a span span span,
	[data-framer-component-type=Text].isCurrent a p span span,
	[data-framer-component-type=Text].isCurrent a h1 span span,
	[data-framer-component-type=Text].isCurrent a h2 span span,
	[data-framer-component-type=Text].isCurrent a h3 span span,
	[data-framer-component-type=Text].isCurrent a h4 span span,
	[data-framer-component-type=Text].isCurrent a h5 span span,
	[data-framer-component-type=Text].isCurrent a h6 span span {
		--font-family: var(--framer-link-current-font-family, var(--framer-link-font-family, var(--framer-font-family)));
		--font-style: var(--framer-link-current-font-style, var(--framer-link-font-style, var(--framer-font-style)));
		--font-weight: var(--framer-link-current-font-weight, var(--framer-link-font-weight, var(--framer-font-weight)));
		--text-color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color)));
		--font-size: var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size)));
		--text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform)));
		--text-decoration: var(--framer-link-current-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration)));
	}
/* ==========================
   Framer リッチテキスト系調整
   ========================== */
/* リッチテキスト：マージンとパディングリセット */
	p.framer-text, 
	div.framer-text, 
	h1.framer-text, 
	h2.framer-text, 
	h3.framer-text, 
	h4.framer-text, 
	h5.framer-text, 
	h6.framer-text, 
	ol.framer-text, 
	ul.framer-text {
	  margin: 0;
	  padding: 0;
	}

/* リッチテキスト：フォントスタイル・サイズ共通設定 */
	p.framer-text, 
	div.framer-text,
	h1.framer-text, 
	h2.framer-text, 
	h3.framer-text, 
	h4.framer-text, 
	h5.framer-text, 
	h6.framer-text, 
	li.framer-text, 
	ol.framer-text, 
	ul.framer-text, 
	span.framer-text:not([data-text-fill]) {
		font-family: var(--framer-blockquote-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
		font-style: var(--framer-blockquote-font-style, var(--framer-font-style, normal));
		font-weight: var(--framer-blockquote-font-weight, var(--framer-font-weight, 400));
		color: var(--framer-blockquote-text-color, var(--framer-text-color, #000));
		font-size: calc(var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) * var(--framer-font-size-scale, 1));
		letter-spacing: var(--framer-blockquote-letter-spacing, var(--framer-letter-spacing, 0));
		text-transform: var(--framer-blockquote-text-transform, var(--framer-text-transform, none));
		text-decoration: var(--framer-blockquote-text-decoration, var(--framer-text-decoration, none));
		line-height: var(--framer-blockquote-line-height, var(--framer-line-height, 1.2em));
		text-align: var(--framer-blockquote-text-alignment, var(--framer-text-alignment, start));
		-webkit-text-stroke-width: var(--framer-text-stroke-width, initial);
		-webkit-text-stroke-color: var(--framer-text-stroke-color, initial);
		-moz-font-feature-settings: var(--framer-font-open-type-features, initial);
		-webkit-font-feature-settings: var(--framer-font-open-type-features, initial);
		font-feature-settings: var(--framer-font-open-type-features, initial);
		font-variation-settings: var(--framer-font-variation-axes, normal);
		text-wrap: var(--framer-text-wrap-override, var(--framer-text-wrap));
	}

/* アスペクト比サポートなしブラウザ向けリッチテキスト対策 */
	@supports not (aspect-ratio: 1) {
	  .framer-text-module[style*=aspect-ratio] {
	    position: relative;
	  }

	  .framer-text-module[style*=aspect-ratio]:before {
	    content: "";
	    display: block;
	    padding-bottom: calc(100% / calc(var(--aspect-ratio)));
	  }

	  .framer-text-module[style*=aspect-ratio] > :first-child {
	    position: absolute;
	    top: 0;
	    left: 0;
	    height: 100%;
	  }
	}

/* ==========================
   Framer DeprecatedRichText対応
   ========================== */
/* 基本設定：DeprecatedRichText */
	[data-framer-component-type=DeprecatedRichText]{cursor:inherit}

/* テキストスタイルリセット */
	[data-framer-component-type=DeprecatedRichText] .text-styles-preset-reset {
		  --framer-font-family: Inter, Inter Placeholder, sans-serif;
		  --framer-font-style: normal;
		  --framer-font-weight: 500;
		  --framer-text-color: #000;
		  --framer-font-size: 16px;
		  --framer-letter-spacing: 0;
		  --framer-text-transform: none;
		  --framer-text-decoration: none;
		  --framer-line-height: 1.2em;
		  --framer-text-alignment: start;
		  --framer-font-open-type-features: normal;
		  --font-variation-settings: normal;
	}

/* DeprecatedRichTextタグにマージン・パディングリセット */
	[data-framer-component-type=DeprecatedRichText] p,
	[data-framer-component-type=DeprecatedRichText] div,
	[data-framer-component-type=DeprecatedRichText] h1,
	[data-framer-component-type=DeprecatedRichText] h2,
	[data-framer-component-type=DeprecatedRichText] h3,
	[data-framer-component-type=DeprecatedRichText] h4,
	[data-framer-component-type=DeprecatedRichText] h5,
	[data-framer-component-type=DeprecatedRichText] h6{margin:0;padding:0}

/* フォント・色スタイル適用 */
	[data-framer-component-type=DeprecatedRichText] p,
	[data-framer-component-type=DeprecatedRichText] div,
	[data-framer-component-type=DeprecatedRichText] h1,
	[data-framer-component-type=DeprecatedRichText] h2,
	[data-framer-component-type=DeprecatedRichText] h3,
	[data-framer-component-type=DeprecatedRichText] h4,
	[data-framer-component-type=DeprecatedRichText] h5,
	[data-framer-component-type=DeprecatedRichText] h6,
	[data-framer-component-type=DeprecatedRichText] li,
	[data-framer-component-type=DeprecatedRichText] ol,
	[data-framer-component-type=DeprecatedRichText] ul,
	[data-framer-component-type=DeprecatedRichText] span:not([data-text-fill]) {
		  font-family: var(--framer-font-family, Inter, Inter Placeholder, sans-serif);
		  font-style: var(--framer-font-style, normal);
		  font-weight: var(--framer-font-weight, 400);
		  color: var(--framer-text-color, #000);
		  font-size: var(--framer-font-size, 16px);
		  letter-spacing: var(--framer-letter-spacing, 0);
		  text-transform: var(--framer-text-transform, none);
		  text-decoration: var(--framer-text-decoration, none);
		  line-height: var(--framer-line-height, 1.2em);
		  text-align: var(--framer-text-alignment, start);
	}

/* ==========================
   DeprecatedRichText：リンク・リスト・装飾
   ========================== */
/* 段落間マージン */
	[data-framer-component-type=DeprecatedRichText] p:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] div:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h1:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h2:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h3:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h4:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h5:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] h6:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] ol:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] ul:not(:first-child),
	[data-framer-component-type=DeprecatedRichText] .framer-image:not(:first-child){margin-top:var(--framer-paragraph-spacing, 0)}

/* テキストフィルありspan */
	[data-framer-component-type=DeprecatedRichText] span[data-text-fill]{
		display:inline-block;
		background-clip:text;
		-webkit-background-clip:text;
		-webkit-text-fill-color:transparent
	}

/* リンクスタイル */
	[data-framer-component-type=DeprecatedRichText] a,
	[data-framer-component-type=DeprecatedRichText] a span:not([data-text-fill]) {
		font-family: var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif));
		font-style: var(--framer-link-font-style, var(--framer-font-style, normal));
		font-weight: var(--framer-link-font-weight, var(--framer-font-weight, 400));
		color: var(--framer-link-text-color, var(--framer-text-color, #000));
		font-size: var(--framer-link-font-size, var(--framer-font-size, 16px));
		text-transform: var(--framer-link-text-transform, var(--framer-text-transform, none));
		text-decoration: var(--framer-link-text-decoration, var(--framer-text-decoration, none));
	}

/* リンク hover時 */
	[data-framer-component-type=DeprecatedRichText] a:hover,
	[data-framer-component-type=DeprecatedRichText] a:hover span:not([data-text-fill]) {
		font-family: var(--framer-link-hover-font-family, var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif)));
		font-style: var(--framer-link-hover-font-style, var(--framer-link-font-style, var(--framer-font-style, normal)));
		font-weight: var(--framer-link-hover-font-weight, var(--framer-link-font-weight, var(--framer-font-weight, 400)));
		color: var(--framer-link-hover-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
		font-size: var(--framer-link-hover-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px)));
		text-transform: var(--framer-link-hover-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
		text-decoration: var(--framer-link-hover-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration, none)));
	}

/* 現在ページリンク */
	[data-framer-component-type=DeprecatedRichText] a[data-framer-page-link-current],
	[data-framer-component-type=DeprecatedRichText] a[data-framer-page-link-current] span:not([data-text-fill]):not([data-nested-link]) {
		font-family: var(--framer-link-current-font-family, var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif)));
		font-style: var(--framer-link-current-font-style, var(--framer-link-font-style, var(--framer-font-style, normal)));
		font-weight: var(--framer-link-current-font-weight, var(--framer-link-font-weight, var(--framer-font-weight, 400)));
		color: var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000)));
		font-size: var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px)));
		text-transform: var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none)));
		text-decoration: var(--framer-link-current-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration, none)));
	}
	[data-framer-component-type=DeprecatedRichText] a[data-framer-page-link-current]:hover,
	[data-framer-component-type=DeprecatedRichText] a[data-framer-page-link-current]:hover span:not([data-text-fill]):not([data-nested-link]) {
		  font-family: var(--framer-link-hover-font-family, var(--framer-link-current-font-family, var(--framer-link-font-family, var(--framer-font-family, Inter, Inter Placeholder, sans-serif))));
		  font-style: var(--framer-link-hover-font-style, var(--framer-link-current-font-style, var(--framer-link-font-style, var(--framer-font-style, normal))));
		  font-weight: var(--framer-link-hover-font-weight, var(--framer-link-current-font-weight, var(--framer-link-font-weight, var(--framer-font-weight, 400))));
		  color: var(--framer-link-hover-text-color, var(--framer-link-current-text-color, var(--framer-link-text-color, var(--framer-text-color, #000))));
		  font-size: var(--framer-link-hover-font-size, var(--framer-link-current-font-size, var(--framer-link-font-size, var(--framer-font-size, 16px))));
		  text-transform: var(--framer-link-hover-text-transform, var(--framer-link-current-text-transform, var(--framer-link-text-transform, var(--framer-text-transform, none))));
		  text-decoration: var(--framer-link-hover-text-decoration, var(--framer-link-current-text-decoration, var(--framer-link-text-decoration, var(--framer-text-decoration, none))));
	}
	[data-framer-component-type=DeprecatedRichText] strong{font-weight:bolder}
	[data-framer-component-type=DeprecatedRichText] em{font-style:italic}
	[data-framer-component-type=DeprecatedRichText] .framer-image{display:block;max-width:100%;height:auto}

/* ==========================
   DeprecatedRichTextリスト・装飾
   ========================== */

/* リスト（ul, ol）共通設定 */
	[data-framer-component-type=DeprecatedRichText] ul,
	[data-framer-component-type=DeprecatedRichText] ol{display:table;width:100%;padding-left:0;margin:0}

/* リストアイテム */
	[data-framer-component-type=DeprecatedRichText] li{display:table-row;counter-increment:list-item;list-style:none}
/* 番号付きリスト (ol) */
	[data-framer-component-type=DeprecatedRichText] ol>li:before{display:table-cell;width:2.25ch;box-sizing:border-box;padding-right:.75ch;content:counter(list-item) ".";white-space:nowrap}
/* 箇条書きリスト (ul) */
	[data-framer-component-type=DeprecatedRichText] ul>li:before{
		display:table-cell;
		width:2.25ch;
		box-sizing:border-box;
		padding-right:.75ch;
		content:"\2022"
	}

/* リストアイテム間スペースなし */
	:not([data-framer-generated])>[data-framer-stack-content-wrapper]>*,
	:not([data-framer-generated])>[data-framer-stack-content-wrapper]>[data-framer-component-type],
	:not([data-framer-generated])>[data-framer-stack-content-wrapper]>[data-framer-legacy-stack-gap-enabled]>*,
	:not([data-framer-generated])>[data-framer-stack-content-wrapper]>[data-framer-legacy-stack-gap-enabled]>[data-framer-component-type] {
	  position: relative;
	}

/* フレックスGap未対応ブラウザ向け設定 */
	.flexbox-gap-not-supported [data-framer-legacy-stack-gap-enabled=true] > *,
	[data-framer-legacy-stack-gap-enabled=true][data-framer-stack-flexbox-gap=false] {
		margin-top: calc(var(--stack-gap-y) / 2);
		margin-bottom: calc(var(--stack-gap-y) / 2);
		margin-right: calc(var(--stack-gap-x) / 2);
		margin-left: calc(var(--stack-gap-x) / 2);
	}

/* フレックスGap対応版 */
	[data-framer-stack-content-wrapper][data-framer-stack-gap-enabled=true] {
	  row-gap: var(--stack-native-row-gap);
	  column-gap: var(--stack-native-column-gap);
	}

/* 非対応時のGap解除 */
	.flexbox-gap-not-supported [data-framer-stack-content-wrapper][data-framer-stack-gap-enabled=true] {
	  row-gap: unset;
	  column-gap: unset;
	}

/* 先頭・末尾要素のマージン調整（通常方向） */
	.flexbox-gap-not-supported [data-framer-stack-direction-reverse=false] 
	[data-framer-legacy-stack-gap-enabled=true] > *:first-child,
	[data-framer-stack-direction-reverse=false] 
	[data-framer-legacy-stack-gap-enabled=true][data-framer-stack-flexbox-gap=false] > *:first-child,
	.flexbox-gap-not-supported 
	[data-framer-stack-direction-reverse=true] 
	[data-framer-legacy-stack-gap-enabled=true] > *:last-child,
	[data-framer-stack-direction-reverse=true] 
	[data-framer-legacy-stack-gap-enabled=true][data-framer-stack-flexbox-gap=false] > *:last-child {
	  margin-top: 0;
	  margin-left: 0;
	}

/* 先頭・末尾要素のマージン調整（逆方向） */
	.flexbox-gap-not-supported 
	[data-framer-stack-direction-reverse=false] 
	[data-framer-legacy-stack-gap-enabled=true] > *:last-child,
	[data-framer-stack-direction-reverse=false] 
	[data-framer-legacy-stack-gap-enabled=true][data-framer-stack-flexbox-gap=false] > *:last-child,
	.flexbox-gap-not-supported 
	[data-framer-stack-direction-reverse=true] 
	[data-framer-legacy-stack-gap-enabled=true] > *:first-child,
	[data-framer-stack-direction-reverse=true] 
	[data-framer-legacy-stack-gap-enabled=true][data-framer-stack-flexbox-gap=false] > *:first-child {
	  margin-right: 0;
	  margin-bottom: 0;
	}

/* ==========================
   Navigation, Scroll, その他基本設定
   ========================== */

/* NavigationContainer設定 */
	NavigationContainer
	[data-framer-component-type=NavigationContainer]>*,
	[data-framer-component-type=NavigationContainer]>
	[data-framer-component-type]{position:relative}

/* スクロールバー非表示 */
	[data-framer-component-type=Scroll]::-webkit-scrollbar{display:none}
/* スクロールコンテンツラッパー */
	[data-framer-component-type=ScrollContentWrapper]>*{position:relative}
/* ネイティブスクロールタッチ対応 */
	[data-framer-component-type=NativeScroll]{-webkit-overflow-scrolling:touch}
/* ネイティブスクロール内部要素 */
	[data-framer-component-type=NativeScroll]>*{position:relative}
/* スクロール方向設定 */
	[data-framer-component-type=NativeScroll].direction-both{overflow-x:scroll;overflow-y:scroll}
	[data-framer-component-type=NativeScroll].direction-vertical{overflow-x:hidden;overflow-y:scroll}
	[data-framer-component-type=NativeScroll].direction-horizontal{overflow-x:scroll;overflow-y:hidden}
/* スクロール内部要素のサイズ制御 */
	[data-framer-component-type=NativeScroll].direction-vertical>*{width:100%!important}
	[data-framer-component-type=NativeScroll].direction-horizontal>*{height:100%!important}
/* スクロールバー非表示（オプション） */
	[data-framer-component-type=NativeScroll].scrollbar-hidden::-webkit-scrollbar{display:none}
/* PageContentWrapper内部 */
	[data-framer-component-type=PageContentWrapper]>*,
	[data-framer-component-type=PageContentWrapper]>
	[data-framer-component-type]{position:relative}
/* デバイスシミュレーションコンポーネント */
	[data-framer-component-type=DeviceComponent].no-device > * {
	  width: 100% !important;
	  height: 100% !important;
	}

/* フェードイン・出現アニメーション用 */
	[data-is-present=false], 
	[data-is-present=false] * {
	  pointer-events: none !important;
	}
/* カーソル関連 */
	[data-framer-cursor=pointer] {
	  cursor: pointer;
	}
	[data-framer-cursor=grab] {
	  cursor: grab;
	}
	[data-framer-cursor=grab]:active {
	  cursor: grabbing;
	}
/* ==========================
   Frame, Stack, その他共通設定
   ========================== */
/* フレーム・スタック内ポインターイベント有効化 */
	[data-framer-component-type=Frame] *,
	[data-framer-component-type=Stack] *{
		pointer-events:auto
	}
/* Framer自動生成要素のポインターリセット */
	[data-framer-generated] *{
		pointer-events:unset
	}
/* SVGコンテナ調整 */
	.svgContainer svg{
		display:block
	}
/* リセットボタン */
	[data-reset=button]{
		border-width:0;
		padding:0;
		background:none
	}
/* スクロールバー非表示 */
	[data-hide-scrollbars=true]::-webkit-scrollbar{
		width:0px;
		height:0px
	}
	[data-hide-scrollbars=true]::-webkit-scrollbar-thumb{
		background:transparent
	}
/* カーソル非表示設定 */
	.framer-cursor-none,.framer-cursor-none *{
		cursor:none!important
	}
/* ポインターイベント無効設定 */
	.framer-pointer-events-none,
	.framer-pointer-events-none *{
		pointer-events:none!important
	}
/* レスポンシブ対応: Flexコンテナ設定 */
	.framer-HhO0i .framer-lux5qc,
	.framer-HhO0i .framer-lux5qc{
		display:block
	}
/* ==============================
共通メニュースタイル
============================== */

/* ロゴ画像を包むdiv（共通） */
	.menu-logo {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
	}
/* メニューリンクを包むdiv（共通） */
	.menu-item {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
		margin:20px 20px 0 20px !important;
		padding:0 !important;
	}
/* メニューのテキスト */
	p.menu-text {
		text-decoration: none;
		font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
		font-size: 24px !important;
		color: #ffffff;
		margin: 0 20px
	}
/* aタグにも白色指定をかける！！ */
	p.menu-text a {
		color: #ffffff;
		text-decoration: none;
	}


/* ==========================
共通キャッチコピー (Hero) スタイル
========================== */
/* キャッチコピー外枠 */
	.catch-copy-container {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
		align-items: flex-start !important;
	}
/* キャッチコピー本文 */
	h1.catch-copy-text {
		font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
		font-size: 20px !important; /* 強制20px */
		color: #ffffff !important; /* 強制白文字 */
		line-height: 1.4;
		text-align: left;
		margin-top: 1.2rem;
	}

/* ==========================
共通サービスセクション (Services Hero)
========================== */
/* サービス見出し外枠 */
	.services-hero-container {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
	}
/* メインタイトル h1 */
	h1.services-hero-title {
		font-family: 'Inter', 'Inter Placeholder', sans-serif;
		color: #333333;
		font-weight: 700;
		text-align: left;
		margin-top: 10px;
		line-height: 1.2;
		letter-spacing: -2px; /* デフォルトPC */
		font-size: 36px;       /* デフォルトPC */
	}
/* サブタイトル p */
	.services-hero-subtitle {
		font-family: 'Inter', 'Inter Placeholder', sans-serif;
		font-size: 14px;
		color: #888888;
		margin-top: 0.2em;
	}
/* ==========================
   Heroセクションレイアウト調整
   ========================== */
	/* Heroエリアコンテナ */
	.hero-image-wrapper {
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden; /* はみ出し防止 */
	}

	/* Hero画像本体 */
	.hero-image {
		width: 100%;
		height: auto; /* 自動高さ */
		display: block;
	}

	/* Hero画像：白黒フィルター＋自然なミックス */
	.hero-grayscale {
		filter: grayscale(1);         /* グレースケール化 */
		mix-blend-mode: luminosity;   /* 白黒っぽく */
	}

/* ==========================
会社概要本文スタイル (About Description)
========================== */
/* 外枠（フレックス縦並び） */
	.about-description-container {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
	}

/* 本文 h2 */
	h2.about-description-text {
		font-family: 'Inter', 'Inter Placeholder', sans-serif !important;
		font-size: 22px !important;
		font-weight: 500 !important;
		color: #666666 !important;
		text-align: left !important;
		line-height: 1.6 !important;
		letter-spacing: -0.5px !important;
		white-space: normal;
		display: block;
		margin: 0 0 20px 0;
	}
/* 事業内容リスト部分 */
	.about-description-list {
		margin: 0;
	}
	.about-description-list p {
		font-family: 'Inter', 'Inter Placeholder', sans-serif;
		font-size: 26px;
		color: #666666;
		font-weight: 700;
		margin: 0;
	}
/* 本文リスト ul */
	.about-description-list ul {
		margin-top: 10px;
	}
/* 本文リスト項目 li */
	.about-description-list li {
		margin: 0;
		font-size: 20px;
		font-family: 'Inter', 'Inter Placeholder', sans-serif;
		color: #444444;
		line-height:1.6;
	}
/* ------------------------------
  # 画像ラッパー（親要素）の設定
---------------------------------*/
	.image-wrapper {
		height: 510px;
		overflow: hidden;
		margin: 50px 0 0 10px !important;
	}

	.image-wrapper img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
/* ==========================
   Heroセクションメインラッパー
   ========================== */
	.framer-HhO0i .framer-72rtr7{
		align-content: center;
		align-items: center;
		background-color: #86bbd8; /* 水色背景 */
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 0px;
		height: min-content;
		justify-content: flex-start;
		overflow: hidden;
		padding: 0;
		position: relative;
		width: 1200px;
	}

/* ==========================
   ヒーロー画像ブロック
   ========================== */
	.framer-HhO0i .framer-9mp6r1{
		align-content:center;
		align-items:center;
		background-color:#369; /* 紺色背景 */
		display:flex;
		flex:none;
		flex-direction:column;
		flex-wrap:nowrap;
		/* gap: 50px; ← Delete marign between log and 1st message to adjust img tag side */
		height:min-content;
		justify-content:flex-start;
		min-height:800px;
		overflow:hidden;
		/*padding:50px;  Around logo of margin */
		padding-top: 20px;
		padding-bottom: 0px;
		padding-left: 80px;
		padding-right: 80px;
		position:relative;
		width:100%
	}

/* ==========================
   ナビゲーションバー
   ========================== */
	.framer-HhO0i .framer-3ijpii{
		align-content:center;
		align-items:center;
		display:flex;
		flex:none;
		flex-direction:row;
		flex-wrap:nowrap;
		gap:40px;
		height:min-content;
		justify-content:center;
		overflow:hidden;
		padding:0;
		position:relative;
		width:100%;
		z-index:1;
	}

/* ==========================
   ロゴ部分
   ========================== */
	.framer-HhO0i .framer-1gm53kf{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex: 1 0 0px;
		height: auto;
		position: relative;
		white-space: pre-wrap;
		width: 1px;
		word-break: break-word;
		word-wrap: break-word;
	}

/* ==========================
   ナビゲーションメニュー項目
   ========================== */
	.framer-HhO0i .framer-1d0w9k7,
	.framer-HhO0i .framer-m0ygfx,
	.framer-HhO0i .framer-o3pklx,
	.framer-HhO0i .framer-1xt5kvy,
	.framer-HhO0i .framer-1c5fsy3,
	.framer-HhO0i .framer-16nqora{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex: none;
		height: auto;
		position: relative;
		white-space: pre;
		width: auto;
	}

/* ==========================
   ナビゲーション下ボーダー
   ========================== */
	.framer-HhO0i .framer-jik0nl{
		--border-bottom-width: 1px;
		--border-color: #ffffff;
		--border-left-width: 0px;
		--border-right-width: 0px;
		--border-style: solid;
		--border-top-width: 0px;
	
		flex-direction: row !important;  /* ← ← ← これ */
		align-items: flex-start !important; /* ← 左寄せに */
		justify-content: flex-start !important;
		align-content:center;
		display:flex;
		flex:none;
		flex-wrap:nowrap;
		gap:0px;
		height:min-content;
		center;overflow:visible;
		padding:5px;
		position:relative;
		width:100%;
		/* Add maring between message and hello pictures */
		margin-top: 0px;       /* ロゴとの間隔を狭める */
		margin-bottom: 20px;    /* 下の要素との間隔を広げる */
		}
/* ==========================
   ヒーロー下のテキストブロック
   ========================== */
	.framer-HhO0i .framer-udg5r7{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex: 1 0 0px;
		height: auto;
		max-width: 800px;
		position: relative;
		white-space: pre;
		width: 1px;
		z-index: 1;
	}
	.framer-HhO0i .framer-1227ctq{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex:1.5 0 0px;
		height:auto;
		position:relative;
		white-space:pre-wrap;
		width:1px;
		word-break:break-word;
		word-wrap:break-word;
		z-index:1
	}

/* ==========================
   単独表示のヒーロー画像
   ========================== */
	.framer-HhO0i .framer-1yj4cz1{
		-webkit-filter: grayscale(1);
		aspect-ratio: 2 / 1; /* 横長比率指定 */
		border-radius: 40px;
		filter: grayscale(1);
		flex: none;
		height: var(--framer-aspect-ratio-supported, 500px);
		mix-blend-mode: luminosity;
		overflow: hidden;
		position: relative;
		width: 100%;
		will-change: var(--framer-will-change-override, transform);
	}

/* ==========================
   画像グリッドエリア
   ========================== */
	.framer-HhO0i .framer-xy48p5{
		display:grid;flex:none;gap:20px;grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(3,minmax(200px,1fr));grid-template-rows:repeat(2,minmax(0,1fr));justify-content:center;inset:-275px -117px -274px -116px;overflow:hidden;padding:0;position:absolute
	}

/* ==========================
   グリッド内の各画像（白黒＋角丸）
   ========================== */
	.framer-HhO0i .framer-1p2r87r,
	.framer-HhO0i .framer-1rv2ozr{
		-webkit-filter:grayscale(1);align-self:start;border-radius:40px;filter:grayscale(1);flex:none;grid-column:auto / span 2;height:100%;justify-self:start;mix-blend-mode:luminosity;overflow:hidden;position:relative;width:100%;will-change:var(--framer-will-change-override, transform)
	}
	.framer-HhO0i .framer-swesb8,
	.framer-HhO0i .framer-39j2mo{
		-webkit-filter:grayscale(1);align-self:start;border-radius:40px;filter:grayscale(1);flex:none;height:100%;justify-self:start;mix-blend-mode:luminosity;overflow:hidden;position:relative;width:100%;will-change:var(--framer-will-change-override, transform)
	}

/* ==========================
   白背景エリア（白ブロック）
   ========================== */
	.framer-HhO0i .framer-9x35ha{
		align-content: center;
		align-items: center;
		background-color: #fff;
		display: flex;
		flex: none;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0px;
		height: min-content;
		justify-content: center;
		overflow: hidden;
		padding: 0;
		position: relative;
		width: 100%;
	}

/* ==========================
   ナビゲーション下のロゴとテキスト
   ========================== */
	.framer-HhO0i .framer-1um5nj{
		align-content: center;
		align-items: center;
		align-self: stretch;
		display: flex;
		flex: 1 0 0px;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 10px;
		height: auto;
		justify-content: center;
		overflow: hidden;
		padding: 0;
		position: relative;
	}
/* -------------------------------------------------
  # お問い合わせ 見出しコンテナ
-------------------------------------------------- */
/* コンテナのレイアウト設定 */
	.framer-1e2y5oy.contact-heading {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		transform: none;
	}

/* 見出しh2のスタイル */
	.contact-heading .framer-text {
		--font-selector: R0Y7T3JlbGVnYSBPbmUtcmVndWxhcg==; /* フォント設定 */
		--framer-font-family: 'Orelega One', sans-serif;
		--framer-font-size: 36px;
		--framer-text-alignment: center;
	}
/* -------------------------------------------------
  # お問い合わせ 本文・メールアドレス・ボタン部分
-------------------------------------------------- */
	.framer-tsri51.contact-body {
		outline: none;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		flex-shrink: 0;
		align-items: center;
		transform: none;
		text-align: left;
		padding: 0 32px;
		max-width: 960px !important;
		width: 100% !important;
		margin: 0 auto;
		box-sizing: border-box;
	}
/* メッセージ本文（最初のpタグ） */
	.contact-body p:first-of-type {
		/* フォントと文字周り */
		--font-selector: R0Y7R29sb3MgVGV4dC1yZWd1bGFy;
		--framer-font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
		--framer-line-height: 1.5em;
		font-size: 16px;
		color: #333;
		margin: 0;
		max-width: 1200px;
	}
/* メールアドレス部分（2番目のpタグ） */
	.contact-body p:nth-of-type(2) {
		font-size: 18px;
		color: #666;
		margin-top: 1.2em;
	}

/* メールリンク */
	.contact-body p:nth-of-type(2) a {
		color: #336699;
	}

/* フォームボタン外枠 */
	.contact-body .contact-button {
		text-align: center;
		margin: 2rem 0 0 0;
	}

/* フォームボタン本体 */
	.contact-body .contact-button a {
		background-color: #336699;
		color: #fff;
		padding: 0.75em 1.5em;
		text-decoration: none;
		border-radius: 6px;
		display: inline-block;
		font-size: 14px;
	}
/* ==========================
   会社概要セクション
   ========================== */
	/* 会社概要ブロックの調整 */
	.framer-HhO0i .framer-ae2pw2{
		align-content:flex-start;
		align-items:flex-start;
		display:flex;
		flex:none;
		flex-direction:column;
		flex-wrap:nowrap;
		gap:20px;
		height:min-content;
		justify-content:center;
		
		/* max-width:2018px;
		width:900px; */
		width: 100%;
		margin: 0 auto;
		max-width: 1080px;
		padding: 0px 0px 0px 60px;
		position:relative;  
	}
/* 会社概要セクションタイトル */
	.framer-HhO0i .framer-11h1hal{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex:none;height:auto;overflow:visible;position:relative;
		white-space:pre-wrap;width:100%;
		word-break:break-word;
		word-wrap:break-word;
		margin-top: 2rem
	}
/* 会社概要セクション本文 */
	.framer-HhO0i .framer-m8gewn{
		--framer-paragraph-spacing: 0px;
		flex: none;
		height: auto;
		overflow: visible;
		position: relative;
		white-space: pre-wrap;
		width: 100%;
		word-break: break-word;
		word-wrap: break-word;
	}


/* ==========================
/* 会社概要テーブル */
   ========================== */
	.profile-image {
		flex: 0 0 40%;
		max-width: 40%;
	}
	.profile-image img {
		width: 95%;
		height: 95%;
		max-height: 800px;
		object-fit: cover;
		display: block;
	}
	.company-profile-box {
		display: block;
		background-color: #ffffff;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
		border: 2px solid rgba(0, 0, 0, 0.1);
		padding: 24px 32px;
		font-family: 'Golos Text', sans-serif;
		text-align: left;
		width: 100%;
		max-width: 800px;
		box-sizing: border-box;
		min-height: 400px;
		margin-left: -2rem;
	}
	/* タイトル */
	.company-profile-box h1 {
		font-size: 28px;
		font-weight: 700;
		margin-bottom: 1.5rem;
		color: #444444;
	}
	/* テーブル */
	.company-profile-box table {
		width: 100%;
		font-size: 20px;
		line-height: 1.0;
		border-collapse: collapse;
	}

	/* 左列（ラベル） */
	.company-profile-box td:first-child {
		padding: 0.4em 0.8em;
		min-width: 120px;
		vertical-align: top;
	}
	/* 右列（本文） */
	.company-profile-box td:last-child {
		padding: 0.4em 0.8em;
		vertical-align: top;
	}
	
	/* リスト */
	.company-profile-box ul {
		list-style-position: outside;
		margin: 0;
		padding-left: 1em;
		font-size: 18px;
		line-height: 1.5;
	}
	/* リンク（メールアドレス） */
	.company-profile-box a {
		color: #444444;
		text-decoration: underline;
	}

/* ==========================
/* プライバシーポリシーセクション */
   ========================== */
	.privacy-policy-section {
		padding: 0px 20px;
		margin: 40px auto;
	}
	/* カード本体 */
	.privacy-policy-box {
		all: unset;
		display: block;
		background-color: #ffffff;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
		border: 2px solid rgba(0, 0, 0, 0.1);
		padding: 30px 60px;
		margin: 30px auto;
		max-width: 1000px;
		width: 100%;
		font-family: 'Golos Text', sans-serif;
		text-align: left;
	}
	/* タイトル */
	.privacy-policy-box h1 {
		font-size: 28px;
		font-weight: 700;
		margin-bottom: 1.5rem;
		color: #444444;
	}
	/* テーブル */
	.privacy-policy-box table {
		width: 100%;
		font-size: 20px;
		line-height: 1.0;
		border-collapse: collapse;
	}
	/* セル共通 */
	.privacy-policy-box td {
		padding: 0.8em 0em;
		vertical-align: top;
	}
	/* 左列（ラベル） */
	.privacy-policy-box td:first-child {
		padding-right: 1.2em;
		min-width: 250px;
	}
	/* 右列（本文） */
	.privacy-policy-box td:last-child {
		padding-left: 0em;
	}
	/* メールリンク */
	.privacy-policy-box a {
		color: #336699;
		text-decoration: underline;
	}

/* ==========================
 お問い合わせセクション（外側）
   ========================== */
	.contact-section {
		padding: 0px 20px;
		margin: 0px auto 20px auto;
		max-width: 1200px;
		width: 90%;
	}
	/* カード本体 */
	.contact-box {
		all: unset;
		display: block;
		background-color: #ffffff;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
		border: 2px solid rgba(0, 0, 0, 0.1);
		padding: 20px 80px;
		margin: 0 auto;
		max-width: 800px;
		width: 100%;
		font-family: 'Golos Text', sans-serif;
		text-align: left;
	}
	/* タイトル */
	.contact-box h1 {
		font-size: 32px;
		font-weight: 700;
		margin-bottom: 2rem;
		text-align: center;
		color: #444444;
	}
	/* フォーム内共通 */
	.form-group {
		margin-bottom: 1.5em;
	}
	.form-group label {
		display: block;
		margin-bottom: 0.3em;
		font-size: 16px;
		font-weight: bold;
	}
	.form-group input,
	.form-group textarea {
		width: 100%;
		padding: 0.6em;
		font-size: 14px;
		border: 1px solid #ccc;
		border-radius: 6px;
	}
	/* エラーメッセージ */
	.error-message {
		color: red;
		font-size: 13px;
		display: none;
	}
	/* 送信ボタン */
	.form-button {
		text-align: center;
		margin-top: 2em;
	}
	.form-button button {
		background-color: #336699;
		color: #ffffff;
		padding: 12px 32px;
		font-size: 16px;
		border: none;
		border-radius: 6px;
		cursor: pointer;
	}
	/* Thanksメッセージ */
	.thanks-message {
		display: none;
		text-align: center;
		padding: 40px 20px;
	}
	.thanks-message h1 {
		color: #336699;
		font-size: 36px;
		font-weight: 700;
		margin-bottom: 1rem;
	}
	.thanks-message p {
		font-size: 18px;
		color: #555555;
	}


/* ==========================
   下層のボタン行（アクセスリンクなど）
   ========================== */
	.framer-HhO0i .framer-1hp4zoq{
		align-content: center;
		align-items: center;
		display: flex;
		flex: none;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 15px;
		height: min-content;
		justify-content: center;
		overflow: visible;
		padding: 0;
		position: relative;
		width: min-content;
	}
/* 黒ボタン（例：アクセスボタンなど） */
	.framer-HhO0i .framer-vt17vz{
		align-content:center;align-items:center;background-color:#222;border-radius:8px;box-shadow:0 .7065919983928324px .7065919983928324px -.625px #00000026,0 1.8065619053231785px 1.8065619053231785px -1.25px #00000025,0 3.6217592146567767px 3.6217592146567767px -1.875px #00000023,0 6.8655999097303715px 6.8655999097303715px -2.5px #00000020,0 13.646761411524492px 13.646761411524492px -3.125px #0000001b,0 30px 30px -3.75px #0000000d;display:flex;flex:none;flex-direction:row;flex-wrap:nowrap;gap:10px;height:40px;justify-content:center;overflow:visible;padding:15px;position:relative;width:min-content
	}
/* 灰色ボタン */
	.framer-HhO0i .framer-124o8h{
		align-content:center;align-items:center;background-color:#ebebeb;border-radius:8px;display:flex;flex:none;flex-direction:row;flex-wrap:nowrap;gap:10px;height:40px;justify-content:center;overflow:visible;padding:15px;position:relative;width:min-content
	}
/* ==========================
   その他小パーツ
   ========================== */
	.framer-HhO0i .framer-lv9t5t-container{
		flex:0.8 0 0;height:600px;position:relative;width:1px
	}
/* ==========================
   フッター（白背景のコンテンツブロック）
   ========================== */
	.framer-HhO0i .framer-1rdql5j{
		align-content: center;
		align-items: center;
		background-color: #fff;
		display: flex;
		flex: none;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 20px;
		height: min-content;
		justify-content: center;
		overflow: visible;
		padding: 100px 0 80px 0;
		position: relative;
		width: 100%;
	}
/* フッタータイトル */
	.framer-HhO0i .framer-1e2y5oy{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex: none;
		height: auto;
		max-width: 800px;
		overflow: visible;
		position: relative;
		white-space: pre-wrap;
		width: 100%;
		word-break: break-word;
		word-wrap: break-word;
	}
/* フッターサブタイトル */
	.framer-HhO0i .framer-tsri51{
		--framer-link-text-color: #0099ff;
		--framer-link-text-decoration: underline;
		--framer-paragraph-spacing: 0px;
		flex: none;
		height: auto;
		max-width: 100%;
		overflow: visible;
		position: relative;
		white-space: pre-wrap;
		width: 500px;
		word-break: break-word;
		word-wrap: break-word;
	}
/* 緑ボタン（例：問い合わせボタン） */
	.framer-HhO0i .framer-p78w1h{
		align-content: center;
		align-items: center;
		background-color: #9ee493;
		border-radius: 8px;
		display: flex;
		flex: none;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 10px;
		height: 40px;
		justify-content: center;
		overflow: visible;
		padding: 15px;
		position: relative;
		width: min-content;
	}

/* ==========================
   バックグラウンドの円装飾（半透明）
   ========================== */
	.framer-HhO0i .framer-13j1e32,
	.framer-HhO0i .framer-1wt8i39{
		--border-bottom-width: 1px;
		--border-color: #2f4858;
		--border-left-width: 1px;
		--border-right-width: 1px;
		--border-style: solid;
		--border-top-width: 1px;
		border-radius:100%;
		flex:none;height:252px;
		left:12px;
		opacity:.3;overflow:hidden;
		position:absolute;
		top:44px;width:479px;
		will-change:var(--framer-will-change-override, transform);
		z-index:0
	}
/* -------------------------------------------------
  # フッター全体
-------------------------------------------------- */
	#overlay footer.footer-container {
		color: #333333;
		padding: 0.8em 1em;
		text-align: center;
		font-size: 16px;
	}
/* フッター内コンテンツ（幅制限） */
	.footer-content {
		max-width: 900px;
		margin: 0 auto;
		text-align: center;
	}
	.footer-links {
		display: flex;
		justify-content: center; /* ←これでリンクを中央に並べる */
		gap: 3em;               /* ←マージンの代わりにきれいな間隔 */
		flex-wrap: wrap;         /* ←画面狭いときは折り返し可 */
	}
/* フッター内リンク */
		.footer-content a {
		display: inline-block;
		color: #333333;
		text-decoration: none;
	}
/* コピーライト部分 */
	.footer-content p {
		margin: 0.4em 0 1em 0;
	}
/* ==========================
   古いSafari系ブラウザ対応
   ========================== */
	@supports (background: -webkit-named-image(i)) and (not (scale:1))
	{
	 /* 全体コンテナ・ナビゲーション・セクションごとにgapを0に */
		.framer-HhO0i.framer-72rtr7,
		.framer-HhO0i .framer-9mp6r1,
		.framer-HhO0i .framer-3ijpii,
		.framer-HhO0i .framer-jik0nl,
		.framer-HhO0i .framer-9x35ha,
		.framer-HhO0i .framer-1um5nj,
		.framer-HhO0i .framer-ae2pw2,
		.framer-HhO0i .framer-1hp4zoq,
		.framer-HhO0i .framer-vt17vz,
		.framer-HhO0i .framer-124o8h,
		.framer-HhO0i .framer-1rdql5j,
		.framer-HhO0i .framer-p78w1h{
			gap:0px
		}
	/* 子要素全体のマージンリセット */
		.framer-HhO0i.framer-72rtr7>*{
			margin:0
		}
	/* 各エリアで先頭要素だけマージントップをゼロに */
		.framer-HhO0i.framer-72rtr7>:first-child,
		.framer-HhO0i .framer-9mp6r1>:first-child,
		.framer-HhO0i .framer-ae2pw2>:first-child,
		.framer-HhO0i .framer-1rdql5j>:first-child{
			margin-top:0
		}
	/* 各エリアで末尾要素だけマージンボトムをゼロに */
		.framer-HhO0i.framer-72rtr7>:last-child,
		.framer-HhO0i .framer-9mp6r1>:last-child,
		.framer-HhO0i .framer-ae2pw2>:last-child,
		.framer-HhO0i .framer-1rdql5j>:last-child{
			margin-bottom:0
		}
	/* 特定エリア内の各要素に間隔を設定 */
		.framer-HhO0i .framer-9mp6r1>*{margin:25px 0}
		.framer-HhO0i .framer-3ijpii>*{margin:0 10px}
	/* 各行の先頭要素は左マージンゼロ */
		.framer-HhO0i .framer-3ijpii>:first-child,
		.framer-HhO0i .framer-jik0nl>:first-child,
		.framer-HhO0i .framer-9x35ha>:first-child,
		.framer-HhO0i .framer-1um5nj>:first-child,
		.framer-HhO0i .framer-1hp4zoq>:first-child,
		.framer-HhO0i .framer-vt17vz>:first-child,
		.framer-HhO0i .framer-124o8h>:first-child,
		.framer-HhO0i .framer-p78w1h>:first-child{
			margin-left:0
		}
	/* 各行の末尾要素は右マージンゼロ */
		.framer-HhO0i .framer-3ijpii>:last-child,
		.framer-HhO0i .framer-jik0nl>:last-child,
		.framer-HhO0i .framer-9x35ha>:last-child,
		.framer-HhO0i .framer-1um5nj>:last-child,
		.framer-HhO0i .framer-1hp4zoq>:last-child,
		.framer-HhO0i .framer-vt17vz>:last-child,
		.framer-HhO0i .framer-124o8h>:last-child,
		.framer-HhO0i .framer-p78w1h>:last-child{
			margin-right:0
		}
	/* 特定エリア（ナビ下ライン）内の各要素間隔 */
		.framer-HhO0i .framer-jik0nl>*{
			margin:0 25px
		}
	/* 特定エリア（白背景エリア）内の要素間隔リセット */
		.framer-HhO0i .framer-9x35ha>*{
			margin:0
		}
	/* ボタンなどの内部マージン設定 */
		.framer-HhO0i .framer-1um5nj>*,
		.framer-HhO0i .framer-vt17vz>*,
		.framer-HhO0i .framer-124o8h>*,
		.framer-HhO0i .framer-p78w1h>*{
			margin:0 5px
		}
	/* 会社概要・フッターコンテンツ内の縦間隔 */
		.framer-HhO0i .framer-ae2pw2>*,
		.framer-HhO0i .framer-1rdql5j>*{
			margin:10px 0
		}
	/* 小ボタン行の子要素間隔 */
		.framer-HhO0i .framer-1hp4zoq>*{margin:0 7.5px}
	}

/* ==========================
   データ属性付きボーダー装飾
   ========================== */
	.framer-HhO0i[data-border=true]:after,
	.framer-HhO0i [data-border=true]:after {
		content: "";
		border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0);
		border-color: var(--border-color, none);
		border-style: var(--border-style, none);
		width: 100%;
		height: 100%;
		position: absolute;
		box-sizing: border-box;
		left: 0;
		top: 0;
		border-radius: inherit;
		pointer-events: none;
	}

/* ==========================
   その他共通・PC向け設定
   ========================== */
/* PC版: Logo画像サイズ調整 */
	@media (min-width: 1200px) {
		/* Logoサイズ制御*/
		.framer-HhO0i .framer-1gm53kf img {
			width: 240px;
		}
	}

/* タブレット版: レイアウト調整 */
	@media (min-width: 810px) and (max-width: 1199px) {
	/* キャッチコピー本文 */
		/* 親フレーム（flex-box）の横位置を左に固定 */
		.catch-copy-container {
			align-items: flex-start !important;
			text-align: left !important; 
		}
	/* キャッチコピー本文 */
		h1.catch-copy-text {
			font-size: 20px !important;
			text-align: left !important;
		}
	/* ロゴ画像を包むdiv（共通） */
		.menu-logo {
			outline: none;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			flex-shrink: 0;
			transform: none;
			margin-right:180px;
		}
	/* メニューリンクを包むdiv（共通） */
		.menu-item {
			outline: none;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			flex-shrink: 0;
			transform: none;
			margin:0 !important;
			padding:0 !important;
		}
	/* メニューのテキスト */
		p.menu-text {
			text-decoration: none;
			font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
			font-size: 22px !important;
			color: #ffffff;
		}
	/* 共通サービスセクション (Services Hero)*/
		h1.services-hero-title {
			font-size: 30px;
			letter-spacing: -1.2px;
		}
	/* 本文 h2 */
		h2.about-description-text {
			font-size: 26px !important;
			margin: 16px 0;
			line-height: 1.4 !important;
		}
	/* 事業内容タイトル（p） */
		.about-description-list p {
			font-size: 28px;
			margin: 8px 0;
		}
	/* リスト全体（ul） */
		.about-description-list ul {
			margin: 10px 0;
			padding-left: 5em;
			list-style-position: outside; 
			margin-bottom: 4em;
		}
	/* リスト項目（li） */
		.about-description-list li {
			margin: 0;
			font-size: 24px;
			color: #444444;
			line-height:1.4;
			margin: 0.6em 0;
		}
	/* ヒーロー画像エリア調整 */
		.hero-image-wrapper {
			height: 500px; /* ← 適度に大きく */
			overflow: hidden; /* はみ出しカット */
			margin: 10px 0 -15px 0;
			padding: 0;
		}
		.hero-image {
			width: 100%;
			height: 100%;
			object-fit: cover; /* トリミングして埋める */
			object-position: center;
		}
	/* 斜めグリッド画像の高さ調整 */
		.framer-HhO0i .framer-1p2r87r {
			height: auto !important;
			max-height: 160px;  /* ? 必要に応じて高さを調整 */
			overflow: visible !important;
			position: relative;
		}
		.framer-HhO0i .framer-1p2r87r > div {
			position: relative !important;  /* ← absoluteが効いていれば上書き */
			height: auto !important;
		}
		.framer-HhO0i .framer-1p2r87r img {
			/* 画像に個別スタイルを追加する場合はここに */
		}  
	/* 全体幅をスマホ幅に設定 */
		.framer-HhO0i.framer-72rtr7 {
			width: 810px;
		}
	/* ナビゲーション周り調整 */
		.framer-HhO0i .framer-9mp6r1 {
			justify-content: center;
			min-height: unset;
			padding: 50px;
		}
 	/* ナビゲーションメニュー横並び */
		.framer-HhO0i .framer-3ijpii {
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			flex-wrap: nowrap;
			padding: 0 5px;
			gap: 0px;
		}
	/* ロゴの親に明示的な幅を指定 */
		.framer-HhO0i .framer-1gm53kf {
			flex: 0 0 auto;
			display: flex;
			align-items: center;
			justify-content: flex-start;
			padding-right: 4px;
			width: auto;
			max-width: none; /* ? 制限を外す */
		}
	/* ロゴ画像の大きさ */
		.framer-HhO0i .framer-1gm53kf img {
			width: 240px;
			height: auto;
		}
	/* ナビゲーションメニュー項目横並び */
		.framer-HhO0i .framer-1d0w9k7,
		.framer-HhO0i .framer-m0ygfx,
		.framer-HhO0i .framer-o3pklx {
			margin: 0;
			padding: 0 4px;
			display: flex;
			align-items: center;
			white-space: nowrap; /* 改行防止 */
		}
	/* 中央テキスト幅調整 */
		.framer-HhO0i .framer-udg5r7,
		.framer-HhO0i .framer-1227ctq {
			flex: none;
			width: 100%;
		}
	/* ナビ下のラインを縦並びに */
		.framer-HhO0i .framer-jik0nl {
			flex-direction: column;
			gap: 20px;
		}
	/* 会社概要セクション幅調整 */
		.framer-HhO0i .framer-ae2pw2 {
			flex: 1 0 0px;
			padding-left: 40px; /* スマホでは左の余白を小さくする */
			padding-right: 20px;
			width: 1px;
		}
	/* 画像ラッパー */
		.image-wrapper {
			height: auto;
			margin: 0 !important;
		}
		.image-wrapper img {
			height: 100%;
		}
	/* 画像表示用コンテナ調整 */
		.framer-HhO0i .framer-lv9t5t-container {
			flex-basis: 100% !important;
			max-width: 100% !important;
			margin: 0 !important;
			height: 250px;
		}
	/* フッターエリアパディング調整 */
		.framer-HhO0i .framer-1rdql5j {
			padding: 60px 20px;
		}
	/* フッター内要素の順番調整 */
		.framer-HhO0i .framer-1e2y5oy {
			order: 2;
		}
		.framer-HhO0i .framer-tsri51 {
			order: 3;
		}
		.framer-HhO0i .framer-p78w1h {
			order: 4;
			width: 100%;
		}
	/* 背景の半透明円調整 */
		.framer-HhO0i .framer-13j1e32,
		.framer-HhO0i .framer-1wt8i39 {
			height: 199px;
			left: 63px;
			top: 70px;
			width: 378px;
		}
	/* フッターリンク */
		.footer-links {
			gap: 0.8em;
			flex-wrap: nowrap;
			font-size: 15px;
		}
	/* ==========================
		会社概要セクション
	========================== */
	/* ロゴ下エリアのレイアウト調整 */
		.framer-HhO0i .framer-1um5nj {
			flex-basis: 100% !important;
			max-width: 100% !important;
			padding-left: 30px;
			padding-right: 30px;
			display: flex !important; 
			justify-content: center !important;
			margin:0 auto !important;
		}
	/* 会社概要と画像を縦並びにする */
		.framer-HhO0i .framer-9x35ha {
			flex-direction: column;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 1rem;
			padding-top: 0;
			padding-bottom: 0;
			align-items: stretch;
		}
		.profile-image picture,
		.profile-image img {
			width: 100%;
			height: auto;
			display: block;
			margin: 0 auto;
		}
	/* 会社概要テーブル */
		.company-profile-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.company-profile-box {
			padding: 20px;
			width: 95%;
			margin: 0px auto 0 auto;  /* ← 中央寄せ */
		}
		.company-profile-box h1 {
			font-size: 24px;
		}
		.company-profile-box table {
			font-size: 22px;
			table-layout: fixed; /* テーブル幅を固定 */
			width: 100%;
		}
		.company-profile-box td:first-child {
			width: 26%;
			word-break: break-word;
		}
		.company-profile-box td:last-child {
			width: 74%;
			word-break: break-word;
		}
		.company-profile-box ul {
			font-size: 22px;
			line-height: 1.2;
		}
	/* -------------------------------------------------
	  # お問い合わせ 見出しコンテナ
	-------------------------------------------------- */
		/* 見出し h2 の文字サイズとアラインメント */
		.contact-heading .framer-text{
			--framer-font-size: 28px;      /* ← 36px→24px程度にダウン */
			--framer-text-alignment: center;  /* ← left に変更可 */
		}
		/* メッセージ本文（最初のpタグ） */
			.contact-body p:first-of-type {
				/* フォントと文字周り */
				--font-selector: R0Y7R29sb3MgVGV4dC1yZWd1bGFy;
				--framer-font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
				--framer-line-height: 1.5em;
				font-size: 20px;
				color: #333;
				margin: 0;
				max-width: 1200px;
			}
		/* メールアドレス部分（2番目のpタグ） */
			.contact-body p:nth-of-type(2) {
				font-size: 20px;
				color: #666;
				margin-top: 1.2em;
			}
	/* ==========================
		プライバシーポリシーセクション
	========================== */
		.privacy-policy-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.privacy-policy-box {
			padding: 10px 5px 10px 25px;
			width: 90%;
			margin: 0 auto;
			box-sizing: border-box;
		}
		.privacy-policy-box h1 {
			font-size: 22px;
			margin: 1rem 0 2rem 0;
		}
		.privacy-policy-box table {
			font-size: 16px;
			line-height: 1.0;
			table-layout: fixed;
		}
		.privacy-policy-box td:first-child {
			width: 26%;
			word-break: break-word;
		}
		.privacy-policy-box td:last-child {
			width: 74%;
			word-break: break-word;
			padding: 10px 20px 10px 0;
		}
	/* ==========================
		お問い合わせセクション
	========================== */
		.contact-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.contact-box {
			padding: 20px;
			width: 90%;
			margin: 0 auto;
			box-sizing: border-box;
		}
		.contact-box h1 {
			font-size: 24px;
			padding: 0;
		}
		.form-group label {
			font-size: 14px;
		}
		.form-group input,
		.form-group textarea {
			font-size: 13px;
		}
		.thanks-message h1 {
			font-size: 28px;
		}
		.thanks-message p {
			font-size: 14px;
		}
	}

/* ==========================
   スマホ向けレスポンシブ調整
   ========================== */
	@media (max-width: 809px) {
 
	/* キャッチコピー本文 */
		/* 親フレーム（flex-box）の横位置を左に固定 */
		.catch-copy-container {
			align-items: flex-start !important;   /* ← flexbox の水平方向（主に Framer で中央揃えされる） */
			text-align: left !important; 
		}	
		h1.catch-copy-text {
			font-size: 14px !important;
			text-align: left !important;
		}
	/* ロゴ画像を包むdiv（共通） */
		.menu-logo {
			outline: none;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			flex-shrink: 0;
			transform: none;
		}
	 /* スマホ用メニューコンテナ */
		.ssr-variant.hidden-ioze0q.hidden-72rtr7{  
			display:flex;
			justify-content:flex-end;   /* 右に寄せる (space-between を使わない) */
			flex-wrap:nowrap;           /* 折り返し禁止  */
			gap:0;
		}
	/* メニューリンクを包むdiv（共通） */
		.menu-item {
			outline: none;
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			flex-shrink: 0;
			transform: none;
			margin:0 !important;
			padding-left:8px!important;
  			padding-right:8px!important;
		}
	/* メニューのテキスト */
		p.menu-text {
			text-decoration: none;
			font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
			font-size: 12px !important;
			color: #ffffff;
			margin:0;
			padding:0;
		}
		p.menu-text a{
			display:inline;
			padding:0!important;
			margin:0!important;
		}
	/* 共通サービスセクション (Services Hero)*/
		h1.services-hero-title {
			font-size: 28px;
			letter-spacing: -1.8px;
		}
	/* 本文 h2 */
		h2.about-description-text {
			font-size: 18px !important;
			margin: 16px 0;
			line-height: 1.4 !important;
		}
	/* 事業内容タイトル（p） */
		.about-description-list p {
			font-size: 22px;
			margin: 8px 0;
		}
	/* リスト全体（ul） */
		.about-description-list ul {
			margin: 10px 0;
			padding-left: 1em;
			list-style-position: outside; 
			margin-bottom: 4em;
		}
	/* リスト項目（li） */
		.about-description-list li {
			margin: 0;
			font-size: 18px;
			color: #444444;
			line-height:1.4;
			margin-bottom: 0.6em;
		}
	/* ヒーロー画像エリア調整 */
		.hero-image-wrapper {
			height: 300px; /* ← 適度に大きく */
			overflow: hidden; /* はみ出しカット */
			margin: 0;
			padding: 0;
		}
		.hero-image {
			width: 100%;
			height: 100%;
			object-fit: cover; /* トリミングして埋める */
			object-position: center;
		}
	/* 斜めグリッド画像の高さ調整 */
		.framer-HhO0i .framer-1p2r87r {
			height: auto !important;
			max-height: 160px;  /* ? 必要に応じて高さを調整 */
			overflow: visible !important;
			position: relative;
		}
		.framer-HhO0i .framer-1p2r87r > div {
			position: relative !important;  /* ← absoluteが効いていれば上書き */
			height: auto !important;
		}
		.framer-HhO0i .framer-1p2r87r img {
			/* 画像に個別スタイルを追加する場合はここに */
		}  
	/* 全体幅をスマホ幅に設定 */
		.framer-HhO0i.framer-72rtr7 {
			width: 390px;
		}
	/* ナビゲーション周り調整 */
		.framer-HhO0i .framer-9mp6r1 {
			justify-content: center;
			min-height: unset;
			padding: 20px;
		}
 	/* ナビゲーションメニュー横並び */
		.framer-HhO0i .framer-3ijpii {
			display: flex;
			flex-direction: row;
			align-items: center;
			justify-content: space-between;
			flex-wrap: nowrap;
			padding: 0;
			gap: 4px 0;
		}
	/* ロゴの親に明示的な幅を指定 */
		.framer-HhO0i .framer-1gm53kf {
			flex: 0 0 auto;
			display: flex;
			align-items: center;
			justify-content: flex-start;
			padding-right: 4px;
			width: auto;
			max-width: none; /* ? 制限を外す */
		}

	/* ロゴ画像の大きさ */
		.framer-HhO0i .framer-1gm53kf img {
			width: 110px;
			height: auto;
		}

	/* ナビゲーションメニュー項目横並び */
		.framer-HhO0i .framer-1d0w9k7,
		.framer-HhO0i .framer-m0ygfx,
		.framer-HhO0i .framer-o3pklx {
			margin: 0;
			padding: 0 4px;
			display: flex;
			align-items: center;
			white-space: nowrap; /* 改行防止 */
		}
	/* 中央テキスト幅調整 */
		.framer-HhO0i .framer-udg5r7,
		.framer-HhO0i .framer-1227ctq {
			flex: none;
			width: 100%;
		}
	/* ナビ下のラインを縦並びに */
		.framer-HhO0i .framer-jik0nl {
			flex-direction: column;
			gap: 20px;
		}
	/* 会社概要セクション幅調整 */
		.framer-HhO0i .framer-ae2pw2 {
			flex: 1 0 0px;
			padding-left: 20px; /* スマホでは左の余白を小さくする */
			padding-right: 20px;
			width: 1px;
		}
	/* 画像ラッパー */
		.image-wrapper {
			height: auto;
			margin: 0 auto !important;
			padding: 0 !important;
		}
		.image-wrapper img {
			height: 100%;
			width: 100% !important;
			display: block;
		}
	/* 画像表示用コンテナ調整 */
		.framer-HhO0i .framer-lv9t5t-container {
			flex-basis: 100% !important;
			max-width: 100% !important;
			margin: 0 !important;
			padding: 0 !important;
			height: 250px;
		}
	/* フッターエリアパディング調整 */
		.framer-HhO0i .framer-1rdql5j {
			padding: 60px 20px;
		}
	/* フッター内要素の順番調整 */
		.framer-HhO0i .framer-1e2y5oy {
			order: 2;
		}
		.framer-HhO0i .framer-tsri51 {
			order: 3;
		}
		.framer-HhO0i .framer-p78w1h {
			order: 4;
			width: 100%;
		}
	/* 背景の半透明円調整 */
		.framer-HhO0i .framer-13j1e32,
		.framer-HhO0i .framer-1wt8i39 {
			height: 199px;
			left: 63px;
			top: 70px;
			width: 378px;
		}
	/* フッターリンク */
		.footer-links {
			gap: 0.8em;
			flex-wrap: nowrap;
			font-size: 15px;
		}

	/* ==========================
		会社概要セクション
	========================== */
	/* ロゴ下エリアのレイアウト調整 */
		.framer-HhO0i .framer-1um5nj {
			flex-basis: 100% !important;
			max-width: 100% !important;
			padding-left: 20px;
			padding-right: 20px;
		}
	/* 会社概要と画像を縦並びにする */
		.framer-HhO0i .framer-9x35ha {
			flex-direction: column;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 0 !important;
			margin: 0 !important;
			padding: 0 !important;
			align-items: stretch;
		}
		.profile-image picture,
		.profile-image img {
			width: 100%;
			height: auto;
			display: block;
			margin: 10px 0 20px 0;
		}
	/* 会社概要テーブル */
		.company-profile-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.company-profile-box {
			padding: 20px;
			width: 95%;
			margin: 0px auto 0 auto;  /* ← 中央寄せ */
		}
		.company-profile-box h1 {
			font-size: 22px;
			margin-bottom: 1.5rem;
		}
		.company-profile-box table {
			font-size: 16px;
			table-layout: fixed; /* テーブル幅を固定 */
			width: 100%;
		}
		.company-profile-box td:first-child {
			width: 35%; /* 左側（ラベル）に固定幅を与える */
			word-break: break-word;
		}
		.company-profile-box td:last-child {
			width: 65%; /* 右側（内容）に広めを与える */
			word-break: break-word;
		}
		.company-profile-box ul {
			font-size: 16px;
			line-height: 1.2;
		}
	/* -------------------------------------------------
	  # お問い合わせ 見出しコンテナ
	-------------------------------------------------- */
		.contact-body .ssr-variant.hidden-ioze0q.hidden-72rtr7 {
			display: block !important;
			flex-direction: unset !important;
			white-space: normal !important;
			padding: 0 !important;
			margin: 0 !important;
			gap: 0 !important;
		}
		/* 見出し h2 の文字サイズとアラインメント */
		.contact-heading .framer-text{
			--framer-font-size: 24px;
			--framer-text-alignment: center;
		}
		/* メッセージ本文（最初のpタグ） */
			.contact-body p:first-of-type {
				/* フォントと文字周り */
				--font-selector: R0Y7R29sb3MgVGV4dC1yZWd1bGFy;
				--framer-font-family: 'Golos Text', 'Golos Text Placeholder', sans-serif;
				--framer-line-height: 1.5em;
				font-size: 18px;
				color: #333;
				margin: 0;
			}
		/* メールアドレス部分（2番目のpタグ） */
			.contact-body p:nth-of-type(2) {
				font-size: 18px;
				color: #666;
				margin-top: 1.2em;
			}

	/* ==========================
		プライバシーポリシーセクション
	========================== */
		.privacy-policy-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.privacy-policy-box {
			padding: 10px 5px 10px 25px;
			width: 90%;
			margin: 0 auto;
			box-sizing: border-box;
		}
		.privacy-policy-box h1 {
			font-size: 20px;
			margin-bottom: 1rem;
		}
		.privacy-policy-box table {
			font-size: 14px;
			line-height: 1.0;
			table-layout: fixed;
		}
		.privacy-policy-box td:first-child {
			width: 35%;
			word-break: break-word;
		}
		.privacy-policy-box td:last-child {
			width: 65%;
			word-break: break-word;
		}
	/* ==========================
		お問い合わせセクション
	========================== */
		.contact-section {
			padding: 20px 0;
			margin: 0;
			width: 100%;
			box-sizing: border-box;
		}
		.contact-box {
			padding: 20px;
			width: 90%;
			margin: 0 auto;
			box-sizing: border-box;
		}
		.contact-box h1 {
			font-size: 24px;
			padding: 0;
		}
		.form-group label {
			font-size: 14px;
		}
		.form-group input,
		.form-group textarea {
			font-size: 13px;
		}
		.thanks-message h1 {
			font-size: 28px;
		}
		.thanks-message p {
			font-size: 14px;
		}
	}

/* ==========================
   アスペクト比対応
   ========================== */
	@supports (aspect-ratio: 1) {
		body {
			--framer-aspect-ratio-supported: auto;
		}
	}

/* ==========================
   その他細かいスタイル
   ========================== */
/* ページ特定セクション（例：お問い合わせブロックなど） */
	.framer-R9SmG.framer-56izhz,
	.framer-R9SmG .framer-56izhz {
	  display: block;
	}
/* レイアウト調整：縦中央揃えのFlexbox */
	.framer-R9SmG.framer-15wha4j {
	  align-content: center;
	  align-items: center;
	  display: flex;
	  flex-direction: column;
	  flex-wrap: nowrap;
	  gap: 20px;
	  height: 600px;
	  justify-content: center;
	  overflow: hidden;
	  padding: 0;
	  position: relative;
	  width: 600px;
	}

/* レガシーブラウザ対応調整 */
	@supports (background: -webkit-named-image(i)) and (not (font-palette: dark)) {
		.framer-R9SmG.framer-15wha4j {
			gap: 0px;
		}
		.framer-R9SmG.framer-15wha4j>* {
			margin: 10px 0;
		}
		.framer-R9SmG.framer-15wha4j>:first-child {
			margin-top: 0;
		}
		.framer-R9SmG.framer-15wha4j>:last-child {
			margin-bottom: 0;
		}
	}
/* SSRバリアント対応 */
	.ssr-variant {
		display: contents;
	}

/* ==========================
   表示制御クラス（hidden系）
   ========================== */
@media (min-width: 1200px) {
  .hidden-72rtr7 {
    display: none !important;
  }
}
@media (min-width: 810px) and (max-width: 1199px) {
  .hidden-ioze0q {
    display: none !important;
  }
}
@media (max-width: 809px) {
  .hidden-1j67t1e {
    display: none !important;
  }
}

