@charset "UTF-8";
/*
* 競馬共助会 カスタマイズCSS
* Base Theme: center
* Author: 株式会社メックコミュニケーションズ
* Author URI: https://www.mec-com.co.jp
*/

/*=====================================================================================================
目次（Ctrl+F / Cmd+Fでセクション名を検索してください）
---------------------------------------------------------------------------------------------------
- 関数（CSS変数）
- 競馬共助会 共通カラー
- 競馬共助会 header / mainimg
- 競馬共助会 事業紹介
- 競馬共助会 関連ページカード
- 競馬共助会 お知らせ・関連施設
- 競馬共助会 footer
- お知らせ共通リスト
- otoiawase
- 特色border_color / bg / text_color / ya
- 組織図
- お知らせ
- 動きを抑える設定への配慮（prefers-reduced-motion）
- 固定ヘッダーのガラス表現／タブレットメニュー下部ボタン
=====================================================================================================*/

/*=====================================================================================================
ブレークポイントの運用ルール
---------------------------------------------------------------------------------------------------
基本は「SP（〜767px）」「PC（768px〜）」の2段階。
コンポーネントごとの @media は、そのコンポーネントの直後に置く（分散）。
例）.mainimg{...} の直後に @media (max-width:767px){ .mainimg{...} } を書く。
→ 1つのパーツを直すとき、PC/SP/タブレットの差分が同じ場所にまとまって見えるようにするため。

まとめると：
・パーツ固有の見た目調整（SP／タブレット） → パーツの近くに分散
・サイト全体を横断する方針（reduced-motionなど） → 末尾に集約
=====================================================================================================*/

/*--------------------------------------------------------------------------------------------------CSS変数（カスタムプロパティ）*/
/* 既存テーマで使用する汎用カラー */
body{
	/*特色*/
	--color_kon: #003d81;
	--color_ao: #0074ad;
	--color_mizu: #e6f0f6;
	--color_aka: #ba0033;
	--color_p: #e995a3;
	--color_pp: #FCEEF0;
	--color_ki: #e6c52c; 
	--color_hai: #ddd8cf;
	--color_k: #051e11;
	/*リンクの色*/
	--color_link:#006DEB;
	/*em*/
	--color_notice:var(--color_aka);
}

/*-------------------------------------------------------------------------------------------------競馬共助会 共通カラー*/
/* 競馬共助会サイト専用カラー */
:root{
	--color-main:#ef4b23;  /*メインカラー（オレンジ）*/
	--color-pale:#f5eddd;  /*薄いカラー（クリーム）*/
	--color-point:#ffd500; /*ポイントカラー（黄色）*/
	--color-text:#333;     /*基本文字色*/
	--action-button-width:300px;
}
body{
	color:var(--color-text);
}
@media screen and (max-width:767px){
	body,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	ul,
	dl,
	input,
	table,
	figure,
	figcaption,
	ol,
	.dot{
		font-size:16px;
	}
}

/*-------------------------------------------------------------------------------------------------競馬共助会 header / mainimg*/
.site_header{
	position:relative;
	width:100%;
	height:154px;
	min-width:0;
	background:#fff;
	z-index:1100;
}
.header_inner{
	width:min(1180px, calc(100% - 60px));
	height:100%;
	margin:0 auto;
	position:relative;
}
.header_logo{
	position:absolute;
	top:25px;
	left:0;
	width:350px;
	line-height:1;
}
.header_logo a,
.header_logo img{
	display:block;
	width:100%;
}
.header_utility{
	position:absolute;
	top:24px;
	right:0;
	display:flex;
	gap:20px;
}
.header_utility a,
.globalnav_utility a{
	display:flex;
	align-items:center;
	justify-content:center;
	height:48px;
	padding:0 31px;
	border:1px solid var(--color-main);
	border-radius:999px;
	color:var(--color-main);
	font-size:1.6rem;
	font-weight:500;
	transition:color .2s, background-color .2s;
}
.header_utility a:hover,
.header_utility a:focus-visible{
	color:#fff;
	background:var(--color-main);
}
.globalnav{
	display:block;
	position:absolute;
	top:95px;
	left:0;
	right:0;
	width:100%;
	height:auto;
	padding:0;
	overflow:visible;
	background:transparent;
	backdrop-filter:none;
	z-index:1000;
	transition:background-color .2s ease, box-shadow .2s ease;
}
.globalnav.is_scrolled{
	position:fixed;
	top:0;
	background:linear-gradient(135deg, rgba(255,255,255,.80), rgba(255,255,255,.68));
	-webkit-backdrop-filter:blur(20px) saturate(150%);
	backdrop-filter:blur(20px) saturate(150%);
	border-bottom:1px solid rgba(70,55,35,.13);
	box-shadow:0 10px 30px rgba(56,45,30,.06), inset 0 1px 0 rgba(255,255,255,.72);
	animation:globalnav_slide_down .35s cubic-bezier(.22,1,.36,1) both;
}
@keyframes globalnav_slide_down{
	from{transform:translateY(-100%);}
	to{transform:translateY(0);}
}
.globalnav_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	width:min(930px, 100%);
	margin:0 auto;
}
.globalnav_item{
	position:relative;
}
.globalnav_sub_overview{
	display:none;
}
.globalnav_item > a{
	display:flex;
	align-items:center;
	justify-content:center;
	height:59px;
	font-size:1.8rem;
	font-weight:500;
	transition:color .2s;
}
.globalnav_item > a:hover,
.globalnav_item > a:focus-visible,
.globalnav_item.current-menu-item > a,
.globalnav_item.current-menu-ancestor > a,
.globalnav_item.current_page_item > a,
.globalnav_item.current_page_ancestor > a{
	color:var(--color-main);
}
.globalnav_sub{
	position:absolute;
	top:59px;
	left:50%;
	width:max-content;
	max-width:calc(100vw - 40px);
	transform:translateX(-50%) translateY(-8px);
	background:#fff;
	border-radius:0 0 20px 20px;
	box-shadow:0 10px 20px rgba(0,0,0,.08);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .2s, transform .2s, visibility .2s;
	overflow:hidden;
}
.globalnav_item:hover .globalnav_sub,
.globalnav_item:focus-within .globalnav_sub,
.globalnav_item.touch_submenu_open .globalnav_sub{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:translateX(-50%) translateY(0);
}
.globalnav_sub a{
	display:block;
	padding:14px 20px;
	font-size:1.8rem;
	font-weight:500;
	white-space:nowrap;
	text-align:left;
	transition:color .2s, background-color .2s;
}
.globalnav_sub li.current-menu-item > a,
.globalnav_sub li.current_page_item > a,
.globalnav_sub a[aria-current="page"]{
	color:var(--color-main);
	background:var(--color-pale);
	font-weight:600;
}
.globalnav_sub a:hover,
.globalnav_sub a:focus-visible{
	color:var(--color-main);
	background:var(--color-pale);
}
@media print, screen and (min-width:768px){
	.globalnav_item > a{
		font-weight:600;
	}
	.globalnav_sub{
		min-width:190px;
	}
}
.visually-hidden{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0, 0, 0, 0) !important;
	clip-path:inset(50%) !important;
	white-space:nowrap !important;
	border:0 !important;
}
.mainimg{
	position:relative;
	padding-bottom:0;
	overflow:hidden;
}
.mainimg_track{
	display:flex;
	gap:18px;
	width:max-content;
	will-change:transform;
	transition:transform .65s cubic-bezier(.22,.61,.36,1), opacity .28s ease;
}
.js .mainimg_track{
	opacity:0;
}
.js .mainimg.is_ready .mainimg_track{
	opacity:1;
}
.mainimg_track.is_jumping{
	transition:none !important;
}
.mainimg_slide{
	flex:0 0 min(1180px, calc(100vw - 220px));
	position:relative;
	height:550px;
	overflow:hidden;
	border-radius:20px;
}
.mainimg_slide picture,
.mainimg_slide img{
	display:block;
	width:100%;
	height:100%;
}
.mainimg_slide img{
	object-fit:cover;
	object-position:center bottom;
}
.mainimg_slide:not(.mainimg_current) img{
	filter:brightness(.9);
}
.mainimg_copy{
	position:absolute;
	top:50px;
	left:60px;
	margin:0;
	padding:0;
	color:#fff;
	font-size:26px;
	font-weight:500;
	line-height:1.45;
	letter-spacing:.06em;
	text-align:left;
}
.mainimg_copy span{
	display:table;
	width:max-content;
	max-width:100%;
	padding:3px 14px;
	background:rgba(51,51,51,.5);
}
.mainimg_copy span + span{
	margin-top:12px;
}
@media screen and (min-width:768px) and (max-width:1100px){
	.mainimg_copy{
		top:40px;
		left:clamp(28px, 4vw, 44px);
		right:clamp(28px, 4vw, 44px);
		font-size:clamp(20px, calc(10px + 1.35vw), 25px);
		letter-spacing:.04em;
	}
	.mainimg_copy span{
		padding-right:10px;
		padding-left:10px;
	}
}
.mainimg_controls{
	position:relative;
	width:min(1180px, calc(100vw - 220px));
	margin:10px auto 0;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
}
.mainimg_dots{
	display:flex;
	align-items:center;
	gap:8px;
}
.mainimg_dot{
	display:block;
	width:10px;
	height:10px;
	padding:0;
	border:0;
	border-radius:50%;
	background:#e7d8c5;
	cursor:pointer;
}
.mainimg_dot.current{background:var(--color-main);}
.mainimg_dot:focus-visible,
.mainimg_toggle:focus-visible{outline:2px solid var(--color-main);outline-offset:3px;}
.mainimg_toggle{
	display:block;
	width:28px;
	height:28px;
	padding:0;
	border:1px solid var(--color-main);
	border-radius:50%;
	background:#fff;
	position:relative;
	cursor:pointer;
}
.mainimg_toggle span::before,
.mainimg_toggle span::after{
	content:"";
	position:absolute;
	top:8px;
	width:2px;
	height:10px;
	background:var(--color-main);
}
.mainimg_toggle span::before{left:9px;}
.mainimg_toggle span::after{right:9px;}
.mainimg_toggle.is_paused span::before{
	top:7px;
	left:10px;
	width:0;
	height:0;
	border-top:6px solid transparent;
	border-bottom:6px solid transparent;
	border-left:9px solid var(--color-main);
	background:transparent;
}
.mainimg_toggle.is_paused span::after{display:none;}

/*----- SP・タブレット共通（〜1199px）：固定ヘッダー／ハンバーガーメニューの基本挙動
        サイズ・余白などブレークポイント固有の値は、このすぐ下のSP専用・タブレット専用ブロックで上書きする -----*/
@media screen and (max-width:1199px){
	.header_inner{width:100%;}
	.site_header{
		position:fixed;
		top:0;
		left:0;
		right:0;
		background:rgba(255,255,255,.84);
		-webkit-backdrop-filter:blur(16px) saturate(140%);
		backdrop-filter:blur(16px) saturate(140%);
		border-bottom:1px solid rgba(255,255,255,.78);
		box-shadow:0 6px 20px rgba(56,45,30,.08);
	}
	.header_logo{
		width:260px;
	}
	.globalnav_btn::after{display:none;}
	.globalnav_btn span,
	.globalnav_btn span:nth-child(1),
	.globalnav_btn span:nth-child(2),
	.globalnav_btn span:nth-child(3){
		width:27px;
		height:2px;
		margin:0;
		background:var(--color-text);
		transition:transform .3s ease, opacity .2s ease;
	}
	.globalnav_btn.open{
		padding:0;
		background:transparent;
	}
	.globalnav_btn.open span{
		width:27px;
		height:2px;
		position:static;
		background:var(--color-text);
	}
	.globalnav_btn.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
	.globalnav_btn.open span:nth-child(2){opacity:0;}
	.globalnav_btn.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}
	.globalnav{
		display:block;
		position:fixed;
		left:0;
		overflow-y:auto;
		background:var(--color-pale);
		z-index:1001;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translateY(-12px);
		transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
	}
	.globalnav.is_scrolled{box-shadow:none;}
	.globalnav.open{
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:translateY(0);
		transition:opacity .3s ease, transform .3s ease, visibility 0s;
	}
	.globalnav:not(.open),
	.globalnav:not(.open) *{
		pointer-events:none !important;
	}
	.globalnav_list{display:block;}
	.globalnav_item{
		display:block;
		margin-bottom:2px;
	}
	.globalnav_item > a{
		display:flex;
		align-items:center;
		justify-content:flex-start;
		position:relative;
		margin:0;
		border-bottom:1px solid rgba(70,55,35,.12);
		color:var(--color-main);
		font-size:1.8rem;
		font-weight:600;
		text-align:left;
		cursor:pointer;
	}
	.globalnav_item > a::before,
	.globalnav_item > a::after{
		content:"";
		position:absolute;
		top:50%;
		height:1.5px;
		border-radius:2px;
		background:currentColor;
		transform:translateY(-50%);
	}
	.globalnav_item > a::after{
		transform:translateY(-50%) rotate(90deg);
		transition:transform .22s ease;
	}
	.globalnav_item.is_submenu_open > a::after{
		transform:translateY(-50%) rotate(0);
	}
	.globalnav_item.is_submenu_open > a{
		border-bottom-color:transparent;
	}
	.globalnav_sub{
		position:static;
		width:100%;
		max-height:0;
		margin:0;
		border:0;
		border-radius:12px;
		transform:none;
		box-shadow:none;
		background:#fff;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		overflow:hidden;
		transition:max-height .28s cubic-bezier(.22,1,.36,1), opacity .18s ease, visibility .18s ease;
	}
	.globalnav_item:not(.is_submenu_open) > .globalnav_sub{
		max-height:0;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
	}
	.globalnav_item.is_submenu_open > .globalnav_sub{
		margin:5px 0 12px;
		opacity:1;
		visibility:visible;
		pointer-events:auto;
		transform:none;
	}
	.globalnav_sub a{
		display:flex;
		align-items:center;
		justify-content:space-between;
		color:var(--color-text);
		background:transparent;
		font-size:1.7rem;
		font-weight:500;
		line-height:1.5;
	}
	.globalnav_sub li + li{
		border-top:1px solid rgba(70,55,35,.1);
	}
	.globalnav_sub_overview{display:block;}
	.globalnav_sub_overview > a{
		color:var(--color-text);
		font-weight:500;
	}
	/* カレント */
	.globalnav_sub li.current-menu-item > a,
	.globalnav_sub li.current_page_item > a,
	.globalnav_sub a[aria-current="page"]{
		color:var(--color-main);
		background:rgba(244,81,30,.08);
		font-weight:600;
	}
	.globalnav_utility{
		display:grid;
		grid-template-columns:1fr 1fr;
	}
	.globalnav_utility a{
		background:#fff;
		height:54px;
		font-weight:600;
	}
	body.menu_open{overflow:hidden;}
	.mainimg_slide{height:auto;}
	.mainimg_copy{line-height:1.4;}
}

@media screen and (max-width: 767px){
	/* SP専用：上の共通ブロックとの差分（サイズ・余白）のみ */
	body{min-width:0;}
	#wrapper{
		width:100%;
		max-width:100%;
		overflow-x:clip;
		overflow-y:visible;
	}
	.site_header{
		width:100%;
		min-width:0;
		height:64px;
	}
	main.page,
	main.page .frame,
	main.page .page_body{
		width:100%;
		max-width:100%;
		min-width:0;
	}
	main.page{
		overflow-x:clip;
	}
	main.page img,
	main.page iframe,
	main.page table{
		max-width:100%;
	}
	main.home{padding-top:64px;}
	.header_logo{
		top:12px;
		left:15px;
		max-width:calc(100% - 77px);
	}
	.globalnav_btn{
		display:flex;
		position:absolute;
		top:0;
		right:0;
		width:64px;
		height:64px;
		padding:0;
		gap:7px;
		border:0;
		background:transparent;
		color:var(--color-text);
		z-index:1002;
	}
	.globalnav{
		top:64px;
		right:0;
		width:auto;
		height:calc(100dvh - 64px);
		padding:18px 20px calc(24px + env(safe-area-inset-bottom));
	}
	.globalnav_item > a{
		min-height:56px;
		padding-right:44px;
	}
	.globalnav_item > a::before,
	.globalnav_item > a::after{
		width:14px;
		right:10px;
	}
	.globalnav_item > a:focus-visible{
		outline:2px solid var(--color-main);
		outline-offset:2px;
	}
	.globalnav_sub a{
		min-height:50px;
		padding:12px 16px;
	}
	.globalnav_utility{
		gap:10px;
		width:100%;
		min-width:0;
		margin-top:16px;
	}
	.globalnav_utility a{
		font-size:1.6rem;
		min-width:0;
		padding:0 10px;
	}
	.mainimg{padding-bottom:0;}
	.mainimg_track{
		display:flex;
		width:max-content;
		margin:0;
		gap:15px;
	}
	.mainimg_slide{
		flex-basis:calc(100vw - 30px);
		aspect-ratio:4 / 5;
		border-radius:12px;
	}
	.mainimg_copy{
		top:25px;
		left:18px;
		right:18px;
		padding:0;
		font-size:18px;
		letter-spacing:.02em;
	}
	.mainimg_copy span{
		padding:1px 7px;
	}
	.mainimg_copy span + span{
		margin-top:7px;
	}
	.mainimg_controls{
		width:calc(100vw - 30px);
		margin-top:10px;
	}
}
@media screen and (min-width:500px) and (max-width:767px){
	.mainimg_copy{
		font-size:24px;
	}
}

/*----- タブレット(768〜1199px)独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	/* タブレット専用：上の共通ブロックとの差分（サイズ・余白）のみ */
	body{min-width:320px;}
	#wrapper{overflow:visible;}
	.site_header{
		height:72px;
	}
	main.home,
	main.page{padding-top:72px;}
	.title_bg{height:130px;}
	.title_bg > .title{
		position:absolute;
		top:50%;
		left:50%;
		width:100%;
		margin:0;
		padding:0 30px;
		text-align:center;
		transform:translate(-50%, -50%);
	}
	.header_logo{
		top:14px;
		left:20px;
		max-width:calc(100% - 90px);
	}
	.site_header .header_utility{display:none;}
	#wrapper .site_header .globalnav_btn{
		display:flex;
		position:absolute;
		top:0;
		right:0;
		width:72px;
		height:72px;
		padding:0;
		gap:7px;
		border:0;
		background:transparent;
		color:var(--color-text);
		z-index:1002;
	}
	.globalnav{
		right:auto;
		top:72px;
		width:100%;
		height:calc(100dvh - 72px);
		padding:22px 30px 36px;
	}
	/* スマホ版と同じアコーディオン構造（開閉トグル） */
	.globalnav_item > a{
		min-height:58px;
		padding:0 48px 0 0;
	}
	.globalnav_item > a::before,
	.globalnav_item > a::after{
		width:15px;
		right:12px;
	}
	.globalnav_sub{
		max-width:none;
	}
	.globalnav_sub a{
		position:relative;
		min-height:52px;
		padding:12px 18px;
	}
	.globalnav_sub a::before{content:none;}
	.globalnav_utility{
		gap:12px;
		margin-top:18px;
	}
	.globalnav_utility a{
		font-size:1.8rem;
		padding:0 8px;
	}

	.mainimg_track{gap:18px;}
	.mainimg_slide{
		flex-basis:calc(100vw - 60px);
		aspect-ratio:16 / 9;
		border-radius:16px;
	}
	.mainimg_copy{
		top:32px;
		left:36px;
		right:36px;
		font-size:clamp(20px, 2.45vw, 24px);
	}
	.mainimg_copy span + span{margin-top:9px;}
	.mainimg_controls{width:calc(100vw - 60px);}
	.mainimg_slide:not(.mainimg_current) img{
		filter:none;
	}
}

/*-------------------------------------------------------------------------------------------------競馬共助会 事業紹介*/
.business_card{
	display:flex;
	flex-direction:column;
	min-width:0;
}
.business_card_content{
	display:flex;
	flex:1;
	flex-direction:column;
}
.business_card_visual{
	position:relative;
	width:100%;
	aspect-ratio:28 / 15;
	overflow:hidden;
	border-radius:20px;
	background:#777;
}
.business_card_visual_link{
	display:none;
}
@media screen and (min-width:1200px){
	.business_card_visual_link{
		position:absolute;
		z-index:2;
		inset:0;
		display:block;
		border-radius:20px;
	}
	.business_card_visual_link:focus-visible{
		outline:3px solid var(--color-main);
		outline-offset:4px;
	}
}
.business_card_visual::after{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.42);
	pointer-events:none;
}
.business_card_image{
	object-position:center;
}
.business_card_heading{
	position:absolute;
	top:50%;
	left:20px;
	right:20px;
	z-index:1;
	margin:0;
	transform:translateY(-50%);
	color:#fff;
	font-size:30px;
	font-weight:600;
	line-height:1.35;
	letter-spacing:.06em;
	text-align:center;
}
.business_card_heading span{
	display:block;
	margin-bottom:2px;
	font-family:"Inter", sans-serif;
	font-size:20px;
	font-weight:500;
	letter-spacing:0;
}
.business_card_text{
	margin:25px 0 0;
}
.business_card_more{
	margin:auto 0 0;
	padding-top:10px;
}
.business_card_more a{
	gap:8px;
	min-height:44px;
	color:var(--color-text);
	font-size:18px;
	font-weight:600;
	transition:color .2s ease;
}
.business_card_more a span{
	color:var(--color-main);
	font-size:18px;
	line-height:1;
	transition:transform .2s;
}
.business_card_more a:hover span,
.business_card_more a:focus-visible span{
	transform:translateX(4px);
}
.business_card_more a:hover,
.business_card_more a:focus-visible{
	color:var(--color-main);
}
.business_card_more a:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:4px;
}
@media screen and (max-width:767px){
	.business_card_visual{
		width:calc(100% + 20px);
		margin-left:-20px;
		margin-right:0;
		border-radius:0 12px 12px 0;
	}
	/* 偶数番目のカードだけ右側へずらす */
	.business_card:nth-child(even) .business_card_visual{
		margin-left:auto;
		margin-right:-20px;
		border-radius:12px 0 0 12px;
	}
	.business_card_heading{
		font-size:26px;
	}
	.business_card_heading span{
		font-size:18px;
	}
	.business_card_text{
		margin-top:20px;
	}
	.business_card_more{
		margin-top:0;
		padding-top:8px;
	}
	.business_card_more a{
		font-size:16px;
	}
}

/*----- タブレット（768〜1199px）独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	.home > section[aria-label="事業紹介"]{
		margin-top:50px !important;
		margin-bottom:70px !important;
	}
	.home > section[aria-label="事業紹介"] > .frame{
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:24px !important;
	}
	.business_card_visual{
		border-radius:16px;
	}
	.business_card_heading{
		left:10px;
		right:10px;
		font-size:clamp(18px, 2.4vw, 24px);
	}
	.business_card_heading span{
		font-size:clamp(15px, 2vw, 19px);
	}
	.business_card_text{
		margin-top:20px;
		font-size:15px !important;
		line-height:1.8 !important;
	}
	.business_card_more{
		padding-top:0;
	}
	.business_card_more a{
		font-size:15px;
		min-height:0;
	}
}

/*-------------------------------------------------------------------------------------------------競馬共助会 関連ページカード*/
.page_card{
	position:relative;
	color:var(--color-text);
	background:#fff;
	-webkit-tap-highlight-color:transparent;
	touch-action:manipulation;
}
.page_card::after{
	content:"";
	position:absolute;
	inset:0;
	border:1px solid var(--color-main);
	border-radius:inherit;
	opacity:0;
	pointer-events:none;
	z-index:2;
	transition:opacity .25s ease;
}
.page_card_visual{
	position:relative;
	aspect-ratio:7 / 4;
}
.page_card_visual img{
	transition:transform .7s ease;
}
.page_card_body{
	gap:8px;
	min-height:80px;
	transition:color .2s ease;
}
.page_card_arrow{
	color:var(--color-main);
	font-size:18px;
	line-height:1;
	transition:transform .2s;
}
.page_card:focus-visible::after{opacity:1;}
.page_card:focus-visible .page_card_body{
	color:var(--color-main);
}
.page_card:focus-visible .page_card_arrow{
	transform:translateX(4px);
}
@media (hover:hover) and (pointer:fine){
	.page_card:hover::after{opacity:1;}
	.page_card:hover .page_card_visual img{
		transform:scale(1.06);
	}
	.page_card:hover .page_card_arrow{
		transform:translateX(4px);
	}
	.page_card:hover .page_card_body{
		color:var(--color-main);
	}
}
@media (hover:none), (pointer:coarse){
	body.is_touch_input .page_card:focus-visible{
		outline:none;
	}
	body.is_touch_input .page_card:focus-visible::after{opacity:0;}
	body.is_touch_input .page_card:focus-visible .page_card_body{color:var(--color-text);}
	body.is_touch_input .page_card:focus-visible .page_card_arrow{transform:none;}
	body.is_touch_input .page_card.is_tapped::after{opacity:1;}
	body.is_touch_input .page_card.is_tapped .page_card_body{color:var(--color-main);}
	body.is_touch_input .page_card.is_tapped .page_card_arrow{transform:translateX(4px);}
}
.page_card:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:3px;
}
@media screen and (max-width:767px){
	.page_card_visual{
		aspect-ratio:16 / 8.5;
	}
	.page_card_body{
		min-height:64px;
		padding:10px 16px !important;
		font-size:16px !important;
	}
}

/*----- タブレット(768〜1199px)独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	.page_cards{padding-top:55px !important;padding-bottom:55px !important;}
	.page_cards > .frame{
		grid-template-columns:repeat(3, minmax(0, 1fr));
		gap:20px !important;
	}
	body .page_card.rad20{border-radius:16px;}
	.page_card_body{
		min-height:68px;
		padding-right:14px !important;
		padding-left:14px !important;
		font-size:16px !important;
	}
}

/*-------------------------------------------------------------------------------------------------競馬共助会 お知らせ・関連施設*/
.home_racecourse{
	height:450px;
	overflow:hidden;
}
.home_racecourse img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 65%;
}
.home_section_title{
	margin:0;
	font-size:32px;
	font-weight:700;
	line-height:1.4;
	text-align:center;
}
.home_news{
	position:relative;
	z-index:auto;
	padding:90px 0 50px;
	background:transparent;
}
.home_news > .frame{
	position:relative;
	z-index:4;
}
.home_news_more{
	position:relative;
	z-index:4;
	margin:48px 0 0;
	text-align:center;
}
.home_news_more a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:min(var(--action-button-width), 100%);
	min-height:58px;
	padding:12px 30px;
	border:1px solid var(--color-main);
	border-radius:999px;
	color:var(--color-main);
	font-size:18px;
	font-weight:700;
	text-decoration:none;
	transition:color .25s ease, background-color .25s ease;
}
.home_news_more a:hover,
.home_news_more a:focus-visible{
	color:#fff;
	background:var(--color-main);
}
.home_facilities_curve{
	position:relative;
	z-index:3;
	width:100vw;
	height:15vw;
	margin-top:-10vw;
	margin-left:calc(50% - 50vw);
	background-color:#f7f2e6;
	background-image:url("../images/curve.svg"), url("../images/bg_suna.webp");
	background-position:center top, center top;
	background-repeat:no-repeat, repeat;
	background-size:100% 100%, 1400px auto;
	box-shadow:inset 0 2px 0 #fff;
	pointer-events:none;
}
.home_facilities{
	position:relative;
	z-index:0;
	width:100%;
	overflow:hidden;
	margin-top:-1px;
	background:#f7f2e6 url("../images/bg_suna.webp") center top / 1400px auto repeat;
}
.home_facilities_horses{
	display:block;
	width:320px;
	height:auto;
	position:absolute;
	bottom:-35px;
	right:0;
	left:0;
	margin:0 auto;
	z-index:3;
}
.home_facilities_list{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:60px;
	margin-top:45px;
}
.home_facility{
	position:relative;
	display:grid;
	grid-template-columns:46% minmax(0, 1fr);
	min-height:180px;
	overflow:hidden;
	background:#fff;
	border:0;
	border-radius:20px;
	color:var(--color-text);
	text-decoration:none;
	transition:box-shadow .25s ease;
}
.home_facility::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:2;
	border:1px solid transparent;
	border-radius:inherit;
	pointer-events:none;
	transition:border-color .25s ease;
}
.home_facility_image_wrap{
	display:block;
	width:100%;
	height:100%;
	min-width:0;
	overflow:hidden;
}
.home_facility_image{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	transition:transform .5s ease;
}
.home_facility_body{
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:25px 24px 18px;
}
.home_facility_body h3,
.home_facility_body p{
	margin:0;
}
.home_facility_body h3{
	font-size:24px;
	line-height:1.4;
	transition:color .2s ease;
}
.home_facility_body > p:not(.home_facility_more){
	margin-top:8px;
	font-size:15px;
	font-weight:600;
	line-height:1.65;
}
.home_facility_more{
	margin-top:auto !important;
	padding-top:12px;
	text-align:right;
	display:inline-flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	color:var(--color-text);
	font-size:16px;
	font-weight:600;
	text-decoration:none;
}
.home_facility_more span{
	color:var(--color-main);
	font-size:18px;
	transition:transform .2s ease;
}
.home_facility:hover,
.home_facility:focus-visible{
	box-shadow:none;
}
.home_facility:hover::after,
.home_facility:focus-visible::after{
	border-color:var(--color-main);
}
.home_facility:hover .home_facility_image,
.home_facility:focus-visible .home_facility_image{
	transform:scale(1.08);
}
.home_facility:hover .home_facility_more span,
.home_facility:focus-visible .home_facility_more span{
	transform:translateX(4px);
}
.home_facility:hover .home_facility_more,
.home_facility:focus-visible .home_facility_more{
	color:var(--color-main);
}
.home_facility:hover .home_facility_body h3,
.home_facility:focus-visible .home_facility_body h3{
	color:var(--color-main);
}
@media screen and (max-width:767px){
	.home_racecourse{
		height:200px;
	}
	.home_racecourse img{
		object-position:center 62%;
	}
	.home_section_title{
		font-size:28px;
	}
	.home_news{
		padding:50px 0 35px;
	}
	.home_news_more{
		margin-top:32px;
	}
	.home_news_more a{
		width:min(280px, 78%);
		min-height:52px;
	}
	.home_facilities_curve{
		height:15vw;
		min-height:56px;
		margin-top:-20px;
		background-size:100% 100%, 700px auto;
	}
	.home_facilities{
		background-size:700px auto;
	}
	.home_facilities_horses{
		width:210px;
		max-width:65%;
		bottom:-28px;
	}
	.home_facilities_list{
		grid-template-columns:1fr;
		gap:25px;
		margin-top:30px;
	}
	.home_facility{
		grid-template-columns:34% minmax(0, 1fr);
		min-height:122px;
		border-radius:16px;
	}
	.home_facility_body{
		display:block;
		padding:12px 14px 9px;
	}
	.home_facility_body h3{
		font-size:18px;
	}
	.home_facility_body > p:not(.home_facility_more){
		margin-top:3px;
		font-size:10px;
		line-height:1.45;
	}
	.home_facility_more{
		display:flex;
		align-items:center;
		justify-content:flex-end;
		margin:5px 0 0 !important;
		padding-top:0;
		gap:7px;
		font-size:14px;
	}
}

@media screen and (max-width:400px){
	.home_facility{
		grid-template-columns:34% minmax(0, 1fr);
	}
	.home_facility_body{
		padding-right:12px;
		padding-left:12px;
	}
	.home_facility_body h3{
		font-size:18px;
	}
	.home_facility_body > p:not(.home_facility_more){
		font-size:12px;
	}
}

/*----- タブレット(768〜1199px)独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	.home_racecourse{height:320px;}
	.home_racecourse img{object-position:center 65%;}
	.home_section_title{font-size:30px;}
	.home_news{padding:65px 0 42px;}
	.home_news .list_topics_waku{margin-top:35px;}
	.home_news .list_topics > a{
		grid-template-columns:82px 110px minmax(0, 1fr);
		grid-template-rows:auto auto;
		column-gap:14px;
		row-gap:9px;
		min-height:0;
		padding:18px 0 20px;
	}
	.home_news .list_topics time{grid-column:1;grid-row:1;width:82px;}
	.home_news .list_topics .news_category{
		grid-column:2;
		grid-row:1;
		width:110px;
		min-width:110px;
		max-width:110px;
	}
	.home_news .list_topics .news_title{
		grid-column:1 / -1;
		grid-row:2;
		min-width:0;
		font-size:16px;
		line-height:1.6;
		white-space:normal;
		overflow-wrap:anywhere;
	}
	.home_news_more{margin-top:36px;}
	.home_facilities_curve{
		margin-top:-7vw;
		background-size:100% 100%, 1000px auto;
	}
	.home_facilities_horses{width:340px;bottom:-22px;}
	.home_facilities{
		padding-top:55px !important;
		padding-bottom:65px !important;
		background-size:1000px auto;
	}
	.home_facilities_list{
		grid-template-columns:1fr;
		gap:24px;
		width:min(680px, 100%);
		margin:32px auto 0;
	}
	.home_facility{
		min-height:176px;
		border-radius:16px;
	}
	.home_facility_body{padding:22px 24px 16px;}
	.home_facility_body h3{font-size:22px;}
}

/*-------------------------------------------------------------------------------------------------競馬共助会 footer*/
.site_footer{
	position:relative;
	margin-top:auto;
	padding:0;
	color:var(--color-text);
	background:#fff;
	text-align:left;
}
.footer_visual,
.footer_visual img{
	display:block;
	width:100%;
	height:220px;
}
.footer_visual img{
	object-fit:cover;
	object-position:center bottom;
}
.footer_content{
	padding:100px 30px 50px;
}
.footer_sitemap{
	display:grid;
	grid-template-columns:repeat(5, auto);
	justify-content:space-between;
	gap:40px;
	width:min(1180px, 100%);
	margin:0 auto;
}
.footer_sitemap_group h2,
.footer_sitemap_group ul{
	margin:0;
}
.footer_sitemap_group h2,
.footer_sitemap_group a{
	font-size:16px;
	font-weight:600;
	line-height:1.65;
}
.footer_sitemap_group h2 a{
	color:var(--color-main);
}
.footer_sitemap_group a{
	display:inline-block;
	color:var(--color-text);
	text-decoration:none;
}
.footer_sitemap_group a:hover{
	color:var(--color-main);
	text-decoration:underline;
	text-underline-offset:.2em;
}
.footer_sitemap_group a:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:3px;
}
.footer_company{
	margin:100px auto 0;
	font-style:normal;
	text-align:center;
}
.footer_company_name{
	margin:0;
	font-size:20px;
	font-weight:600;
	line-height:1.5;
}
.footer_company_details{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:0 24px;
	margin:12px 0 0;
	font-size:16px;
	font-weight:400;
	line-height:1.75;
}
.footer_copyright{
	display:flex;
	align-items:center;
	justify-content:center;
	height:50px;
	padding:0 20px;
	color:#fff;
	background:var(--color-main);
	font-family:"Inter", sans-serif;
	font-size:14px;
	font-weight:400;
	line-height:1.2;
	letter-spacing:.04em;
	text-align:center;
}

@media screen and (max-width:767px){
	.footer_visual,
	.footer_visual img{
		height:100px;
	}
	.footer_content{
		padding:50px 20px 30px;
	}
	.footer_sitemap{
		display:block;
		width:100%;
	}
	.footer_sitemap_group h2,
	.footer_sitemap_group a{
		font-size:16px;
		font-weight:600;
		line-height:1.5;
	}
	.footer_sitemap_group a{
		display:flex;
		align-items:center;
		min-height:44px;
	}
	.footer_sitemap_group li + li{
		margin-top:0;
	}
	.footer_company{
		margin-top:50px;
	}
	.footer_company_name{
		font-size:20px;
	}
	.footer_company_details{
		display:grid;
		grid-template-columns:max-content max-content;
		justify-content:center;
		column-gap:14px;
		margin-top:12px;
		font-size:16px;
		line-height:1.6;
	}
	.footer_company_details span:nth-child(-n+2){
		grid-column:1 / -1;
		display:block;
	}
	.footer_company_details span:nth-child(n+3){
		white-space:nowrap;
	}
	.footer_company_details span:nth-child(4){
		margin-left:0;
	}
	.footer_copyright{
		height:40px;
		padding:0 8px;
		font-size:12px;
		letter-spacing:.02em;
		white-space:nowrap;
	}
}

/*----- タブレット(768〜1199px)独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	#wrapper .site_footer .footer_visual.pc{display:none;}
	#wrapper .site_footer .footer_visual.sp{display:block;}
	.footer_visual,
	.footer_visual img{height:clamp(150px, 20vw, 200px);}
	.footer_content{padding:50px 20px 30px;}
	.footer_sitemap{display:block;width:100%;}
	.footer_sitemap_group.pc{display:none;}
	.footer_sitemap_group h2,
	.footer_sitemap_group a{font-size:16px;font-weight:600;line-height:1.5;}
	.footer_sitemap_group a{display:flex;align-items:center;min-height:44px;}
	.footer_sitemap_group li + li{margin-top:0;}
	.footer_company{margin-top:50px;}
	.footer_company_name{font-size:20px;}
	.footer_company_details{display:block;margin-top:12px;font-size:16px;line-height:1.6;}
	.footer_company_details span:nth-child(-n+2){display:block;}
	.footer_company_details span:nth-child(4){margin-left:12px;}
	.footer_copyright{height:40px;padding:0 8px;font-size:12px;letter-spacing:.02em;white-space:nowrap;}
}

/*-------------------------------------------------------------------------------------------------お知らせ共通リスト*/
/*-------------------------list_topics_waku*/
.list_topics_waku{
	display:flex;
	flex-direction:column;
	width:100%;
	max-width:100%;
	margin:45px auto 0;
	padding:0;
	border-top:1px solid #cfcfcf;
	list-style:none;
}
/*-------------------------list_topics*/
.list_topics{
	position:relative;
	width:100%;
	max-width:none;
	margin:0;
	border-bottom:1px solid #cfcfcf;
	font-size:16px;
	line-height:1.6;
	list-style:none;
}
.list_topics.has_edit_link > a{
	padding-right:82px;
}
.list_topics > .hensyu{
	top:50%;
	transform:translateY(-50%);
}
.list_topics > a{
	display:grid;
	grid-template-columns:max-content 120px minmax(0, 1fr);
	align-items:center;
	column-gap:30px;
	width:100%;
	min-height:80px;
	padding:18px 0;
	color:var(--color-text);
	font-weight:400;
	text-align:left;
	text-decoration:none;
	transition:color .2s ease, background-color .2s ease;
}
.list_topics > a:hover,
.list_topics > a:focus-visible{
	color:var(--color-main);
	background:rgba(244,81,30,.035);
}
.list_topics > a:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:3px;
}
.list_topics time{
	font-family:"Inter", sans-serif;
	font-size:90%;
	font-weight:600;
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.list_topics .news_title{
	font-size:18px;
	font-weight:400;
}
.list_topics .news_category{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	justify-self:start;
	box-sizing:border-box;
	width:120px;
	min-height:30px;
	padding:3px 10px;
	border:1px solid var(--color-main);
	border-radius:5px;
	color:var(--color-main);
	font-size:13px;
	font-weight:600;
	line-height:1.3;
	text-align:center;
	white-space:nowrap;
}
@media screen and (max-width: 767px) {
	.list_topics_waku{
		margin-top:25px;
	}
	.list_topics{
		font-size:16px;
	}
	.list_topics > a{
		grid-template-columns:76px 100px minmax(0, 1fr);
		grid-template-rows:auto auto;
		justify-content:start;
		column-gap:12px;
		row-gap:8px;
		min-width:0;
		max-width:100%;
		min-height:0;
		padding:18px 0 20px;
	}
	.list_topics.has_edit_link > a{
		padding-right:62px;
	}
	.list_topics > .hensyu{
		top:14px;
		transform:none;
	}
	#wrapper .list_topics > .hensyu a{
		min-width:46px;
		padding:7px 10px;
		font-size:13px;
	}
	.list_topics time{
		grid-column:1;
		grid-row:1;
		width:76px;
	}
	.list_topics .news_category{
		grid-column:2;
		grid-row:1;
		justify-self:start;
		width:100px;
		min-width:100px;
		max-width:100px;
		min-height:24px;
		padding:2px 9px;
		font-size:10px;
		white-space:nowrap;
	}
	.list_topics .news_title{
		grid-column:1 / -1;
		grid-row:2;
		min-width:0;
		max-width:100%;
		font-size:16px;
		font-weight:400;
		line-height:1.55;
		white-space:normal;
		overflow-wrap:anywhere;
		word-break:break-word;
	}
}
/*-------------------------------------------------------------------------------------------------otoiawase*/
#otoiawase > summary::-webkit-details-marker {
	display: none;
}
#otoiawase[open] > summary {
	display: none;
}

/*-------------------------------------------------------------------------------------------------特色border_color*/
body .sen_kon{border-color:var(--color_kon);}
body .sen_ao{border-color:var(--color_ao);}
body .sen_mizu{border-color:var(--color_mizu);}
body .sen_aka{border-color:var(--color_aka);}
body .sen_p{border-color:var(--color_p);}
body .sen_pp{border-color:var(--color_pp);}
body .sen_ki{border-color:var(--color_ki);}
body .sen_hai{border-color:var(--color_hai);}
body .sen_k{border-color:var(--color_k);}
body .sen_main{border-color:var(--color-main);}
body .sen_pale{border-color:var(--color-pale);}
body .sen_point{border-color:var(--color-point);}
/*-------------------------------------------------------------------------------------------------特色bg*/
body .bg_kon{background-color:var(--color_kon);}
body .bg_ao{background-color:var(--color_ao);}
body .bg_mizu{background-color:var(--color_mizu);}
body .bg_aka{background-color:var(--color_aka);}
body .bg_p{background-color:var(--color_p);}
body .bg_pp{background-color:var(--color_pp);}
body .bg_ki{background-color:var(--color_ki);}
body .bg_hai{background-color:var(--color_hai);}
body .bg_k{background-color:var(--color_k);}
body .bg_main{background-color:var(--color-main);}
body .bg_pale{background-color:var(--color-pale);}
body .bg_point{background-color:var(--color-point);}
/*-------------------------------------------------------------------------------------------------特色text_color*/
body .tx_kon{color:var(--color_kon);}
body .tx_ao{color:var(--color_ao);}
body .tx_mizu{color:var(--color_mizu);}
body .tx_aka{color:var(--color_aka);}
body .tx_p{color:var(--color_p);}
body .tx_pp{color:var(--color_pp);}
body .tx_ki{color:var(--color_ki);}
body .tx_hai{color:var(--color_hai);}
body .tx_k{color:var(--color_k);}
body .tx_main{color:var(--color-main);}
body .tx_pale{color:var(--color-pale);}
body .tx_point{color:var(--color-point);}
/*-------------------------------------------------------------------------------------------------特色ya*/
body .ya_kon::before{border-color:transparent transparent transparent var(--color_kon);}
body .ya_ao::before{border-color:transparent transparent transparent var(--color_ao);}
body .ya_mizu::before{border-color:transparent transparent transparent var(--color_mizu);}
body .ya_aka::before{border-color:transparent transparent transparent var(--color_aka);}
body .ya_p::before{border-color:transparent transparent transparent var(--color_p);}
body .ya_pp::before{border-color:transparent transparent transparent var(--color_pp);}
body .ya_ki::before{border-color:transparent transparent transparent var(--color_ki);}
body .ya_hai::before{border-color:transparent transparent transparent var(--color_hai);}
body .ya_k::before{border-color:transparent transparent transparent var(--color_k);}
body .ya_main::before{border-color:transparent transparent transparent var(--color-main);}
body .ya_pale::before{border-color:transparent transparent transparent var(--color-pale);}
body .ya_point::before{border-color:transparent transparent transparent var(--color-point);}
/*-------------------------------------------------------------------------------------------------組織図*/
.organization_chart_guide{
	display:none;
}
.organization_chart_scroll{
	width:100%;
	overflow-x:auto;
	padding:5px 0 15px;
	-webkit-overflow-scrolling:touch;
}
.organization_chart{
	position:relative;
	width:960px;
	min-width:960px;
	height:690px;
	margin:0 auto;
}
.organization_lines{
	position:absolute;
	z-index:0;
	top:0;
	left:0;
	display:block;
	width:960px;
	height:690px;
	overflow:visible;
}
.organization_lines line{
	stroke:#aaa;
	stroke-width:1;
	shape-rendering:crispEdges;
	vector-effect:non-scaling-stroke;
}
.organization_box{
	position:absolute;
	z-index:1;
	box-sizing:border-box;
	display:flex;
	justify-content:center;
	align-items:center;
	min-height:50px;
	padding:10px 14px;
	border:1px solid #bbb;
	background:#fff;
	text-align:center;
	line-height:1.5;
}
.organization_box--root{
	left:10px;
	width:150px;
	height:70px;
	border-color:#777;
	background:#fff8f5;
	font-weight:700;
}
.organization_box--w160{
	width:160px;
	height:50px;
}
.organization_box--head{
	top:170px;
}
.organization_box--stable-department{
	top:10px;
	left:200px;
}
.organization_box--stable-section{
	top:10px;
	left:400px;
}
.organization_box--general-department{
	top:75px;
	left:200px;
}
.organization_box--general-section{
	top:75px;
	left:400px;
}
.organization_box--accounting-department{
	top:140px;
	left:200px;
}
.organization_box--accounting-section{
	top:140px;
	left:400px;
}
.organization_box--business-department{
	top:275px;
	left:200px;
	width:160px;
	height:50px;
}
.organization_box--business-section{
	top:215px;
	left:400px;
}
.organization_box--business-offices{
	top:150px;
	left:600px;
	width:300px;
	height:180px;
}
.organization_box--kansai-section{
	top:335px;
	left:400px;
}
.organization_box--kansai-offices{
	top:335px;
	left:600px;
	width:300px;
	height:50px;
}
.organization_box--offices{
	justify-content:flex-start;
	padding:20px 18px;
	text-align:left;
}
.organization_box--offices ul{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:10px 18px;
	width:100%;
	margin:0;
	padding:0;
	list-style:none;
}
.organization_box--offices li{
	position:relative;
	padding-left:10px;
	white-space:nowrap;
}
.organization_box--offices li::before{
	content:"";
	position:absolute;
	top:.7em;
	left:0;
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--color-main);
}
.organization_box--miho{
	top:440px;
}
.organization_box--miho-general{
	top:430px;
	left:200px;
}
.organization_box--miho-clinic{
	top:490px;
	left:200px;
}
.organization_box--ritto{
	top:570px;
}
.organization_box--ritto-general{
	top:560px;
	left:200px;
}
.organization_box--ritto-clinic{
	top:620px;
	left:200px;
}

/*----組織図：タブレット・スマートフォン----*/
@media screen and (max-width:1199px){
	.organization_chart_guide{
		display:flex;
		justify-content:center;
		align-items:center;
		gap:8px;
		width:fit-content;
		margin:0 auto 18px;
		padding:7px 15px;
		border:1px solid #f4c5b9;
		border-radius:999px;
		color:#9b3a21;
		background:#fff8f5;
		font-size:13px;
		font-weight:500;
		line-height:1.5;
	}
}
@media screen and (max-width:767px){
	.organization_chart_scroll{
		margin-right:-20px;
		padding-right:20px;
		padding-bottom:18px;
	}
	.organization_chart{
		margin:0;
	}
	.organization_box{
		font-size:14px;
	}
}

/*-------------------------------------------------------------------------------------------------お知らせ*/
/*-------------------------お知らせ一覧*/
.topics_content{
	display:grid;
	grid-template-columns:minmax(0,1fr) 200px;
	align-items:start;
	gap:50px;
	margin-top:50px;
	margin-bottom:100px;
}
@media screen and (max-width: 767px) {
	.topics_content{
		grid-template-columns:1fr;
		gap:50px;
		margin-top:30px;
		margin-bottom:70px;
	}
}
.topics_section_heading{
	display:flex;
	align-items:baseline;
	gap:14px;
	margin-bottom:14px;
}
.topics_section_heading h2{
	margin:0;
	font-size:26px;
	font-weight:700;
	letter-spacing:.08em;
}
.topics_section_heading p{
	margin:0;
	color:var(--color-main);
	font-family:"Inter",sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:.12em;
}
@media screen and (max-width: 767px) {
	.topics_section_heading{
		margin-bottom:10px;
	}
	.topics_section_heading h2{
		font-size:24px;
	}
}
.topics_sidebar{
	display:grid;
	gap:40px;
}
.topics_filter{
	padding:0;
	background:#FFF;
}
.topics_filter_title{
	margin:0;
	padding:12px 0 14px;
	border-bottom:2px solid var(--color-main);
	font-size:18px;
	font-weight:700;
}
.topics_filter_list{
	margin:0;
	padding:0;
	list-style:none;
}
.topics_filter_list li{
	margin:0;
	border-bottom:1px solid #d8d8d8;
}
.topics_filter_list a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:48px;
	padding:10px 0;
	color:var(--color-text);
	font-size:18px;
	font-weight:400;
	text-decoration:none;
	transition:color .2s ease,background-color .2s ease;
}
@media screen and (min-width: 768px) {
	.topics_filter_list a{
		padding-block:13px;
	}
}
.topics_filter_list a:hover,
.topics_filter_list a:focus-visible,
.topics_filter_list a.is-current{
	color:var(--color-main);
	background:rgba(244,81,30,.035);
}
@media screen and (max-width: 767px) {
	.topics_sidebar{
		gap:20px;
	}
	.topics_filter{
		padding:0;
	}
	.topics_filter_list a{
		font-size:16px;
	}
}
.pagination{
	margin-top:50px;
}
@media screen and (max-width: 767px) {
	.pagination{
		margin-top:35px;
	}
}
.pagination ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}
.pagination a,
.pagination [aria-current="page"]{
	display:grid;
	place-items:center;
	box-sizing:border-box;
	min-width:44px;
	height:44px;
	padding:0 12px;
	border:1px solid var(--color-main);
	border-radius:50%;
	color:var(--color-main);
	background:#FFF;
	font-family:"Inter",sans-serif;
	font-size:14px;
	font-weight:600;
	line-height:1;
	text-decoration:none;
	transition:color .2s ease,background-color .2s ease;
}
.pagination .pagination_prev,
.pagination .pagination_next{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:32px;
	height:44px;
	padding:0;
	border:0;
	border-radius:0;
	color:var(--color-main);
	background:transparent;
	font-family:inherit;
	font-size:26px;
	font-weight:400;
	line-height:1;
	transition:color .2s ease;
}
.pagination .pagination_prev:hover,
.pagination .pagination_prev:focus-visible,
.pagination .pagination_next:hover,
.pagination .pagination_next:focus-visible{
	color:var(--color-main);
	background:transparent;
}
.pagination .pagination_prev span,
.pagination .pagination_next span{
	display:block;
	transition:transform .2s ease;
}
.pagination .pagination_prev:hover span,
.pagination .pagination_prev:focus-visible span{
	transform:translateX(-4px);
}
.pagination .pagination_next:hover span,
.pagination .pagination_next:focus-visible span{
	transform:translateX(4px);
}
.pagination [aria-current="page"],
.pagination a:hover,
.pagination a:focus-visible{
	color:#FFF;
	background:var(--color-main);
}

/*-------------------------お知らせ詳細*/
/* 共通のheader指定が記事ヘッダーへ干渉するのを防止 */
.topics_detail_header{
	position:static;
	top:auto;
	right:auto;
	z-index:auto;
	width:auto;
	max-width:none;
	min-width:0;
	height:auto;
	text-align:left;
	transition:none;
	padding-bottom:28px;
	border-bottom:1px solid #d8d8d8;
}
.topics_detail_header.has_edit_link{
	position:relative;
	padding-right:82px;
}
.topics_detail_meta{
	display:flex;
	align-items:center;
	gap:20px;
	margin:0 0 18px;
}
.topics_detail_meta time{
	font-family:"Inter",sans-serif;
	font-size:80%;
	font-weight:600;
	font-variant-numeric:tabular-nums;
	white-space:nowrap;
}
.topics_detail_category{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:120px;
	min-height:30px;
	padding:3px 10px;
	border:1px solid var(--color-main);
	border-radius:5px;
	color:var(--color-main);
	font-weight:600;
	font-size:13px;
	line-height:1.3;
	text-align:center;
	white-space:nowrap;
	text-decoration:none;
	transition:background-color .2s ease;
}
.topics_detail_category:hover,
.topics_detail_category:focus-visible{
	background:#fff4ef;
}
.topics_detail_category:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:3px;
}
.topics_detail_title{
	margin:0;
	font-size:30px;
	font-weight:500;
	line-height:1.4;
	letter-spacing:.04em;
}
.topics_detail_body{
	margin-top:50px;
	font-size:16px;
	line-height:2;
}
.topics_detail_body > *:first-child{
	margin-top:0;
}
.topics_detail_body p{
	margin:0 0 1.8em;
}
.topics_detail_body h2{
	position:relative;
	box-sizing:border-box;
	margin:70px 0 30px;
	padding-bottom:.4em;
	border-bottom:.18em solid #eee9df;
	font-size:26px;
	font-weight:600;
	line-height:1.5;
	letter-spacing:.04em;
}
.topics_detail_body h2::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-.18em;
	width:min(34%, 7.7em);
	height:.18em;
	background:var(--color-main);
}
.topics_detail_body > h2:first-child{
	margin-top:0;
}
.topics_detail_body h3{
	box-sizing:border-box;
	margin:50px 0 20px;
	padding:.2em 0 .2em .8em;
	border-left:.24em solid var(--color-main);
	font-size:24px;
	font-weight:600;
	line-height:1.5;
	letter-spacing:.04em;
}

/* お知らせ詳細：ビジュアルエディタ基本装飾
-------------------------------------------------- */

/* 本文内のリンク */
.topics_detail_body a{
	color:var(--color_link);
	text-decoration:underline;
	text-underline-offset:.15em;
	cursor:pointer;
}

.topics_detail_body a:hover,
.topics_detail_body a:focus-visible{
	text-decoration:none;
}

/* 外部リンク・ファイルリンクのアイコン */
.topics_detail_body a[target="_blank"]::before,
.topics_detail_body a[href*=".pdf" i]::before,
.topics_detail_body a[href*=".xls" i]::before,
.topics_detail_body a[href*=".doc" i]::before,
.topics_detail_body a[href*=".ppt" i]::before{
	content:"";
	display:inline-block;
	width:1em;
	height:1em;
	margin:-.2em .2em 0 .2em;
	vertical-align:middle;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}

/* 外部リンク */
.topics_detail_body a[target="_blank"]::before{
	background-image:url(images/icon_blank.svg);
}

/* PDF */
.topics_detail_body a[href*=".pdf" i]::before{
	background-image:url(images/icon_pdf.svg);
}

/* Excel */
.topics_detail_body a[href*=".xls" i]::before{
	background-image:url(images/icon_excel.svg);
}

/* Word */
.topics_detail_body a[href*=".doc" i]::before{
	background-image:url(images/icon_word.svg);
}

/* PowerPoint */
.topics_detail_body a[href*=".ppt" i]::before{
	background-image:url(images/icon_ppt.svg);
}

/* 見出し4
class="tx_line bold pc_fs22 sp_fs20 pc_mt30 sp_mt30 mb20" と同等 */
.topics_detail_body h4{
	margin:30px 0 20px;
	padding-bottom:.1em;
	border-bottom:1px solid var(--color-main);
	font-size:22px;
	font-weight:700;
	line-height:1.5;
}

/* イタリック */
.topics_detail_body em,
.topics_detail_body i{
	color:inherit;
	font-style:italic;
	font-weight:inherit;
}

/* 箇条書き */
.topics_detail_body ul{
	margin:1.5em 0;
	padding-left:1.5em;
	list-style-type:disc;
}

.topics_detail_body ul > li{
	display:list-item;
	list-style-type:disc;
}

.topics_detail_body ul > li + li{
	margin-top:.4em;
}

/* 番号付きリスト */
.topics_detail_body ol{
	margin:1.5em 0;
	padding-left:1.6em;
	list-style-type:decimal;
}

.topics_detail_body ol > li{
	display:list-item;
	list-style-type:decimal;
}

.topics_detail_body ol > li + li{
	margin-top:.4em;
}

/* 引用 */
.topics_detail_body blockquote{
	margin:1.8em 0;
	padding:20px 24px;
	border-left:4px solid var(--color-main);
	background:rgba(245,237,221,.45);
	color:var(--color-text);
	line-height:1.8;
}

.topics_detail_body blockquote > :first-child{
	margin-top:0;
}

.topics_detail_body blockquote > :last-child{
	margin-bottom:0;
}

/* 囲み枠 */
.topics_box{
	margin:20px 0;
	padding:18px 22px;
	border:1px solid #ddd8cf;
	border-radius:5px;
	background:#fff;
}

@media screen and (max-width:767px){
	.topics_detail_body h4{
		margin:30px 0 20px;
		font-size:20px;
	}
	.topics_detail_body ul,
	.topics_detail_body ol{
		padding-left:1.4em;
	}
	.topics_detail_body blockquote{
		padding:16px 18px;
	}
}
.topics_detail_pager{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:start;
	gap:30px;
	margin-top:70px;
	padding-top:40px;
	border-top:1px solid #D9D9D9;
}
.topics_detail_prev,
.topics_detail_next{
	display:flex;
	flex-direction:column;
	min-height:44px;
	color:var(--color-text);
	text-decoration:none;
	transition:color .2s ease;
}
.topics_detail_prev{
	align-items:flex-start;
	justify-self:start;
	text-align:left;
}
.topics_detail_next{
	align-items:flex-end;
	justify-self:end;
	text-align:right;
}
/* 前の記事がなく、次の記事だけの場合は右カラムへ配置 */
.topics_detail_pager > .topics_detail_next:first-child{
	grid-column:2;
}
.topics_detail_pager_label{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:500;
}
.topics_detail_pager_arrow{
	color:var(--color-main);
	line-height:1;
	transition:transform .2s ease;
}
.topics_detail_pager_date{
	margin-top:10px;
	color:#777;
	font-size:13px;
	line-height:1.5;
	transition:color .2s ease;
}
.topics_detail_pager_title{
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
	margin-top:4px;
	font-size:14px;
	line-height:1.65;
}
.topics_detail_prev:hover,
.topics_detail_prev:focus-visible,
.topics_detail_next:hover,
.topics_detail_next:focus-visible{
	color:var(--color-main);
}
.topics_detail_prev:hover .topics_detail_pager_date,
.topics_detail_prev:focus-visible .topics_detail_pager_date,
.topics_detail_next:hover .topics_detail_pager_date,
.topics_detail_next:focus-visible .topics_detail_pager_date{
	color:var(--color-main);
}
.topics_detail_prev:hover .topics_detail_pager_arrow,
.topics_detail_prev:focus-visible .topics_detail_pager_arrow{
	transform:translateX(-4px);
}
.topics_detail_next:hover .topics_detail_pager_arrow,
.topics_detail_next:focus-visible .topics_detail_pager_arrow{
	transform:translateX(4px);
}
.topics_detail_prev:focus-visible,
.topics_detail_next:focus-visible{
	outline:2px solid var(--color-main);
	outline-offset:4px;
}
@media screen and (max-width:767px){
	.topics_detail_header{
		padding-bottom:22px;
	}
	.topics_detail_meta{
		gap:12px;
		margin:0 0 14px;
	}
	.topics_detail_category{
		width:100px;
		min-width:100px;
		max-width:100px;
		min-height:24px;
		padding:2px 9px;
		font-size:10px;
	}
	.topics_detail_title{
		font-size:26px;
		line-height:1.4;
	}
	.topics_detail_body{
		margin-top:36px;
		font-size:15px;
		line-height:1.9;
	}
	.topics_detail_body h2{
		margin:50px 0 25px;
		font-size:24px;
	}
	.topics_detail_body h3{
		margin:30px 0 10px;
		font-size:20px;
	}
	.topics_detail_pager{
		gap:16px;
		margin-top:50px;
		padding-top:20px;
	}
	.topics_detail_prev,
	.topics_detail_next{
		font-size:14px;
	}
	.topics_detail_pager_label{
		gap:5px;
	}
	.topics_detail_pager_date{
		margin-top:8px;
		font-size:12px;
	}
	.topics_detail_pager_title{
		-webkit-line-clamp:2;
		margin-top:3px;
		font-size:12px;
		line-height:1.55;
	}
}

/*----- タブレット(768〜1199px)独自調整 -----*/
@media screen and (min-width:768px) and (max-width:1199px){
	.topics_content{
		grid-template-columns:1fr;
		gap:50px;
		margin-top:50px;
		margin-bottom:70px;
	}
	.topics_sidebar{gap:20px;}
	.topics_filter_list a{font-size:16px;}
	.topics_detail_header{padding-bottom:22px;}
	.topics_detail_meta{gap:12px;margin-bottom:14px;}
	.topics_detail_category{
		width:100px;
		min-width:100px;
		max-width:100px;
		min-height:24px;
		padding:2px 9px;
		font-size:10px;
	}
	.topics_detail_title{font-size:24px;}
	.topics_detail_body{margin-top:36px;font-size:15px;line-height:1.9;}
	.topics_detail_body h2{margin:50px 0 25px;font-size:24px;}
	.topics_detail_body h3{margin:30px 0 20px;font-size:20px;}
	.topics_detail_pager_title{-webkit-line-clamp:2;}
}

/* お知らせ・募集一覧の空状態と共通の .content_empty 系クラス */
.content_empty{
	width:min(960px, 100%);
	margin:45px auto 0;
	padding:54px 30px;
	border:1px solid #ddd8cf;
	border-radius:20px;
	background:#fff;
	text-align:center;
}
.content_empty_title{
	margin:0;
	font-size:24px;
	font-weight:700;
	line-height:1.5;
}
.content_empty_text{
	margin:14px 0 0;
	font-size:16px;
	line-height:1.8;
}
.content_empty_action{
	margin:26px 0 0;
}

@media screen and (max-width:767px){
	.content_empty{
		margin-top:30px;
		padding:38px 20px;
		border-radius:16px;
	}
	.content_empty_title{font-size:18px;}
	.content_empty_text{font-size:15px;}
}

/*-------------------------------------------------------------------------------------------------動きを抑える設定への配慮(prefers-reduced-motion)*/
@media (prefers-reduced-motion: reduce) {
	/*-------------------------header / mainimg*/
	.mainimg_track,
	.globalnav,
	.globalnav_btn span{
		transition:none !important;
	}
	.globalnav.is_scrolled{
		animation:none;
	}
	/*-------------------------fade / 関連ページカード*/
	.fade{
		opacity:1;
		transform:none;
		transition:none;
	}
	.page_card,
	.page_card::after,
	.page_card_visual img,
	.page_card_arrow{
		transition:none;
	}
	.topics_detail_pager_arrow{
		transition:none;
	}
	.topics_detail_prev:hover .topics_detail_pager_arrow,
	.topics_detail_prev:focus-visible .topics_detail_pager_arrow,
	.topics_detail_next:hover .topics_detail_pager_arrow,
	.topics_detail_next:focus-visible .topics_detail_pager_arrow{
		transform:none;
	}
	/*-------------------------下層ページ(page-fade-in)*/
	main.page{
		animation:none;
	}
}

/*-------------------------------------------------------------------------------------------------
固定ヘッダーのガラス表現／タブレットメニュー下部ボタン
-------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1199px){
	.site_header{
		background:linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.64));
		-webkit-backdrop-filter:blur(20px) saturate(150%);
		backdrop-filter:blur(20px) saturate(150%);
		border-bottom:1px solid transparent;
		box-shadow:none;
		transition:border-color .2s ease, box-shadow .2s ease;
	}
	#wrapper.scroll .site_header{
		border-bottom-color:rgba(70,55,35,.13);
		box-shadow:0 8px 26px rgba(56,45,30,.055), inset 0 1px 0 rgba(255,255,255,.72);
	}
	.globalnav,
	.globalnav.is_scrolled{
		background:var(--color-pale);
		-webkit-backdrop-filter:none;
		backdrop-filter:none;
		border-bottom:0;
		box-shadow:none;
		animation:none;
	}
}
@media screen and (min-width:768px) and (max-width:1199px){
	#wrapper .globalnav_utility.sp{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		width:100%;
		min-width:0;
	}
	#wrapper .globalnav_utility.sp a{
		min-width:0;
	}
}
