/* ==================================================
Theme Name: ナノテクノロジービジネス推進協議会
-----------------------------------------------------
Author: 株式会社ジャパンマテリアル
Author URI: https://jama.co.jp/
Description: ナノテクノロジービジネス推進協議会様のWebサイト専用テーマです。
Version: 0.1
================================================== */


/* ==================================================
+ Webフォント
-----------------------------------------------------
- 通常フォント： "Noto Sans JP", sans-serif
- 装飾フォント： "Noto Serif JP", serif
-------------------------------------------------- */


/* ==================================================
+ 変数定義
-------------------------------------------------- */
:root {
	/* PCデザインの幅 */
	--pc: 1920;
	/* PCコンテンツの幅 */
	--pcc: 1280;
	/* SPデザインの幅 */
	--sp: 375;
	/* ビューポートの幅（JSで上書き想定） */
	--vw: var(--pcc);
	/* WP管理バーの高さ */
	--wp-bar: var(--wp-admin--admin-bar--height, 0px);
	/* ヘッダーの高さ */
	--header-height: 0;
	/* ブラウザ標準のフォントサイズ（無単位） */
	--fz-base: 16;
	/* フォントサイズ基準でサイズ指定する係数（rem） */
	--fz: calc(1 / var(--fz-base) * 1rem);
	/* フォントファミリー */
	--ff-sans: "Noto Sans JP", sans-serif;
	--ff-serif: "Noto Serif JP", serif;
	/* 使用色一覧 */
	--color-navy: #163b80;
	--color-navy-light: #7C90BE;
	--color-navy-pale: #EBF1FF;
	--color-black: #070707;
	--color-black-true: #000;
	--color-gray-dark: #2b2b2b;
	--color-gray: #707070;
	--color-gray-light: #b9b9b9;
	--color-gray-pale: #f5f5f5;
	--color-red: #ff0000;
	--color-white: #fff;
	/* 基本の文字色 */
	--color-txt: var(--color-black);
	--color-scroll-track:#e8e8e8;
	--color-scroll-thumb:#a7c0f2;
	/* フォーカス用アウトラインの色 */
	--color-outline: #00bcd4;
	/* 画像一覧 */
	--img-arw-line:url(parts/arw_line.svg);
	--img-arw-tri:url(parts/arw_tri.svg);
	--img-arw-gt:url(parts/arw_gt.svg);
	--img-ico-private:url(parts/ico_private.svg);
	--img-ico-pdf:url(parts/ico_pdf.svg);
	--img-ico-doc:url(parts/ico_doc.svg);
	--img-ico-ppt:url(parts/ico_ppt.svg);
	--img-ico-xls:url(parts/ico_xls.svg);
	--img-ico-zip:url(parts/ico_zip.svg);
	--img-ico-newwin:url(parts/ico_newwin.svg);
	--img-ico-key:url(parts/ico_key.svg);
	--img-logo-bg:url(parts/logo_bg.svg);
	--img-gd-black:linear-gradient(var(--color-black),var(--color-black));
	--img-gd-white:linear-gradient(var(--color-white),var(--color-white));
	--img-gd-navy:linear-gradient(var(--color-navy),var(--color-navy));
	--img-gd-gray-pale:linear-gradient(var(--color-gray-pale),var(--color-gray-pale));
	/* コンテンツグリッド */
	--grid-full: 1 / -1;
	--grid-contents: 2 / -2;
	--grid-contents-lv2: 3 / -2;
	--grid-contents-inner: 3 / -3;
}
@media (width < 768px){
	:root{
		/* ビューポートの幅（JSで上書き想定） */
		--vw: calc(var(--sp));
		/* コンテンツグリッド */
		--grid-contents-lv2: 2 / -2; /* SPではインデントしない */
	}
}
html{
	/* PCデザインの表示倍率 */
	--ds: calc(var(--vw) / var(--pc));
	/* PCデザインの表示倍率（デザインサイズが最大） */
	--dsf: min(calc(var(--vw) / var(--pc)), 1);
	/* コンテンツ幅基準のPCデザイン表示倍率（デザインサイズが最大） */
	--dsc: min(calc(var(--vw) / var(--pcc)), 1);
}
@media (width < 768px){
	html{
		/* SPデザインの表示倍率 */
		--ds: calc(var(--vw) / var(--sp));
		/* SPにはないため --ds を代入 */
		--dsf: var(--ds);
		--dsc: var(--ds);
	}
}

/* ==================================================
+ リセット
-------------------------------------------------- */
/* 最低限のみ
-------------------------------------------------- */
/* 基準サイズの統一 */
*, *::before, *::after {
	box-sizing: border-box;
}
/* 余白の削除 */
body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure {
	margin: 0;
}
/* リストマークの削除 */
ul, ol {
	padding: 0;
	list-style: none;
}
/* 画像のはみ出し防止 */
img, svg {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
/* フォーム系のフォント統一 */
button, input, select, textarea {
	font: inherit;
}

/* 追加調整
-------------------------------------------------- */
/* 画像の扱いやすく */
img, video{
	display:block;
	width:100%;
	height:auto;
}
/* キーボード操作に配慮 */
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--color-outline);
	outline-offset: 2px;
}


/* ==================================================
+ 基本設定
-------------------------------------------------- */
/* スクロール関係
-------------------------------------------------- */
html{
	scroll-behavior: smooth;
	scroll-padding: calc(var(--wp-bar) + var(--header-height));
}

/* フォント設定
-------------------------------------------------- */
body{
	font-family: var(--ff-sans);
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(25 / 16);
	text-align: left;
	color: var(--color-black);
	width: 100%;
	overflow-x: hidden;
}
a{
	color: var(--color-black);
	text-underline-offset: 0.4em;
}
@media (hover: hover){
	a:hover{
		color: var(--color-navy);
	}
}

/* ==================================================
+ 共通エフェクト（変数は各要素で上書き可能）
-------------------------------------------------- */
/* vHover：ホバー
-------------------------------------------------- */
/* bg：背景色・文字色を反転 */
.vHover_bg{
	--hover-color-line-before: var(--color-navy);
	--hover-color-bg-before: var(--color-navy);
	--hover-color-txt-before: var(--color-white);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-white);
	--hover-color-txt-after: var(--color-navy);
	background: var(--hover-color-bg-before);
	color: var(--hover-color-txt-before);
	border: 1px solid var(--hover-color-line-before);
}
@media (hover){
	a:hover .vHover_bg,
	a:focus-visible .vHover_bg,
	button:hover .vHover_bg,
	button:focus-visible .vHover_bg,
	.vHover_bg:hover,
	.vHover_bg:focus-visible{
		border-color: var(--hover-color-line-after);
		background-color: var(--hover-color-bg-after);
		color: var(--hover-color-txt-after);
	}
}
/* line：下線 */
.vHover_line{
	--hover-border-width: 1px; /* 線の太さ */
	--hover-color-line: var(--color-navy); /* 線の色 */
	--hover-color-txt-before: var(--color-black); /* 元の文字色 */
	--hover-color-txt-after: var(--color-navy); /* hover時の文字色 */
	color: var(--hover-color-txt-before);
	text-decoration: none;
	padding-bottom: 0.2em;
	background: linear-gradient(var(--hover-color-line),var(--hover-color-line)) no-repeat left bottom / 0 var(--hover-border-width);
	transition:
		color 0.3s ease,
		background-size 0.3s ease;
}
a.vHover_line::after{
	background-color: var(--hover-color-txt-before);
}
@media (hover){
	a:hover .vHover_line,
	a:focus-visible .vHover_line,
	button:hover .vHover_line,
	button:focus-visible .vHover_line,
	summary:hover .vHover_line,
	summary:focus-visible .vHover_line,
	.vHover_line:hover,
	.vHover_line:focus-visible{
		color: var(--hover-color-txt-after);
		background-size: 100% var(--hover-border-width);
	}
	a.vHover_line[target="_blank"]:hover::after,
	a.vHover_line[target="_blank"]:focus-visible::after{
		background-color: var(--hover-color-txt-after);
	}
}
/* op：透明度 */
.vHover_op{
	--hover-op:0.5;
	transition: opacity 0.3s ease;
}
@media (hover){
	a:hover .vHover_op,
	a:focus-visible .vHover_op,
	button:hover .vHover_op,
	button:focus-visible .vHover_op,
	.vHover_op:hover,
	.vHover_op:focus-visible{
		opacity: var(--hover-op);
	}
}
/* scale：スケール */
.vHover_scale{
	--hover-scale:1.1;
	overflow: hidden;
}
.vHover_scale > *{
	transform-origin: center center;
	transition: transform 0.3s ease;
}
@media (hover){
	a:hover .vHover_scale > *,
	a:focus-visible .vHover_scale > *,
	button:hover .vHover_scale > *,
	button:focus-visible .vHover_scale > *,
	.vHover_scale:hover > *,
	.vHover_scale:focus-visible > *{
		transform: scale(var(--hover-scale));
	}
}


/* ==================================================
+ 共通
-------------------------------------------------- */
/* vIco：リンクアイコンを追加
-------------------------------------------------- */
a .vIco_after::after,
a.vIco_after::after{
	content: '';
	width: 1.2em;
	height: 0.8em;
	margin-left: 0.8em;
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
	background: var(--color-black);
}
a .vIco_after[target="_blank"]::after,
a.vIco_after[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	margin-bottom: -0.05em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
a .vIco_after[target="_blank"][href*=".pdf"]::after,
a.vIco_after[target="_blank"][href*=".pdf"]::after,
a .vIco_after[target="_blank"][href*=".doc"]::after,
a.vIco_after[target="_blank"][href*=".doc"]::after,
a .vIco_after[target="_blank"][href*=".ppt"]::after,
a.vIco_after[target="_blank"][href*=".ppt"]::after,
a .vIco_after[target="_blank"][href*=".xls"]::after,
a.vIco_after[target="_blank"][href*=".xls"]::after,
a .vIco_after[target="_blank"][href*=".zip"]::after,
a.vIco_after[target="_blank"][href*=".zip"]::after{
	width: 1em;
	height: 1em;
	margin-left: 0.4em;
	margin-bottom: -0.1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
a .vIco_after[target="_blank"][href*=".doc"]::after,
a.vIco_after[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
a .vIco_after[target="_blank"][href*=".ppt"]::after,
a.vIco_after[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
a .vIco_after[target="_blank"][href*=".xls"]::after,
a.vIco_after[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
a .vIco_after[target="_blank"][href*=".zip"]::after,
a.vIco_after[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (hover){
	a .vIco_after:hover::after,
	a.vIco_after:hover::after{
		background-color: var(--color-navy);
	}
}


/* ==================================================
+ 汎用パーツ
-------------------------------------------------- */
/* oIco：アイコン
-------------------------------------------------- */
/* ハンバーガーボタン */
.oIcoHmbg {
	--hmbg-line-width: max(calc(1px * var(--ds)), 1px);
	--hmbg-line-color: var(--color-gray);
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	cursor: pointer;
}
.oIcoHmbg_line {
	position: absolute;
	left: -100%;
	right: -100%;
	margin: 0 auto;
	width: 100%;
	height: var(--hmbg-line-width);
	background: var(--hmbg-line-color);
	transition:
		transform .3s ease,
		opacity .3s ease;
	transform-origin: center center;
}
.oIcoHmbg_line:nth-child(1) {
	top: 0;
}
.oIcoHmbg_line:nth-child(2) {
	top: 0;
	bottom: 0;
	margin: auto;
}
.oIcoHmbg_line:nth-child(3) {
	bottom: 0;
}
button[aria-expanded="true"] .oIcoHmbg_line:nth-child(1),
button[aria-expanded="true"] .oIcoHmbg_line:nth-child(3) {
	width: 140%;
}
button[aria-expanded="true"] .oIcoHmbg_line:nth-child(1) {
	transform: rotate(45deg);
	top: calc(50% - (var(--hmbg-line-width) / 2));
}
button[aria-expanded="true"] .oIcoHmbg_line:nth-child(2) {
	opacity: 0;
}
button[aria-expanded="true"] .oIcoHmbg_line:nth-child(3) {
	transform: rotate(-45deg);
	bottom: calc(50% - (var(--hmbg-line-width) / 2));
}
/* ＋－アイコン */
.oIcoTgl {
	--tgl-line-width: max(calc(3px * var(--ds)), 1px);
	--tgl-line-color: var(--color-gray);
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	cursor: pointer;
}
.oIcoTgl_line {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: var(--tgl-line-width);
	background: var(--tgl-line-color);
	transform-origin: center center;
	transition: transform .3s ease;
}
.oIcoTgl_line:nth-child(2) {
	transform: rotate(90deg);
}
button[aria-expanded="true"] .oIcoTgl .oIcoTgl_line:nth-child(2){
	transform: rotate(0deg);
}
/* 矢印 */
.oIcoArw{
	--arw-color-bg: var(--color-navy);
	--arw-color-ico: var(--color-white);
	--arw-size: 1em;
	border-radius: 50%;
	width: var(--arw-size);
	height: var(--arw-size);
	overflow: hidden;
	position: relative;
	display: block;
	border: 1px solid var(--arw-color-bg);
	background: var(--arw-color-bg);
	transition: background-color 0.3s ease 0s;
}
.oIcoArw::before,
.oIcoArw::after{
	content: '';
	display: block;
	width: calc(25 / 45 * 100%);
	height: calc(26 / 45 * 100%);
	margin: auto 0;
	position: absolute;
	top: 0;
	bottom: 0;
	right: calc(2 / 45 * 100%);
	left: auto;
	mask: var(--img-arw-gt) no-repeat center center / 100% 100%;
	transition: transform 0.3s ease 0s;
}
.oIcoArw::before{
	background: var(--arw-color-ico);
	transform: translateX(0);
}
.oIcoArw::after{
	background: var(--arw-color-bg);
	transform: translateX(-100%);
}
@media (hover: hover) {
	a:hover .oIcoArw,
	button:hover .oIcoArw{
		background: var(--arw-color-ico);
	}
	a:hover .oIcoArw::before,
	button:hover .oIcoArw::before{
		transform: translateX(100%);
	}
	a:hover .oIcoArw::after,
	button:hover .oIcoArw::after{
		transform: translateX(0);
	}
}
/* 鍵 */
.oIcoKey{
	--ico-size: 1em;
	width: var(--ico-size);
	height: var(--ico-size);
	display: block;
	background: var(--img-ico-key) no-repeat center center / contain;
}


/* ==================================================
+ 共通パーツ
-------------------------------------------------- */
/* oPage：サイト全体
-------------------------------------------------- */
.oPage{
	width: calc(var(--vw) * 1px);
}

/* oHeader：ヘッダー
-------------------------------------------------- */
.oHeader {
	z-index: 2000;
	background: #fff;
	position: sticky;
	top: var(--wp-bar);
}
/* インナー */
.oHeader_inner {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2000;
}
.oHeader_inner::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: auto;
	height: calc(6px * var(--dsc));
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0) 100%);
	z-index: 1000;
	pointer-events: none;
}
@media (width >= 768px){
	.oHeader_inner {
		padding: 0 calc(42px * var(--dsc)) 0 calc(46px * var(--dsc));
		transition:padding 0.5s ease 0s;
	}
}
@media (width < 768px){
	.oHeader_inner {
		flex-wrap: wrap;
		align-items: center;
		padding: calc(14px * var(--dsc)) calc(20px * var(--dsc));
	}
}
/* ロゴ */
.oHeader_logo > a{
	display:block;
	width:100%;
}
@media (width >= 768px){
	.oHeader_logo {
		width:calc(354px * var(--dsc));
		padding: calc(15px * var(--dsc)) 0;
		transition:width 0.5s ease 0s;
		align-self: center;
	}
	body.sScroll .oHeader_logo {
		width:calc(301px * var(--dsc));
	}
}
@media (width < 768px){
	.oHeader_logo {
		width:calc(143px * var(--ds));
	}
}
/* メニュー開閉ボタン（SPのみ） */
@media (width >= 768px){
	.oHeader_btnMenuSP {
		display: none;
	}
}
@media (width < 768px){
	.oHeader_btnMenuSP {
		order:2;
		background: transparent;
		z-index: 1200;
		display: block;
		width: calc(29px * var(--ds));
		height: calc(29px * var(--ds));
		border: max(calc(1px * var(--ds)), 1px) solid var(--color-gray);
		border-radius: 100vh;
		padding: calc(9.5px * var(--ds)) calc(7px * var(--ds));
	}
}
/* メニュー */
@media (width >= 768px){
	.oHeader_menuPC{
		width: auto;
		align-self: end;
		flex-grow: 1;
		padding-top: calc(143px * var(--dsc));
		transition: padding-top 0.5s ease 0s;
	}
	body.sScroll .oHeader_menuPC{
		padding-top: calc(50px * var(--dsc));
	}
	.oHeader_menuPC_list{
		width: 100%;
		display: flex;
		justify-content: center;
		column-gap: calc(62px * var(--dsc));
		transition: column-gap 0.5s ease 0s;
	}
	.oHeader_menuPC_list > li{
		--hover-border-width: calc(8px * var(--dsc));
		--hover-color-line: var(--color-navy);
		display: flex;
		column-gap: 0.5em;
		align-items: center;
		padding-bottom: calc(22px * var(--dsc));
	}
	.oHeader_menuPC_list > li:nth-child(4),
	.oHeader_menuPC_list > li:nth-child(5),
	.oHeader_menuPC_list > li:nth-child(6),
	.oHeader_menuPC_list > li:nth-child(n+9){
		display:none !important;
	}
	.oHeader_menuPC_list > li > a {
		text-decoration: none;
		color: var(--color-black-true);
		display: block;
		transition: color .3s ease 0s;
		font-weight: 700;
	}
	.oHeader_menuPC_list > li > ul {
		overflow: auto;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: var(--color-gray-pale);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		padding: calc(45px * var(--dsc)) calc((var(--vw) * 1px - 1200px * var(--dsc)) / 2) calc(62px * var(--dsc));
		transition:
			opacity .3s ease 0s,
			padding-top .3s ease 0s,
			visibility 0s ease .3s;
		z-index: 100;
		display: grid;
		justify-content: center;
		grid-template-columns: repeat(auto-fit, calc(276px * var(--dsc)));
		gap: calc(33px * var(--dsc)) calc(18px * var(--dsc));
		box-shadow: 0 calc(3px * var(--dsc)) calc(6px * var(--dsc)) rgba(0, 0, 0, 0.16);
	}
	.oHeader_menuPC_list > li.current-menu-parent:not(:has(a[href*="/library/faq/"][aria-current="page"])),
	.oHeader_menuPC_list > li.current-menu-item{
		background-size: 100% var(--hover-border-width);
	}
	.oHeader_menuPC_list > li.current-menu-parent:not(:has(a[href*="/library/faq/"][aria-current="page"])) > a,
	.oHeader_menuPC_list > li.current-menu-item > a{
		color: var(--color-navy);
	}
	.oHeader_menuPC_list > li > ul > li > a{
		color: var(--color-black);
		text-decoration: none;
		font-weight: 700;
		line-height: calc(27 / 20);
	}
	.oHeader_menuPC_list > li > ul > li > a::after {
		content: '　→';
		background: transparent;
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"]::after{
		content:'';
		width: calc(16 * var(--fz) * var(--dsc));
		height: calc(16 * var(--fz) * var(--dsc));
		background: var(--color-black);
		mask: var(--img-ico-newwin) no-repeat left center / contain;
		display: inline-block;
		margin-left:calc(17 * var(--fz) * var(--dsc));
		margin-bottom: calc(-3 * var(--fz) * var(--dsc));
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".pdf"]::after,
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".doc"]::after,
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".ppt"]::after,
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".xls"]::after,
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".zip"]::after{
		width: calc(17 * var(--fz) * var(--dsc));
		height: calc(19 * var(--fz) * var(--dsc));
		mask: none;
		background: transparent var(--img-ico-pdf) no-repeat left center / contain;
		background-color: transparent !important;
		margin-bottom: calc(-3.5 * var(--fz) * var(--dsc));
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".doc"]::after{
		background-image: var(--img-ico-doc);
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".ppt"]::after{
		background-image: var(--img-ico-ppt);
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".xls"]::after{
		background-image: var(--img-ico-xls);
	}
	.oHeader_menuPC_list > li > ul > li > a[target="_blank"][href*=".zip"]::after{
		background-image: var(--img-ico-zip);
	}
	.oHeader_menuPC_list > li > ul > li.current_page_item > a{
		color: var(--color-navy);
		background-size: 100% var(--hover-border-width);
	}
	.oHeader_containerSP{
		display: none;
	}
}
@media (width >= 768px) and (hover: hover) {
	.oHeader_menuPC_list > li:hover,
	.oHeader_menuPC_list > li:focus-within{
		background-size: 100% var(--hover-border-width);
	}
	.oHeader_menuPC_list > li:hover > a,
	.oHeader_menuPC_list > li:focus-within > a{
		color: var(--color-navy);
	}
	.oHeader_menuPC_list > li:not(.sOpen):hover > ul,
	.oHeader_menuPC_list > li:not(.sOpen):focus-within > ul{
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		padding-top: calc(55px * var(--dsc));
		transition:
			opacity .3s ease 0s,
			padding-top .3s ease 0s,
			visibility 0s ease 0s;
	}
	.oHeader_menuPC_list > li > ul > li > a:hover{
		color: var(--color-navy);
	}
}
@media (width >= 768px) and (hover: none) {
	.oHeader_menuPC_list > li.sOpen{
		background-size: 100% var(--hover-border-width);
	}
	.oHeader_menuPC_list > li.sOpen > a{
		color: var(--color-navy);
	}
	.oHeader_menuPC_list > li.sOpen > ul{
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		padding-top: calc(55px * var(--dsc));
		transition:
			opacity .3s ease 0s,
			padding-top .3s ease 0s,
			visibility 0s ease 0s;
	}
}
@media (width < 1500px) {
	.oHeader_menuPC_list{
		column-gap: 2em;
	}
}
@media (width < 768px) {
	.oHeader_containerSP {
		position: fixed;
		inset: calc(var(--wp-bar) + var(--header-height)) 0 0;
		background: rgba(0, 0, 0, 0.5);
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease;
	}
	.oHeader_containerSP.sOpen {
		opacity: 1;
		pointer-events: auto;
	}
	.oHeader_menuSP{
		height: 100%;
		overflow-y: auto;
	}
	.oHeader_menuSP_inner{
		padding: calc(20px * var(--ds)) calc(20px * var(--ds)) calc(50px * var(--ds));
		background: var(--color-gray-pale);
		box-shadow: 0 calc(3px * var(--ds)) calc(6px * var(--ds)) rgba(0, 0, 0, 0.16);
	}
	.oHeader_menuSP_list > li{
		border-bottom: 1px solid var(--color-black);
		display: grid;
		font-size: calc(20 * var(--fz) * var(--ds));
		grid-template-columns: 1fr 1.1em;
		align-items: center;
	}
	.oHeader_menuSP_list > li:nth-child(n+8){
		display:none !important;
	}
	.oHeader_menuSP_list > li > a{
		display: block;
		color: var(--color-black);
		text-decoration: none;
		font-weight: 700;
		padding: calc(10 * var(--fz) * var(--ds)) 0;
		transition: font-size .3s ease 0s;
	}
	.oHeader_menuSP_list > li.sOpen > a{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oHeader_menuSP_list > li.current_page_item > a{
		color: var(--color-navy);
	}
	.oHeader_menuSP_list > li > .oHeader_btnTgl{
		--tgl-line-width: calc(2 * var(--fz) * var(--ds));
		background: transparent;
		width: calc(22 * var(--fz) * var(--ds));
		height: calc(22 * var(--fz) * var(--ds));
		border: 0;
		padding: 0;
	}
	.oHeader_menuSP_list > li > ul {
		height: 0;
		overflow: hidden;
		opacity: 0;
		transition: height .3s ease, opacity .2s ease;
	}
	.oHeader_menuSP_list li.sOpen > ul {
		opacity: 1;
	}
	.oHeader_menuSP_list > li > ul > li{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oHeader_menuSP_list > li > ul > li:last-child{
		padding-bottom: calc(22px * var(--ds));
	}
	.oHeader_menuSP_list > li > ul > li:nth-child(1):not(:only-child){
		display:none !important;
	}
	.oHeader_menuSP_list > li > ul > li > a{
		display: flex;
		align-items: start;
		width: 100%;
		justify-content: start;
		color: var(--color-black-true);
		text-decoration: none;
		font-size: calc(18 * var(--fz) * var(--ds));
		column-gap: calc(14 * var(--fz) * var(--ds));
		padding: calc(10 * var(--fz) * var(--ds)) 0;
	}
	.oHeader_menuSP_list > li > ul > li.current_page_item > a{
		color: var(--color-navy);
	}
	.oHeader_menuSP_list > li > ul > li > a::before{
		content: '';
		width: calc(26 * var(--fz) * var(--ds));
		height: 1em;
		background: var(--color-black-true);
		mask: var(--img-arw-line) no-repeat left center / contain;
		display: block;
		margin-top: 0.35em;
	}
	.oHeader_menuSP_list > li > ul > li.current_page_item > a::before{
		background: var(--color-navy);
	}
	.oHeader_menuPC{
		display: none;
	}
}
/* ボタン群 */
@media (width >= 768px){
	.oHeader_btnsPC {
		display: inline-flex;
		padding-top: calc(31px * var(--dsf));
		column-gap: calc(28px * var(--dsf));
		width: fit-content;
		align-items:center;
		align-self: start;
	}
	.oHeader_btnsPC a{
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 100vh;
		text-decoration: none;
		border: max(calc(1px * var(--dsc)), 1px) solid var(--color-navy);
		transition: width 0.5s ease 0s;
	}
	.oHeader_btnsPC_login > a.vHover_bg{
		font-size: calc(18 * var(--fz) * var(--dsc));
		width: calc(243 * var(--fz) * var(--dsc));
		height: calc(44 * var(--fz) * var(--dsc));
	}
	.oHeader_btnsPC_lang > a.vHover_bg{
		--hover-color-bg-before: var(--color-white);
		--hover-color-txt-before: var(--color-navy);
		--hover-color-bg-after: var(--color-navy);
		--hover-color-txt-after: var(--color-white);
		font-size: calc(15 * var(--fz) * var(--dsc));
		width: calc(44 * var(--fz) * var(--dsc));
		height: calc(44 * var(--fz) * var(--dsc));
	}
	.oHeader_btnsSP{
		display: none;
	}
}
@media (width < 1500px) {
	.oHeader_btnsPC_login > a.vHover_bg{
		width: calc(150 * var(--fz) * var(--dsc));
	}
}
@media (width < 768px){
	.oHeader_btnsSP {
		margin-top: calc(36px * var(--dsf));
		display: grid;
		row-gap: calc(28px * var(--dsf));
	}
	.oHeader_btnsSP a{
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 100vh;
		text-decoration: none;
		padding: calc(11 * var(--fz) * var(--ds)) 0;
		font-size: calc(24 * var(--fz) * var(--ds));
		border: max(calc(1px * var(--ds)), 1px) solid var(--color-navy);
	}
	.oHeader_btnsSP_login > span{
		display: block;
		margin-top: calc(7 * var(--fz) * var(--ds));
		font-size: calc(14 * var(--fz) * var(--ds));
		text-align: center;
		font-weight: 500;
		color: var(--color-black-true);
	}
	.oHeader_btnsPC{
		display: none;
	}
}

/* oContents：コンテンツ
-------------------------------------------------- */
.oContents{
	position: relative;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr calc(40px * var(--dsc)) calc(1120px * var(--dsc)) calc(40px * var(--dsc)) 1fr;
}
.oContents > *{
	grid-column: var(--grid-contents);
}
@media (width < 768px){
	.oContents{
		grid-template-columns: 1fr calc(15px * var(--ds)) calc(305px * var(--ds)) calc(15px * var(--ds)) 1fr;
	}
}

/* oLocus：パンくずリスト
-------------------------------------------------- */
.oLocus{
	margin-top: calc(26px * var(--dsc));
}
.oLocus > ol{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}
.oLocus > ol > li:nth-child(n+2)::before{
	content:'';
	display: inline-block;
	width: calc(8 / 16 * 1em);
	height: calc(12 / 16 * 1em);
	background: var(--color-gray);
	mask: var(--img-arw-gt) no-repeat center center / 100% 100%;
	margin: 0 0.5em;
}
.oLocus li[aria-current="page"]{
	color: var(--color-gray);
}
@media (width < 768px){
	.oLocus{
		margin-top: calc(10px * var(--ds));
		font-size: calc(13 * var(--fz) * var(--ds));
	}
	.oLocus > ol > li:nth-child(n+2)::before{
		width: calc(8 / 13 * 1em);
		height: calc(12 / 13 * 1em);
	}
}

/* oPt：ページタイトル
-------------------------------------------------- */
.oPt{
	margin-top: calc(37px * var(--dsc));
	background:var(--color-gray-pale) var(--img-gd-white) no-repeat left top / 100% calc(15px * var(--dsc));
	overflow: hidden;
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oPt + *{
	margin-top: calc(138px * var(--dsc)) !important;
}
.oPt_inner{
	grid-column: var(--grid-contents);
	position: relative;
	display: block;
	height: calc(206 * var(--fz) * var(--dsc));
	padding-left: calc(271px * var(--dsc));
}
.oPt_inner::before{
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: calc(280px * var(--dsc));
	height: calc(206px * var(--dsc));
	background: var(--img-logo-bg) no-repeat center center / contain;
}
.oPt_sub{
	position: relative;
	padding-top: calc(35px * var(--dsc));
	font-size: calc(23 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: #838383;
	text-wrap: auto;
}
.oPt_main{
	position: relative;
	padding-top: calc(10 * var(--fz) * var(--dsc));
	font-size: calc(60 * var(--fz) * var(--dsc));
	font-family: var(--ff-serif);
	font-weight: 400;
	line-height: calc(59 / 60);
	color: var(--color-navy);
	text-wrap: auto;
}
.oPt_main:only-child{
	height: 100%;
	display: grid;
	align-content: center;
}
@media (width < 768px){
	.oPt{
		margin: calc(8px * var(--dsc)) 0 0;
		background-size: 100% calc(5px * var(--ds));
	}
	.oPt + *{
		margin-top: calc(85px * var(--ds)) !important;
	}
	.oPt_inner{
		padding: calc(20px * var(--ds)) 0 calc(20px * var(--ds)) calc(72px * var(--ds));
		height: calc(104 * var(--fz) * var(--ds));
		display: grid;
		align-items: center;
	}
	.oPt_inner::before{
		left: calc(-9px * var(--ds));
		width: calc(80px * var(--ds));
		height: calc(59px * var(--ds));
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.oPt_sub{
		display: none;
	}
	.oPt_main{
		padding-top: 0;
		font-size: calc(25 * var(--fz) * var(--ds));
		line-height: 1;
	}
}

/* oPtEx：ページタイトル補足
-------------------------------------------------- */
.oPtEx{
	margin-top: 0 !important;
	background: var(--color-navy);
	color: var(--color-white);
	padding: calc(10 * var(--fz) * var(--dsc)) 0;
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oPtEx + *{
	margin-top: calc(75px * var(--dsc)) !important;
}
.oPtEx > p{
	font-size: calc(25 * var(--fz) * var(--dsc));
	grid-column: var(--grid-contents);
	padding: 0 calc(30px * var(--dsc));
}
@media (width < 768px){
	.oPtEx{
		padding: calc(10 * var(--fz) * var(--dsc)) 0;
	}
	.oPtEx + *{
		margin-top: calc(39px * var(--ds)) !important;
	}
	.oPtEx > p{
		font-size: calc(16 * var(--fz) * var(--ds));
		padding: 0;
	}
}

/* oMenuLocal：ローカルメニュー
-------------------------------------------------- */
.oMenuLocal{
	margin-top: calc(100px * var(--dsc));
	border-top: 2px solid var(--color-navy);
	border-bottom: 2px solid var(--color-navy);
	padding: calc(20px * var(--dsc)) 0;
}
.oMsg + .oMenuLocal{
	margin-top: calc(180px * var(--dsc));
}
.oTab + .oMenuLocal,
.oSctA + .oMenuLocal{
	margin-top: calc(220px * var(--dsc));
}
.oImg + .oMenuLocal,
.oLinksC + .oMenuLocal{
	margin-top: calc(250px * var(--dsc));
}
.oTbl + .oMenuLocal,
.oSctB + .oMenuLocal{
	margin-top: calc(278px * var(--dsc));
}
.oMission + .oMenuLocal{
	margin-top: calc(313px * var(--dsc));
}
.oMenuLocal_back{
	display: block;
}
.oMenuLocal_back > a.vHover_bg{
	--hover-color-line-before: var(--color-gray-pale);
	--hover-color-bg-before: var(--color-gray-pale);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	font-size: calc(25 * var(--fz) * var(--dsc));
	display: flex;
	align-items: center;
	column-gap: calc(11 * var(--fz) * var(--dsc));
	width: 100%;
	border-radius: calc(23px * var(--dsc));
	padding: calc(14px * var(--dsc)) calc(30px * var(--dsc));
	text-decoration: none;
}
.oMenuLocal_back > a.vHover_bg > .oIcoArw{
	transform: rotate(180deg);
	--arw-size: calc(30 * var(--fz) * var(--dsc));
}
.oMenuLocal_list{
	margin-top: calc(20px * var(--dsc));
}
.oMenuLocal_list > ul{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(16px * var(--dsc)) 0;
}
.oMenuLocal_list > ul > li{
	border-left: 1px solid var(--color-gray);
}
.oMenuLocal_list > ul > li > a.vHover_bg{
	--hover-color-line-before: var(--color-white);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: grid;
	align-items: center;
	justify-content: space-between;
	grid-template-columns: repeat(2, auto);
	column-gap: 0.5em;
	padding: calc(10px * var(--dsc)) calc(25px * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	text-decoration: none;
	min-height: calc(113 * var(--fz) * var(--dsc));
}
.oMenuLocal_list > ul > li.sHere > a.vHover_bg{
	--hover-color-line-before: var(--color-navy);
	--hover-color-bg-before: var(--color-navy);
	--hover-color-txt-before: var(--color-white);
	--hover-color-line-after: var(--color-white);
	--hover-color-bg-after: var(--color-white);
	--hover-color-txt-after: var(--color-navy);
}
.oMenuLocal_list > ul > li > a.vHover_bg > .oIcoArw{
	--arw-size: calc(30 * var(--fz) * var(--dsc));
}
.oMenuLocal_list > ul > li.sHere > a.vHover_bg > .oIcoArw{
	--arw-color-bg: var(--color-white);
	--arw-color-ico: var(--color-navy);
}
@media (width < 768px){
	.oMenuLocal{
		margin-top: calc(58px * var(--ds));
		padding: calc(20px * var(--ds)) 0;
	}
	.oMsg + .oMenuLocal{
		margin-top: calc(80px * var(--ds));
	}
	.oTab + .oMenuLocal,
	.oSctA + .oMenuLocal{
		margin-top: calc(110px * var(--ds));
	}
	.oImg + .oMenuLocal,
	.oLinksC + .oMenuLocal{
		margin-top: calc(120px * var(--ds));
	}
	.oTbl + .oMenuLocal,
	.oSctB + .oMenuLocal{
		margin-top: calc(140px * var(--dsc));
	}
	.oMission + .oMenuLocal{
		margin-top: calc(150px * var(--ds));
	}
	.oMenuLocal_back > a.vHover_bg{
		font-size: calc(18 * var(--fz) * var(--ds));
		column-gap: calc(10 * var(--fz) * var(--ds));
		border-radius: calc(23px * var(--ds));
		padding: calc(19px * var(--ds)) calc(28px * var(--ds));
	}
	.oMenuLocal_back > a.vHover_bg > .oIcoArw{
		--arw-size: calc(26 * var(--fz) * var(--ds));
	}
	.oMenuLocal_list{
		margin-top: calc(20px * var(--ds));
	}
	.oMenuLocal_list > ul{
		grid-template-columns: 1fr;
		gap: calc(16px * var(--ds)) 0;
	}
	.oMenuLocal_list > ul > li > a.vHover_bg{
		padding: calc(5px * var(--ds)) calc(25px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
		min-height: calc(70 * var(--fz) * var(--dsc));
	}
	.oMenuLocal_list > ul > li > a.vHover_bg > .oIcoArw{
		--arw-size: calc(30 * var(--fz) * var(--ds));
	}
}

/* oGotop：ページの先頭へボタン
-------------------------------------------------- */
:root{
	--gotop-size: calc(100px * var(--dsc));
	--gotop-margin: calc(86px * var(--dsc));
}
@media (width < 768px){
	:root{
		--gotop-size: calc(55px * var(--dsc));
		--gotop-margin: calc(20px * var(--dsc));
	}
}
.oGotop{
	grid-column: var(--grid-full);
	position: sticky;
	bottom: var(--gotop-margin);
	margin: calc(130px * var(--dsc)) 0 calc(var(--gotop-size) / -2);
	padding-right: var(--gotop-margin);
	pointer-events: none;
	display: flex;
	justify-content: end;
	opacity: 0;
	transition: opacity .3s ease;
	z-index: 1000;
}
.oGotop.sShow{
	opacity: 1;
}
.oGotop > a{
	background: rgba(27, 56, 121, 0.8);
	border-radius: 50%;
	width: var(--gotop-size);
	height: var(--gotop-size);
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
.oGotop.sShow > a{
	pointer-events: auto;
}
.oGotop > a::before{
	content: '';
	display: block;
	width: calc(21 / 100 * 100%);
	height: calc(24 / 100 * 100%);
	background: var(--color-white);
	mask: var(--img-arw-tri) no-repeat center center / 100% 100%;
	transform-origin: center center;
	transform: rotate(-90deg);
}
@media (hover: hover){
	.oGotop > a:hover{
		background: rgba(27, 56, 121, 1);
	}
}
@media (width < 768px){
	.oGotop{
		margin-top: calc(70px * var(--ds));
	}
}

/* oFooter：フッター
-------------------------------------------------- */
.oFooter{
	background: var(--color-gray-dark);
	color: var(--color-white);
	display: grid;
	grid-template-columns: 1fr calc(1200px * var(--dsc)) 1fr;
}
/* インナー */
.oFooter_inner{
	grid-column: var(--grid-contents);
	padding: calc(50px * var(--dsc)) 0 calc(90px * var(--dsc));
}
@media (width < 768px){
	.oFooter{
		grid-template-columns: 1fr calc(335px * var(--ds)) 1fr;
	}
	.oFooter_inner{
		padding: calc(25px * var(--ds)) 0 0;
	}
}
/* リードエリア */
.oFooter_lead{
	display: flex;
	justify-content: space-between;
	width: 100%;
	flex-wrap: wrap;
}
@media (width < 768px){
	.oFooter_lead{
		display: grid;
		grid-template-columns: 1fr;
	}
}
/* HOMEへの導線 */
.oFooter_home{
	padding: calc(15 * var(--fz) * var(--dsc)) 0 0;
}
.oFooter_home > a{
	--hover-color-line: var(--color-white);
	--hover-color-txt-before: var(--color-white);
	--hover-color-txt-after: var(--color-white);
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 700;
}
@media (width < 768px){
	.oFooter_home{
		padding: 0;
		order: 1;
	}
	.oFooter_home > a{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
}
/* ボタン群 */
.oFooter_btns{
	display: flex;
	column-gap: calc(15px * var(--dsc));
}
.oFooter_btns a{
	border-radius: calc(14px * var(--dsc));
	width: calc(253px * var(--dsc));
	display: flex;
	text-decoration: none;
	font-size: calc(18 * var(--fz) * var(--dsc));
	padding: calc(17px * var(--dsc));
}
.oFooter_btns a > span{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: calc(13 * var(--fz) * var(--dsc));
}
.oFooter_btns a.vHover_bg{
	--hover-color-line-before: var(--color-white);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-white);
	--hover-color-bg-after: var(--color-black);
	--hover-color-txt-after: var(--color-white);
}
.oFooter_btns a > span > .oIcoArw{
	--arw-color-bg: var(--color-black);
	--arw-size: calc(20 * var(--fz) * var(--dsc));
}
.oFooter_btns a + span{
	display: block;
	margin-top: calc(16px * var(--dsc));
	font-size: calc(14 * var(--fz) * var(--dsc));
	text-align: right;
}
@media (width < 768px){
	.oFooter_btns{
		order: 3;
		display: grid;
		margin-top: calc(47px * var(--ds));
		gap: calc(20px * var(--ds)) 0;
	}
	.oFooter_btns a.vHover_bg{
		border-radius: calc(14px * var(--ds));
		width: 100%;
		font-size: calc(22 * var(--fz) * var(--ds));
		padding: calc(23px * var(--ds));
	}
	.oFooter_btns a > span{
		column-gap: calc(28 * var(--fz) * var(--ds));
	}
	.oFooter_btns a > span > .oIcoArw{
		--arw-size: calc(25 * var(--fz) * var(--ds));
	}
	.oFooter_btns a + span{
		margin-top: calc(12 * var(--fz) * var(--ds));
		font-size: calc(14 * var(--fz) * var(--ds));
		text-align: center;
		font-weight: 500;
		color: var(--color-white);
	}
}
/* ロゴ */
.oFooter_logo{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-top: 1px solid var(--color-white);
	padding: calc(73px * var(--dsc)) 0 0;
	margin-top: calc(25px * var(--dsc));
	width: 100%;
}
.oFooter_logo_img{
	padding: 0 calc(88px * var(--dsc)) 0 calc(84px * var(--dsc));
	filter: brightness(0) invert(1);
	display: block;
}
.oFooter_logo_txt{
	font-size: calc(30 * var(--fz) * var(--dsc));
	font-weight: 500;
	border-left: 1px solid var(--color-white);
	padding: calc(31px * var(--dsc)) 0 calc(31px * var(--dsc)) calc(42px * var(--dsc));
	display: block;
}
@media (width < 768px){
	.oFooter_logo{
		order: 2;
		display: block;
		padding: calc(30px * var(--ds)) 0 0;
		margin-top: calc(23px * var(--ds));
	}
	.oFooter_logo_img{
		margin: 0 auto;
		width: calc(242px * var(--ds));
		padding: 0;
	}
	.oFooter_logo_txt{
		margin-top: calc(30px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
		border-left: 0;
		padding: 0;
		text-align: center;
	}
}
/* メニュー */
.oFooter_menu{
	margin-top: calc(107px * var(--dsc));
}
.oFooter_menu_list{
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(3, auto);
	grid-template-rows: repeat(4, auto) 1fr;
	row-gap: calc(20 * var(--fz) * var(--dsc));
}
.oFooter_menu_list a{
	--hover-color-line: var(--color-white);
	--hover-color-txt-before: var(--color-white);
	--hover-color-txt-after: var(--color-white);
}
.oFooter_menu_list a::after{
	content: '';
	width: calc(20 * var(--fz) * var(--dsc));
	height: calc(16 * var(--fz) * var(--dsc));
	background: var(--color-white);
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
	margin-left:calc(17 * var(--fz) * var(--dsc));
}
.oFooter_menu_list a[target="_blank"]::after{
	width: calc(19 * var(--fz) * var(--dsc));
	height: calc(19 * var(--fz) * var(--dsc));
	mask: var(--img-ico-newwin) no-repeat left center / contain;
	margin-bottom: calc(-3 * var(--fz) * var(--dsc));
}
.oFooter_menu_list a[target="_blank"][href*=".pdf"]::after,
.oFooter_menu_list a[target="_blank"][href*=".doc"]::after,
.oFooter_menu_list a[target="_blank"][href*=".ppt"]::after,
.oFooter_menu_list a[target="_blank"][href*=".xls"]::after,
.oFooter_menu_list a[target="_blank"][href*=".zip"]::after{
	width: calc(19 * var(--fz) * var(--dsc));
	height: calc(20 * var(--fz) * var(--dsc));
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
	margin-bottom: calc(-3.5 * var(--fz) * var(--dsc));
}
.oFooter_menu_list a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oFooter_menu_list a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oFooter_menu_list a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oFooter_menu_list a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
.oFooter_menu_list > li:nth-child(1){
	grid-column: 1 / 2;
	grid-row: 1 / -1;
}
.oFooter_menu_list > li:nth-child(7){
	grid-column: 3 / -1;
	grid-row: 1 / -1;
}
.oFooter_menu_list > li:nth-child(n+8){
	display:none !important;
}
.oFooter_menu_list > li > a{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-size: 700;
}
.oFooter_menu_list > li > ul{
	margin-top: calc(16 * var(--fz) * var(--dsc));
	display: grid;
	gap: calc(13 * var(--fz) * var(--dsc)) calc(30px * var(--dsc));
}
.oFooter_menu_list > li:nth-child(2) > ul,
.oFooter_menu_list > li:nth-child(3) > ul,
.oFooter_menu_list > li:nth-child(4) > ul,
.oFooter_menu_list > li > ul > li:nth-child(1),
.oFooter_menu_list > li > ul > li > a br{
	display:none !important;
}
@media (width < 768px){
	.oFooter_menu{
		margin-top: calc(27px * var(--ds));
		padding-top: calc(27px * var(--ds));
		border-top: 1px solid var(--color-white);
	}
	.oFooter_menu_list{
		grid-template-columns: 1fr;
		grid-template-rows: none;
		row-gap: calc(23 * var(--fz) * var(--ds));
	}
	.oFooter_menu_list a::after{
		display: none;
	}
	.oFooter_menu_list > li{
		grid-column: auto !important;
		grid-row: auto !important;
	}
	.oFooter_menu_list > li > a{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oFooter_menu_list a::after{
		width: calc(20 * var(--fz) * var(--ds));
		height: calc(16 * var(--fz) * var(--ds));
		margin-left:calc(17 * var(--fz) * var(--ds));
	}
	.oFooter_menu_list a[target="_blank"]::after{
		width: calc(19 * var(--fz) * var(--ds));
		height: calc(19 * var(--fz) * var(--ds));
		margin-bottom: calc(-3 * var(--fz) * var(--ds));
	}
	.oFooter_menu_list a[target="_blank"][href*=".pdf"]::after,
	.oFooter_menu_list a[target="_blank"][href*=".doc"]::after,
	.oFooter_menu_list a[target="_blank"][href*=".ppt"]::after,
	.oFooter_menu_list a[target="_blank"][href*=".xls"]::after,
	.oFooter_menu_list a[target="_blank"][href*=".zip"]::after{
		width: calc(19 * var(--fz) * var(--ds));
		height: calc(20 * var(--fz) * var(--ds));
		margin-bottom: calc(-3.5 * var(--fz) * var(--ds));
	}
	.oFooter_menu_list > li > ul{
		display: none;
	}
}
/* クレジットエリア */
.oFooter_credit{
	padding: calc(30px * var(--dsc)) 0;
	background: var(--color-black-true);
	color: var(--color-gray-light);
	display: grid;
	grid-column: var(--grid-full);
	grid-template-columns: subgrid;
}
.oFooter_credit_inner{
	grid-column: var(--grid-contents);
	display: flex;
	justify-content: space-between;
}
@media (width < 768px){
	.oFooter_credit{
		margin-top: calc(37px * var(--ds));
		padding: 0;
		background: transparent;
		color: var(--color-white);
		grid-column: var(--grid-full);
	}
	.oFooter_credit_inner{
		display: grid;
		grid-column: var(--grid-full);
		grid-template-columns: subgrid;
	}
}
/* サブメニュー */
.oFooter_submenu_list{
	display: flex;
	column-gap: calc(55px * var(--dsc));
}
.oFooter_submenu_list > li > a{
	--hover-color-line: var(--color-gray-light);
	--hover-color-txt-before: var(--color-gray-light);
	--hover-color-txt-after: var(--color-gray-light);
	font-weight: 700;
}
@media (width < 768px){
	.oFooter_submenu{
		grid-column: var(--grid-contents);
	}
	.oFooter_submenu_list{
		display: grid;
		gap: calc(15 * var(--fz) * var(--ds)) calc(15 * var(--fz) * var(--ds));
	}
	.oFooter_submenu_list > li > a{
		--hover-color-line: var(--color-white);
		--hover-color-txt-before: var(--color-white);
		--hover-color-txt-after: var(--color-white);
		font-size: calc(14 * var(--fz) * var(--ds));
	}
}
/* コピーライト */
.oFooter_copy > small{
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 500;
}
@media (width < 768px){
	.oFooter_copy{
		margin-top: calc(34px * var(--ds));
		background: var(--color-black-true);
		color: var(--color-white);
		padding: calc(28px * var(--ds)) 0;
		display: grid;
		grid-column: var(--grid-full);
		grid-template-columns: subgrid;
	}
	.oFooter_copy > small{
		grid-column: var(--grid-contents);
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}


/* ==================================================
+ 汎用パーツ
-------------------------------------------------- */
/* oSctA：セクションA
-------------------------------------------------- */
.oSctA{
	margin: calc(180px * var(--dsc)) 0 0;
	display: grid;
	grid-column: var(--grid-full);
	grid-template-columns: subgrid;
}
.oSctA > *{
	grid-column: var(--grid-contents-lv2);
}
@media (width < 768px){
	.oSctA{
		margin-top: calc(90px * var(--ds));
	}
}

/* oSctB：セクションB
-------------------------------------------------- */
.oSctB{
	margin: calc(130px * var(--dsc)) 0 0;
	display: grid;
	grid-column: var(--grid-full);
	grid-template-columns: subgrid;
}
.oHdA + .oSctB{
	margin-top: calc(45px * var(--dsc));
}
.oSctB > *{
	grid-column: var(--grid-contents-lv2);
}
.oHdA_label{
	color: var(--color-red);
}
@media (width < 768px){
	.oSctB{
		margin-top: calc(52px * var(--ds));
	}
	.oHdA + .oSctB{
		margin-top: calc(42px * var(--ds));
	}
}

/* oSctC：セクションC
-------------------------------------------------- */
.oSctC{
	margin: calc(76px * var(--dsc)) 0 0;
	display: grid;
	grid-column: var(--grid-full);
	grid-template-columns: subgrid;
}
.oImgs + .oSctC{
	margin-top: calc(60px * var(--dsc));
}
.oSctC > *{
	grid-column: var(--grid-contents-lv2);
}
@media (width < 768px){
	.oSctC{
		margin-top: calc(76px * var(--ds));
	}
	.oImgs + .oSctB{
		margin-top: calc(60px * var(--ds));
	}
}

/* oHdA：見出しA（先頭に飾りがついた下線見出し）
-------------------------------------------------- */
.oHdA{
	font-size: calc(50 * var(--fz) * var(--dsc));
	font-weight: 400;
	border-bottom: 1px solid var(--color-gray-light);
	padding: 0 0 calc(3 * var(--fz) * var(--dsc)) calc(40 * var(--fz) * var(--dsc));
	position: relative;
}
.oSctA > .oHdA{
	grid-column: var(--grid-contents);
}
.oHdA::before{
	content: '';
	display: block;
	width: calc(26 * var(--fz) * var(--dsc));
	height: calc(47 * var(--fz) * var(--dsc));
	border-left: calc(16 * var(--fz) * var(--dsc)) solid var(--color-navy);
	border-right: calc(7 * var(--fz) * var(--dsc)) solid var(--color-navy-light);
	position: absolute;
	left: 0;
	top: 0.38em;
}
.oHdA a::after{
	content: '';
	width: 1.2em;
	height: 0.8em;
	margin-left: 0.8em;
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
	background: var(--color-black);
}
.oHdA a[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	margin-bottom: -0.05em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
.oHdA a[target="_blank"][href*=".pdf"]::after,
.oHdA a[target="_blank"][href*=".doc"]::after,
.oHdA a[target="_blank"][href*=".ppt"]::after,
.oHdA a[target="_blank"][href*=".xls"]::after,
.oHdA a[target="_blank"][href*=".zip"]::after{
	width: 1em;
	height: 1em;
	margin-left: 0.4em;
	margin-bottom: -0.1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oHdA a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oHdA a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oHdA a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oHdA a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (width < 768px){
	.oHdA{
		font-weight: 700;
		font-size: calc(18 * var(--fz) * var(--ds));
		padding: 0 0 calc(3 * var(--fz) * var(--ds)) calc(15 * var(--fz) * var(--ds));
	}
	.oHdA::before{
		width: calc(10 * var(--fz) * var(--ds));
		height: calc(18 * var(--fz) * var(--ds));
		border-width: 0 calc(3 * var(--fz) * var(--ds)) 0 calc(6 * var(--fz) * var(--ds));
		top: 0.38em;
	}
}

/* oHdB：見出しB（文字部分だけ太い下線がついた下線見出し）
-------------------------------------------------- */
.oHdB{
	font-size: calc(30 * var(--fz) * var(--dsc));
	font-weight: 500;
	border-bottom: 1px solid var(--color-gray-light);
	color: var(--color-black-true);
}
.oSctB > .oHdB,
body.slug-portal .oSctA > .oSctB > .oHdB{
	grid-column: var(--grid-contents);
}
.oSctA > .oSctB > .oHdB{
	grid-column: var(--grid-contents-lv2);
}
.oHdB > span{
	display: inline-block;
	border-bottom: calc(5px * var(--dsc)) solid var(--color-navy);
	margin-bottom: -1px;
}
.oHdB a::after{
	content: '';
	width: 1.2em;
	height: 0.8em;
	margin-left: 0.8em;
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
	background: var(--color-black);
}
.oHdB a[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	margin-bottom: -0.05em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
.oHdB a[target="_blank"][href*=".pdf"]::after,
.oHdB a[target="_blank"][href*=".doc"]::after,
.oHdB a[target="_blank"][href*=".ppt"]::after,
.oHdB a[target="_blank"][href*=".xls"]::after,
.oHdB a[target="_blank"][href*=".zip"]::after{
	width: 1em;
	height: 1em;
	margin-left: 0.4em;
	margin-bottom: -0.1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oHdB a[target="_blank"][href*=".doc"]::after{
	background-image:var(--img-ico-doc);
}
.oHdB a[target="_blank"][href*=".ppt"]::after{
	background-image:var(--img-ico-ppt);
}
.oHdB a[target="_blank"][href*=".xls"]::after{
	background-image:var(--img-ico-xls);
}
.oHdB a[target="_blank"][href*=".zip"]::after{
	background-image:var(--img-ico-zip);
}
@media (width < 768px){
	.oHdB{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oHdB > span{
		border-bottom: calc(3px * var(--ds)) solid var(--color-navy);
	}
}

/* oHdC：見出しC（灰色背景見出し）
-------------------------------------------------- */
.oHdC{
	font-size: calc(22 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: var(--color-black);
	padding: calc(10px * var(--dsc)) calc(13px * var(--dsc));
	background: var(--color-gray-pale);
}
@media (width < 768px){
	.oHdC{
		font-size: calc(18 * var(--fz) * var(--ds));
		padding: calc(10px * var(--ds)) calc(13px * var(--ds));
	}
}

/* oDate：日付
-------------------------------------------------- */
.oDate{
	margin-top: calc(46px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(28 / 16);
	text-align: right;
	padding-right: 1em;
	width: 100%;
}
.oHdA + .oDate{
	margin-top: calc(42px * var(--dsc));
}
@media (width < 768px){
	.oDate{
		margin: calc(38px * var(--ds)) auto 0;
		padding-right: 0;
	}
	.oHdA + .oDate{
		margin-top: calc(15px * var(--ds));
	}
}

/* oTxt：本文
-------------------------------------------------- */
.oTxt{
	margin-top: calc(46px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(28 / 16);
}
.oTxt a{
	overflow-wrap: break-word;
	word-break: break-all;
}
body.single-event .oTxt{
	line-height: calc(33 / 16);
}
.oHdC + .oTxt{
	margin-top: calc(20px * var(--dsc));
}
@media (width < 768px){
	.oTxt{
		margin-top: calc(38px * var(--ds));
	}
	.oHdC + .oTxt{
		margin-top: calc(20px * var(--ds));
	}
	.oSctA > .oTxt{
		margin-top: calc(15px * var(--ds));
	}
}
.oTxt > p:nth-child(n+2){
	margin-top: 1.5em;
}

/* リスト共通 */
.oTxt > ul,
.oTxt > ol{
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5em 2em;
}
.oTxt > ul:nth-child(n+2),
.oTxt > ol:nth-child(n+2){
	margin-top: 1.5em;
}
/* 中黒リスト */
.oTxt ul.vDisc,
.oTxt ol.vDisc{
	list-style-type: disc;
	padding-left: 1em;
}
/* 丸リスト */
.oTxt ul.vCir,
.oTxt ol.vCir{
	list-style-type: circle;
	padding-left: 1em;
}
/* 数字リスト */
.oTxt ul.vNum,
.oTxt ol.vNum{
	list-style-type: decimal;
	padding-left: 1.5em;
}
/* 数字リスト（丸括弧） */
.oTxt ul.vNum_paren,
.oTxt ol.vNum_paren{
	list-style-type: decimal;
	padding-left: 1.5em;
}
.oTxt ul.vNum_paren > li::marker,
.oTxt ol.vNum_paren > li::marker{
	content: '('counter(list-item) ') ';
}
/* アルファベットリスト */
.oTxt ul.vAlpha,
.oTxt ol.vAlpha{
	list-style-type: upper-alpha;
	padding-left: 1em;
}
/* グリッド */
.oTxt_grid{
	display: grid;
}
.oTxt_grid.vCol_2{
	grid-template-columns: auto 1fr;
}
@media (width >= 768px){
	.oTxt_grid.vCol_pc2{
		grid-template-columns: auto 1fr;
	}
}
@media (width < 768px){
	.oTxt_grid.vCol_sp2{
		display: grid;
		grid-template-columns: auto 1fr;
	}
}
/* vTypeA：大きめ */
.oTxt.vTypeA{
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(40 / 20);
}
@media (width < 768px){
	.oTxt.vTypeA{
		font-size: calc(20 * var(--fz) * var(--ds));
	}
}

/* oTxtA：大きい文字
-------------------------------------------------- */
.oTxtA{
	font-size: calc(30 * var(--fz) * var(--dsc));
	line-height: calc(45 / 30);
	font-weight: 400;
	color: var(--color-black);
}
.oHdA + .oTxtA{
	margin-top: calc(50px * var(--dsc));
}
@media (width < 768px){
	.oTxtA{
		font-size: calc(28 * var(--fz) * var(--ds));
	}
	.oHdA + .oTxtA{
		margin-top: calc(25px * var(--ds));
	}
}

/* oTxtUpdate：日付
-------------------------------------------------- */
.oTxtUpdate{
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(28 / 16);
	text-align: right;
}
@media (width < 768px){
	.oTxtUpdate{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oTxtLastNote：末尾の注記
-------------------------------------------------- */
.oTxtLastNote{
	padding-top: 1em;
	font-size: calc(16 * var(--fz) * var(--dsc));
	border-top: 1px solid var(--color-gray-light);
	line-height: calc(28 / 16);
}
.oTxt + .oTxtLastNote,
.oSctA:has(.oTxt:last-child) + .oTxtLastNote{
	margin-top: calc(60px * var(--dsc));
}
.oTxtLastNote > p{
	display: grid;
	text-align: right;
	justify-content: end;
	grid-template-columns: repeat(2,auto);
}
@media (width < 768px){
	.oTxt + .oTxtLastNote,
	.oSctA:has(.oTxt:last-child) + .oTxtLastNote{
		margin-top: calc(40px * var(--ds));
	}
	.oTxtLastNote{
		text-align: left;
	}
}

/* oTxtGrid：グリッド表示テキスト
-------------------------------------------------- */
.oTxtGrid{
	width: auto;
	display: grid;
	justify-content: start;
}
.oTxtGrid > *{
	margin: 0;
}
@media (width >= 768px){
	.oTxtGrid.vCol_pc2{
		grid-template-columns: repeat(2, auto);
	}
}
/* vTypeA：コロン区切り */
.oTxtGrid.vTypeA > dt{
	text-align: justify;
	text-align-last: justify;
}
.oTxtGrid.vTypeA > dd{
	position: relative;
	padding-left: 1em;
}
.oTxtGrid.vTypeA > dd::before{
	content: '：';
	position: absolute;
	left: 0;
	top: 0;
}
@media (width < 768px){
	.oTxtGrid.vTypeA > dt{
		text-align: left;
		text-align-last: left;
	}
}

/* oTxtListA：テキストリストA
-------------------------------------------------- */
.oTxtListA{
	width: 100%;
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(28 / 18);
	color: var(--color-black);
}
.oHdA + .oTxtListA{
	margin-top: calc(50px * var(--dsc));
}
.oTxtListA_list{
	width: 100%;
}
.oTxtListA_list > li{
	padding-left: 1.2em;
	position: relative;
}
.oTxtListA_list > li:nth-child(n+2){
	margin-top: 1.5em;
}
.oTxtListA_list > li::before{
	content: '';
	width: 0.66em;
	height: 0.66em;
	background: var(--color-black);
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 0.5em;
}
.oTxtListA_list > li b{
	font-weight: 700;
}
@media (width < 768px){
	.oTxtListA{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oHdA + .oTxtListA{
		margin-top: calc(50px * var(--ds));
	}
}

/* oData：データリスト
-------------------------------------------------- */
.oData{
	margin-top: calc(59px * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	line-height: calc(27 / 18);
	width: 100%;
}
.oData > dl{
	display: grid;
	grid-template-columns: auto 1fr;
	row-gap: calc(30px * var(--dsc));
}
.oData > dl > dt,
.oData > dl > dd{
	font-weight: 500;
	border-bottom: 1px solid var(--color-gray-light);
	padding: 0 0 calc(30px * var(--dsc));
}
.oData > dl > dt{
	white-space: nowrap;
}
.oData > dl > dd{
	padding-left: 2em;
	grid-column: 2;
	margin-left: 0;
}
.oData > dl > dd p:nth-child(n+2),
.oData > dl > dd ul:nth-child(n+2),
.oData > dl > dd ol:nth-child(n+2){
	margin-top: 1em;
}
.oData > dl > dt.vNoLine,
.oData > dl > dd.vNoLine{
	padding-bottom: 0;
	margin-bottom: calc(-15px * var(--dsc));
	border-bottom: 0;
}
.oData_note{
	text-align: right;
	padding-top: calc(26px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
}
.oData_links:nth-child(n+2){
	margin-top: 1.5em;
}
/* 中黒リスト */
.oData ul.vDisc,
.oData ol.vDisc{
	list-style-type: disc;
	padding-left: 1em;
}
/* 丸リスト */
.oData ul.vCir,
.oData ol.vCir{
	list-style-type: circle;
	padding-left: 1em;
}
/* 数字リスト */
.oData ul.vNum,
.oData ol.vNum{
	list-style-type: decimal;
	padding-left: 1.5em;
}
/* 数字リスト（丸括弧） */
.oData ul.vNum_paren,
.oData ol.vNum_paren{
	list-style-type: decimal;
	padding-left: 1.5em;
}
.oData ul.vNum_paren > li::marker,
.oData ol.vNum_paren > li::marker{
	content: '('counter(list-item) ') ';
}
/* アルファベットリスト */
.oData ul.vAlpha,
.oData ol.vAlpha{
	list-style-type: upper-alpha;
	padding-left: 1em;
}
@media (width < 768px){
	.oData{
		margin: calc(38px * var(--ds)) auto 0;
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oSctA > .oData{
		margin-top: calc(15px * var(--ds));
	}
	.oData > dl{
		row-gap: calc(14px * var(--ds));
		grid-template-columns: 1fr;
	}
	.oData > dl > dt,
	.oData > dl > dd{
		padding: 0 0 calc(14px * var(--ds));
	}
	.oData > dl > dt{
		border-bottom: 0;
		padding-bottom: 0;
		font-weight: 700;
		margin-bottom: calc(-15px * var(--dsc));
	}
	.oData > dl > dd{
		grid-column: 1;
	}
	.oData_note{
		padding-top: calc(26px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}
/* vSep：セパレーター */
.oData.vSep_colon > dl > dd{
	padding-left: 3em;
	position: relative;
}
.oData.vSep_colon > dl > dd::before{
	position: absolute;
	left: 1em;
	top: 0;
	content: '：';
}
.oData.vSep_colon > dl > dd.vNoSep{
	padding-left: 1em !important;
}
.oData.vSep_colon > dl > dd.vNoSep::before{
	display: none !important;
}
@media (width < 768px){
	.oData.vSep_colon > dl > dt{
		font-weight: 700;
	}
	.oData.vSep_colon > dl > dd{
		padding-top: 0.5em;
		padding-left: 2em;
	}
	.oData.vSep_colon > dl > dd::before{
		top: 0.5em;
		left: 0;
	}
	.oData.vSep_colon > dl > dd.vNoSep{
		padding-left: 0 !important;
	}
}
/* vTypeA：イベント詳細 */
.oHdB + .oData.vTypeA{
	margin-top: 1em;
}
.oData.vTypeA > dl > dd{
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(27 / 16);
	font-weight: 400;
}
.oData.vTypeA > dl > dd p:nth-child(n+2),
.oData.vTypeA > dl > dd ul:nth-child(n+2),
.oData.vTypeA > dl > dd ol:nth-child(n+2){
	margin-top: 1em;
}
.oData.vTypeA > dl > dd a[target="_blank"]::after{
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	mask: var(--img-ico-newwin) no-repeat center center / contain;
	background: var(--color-black);
	margin-left: 0.5em;
	margin-bottom: -0.2em;
}
.oData.vTypeA > dl > dd a[target="_blank"][href*=".pdf"]::after,
.oData.vTypeA > dl > dd a[target="_blank"][href*=".doc"]::after,
.oData.vTypeA > dl > dd a[target="_blank"][href*=".ppt"]::after,
.oData.vTypeA > dl > dd a[target="_blank"][href*=".xls"]::after,
.oData.vTypeA > dl > dd a[target="_blank"][href*=".zip"]::after{
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oData.vTypeA > dl > dd a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oData.vTypeA > dl > dd a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oData.vTypeA > dl > dd a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oData.vTypeA > dl > dd a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (hover: hover){
	.oData.vTypeA > dl > dd a[target="_blank"]:hover::after{
		background-color: var(--color-navy);
	}
}
@media (width < 768px){
	.oHdB + .oData.vTypeA{
		margin-top: 0;
	}
	.oData.vTypeA > dl > dd{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oDataA：3カラム（活動について）
-------------------------------------------------- */
.oDataA{
	margin-top: calc(214px * var(--dsc));
	width: 100%;
}
.oDataA > dl{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, auto);
	border-right: 1px solid var(--color-gray);
}
.oDataA > dl > dt,
.oDataA > dl > dd{
	border-left: 1px solid var(--color-gray);
	margin: 0;
}
.oDataA > dl > dt{
	grid-row: 1;
	background: var(--img-gd-navy) no-repeat 1px top / calc(7px * var(--dsc)) 100%;
	padding-left: calc(30px * var(--dsc));
	font-size: calc(25 * var(--fz) * var(--dsc));
	line-height: calc(40 / 25);
	font-weight: 500;
	color: var(--color-navy);
}
.oDataA > dl > dd{
	grid-row: 2;
	padding: calc(40px * var(--dsc)) calc(30px * var(--dsc)) 0;
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(40 / 16);
	font-weight: 400;
}
@media (width < 768px){
	.oDataA{
		margin-top: calc(100px * var(--ds));
	}
	.oDataA > dl{
		grid-template-columns: 1fr;
		grid-template-rows: repeat(auto-fit, auto);
		border-right: 0;
	}
	.oDataA > dl > dt,
	.oDataA > dl > dd{
		border-right: 1px solid var(--color-gray);
	}
	.oDataA > dl > dt{
		grid-row: auto;
		background-size: calc(7px * var(--ds)) 100%;
		padding-left: calc(20px * var(--ds));
		font-size: calc(22 * var(--fz) * var(--ds));
	}
	.oDataA > dl > dd + dt{
		margin-top: calc(40px * var(--ds));
	}
	.oDataA > dl > dd{
		grid-row: auto;
		padding: calc(20px * var(--ds)) calc(20px * var(--ds)) 0;
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oDataB：背景付き2カラム（活動について）
-------------------------------------------------- */
.oDataB{
	margin-top: calc(80px * var(--dsc));
	width: 100%;
}
.oDataB > dl{
	display: grid;
	grid-template-columns: calc(300px * var(--dsc)) 1fr;
	gap: 4px 4px;
}
.oDataB > dl > dt,
.oDataB > dl > dd{
	margin: 0;
	display: grid;
	align-items: center;
}
.oDataB > dl > dt{
	background: var(--color-navy);
	color: var(--color-white);
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 700;
	padding: calc(30px * var(--dsc)) calc(38px * var(--dsc));
	white-space: nowrap;
}
.oDataB > dl > dd{
	background: var(--color-gray-pale);
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(30 / 16);
	padding: calc(20px * var(--dsc)) calc(40px * var(--dsc));
	font-weight: 400;
}
@media (width < 768px){
	.oDataB{
		margin-top: calc(40px * var(--ds));
	}
	.oDataB > dl{
		display: grid;
		grid-template-columns: 1fr;
		gap: 4px 4px;
	}
	.oDataB > dl > dt{
		font-size: calc(20 * var(--fz) * var(--ds));
		padding: calc(20px * var(--ds)) calc(15px * var(--ds));
		white-space: normal;
	}
	.oDataB > dl > dd + dt{
		margin-top: calc(40px * var(--ds));
	}
	.oDataB > dl > dd{
		font-size: calc(16 * var(--fz) * var(--ds));
		padding: calc(20px * var(--dsc)) calc(15px * var(--ds)) calc(30px * var(--dsc));
	}
}

/* oTbl：テーブル（役員紹介など）
-------------------------------------------------- */
.oTbl{
	margin-top: calc(59px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(22 / 16);
	width: 100%;
}
.oTbl_inner{
	width: 100%;
}
.oTbl_tbl{
	width: 100%;
	padding: 1px;
	overflow: hidden;
}
.oTbl_tbl > table{
	border-collapse: separate;
	border-spacing: 4px;
	width: calc(100% + 10px);
	margin: -5px;
}
.oTbl_tbl > table > caption{
	caption-side: bottom;
	text-align: right;
	padding-top: calc(26px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
}
.oTbl_tbl > table > thead > tr > th,
.oTbl_tbl > table > thead > tr > td{
	background: rgba(27, 56, 121, 0.1);
	font-weight: inherit;
	text-align: center;
	padding: calc(15px * var(--dsc)) calc(10px * var(--dsc));
}
.oTbl_tbl > table > tbody > tr > th,
.oTbl_tbl > table > tbody > tr > td{
	background: var(--color-gray-pale);
	font-weight: inherit;
	vertical-align: middle;
	padding: calc(34px * var(--dsc)) calc(30px * var(--dsc));
}
.oTbl_tbl > table > tbody > tr > th{
	white-space: nowrap;
	text-align: center;
}
@media (width < 768px){
	.oTbl{
		margin: calc(38px * var(--ds)) auto 0;
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oSctA > .oTbl{
		margin-top: calc(15px * var(--ds));
	}
	.oTbl_tbl > table > caption{
		padding-top: calc(26px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oTbl_tbl > table > thead > tr > th,
	.oTbl_tbl > table > thead > tr > td{
		padding: calc(10px * var(--ds)) calc(15px * var(--ds));
	}
	.oTbl_tbl > table > tbody > tr > th,
	.oTbl_tbl > table > tbody > tr > td{
		padding: calc(20px * var(--ds)) calc(15px * var(--ds));
	}
	/* vModeSP：SPでの表示方法 */
	.oTbl.vModeSP_scroll::before{
		content:'▼ 横スクロールできます';
		margin-bottom: 0.5em;
		display: block;
		color: var(--color-navy-light);
		font-size: calc(16px * var(--ds));
	}
	.oTbl.vModeSP_scroll .oTbl_inner{
		overflow: auto;
	}
	.oTbl.vModeSP_scroll .oTbl_tbl{
		width: max-content;
	}
	.oTbl.vModeSP_scroll .oTbl_tbl > table{
		width: auto;
	}
}

/* oImg：画像
-------------------------------------------------- */
.oImg{
	margin-top: calc(42px * var(--dsc));
}
.oLead + .oImg{
	margin-top: calc(180px * var(--dsc));
}
.oSctA > .oImg{
	grid-column: var(--grid-contents-inner);
}
@media (width < 768px){
	.oImg{
		margin-top: calc(42px * var(--ds));
	}
	.oLead + .oImg{
		margin-top: calc(90px * var(--dsc));
	}
}

/* oImgA：画像（タイトル付）
-------------------------------------------------- */
.oImgA{
	width: 100%;
}
.oHdA + .oImgA{
	margin-top: calc(83px * var(--dsc));
}
.oImgA + .oImgA{
	margin-top: calc(100px * var(--dsc));
}
.oImgA_cap{
	font-size: calc(30 * var(--fz) * var(--dsc));
	font-weight: 400;
	color: var(--color-gray-dark);
}
.oImgA_img{
	border: 1px solid var(--color-gray);
}
.oImgA_cap + .oImgA_img{
	margin-top: calc(15px * var(--dsc));
}
@media (width < 768px){
	.oHdA + .oImgA{
		margin-top: calc(40px * var(--ds));
	}
	.oImgA + .oImgA{
		margin-top: calc(50px * var(--ds));
	}
	.oImgA_cap{
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oImgA_cap + .oImgA_img{
		margin-top: calc(10px * var(--ds));
	}
}

/* oImgs：画像
-------------------------------------------------- */
.oImgs{
	margin-top: calc(54px * var(--dsc));
	display: grid;
	gap: calc(30px * var(--dsc)) calc(46px * var(--dsc));
}
.oImgs_img{
	border: 1px solid var(--color-gray);
}
@media (width < 768px){
	.oImgs{
		margin-top: calc(60px * var(--ds));
		gap: calc(30px * var(--ds)) calc(30px * var(--ds));
	}
}
/* vCol：カラム数 */
.oImgs.vCol_2{
	grid-template-columns: repeat(2, 1fr);
}

/* oMap：Google Map
-------------------------------------------------- */
.oMap{
	margin-top: calc(42px * var(--dsc));
}
.oSctA > .oMap{
	grid-column: var(--grid-contents-inner);
}
.oMap_map{
	position: relative;
}
.oMap_map::before{
	content: '';
	display: block;
	width: 100%;
	padding-top: calc(720 / 960 * 100%);
}
.oMap_map > iframe{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.oMap_link{
	margin-top: calc(20px * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oMap{
		margin-top: calc(42px * var(--ds));
	}
	.oMap_link{
		margin-top: calc(20px * var(--ds));
		font-size: calc(18 * var(--fz) * var(--ds));
	}
}

/* oListA：リストA
-------------------------------------------------- */
.oListA{
	width: 100%;
}
.oHdA + .oListA{
	margin-top: calc(66px * var(--dsc));
}
.oListA_list > li{
	padding-bottom: calc(28px * var(--dsc));
	border-bottom: 1px solid var(--color-gray-light);
}
.oListA_list > li:nth-child(n+2){
	margin-top: calc(38px * var(--dsc));
}
.oListA_list > li > a{
	font-weight: 500;
	font-size: calc(18 * var(--fz) * var(--dsc));
	line-height: calc(28 / 18);
	color: var(--color-black);
}
@media (width < 768px){
	.oHdA + .oListA{
		margin-top: calc(40px * var(--ds));
	}
	.oListA_list > li{
		padding-bottom: calc(28px * var(--ds));
	}
	.oListA_list > li:nth-child(n+2){
		margin-top: calc(38px * var(--ds));
	}
	.oListA_list > li > a{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
}

/* oLinksA：リンク集A（会員専用ページトップなどのリンクリスト）
-------------------------------------------------- */
.oLinksA{
	margin-top: calc(46px * var(--dsc));
}
.oSctB > .oLinksA{
	grid-column: var(--grid-contents);
}
.oLinksA > ul{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: calc(45px * var(--dsc)) calc(15px * var(--dsc));
}
.oLinksA > ul > li > a.vHover_bg{
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: flex;
	width: 100%;
	height: calc(112 * var(--fz) * var(--dsc));
	justify-content: space-between;
	align-items: center;
	column-gap: 0.2em;
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(30 / 20);
	text-decoration: none;
	padding: calc(10px * var(--dsc)) calc(12px * var(--dsc)) calc(10px * var(--dsc)) calc(18px * var(--dsc));
}
.oLinksA > ul > li > a.vHover_bg .oIcoArw{
	--arw-size: calc(30px * var(--dsc));
}
@media (width < 768px){
	.oLinksA{
		margin-top: calc(15px * var(--ds));
	}
	.oLinksA > ul{
		grid-template-columns: 1fr;
		gap: calc(12px * var(--ds)) calc(12px * var(--ds));
	}
	.oLinksA > ul > li > a.vHover_bg{
		height: calc(112 * var(--fz) * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
		line-height: calc(30 / 16);
		padding: calc(10px * var(--ds)) calc(30px * var(--ds)) calc(10px * var(--ds)) calc(24px * var(--ds));
	}
	.oLinksA > ul > li > a.vHover_bg .oIcoArw{
		--arw-size: calc(30px * var(--ds));
	}
}

/* oLinksB：リンク集B（テキストリンク）
-------------------------------------------------- */
.oLinksB{
	margin-top: calc(100px * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(40 / 20);
}
.oLinksB > ul,
.oLinksB > ol{
	width: 100%;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1em 2em;
}
.oLinksB_mark{
	display: inline-block;
	width: 1.5em;
}
/* 中黒リスト */
.oLinksB ul.vDisc{
	list-style-type: disc;
	padding-left: 1em;
}
/* 数字リスト（丸括弧） */
.oLinksB ol.vNum_paren{
	list-style: decimal;
	padding-left: 1.5em;
}
.oLinksB ol.vNum_paren > li::marker{
	content:'(' counter(list-item) ') ';
}
@media (width < 768px){
	.oLinksB{
		margin-top: calc(60px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
		line-height: calc(27 / 16);
	}
}
/* TypeA：関連リンク */
.oLinksB > ul.vTypeA{
	gap: 0.5em 2em;
}
/* TypeA：関連リンク */
.oLinksB > ul.vTypeA > li > ul{
	padding-left: 1.5em;
}

/* oLinksC：リンク集C（箱入りリンク）
-------------------------------------------------- */
.oLinksC{
	margin-top: calc(95px * var(--dsc));
	border: 1px solid var(--color-gray);
	padding: calc(68px * var(--dsc)) calc(100px * var(--dsc)) calc(80px * var(--dsc)) calc(158px * var(--dsc));
}
.oLinksC a::after{
	content: '';
	width: 1.2em;
	height: 0.8em;
	margin-left: 0.8em;
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
}
.oLinksC a[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	margin-bottom: -0.05em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
.oLinksC a[target="_blank"][href*=".pdf"]::after{
	width: 1em;
	height: 1em;
	margin-left: 0.4em;
	margin-bottom: -0.1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oLinksC a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oLinksC a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oLinksC a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oLinksC a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
.oLinksC > ul{
	column-count: 2;
	column-gap: calc(60px * var(--dsc));
}
.oLinksC > ul > li{
	padding: calc(10px * var(--dsc)) 0;
	break-inside: avoid;
}
@media (width < 768px){
	.oLinksC{
		margin-top: calc(45px * var(--ds));
		padding: calc(30px * var(--ds)) calc(20px * var(--ds)) calc(40px * var(--ds));
	}
	.oLinksC > ul{
		column-count: 1;
	}
	.oLinksC > ul > li{
		padding: calc(10px * var(--ds)) 0;
	}
}

/* oLinksD：リンク集D（詳しく知りたい方は・・・）
-------------------------------------------------- */
.oLinksD{
	margin-top: calc(135px * var(--dsc));
	border-radius: calc(34px * var(--dsc));
	background: var(--color-navy);
	color: var(--color-white);
	padding: calc(83px * var(--dsc)) calc(80px * var(--dsc)) calc(83px * var(--dsc)) calc(70px * var(--dsc));
}
.oLinksD > ul > li{
	display: grid;
	align-items: center;
	justify-content: start;
	grid-template-columns: calc(550px * var(--dsc)) calc(453px * var(--dsc));
}
.oLinksD > ul > li:nth-child(n+2){
	margin-top: calc(46px * var(--dsc));
	border-top: 1px solid var(--color-white);
	padding-top: calc(46px * var(--dsc));
}
.oLinksD_txt{
	font-size: calc(28 * var(--fz) * var(--dsc));
	line-height: calc(40 / 28);
	font-weight: 700;
}
.oLinksD_btn{
	font-size: calc(28 * var(--fz) * var(--dsc));
}
li:nth-child(n+2) .oLinksD_btn{
	font-size: calc(25 * var(--fz) * var(--dsc));
}
.oLinksD_btn > a.vHover_bg{
	--hover-color-line-before: var(--color-white);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-navy);
	--hover-color-line-after: var(--color-white);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	text-decoration: none;
	border-radius: 100vh;
	display: grid;
	grid-template-columns: repeat(2, auto);
	align-items: center;
	justify-content: space-between;
	padding: calc(21px * var(--dsc)) calc(40px * var(--dsc));
	font-weight: 700;
}
.oLinksD_btn > a.vHover_bg::after{
	content: '';
	background: var(--color-navy);
	width: 1em;
	height: 1em;
	mask: var(--img-arw-gt) no-repeat left center / contain;
}
.oLinksD_btn > a.vHover_bg[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".pdf"]::after,
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".doc"]::after,
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".ppt"]::after,
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".xls"]::after,
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".zip"]::after{
	width: 1em;
	height: 1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oLinksD_btn > a.vHover_bg[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (hover: hover){
	.oLinksD_btn > a.vHover_bg:hover::after{
		background: var(--color-white);
	}
}
@media (width < 768px){
	.oLinksD{
		margin-top: calc(100px * var(--ds));
		border-radius: calc(20px * var(--ds));
		padding: calc(40px * var(--dsc)) calc(20px * var(--dsc));
	}
	.oLinksD > ul > li{
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 1em;
	}
	.oLinksD > ul > li:nth-child(n+2){
		margin-top: calc(30px * var(--ds));
		padding-top: calc(30px * var(--ds));
	}
	.oLinksD_txt{
		font-size: calc(17 * var(--fz) * var(--ds));
	}
	.oLinksD_btn{
		font-size: calc(19 * var(--fz) * var(--ds));
	}
	li:nth-child(n+2) .oLinksD_btn{
		font-size: calc(17 * var(--fz) * var(--ds));
	}
	.oLinksD_btn > a.vHover_bg{
		padding: calc(15px * var(--dsc)) calc(20px * var(--dsc));
	}
}

/* oLinkBox：FAQなどからお問い合わせへの導線
-------------------------------------------------- */
.oLinkBox{
	margin-top: calc(180px * var(--dsc));
	border: 1px solid var(--color-gray);
	display: grid;
	align-items: center;
	padding: calc(60px * var(--dsc)) calc(72px * var(--dsc));
	grid-template-columns: auto calc(253 * var(--fz) * var(--dsc));
	gap: 0 calc(160px * var(--dsc));
}
.oLinkBox_txt{
	font-size: calc(18 * var(--fz) * var(--dsc));
	line-height: calc(33 / 18);
}
.oLinkBox_btn > a.vHover_bg{
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	border-radius: calc(14px * var(--dsc));
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: calc(6 * var(--fz) * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	padding: calc(17px * var(--dsc));
	text-decoration: none;
}
.oLinkBox_btn .oIcoArw{
	--arw-size: calc(20 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oLinkBox{
		margin-top: calc(100px * var(--ds));
		align-items: start;
		padding: calc(20px * var(--ds)) calc(15px * var(--ds));
		grid-template-columns: 1fr;
		gap: calc(20px * var(--ds)) 0;
	}
	.oLinkBox_txt{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oLinkBox_btn > a.vHover_bg{
		border-radius: calc(14px * var(--dsc));
		column-gap: calc(6 * var(--fz) * var(--ds));
		font-size: calc(18 * var(--fz) * var(--ds));
		padding: calc(17px * var(--ds));
	}
	.oLinkBox_btn .oIcoArw{
		--arw-size: calc(20 * var(--fz) * var(--ds));
	}
}

/* oBtnsA：ボタンリンク（四角い紺色ボタンの中央配置）
-------------------------------------------------- */
.oBtnsA{
	margin-top: calc(180px * var(--dsc));
	font-size: calc(25 * var(--fz) * var(--dsc));
}
.oBtnsA a{
	margin: 0 auto;
	display: flex;
	width: calc(559 * var(--fz) * var(--dsc));
	height: calc(117 * var(--fz) * var(--dsc));
	justify-content: center;
	align-items: center;
	text-decoration: none;
}
@media (width < 768px){
	.oBtnsA{
		margin-top: calc(40px * var(--dsc));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oBtnsA a{
		width: 100%;
		height: calc(60 * var(--fz) * var(--ds));
	}
}

/* oSkip：ページ内リンク
-------------------------------------------------- */
.oSkip{
	margin-top: calc(50px * var(--dsc));
}
.oLead + .oSkip{
	margin-top: calc(80px * var(--dsc));
}
.oSkip > ul{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: calc(15px * var(--dsc)) calc(8px * var(--dsc));
}
.oSkip > ul > li > a.vHover_bg{
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: grid;
	align-items: center;
	justify-content: space-between;
	font-size: calc(18 * var(--fz) * var(--dsc));
	line-height: calc(25 / 18);
	min-height: calc(97 * var(--fz) * var(--dsc));
	padding: calc(10px * var(--dsc)) calc(20px * var(--dsc));
	text-decoration: none;
	column-gap: 1em;
	grid-template-columns: repeat(2, auto);
}
.oSkip > ul > li > a.vHover_bg::after{
	content: '▼';
	display: block;
}
@media (width >= 768px){
	.oSkip > ul.vCol_pc4{
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (width < 768px){
	.oSkip{
		margin-top: calc(50px * var(--ds));
	}
	.oLead + .oSkip{
		margin-top: calc(80px * var(--ds));
	}
	.oSkip > ul{
		grid-template-columns: 1fr;
		gap: calc(15px * var(--ds)) calc(8px * var(--ds));
	}
	.oSkip > ul > li > a.vHover_bg{
		font-size: calc(18 * var(--fz) * var(--ds));
		min-height: calc(70 * var(--fz) * var(--ds));
		padding: calc(10px * var(--ds)) calc(20px * var(--ds));
		column-gap: 0.5em;
	}
}
/* vTypeA：細め */
.oSkip.vTypeA > ul{
	grid-column: var(--grid-contents);
	width: 100%;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(16px * var(--dsc)) 0;
}
.oSkip.vTypeA > ul > li{
	border-right: 1px solid var(--color-gray);
}
.oSkip.vTypeA > ul > li:nth-child(3n+1){
	border-left: 1px solid var(--color-gray);
}
.oSkip.vTypeA > ul > li > a.vHover_bg{
	--hover-color-txt-before: var(--color-gray);
	font-size: calc(20 * var(--fz) * var(--dsc));
	min-height: calc(50 * var(--fz) * var(--dsc));
	border: 0;
	justify-content: center;
}
@media (width < 768px){
	.oSkip.vTypeA > ul{
		width: 100%;
		grid-template-columns: 1fr;
	}
	.oSkip.vTypeA > ul > li{
		border-left: 1px solid var(--color-gray);
	}
	.oSkip.vTypeA > ul > li > a.vHover_bg{
		font-size: calc(16 * var(--fz) * var(--ds));
		min-height: calc(50 * var(--fz) * var(--ds));
		height: 100%;
	}
}
/* vSticky：追従 */
@media (width >= 768px){
	html:has(.oSkip.vStickyPC){
		scroll-padding: calc(var(--wp-bar) + var(--header-height) + var(--sticky-skip-height));
	}
	.oSkip.vStickyPC{
		margin-top: calc(33px * var(--dsc)) !important;
		position: sticky;
		top: calc(var(--header-height) + var(--wp-bar));
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: subgrid;
		width: 100%;
		background: #fff;
		z-index: 1;
	}
}

/* oTab：タブ切り替え
-------------------------------------------------- */
.oTab{
	margin-top: calc(50px * var(--dsc));
}
.oSctA > .oTab{
	grid-column: var(--grid-contents);
}
.oTab_btn{
	margin: 0 auto;
	width: calc(800px * var(--dsc));
	border-left: 1px solid var(--color-gray);
	border-right: 1px solid var(--color-gray);
}
.oTab_btn > ul{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 0 1px;
	background: var(--color-gray);
}
.oTab_btn > ul > li > a.vHover_bg{
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-gray);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: grid;
	align-items: center;
	justify-content: center;
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(25 / 18);
	min-height: calc(50 * var(--fz) * var(--dsc));
	padding: calc(10px * var(--dsc)) calc(10px * var(--dsc));
	text-decoration: none;
	column-gap: 1em;
	grid-template-columns: repeat(2, auto);
	border: 0;
}
.oTab_btn > ul > li > a.vHover_bg.sActive{
	--hover-color-bg-before: var(--color-navy);
	--hover-color-txt-before: var(--color-white);
	--hover-color-bg-after: var(--color-white);
	--hover-color-txt-after: var(--color-gray);
}
@media (width < 768px){
	.oTab{
		margin-top: calc(50px * var(--ds));
	}
	.oTab_btn{
		width: 100%;
	}
	.oTab_btn > ul{
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	}
	.oTab_btn > ul > li > a.vHover_bg{
		font-size: calc(16 * var(--fz) * var(--ds));
		min-height: calc(50 * var(--fz) * var(--ds));
		padding: calc(10px * var(--ds)) calc(20px * var(--ds));
		height: 100%;
	}
}


/* ==================================================
+ ユニークパーツ
-------------------------------------------------- */
/* oMv：HOMEのMV
-------------------------------------------------- */
.oMv {
	position: relative;
	background: var(--color-navy);
	grid-column: var(--grid-full);
}
.oMv::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: calc(-50px * var(--dsc));
	width: calc(1795px * var(--dsf));
	aspect-ratio: 1795 / 250;
	border-radius: 50%;
	background: #00F5FF;
	mix-blend-mode: overlay;
	filter: blur(calc(33px * var(--dsc)));
}
.oMv_movie,
.oMv_img{
	overflow: hidden;
	border-radius: 0 0 calc(141px * var(--dsf)) calc(141px * var(--dsf));
}
@media (width < 768px){
	.oMv::after {
		bottom: calc(-60px * var(--ds));
		width: 100%;
		aspect-ratio: var(--sp) / 88;
		filter: blur(calc(33px * var(--ds)));
	}
	.oMv_movie,
	.oMv_img{
		overflow: hidden;
		border-radius: 0 0 calc(50px * var(--ds)) calc(50px * var(--ds));
	}

}

/* oEvent：HOMEのイベント一覧
-------------------------------------------------- */
.oEvent {
	background: var(--color-navy);
	padding: calc(80px * var(--dsc)) 0 calc(46px * var(--dsc));
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oEvent_inner{
	grid-column: var(--grid-contents);
}
@media (width < 768px){
	.oEvent {
		padding: calc(25px * var(--ds)) 0 calc(35px * var(--ds));
	}
}
/* 見出し */
.oEvent_hd {
	font-size: calc(45 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: var(--color-white);
}
.oEvent_hd > small{
	font-size: calc(15 * var(--fz) * var(--dsc));
	display: block;
	margin: calc(-5 * var(--fz) * var(--dsc)) 0 0;
	padding: 0  calc(10 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oEvent_hd {
		font-size: calc(22 * var(--fz) * var(--ds));
	}
	.oEvent_hd > small{
		font-size: calc(14 * var(--fz) * var(--dsc));
		display:inline-block;
		margin: 0 0 0 calc(20 * var(--fz) * var(--dsc));
		padding:0;
	}
}
/* タブ */
.oEvent_tabs {
	margin-top: calc(10px * var(--dsc));
	display: flex;
	flex-wrap: wrap;
	gap: 1px 1px;
}
.oEvent_tabs_tab.vHover_bg {
	--hover-color-bg-before: rgba(255, 255, 255, 0.4);
	width: calc(143 * var(--fz) * var(--dsc));
	padding: calc(12px * var(--dsc));
	cursor: pointer;
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	line-height: calc(25 / 20);
	text-align: center;
	border: 0;
	height: 100%;
}
.oEvent_tabs_tab.sActive {
	background: var(--color-white);
	color: var(--color-navy);
}
@media (width < 768px){
	.oEvent_tabs {
		margin-top: calc(20px * var(--dsc));
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1px 1px;
	}
	.oEvent_tabs_tab.vHover_bg {
		width: 100%;
		height: calc(62 * var(--fz) * var(--ds));
		padding: calc(5px * var(--ds));
		font-size: calc(18 * var(--fz) * var(--ds));
		line-height: calc(25 / 18);
	}
}
/* コンテンツエリア */
.oEvent_contents{
	margin-top: 2px;
	background: var(--color-white);
	overflow-y: auto;
	scrollbar-color: var(--color-scroll-thumb) var(--color-scroll-track);
	scrollbar-width: auto;
	transition: height 0.35s ease;
}
.oEvent_contents::-webkit-scrollbar {
	width: calc(10px * var(--dsc));
}
.oEvent_contents::-webkit-scrollbar-track {
	background-color: var(--color-scroll-track);
}
.oEvent_contents::-webkit-scrollbar-thumb {
	background-color: var(--color-scroll-thumb);
	border-radius: 0;
}
@media (width < 768px){
	.oEvent_contents::-webkit-scrollbar {
		width: calc(10px * var(--ds));
	}
}
/* パネル */
.oEvent_panel {
	padding: calc(40px * var(--dsc)) calc(52px * var(--dsc)) calc(47px * var(--dsc)) calc(36px * var(--dsc));
}
@media (width < 768px){
	.oEvent_panel {
		padding: calc(30px * var(--ds)) 0;
	}
}
/* 該当イベントなし */
.oEvent_none {
	font-size: calc(16 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oEvent_none {
		font-size: calc(16 * var(--fz) * var(--ds));
		padding: 0 calc(20px * var(--ds));
	}
}
/* リスト */
.oEvent_list {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: calc(11px * var(--dsc));
	color:var(--color-gray);
}
.oEvent_list[hidden] {
	display: none !important;
}
.oEvent_list > li {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: span 2;
	min-height: calc(70 * var(--fz) * var(--dsc));
}
.oEvent_list_date {
	white-space: nowrap;
	border-top: 1px solid var(--color-gray);
	display: grid;
	justify-content: center;
	align-items: center;
	padding: calc(10 * var(--fz) * var(--dsc)) calc(20px * var(--dsc));
}
.oEvent_list > li:last-child .oEvent_list_date {
	border-bottom: 1px solid var(--color-gray);
}
.oEvent_list_link{
	display: grid;
	align-items: center;
	border-top: 1px solid var(--color-gray);
	padding: calc(10 * var(--fz) * var(--dsc)) calc(20px * var(--dsc));
}
.oEvent_list > li:last-child .oEvent_list_link {
	border-bottom: 1px solid var(--color-gray);
}
.oEvent_list_link > a {
	text-decoration: none;
}
.oEvent_list_private {
	margin: calc(6 * var(--fz) * var(--dsc)) calc(17 * var(--fz) * var(--dsc)) 0 0;
	display: inline-block;
	width: calc(125 * var(--fz) * var(--dsc));
	height: calc(30 * var(--fz) * var(--dsc));
	background: var(--img-ico-private) no-repeat left center / contain;
	vertical-align: -0.55em;
}
.oEvent_list_set {
	--hover-color-txt-before:var(--color-gray);
	--hover-color-txt-after: var(--color-gray);
}
.oEvent_list_label {
	color: var(--color-red);
	font-weight: 700;
}
@media (width < 768px){
	.oEvent_list {
		padding: 0;
		display: block;
	}
	.oEvent_list > li {
		display: block;
		min-height: calc(70 * var(--fz) * var(--ds));
		padding: calc(16 * var(--fz) * var(--ds)) calc(20px * var(--ds));
		border-bottom: 1px solid var(--color-gray);
	}
	.oEvent_list > li:last-child {
		border-bottom: 0;
	}
	.oEvent_list_date {
		display: block;
		font-size: calc(14 * var(--fz) * var(--ds));
		border: 0;
		padding:0;
	}
	.oEvent_list > li:last-child .oEvent_list_date {
		border-bottom: 0;
	}
	.oEvent_list_link {
		border: 0;
		margin-top: calc(2 * var(--fz) * var(--ds));
		padding:0;
	}
	.oEvent_list > li:last-child .oEvent_list_link {
		border-bottom: 0;
	}
	.oEvent_list_label,
	.oEvent_list_txt {
		font-size: calc(14 * var(--fz) * var(--ds));
	}
	.oEvent_list_private {
		margin: 0.5em 0.5em 0 0;
		width: calc(80 * var(--fz) * var(--ds));
		height: calc(20 * var(--fz) * var(--ds));
		vertical-align: -0.2em;
	}
}
/* イベント一覧ボタン */
.oEvent_more {
	margin: calc(32 * var(--fz) * var(--dsc)) 0 0;
}
.oEvent_more > a.vHover_bg {
	--hover-color-line-before: var(--color-white);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-navy);
	--hover-color-line-after: var(--color-white);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(403 * var(--fz) * var(--dsc));
	height: calc(78 * var(--fz) * var(--dsc));
	font-size: calc(28 * var(--fz) * var(--dsc));
	text-decoration: none;
	border-radius: calc(12 * var(--fz) * var(--dsc));
}
.oEvent_more > a.vHover_bg > span{
	display: flex;
	width: 100%;
	justify-content: center;
	gap: 0 calc(36 * var(--fz) * var(--dsc));
}
.oEvent_more > a.vHover_bg .oIcoArw{
	--arw-size: calc(45 * var(--fz) * var(--dsc));
	--arw-color-bg: var(--color-navy);
}
@media (width < 768px){
	.oEvent_more {
		margin: calc(34 * var(--fz) * var(--ds)) 0 0;
	}
	.oEvent_more > a.vHover_bg {
		width: 100%;
		height: calc(47 * var(--fz) * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
		border-radius: calc(9 * var(--fz) * var(--ds));
		position: relative;
	}
	.oEvent_more > a.vHover_bg > span{
		gap: 0 calc(36 * var(--fz) * var(--ds));
	}
	.oEvent_more > a.vHover_bg .oIcoArw{
		--arw-size: calc(45 * var(--fz) * var(--ds));
		--arw-color-bg: var(--color-white);
		--arw-color-ico: var(--color-navy);
		position: absolute;
		margin: auto 0;
		top: 0;
		bottom: 0;
		right: calc(34 * var(--fz) * var(--ds));
		border: 0;
		background: transparent;
		border-radius: 0;
		width: calc(13 * var(--fz) * var(--ds));
		height: calc(20 * var(--fz) * var(--ds));
	}
	.oEvent_more > a.vHover_bg .oIcoArw::before,
	.oEvent_more > a.vHover_bg .oIcoArw::after{
		transition: none;
		width: 100%;
		height: 100%;
	}

}

/* oWho：HOMEのNBCIについて
-------------------------------------------------- */
.oWho{
	background: var(--color-gray-pale) url(parts/home/who_bg.svg) no-repeat calc(-341px * var(--dsc)) calc(12px * var(--dsc)) / calc(1444px * var(--dsc)) auto;
	padding: calc(50px * var(--dsc)) 0 calc(140px * var(--dsc));
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oWho_inner{
	grid-column: var(--grid-contents);
}
@media (width < 768px){
	.oWho{
		background-position: calc(-143px * var(--ds)) calc(-52px * var(--ds));
		background-size: calc(583px * var(--ds)) auto;
		padding: calc(69px * var(--ds)) 0 calc(63px * var(--ds));
	}
}
/* 見出し */
.oWho_hd{
	position: relative;
	padding: calc(122px * var(--dsc)) 0 0 calc(256px * var(--dsc));
}
.oWho_hd_en{
	position: absolute;
	left: 0;
	top: 0;
	margin-top: -0.15em;
	display: block;
	color: var(--color-navy);
	font-family: var(--ff-serif);
	font-size: calc(90 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(105 / 90);
}
.oWho_hd_ja{
	font-size: calc(45 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: var(--color-black);
	display: block;
}
@media (width < 768px){
	.oWho_hd{
		position: relative;
		padding: 0;
	}
	.oWho_hd_en{
		position: static;
		font-size: calc(46 * var(--fz) * var(--ds));
		line-height: calc(42 / 46);
	}
	.oWho_hd_ja{
		margin-top: calc(14 * var(--fz) * var(--ds));
		font-size: calc(24 * var(--fz) * var(--ds));
	}
}
/* リスト */
.oWho_list{
	margin-top: calc(58px * var(--dsc));
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(13px * var(--dsc)) calc(13px * var(--dsc));
}
.oWho_list > li > a{
	display: grid;
	background: var(--color-white);
	border: 1px solid var(--color-navy);
	padding: calc(47px * var(--dsc)) calc(23px * var(--dsc)) calc(14px * var(--dsc));
	border-radius: calc(12px * var(--dsc));
	text-decoration: none;
	height: 100%;
	grid-template-rows: auto auto 1fr auto;
}
.oWho_list_img{
	margin: 0 auto;
	display: block;
	width: calc(128px * var(--dsc));
	height: calc(94px * var(--dsc));
	position: relative;
}
.oWho_list_img > img{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
a[href="/about/"] .oWho_list_img > img{
	width: calc(133px * var(--dsc));
	height: calc(94px * var(--dsc));
}
a[href="/topics/"] .oWho_list_img > img{
	width: calc(92px * var(--dsc));
	height: calc(84px * var(--dsc));
}
a[href="/portal/login/"] .oWho_list_img > img{
	width: calc(114px * var(--dsc));
	height: calc(76px * var(--dsc));
}
a[href="/library/"] .oWho_list_img > img{
	width: calc(85px * var(--dsc));
	height: calc(94px * var(--dsc));
}
a[href="/library/faq/"] .oWho_list_img > img{
	width: calc(105px * var(--dsc));
	height: calc(94px * var(--dsc));
}
a[href="/about/members/"] .oWho_list_img > img{
	width: calc(130px * var(--dsc));
	height: calc(85px * var(--dsc));
}
.oWho_list_hd{
	margin-top: calc(6 * var(--fz) * var(--dsc));
	display: block;
	text-align: center;
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 700;
}
.oWho_list_hd > span{
	color: var(--color-navy);
}
.oWho_list_txt{
	margin: calc(8 * var(--fz) * var(--dsc)) -1em 0;
	display: block;
	text-align: center;
	font-size: calc(17 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: var(--color-black);
	line-height: calc(26 / 17);
}
.oWho_list_more{
	margin-top: calc(30 * var(--fz) * var(--dsc));
	text-align: right;
	font-size: calc(12 * var(--fz) * var(--dsc));
	font-weight: 700;
	justify-content: end;
	display: grid;
	align-items: center;
	column-gap: calc(12 * var(--fz) * var(--dsc));
	grid-template-columns: auto auto;
}
.oWho_list_more > span.vHover_line{
	--hover-color-txt-before: var(--color-navy);
	--hover-color-txt-after: var(--color-navy);
	--hover-color-line: var(--color-navy);
}
.oWho_list_more > span.oIcoArw{
	--arw-color-bg: var(--color-navy);
	--arw-color-ico: var(--color-white);
	--arw-size: calc(14 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oWho_list{
		margin-top: calc(19px * var(--ds));
		grid-template-columns: 1fr;
		gap: calc(14px * var(--dsc)) 0;
	}
	.oWho_list > li > a{
		padding: calc(40px * var(--ds)) calc(24px * var(--ds)) calc(16px * var(--ds));
		border-radius: calc(12px * var(--ds));
	}
	.oWho_list_img{
		width: calc(128px * var(--ds));
		height: calc(94px * var(--ds));
	}
	a[href="/about/"] .oWho_list_img > img{
		width: calc(133px * var(--ds));
		height: calc(94px * var(--ds));
	}
	a[href="/topics/"] .oWho_list_img > img{
		width: calc(92px * var(--ds));
		height: calc(84px * var(--ds));
	}
	a[href="/portal/login/"] .oWho_list_img > img{
		width: calc(114px * var(--ds));
		height: calc(76px * var(--ds));
	}
	a[href="/library/"] .oWho_list_img > img{
		width: calc(85px * var(--ds));
		height: calc(94px * var(--ds));
	}
	a[href="/library/faq/"] .oWho_list_img > img{
		width: calc(105px * var(--ds));
		height: calc(94px * var(--ds));
	}
	a[href="/about/members/"] .oWho_list_img > img{
		width: calc(130px * var(--ds));
		height: calc(85px * var(--ds));
	}
	.oWho_list_hd{
		margin-top: calc(14 * var(--fz) * var(--ds));
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oWho_list_txt{
		margin: calc(8 * var(--fz) * var(--ds)) calc(-20px * var(--ds)) 0;
		font-size: calc(15 * var(--fz) * var(--ds));
	}
	.oWho_list_more{
		margin-top: calc(20 * var(--fz) * var(--ds));
		font-size: calc(12 * var(--fz) * var(--ds));
		column-gap: calc(12 * var(--fz) * var(--ds));
	}
	.oWho_list_more > span.oIcoArw{
		--arw-size: calc(14 * var(--fz) * var(--ds));
	}

}

/* oExecutive：HOMEの幹部会員
-------------------------------------------------- */
.oExecutive{
	padding: calc(84px * var(--dsc)) 0;
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oExecutive_sct{
	grid-column: var(--grid-full);
}
.oExecutive_sct + .oExecutive_sct{
	margin-top: calc(45px * var(--dsc));
}
.oExecutive_sct_list{
	display: flex;
	flex-wrap: wrap;
	gap: calc(27px * var(--dsc)) calc(27px * var(--dsc));
	--marquee-gap: calc(27px * var(--dsc));
}
.sMarqueeReady .oExecutive_sct_list {
	flex-wrap: nowrap;
}
.oExecutive_sct_list li{
	width: calc(389px * var(--dsc));
}
.oExecutive_sct_list li > a{
	display: block;
	border: 1px solid var(--color-gray-light);
}
.oExecutive_sct_list.vSmall{
	gap: calc(24px * var(--dsc)) calc(24px * var(--dsc));
	--marquee-gap: calc(24px * var(--dsc));
}
.oExecutive_sct_list.vSmall li{
	width: calc(276px * var(--dsc));
}
@media (width < 768px){
	.oExecutive{
		padding: calc(56px * var(--ds)) 0;
	}
	.oExecutive_hd{
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oExecutive_sct{
		margin: 0 auto;
		grid-column: var(--grid-contents);
	}
	.oExecutive_sct + .oExecutive_sct{
		margin-top: calc(30px * var(--ds));
	}
	.oExecutive_sct_list{
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(4px * var(--ds)) calc(4px * var(--ds));
	}
	.oExecutive_sct_list li{
		width: 100%;
	}
	.oExecutive_sct_list.vSmall{
		grid-template-columns: repeat(2, 1fr);
		gap: calc(3px * var(--ds)) calc(4px * var(--ds));
	}
	.oExecutive_sct_list.vSmall li{
		width: 100%;
	}

}

/* oDiscover：HOMEの関連情報
-------------------------------------------------- */
.oDiscover{
	background: var(--color-navy);
	padding: calc(84px * var(--dsc)) 0 calc(187px * var(--dsc));
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
@media (width < 768px){
	.oDiscover{
		padding: calc(47px * var(--ds)) 0 calc(76px * var(--ds));
	}
}
/* 見出し */
.oDiscover_hd{
	position: relative;
	padding: calc(124px * var(--dsc)) 0 0 calc(255px * var(--dsc));
	grid-column: var(--grid-contents);
}
.oDiscover_hd_en{
	position: absolute;
	left: 0;
	top: 0;
	margin-top: -0.15em;
	display: block;
	color: var(--color-white);
	font-family: var(--ff-serif);
	font-size: calc(90 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(105 / 90);
}
.oDiscover_hd_ja{
	font-size: calc(45 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: var(--color-white);
	display: block;
}
@media (width < 768px){
	.oDiscover_hd{
		padding: 0;
	}
	.oDiscover_hd_en{
		position: static;
		font-size: calc(46 * var(--fz) * var(--ds));
		line-height: calc(42 / 46);
	}
	.oDiscover_hd_ja{
		margin-top: calc(26 * var(--fz) * var(--ds));
		font-size: calc(24 * var(--fz) * var(--ds));
	}
}
/* カルーセル */
.oDiscover_link{
	margin: calc(124px * var(--dsc)) 0 0;
	grid-column: var(--grid-full);
}
.oDiscover_link_inner{
	margin: 0 auto;
	width: calc(1200px * var(--dsc));
}
.sCarouselReady .oDiscover_link_inner{
	width: calc(1840px * var(--dsf));
}
.oDiscover_link_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(19px * var(--dsc)) calc(19px * var(--dsc));
}
.oDiscover_link_list > li > a{
	position: relative;
	color: var(--color-white);
	text-decoration: none;
	display: block;
	border-radius: calc(12px * var(--dsc));
	overflow: hidden;
}
.oDiscover_list_txt{
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: auto;
	height: auto;
	display: grid;
	align-items: end;
	padding: calc(43px * var(--dsc)) calc(40px * var(--dsc));
}
.oDiscover_list_txt > span{
	display: block;
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
}
a[target="_blank"] .oDiscover_list_txt > span::after{
	content: '';
	background: var(--color-white);
	display: inline-block;
	margin-left:calc(17 * var(--fz) * var(--dsc));
	width: calc(20 * var(--fz) * var(--dsc));
	height: calc(20 * var(--fz) * var(--dsc));
	mask: var(--img-ico-newwin) no-repeat left center / contain;
	margin-bottom: calc(-3 * var(--fz) * var(--dsc));
}
a[target="_blank"][href*=".pdf"] .oDiscover_list_txt > span::after,
a[target="_blank"][href*=".doc"] .oDiscover_list_txt > span::after,
a[target="_blank"][href*=".ppt"] .oDiscover_list_txt > span::after,
a[target="_blank"][href*=".xls"] .oDiscover_list_txt > span::after,
a[target="_blank"][href*=".zip"] .oDiscover_list_txt > span::after{
	width: calc(20 * var(--fz) * var(--dsc));
	height: calc(21 * var(--fz) * var(--dsc));
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
	margin-bottom: calc(-3.5 * var(--fz) * var(--dsc));
}
a[target="_blank"][href*=".doc"] .oDiscover_list_txt > span::after{
	background-image: var(--img-ico-doc);
}
a[target="_blank"][href*=".ppt"] .oDiscover_list_txt > span::after{
	background-image: var(--img-ico-ppt);
}
a[target="_blank"][href*=".xls"] .oDiscover_list_txt > span::after{
	background-image: var(--img-ico-xls);
}
a[target="_blank"][href*=".zip"] .oDiscover_list_txt > span::after{
	background-image: var(--img-ico-zip);
}
@media (width < 768px){
	.oDiscover_link{
		margin: calc(50px * var(--ds)) 0 0;
	}
	.oDiscover_link_inner{
		width: calc(335px * var(--ds));
	}
	.sCarouselReady .oDiscover_link_inner{
		width: calc(335px * var(--ds));
	}
	.oDiscover_link_list{
		grid-template-columns: 1fr;
		gap: calc(16px * var(--ds)) calc(16px * var(--ds));
	}
	.oDiscover_link_list > li > a{
		border-radius: calc(12px * var(--ds));
	}
	.oDiscover_list_txt{
		padding: calc(24px * var(--ds)) calc(25px * var(--ds));
	}
	.oDiscover_list_txt > span{
		font-size: calc(15 * var(--fz) * var(--ds));
		line-height: calc(21 / 15);
	}
	a[target="_blank"] .oDiscover_list_txt > span::after{
		margin-left:calc(17 * var(--fz) * var(--ds));
		width: calc(19 * var(--fz) * var(--ds));
		height: calc(19 * var(--fz) * var(--ds));
		margin-bottom: calc(-3 * var(--fz) * var(--ds));
	}
	a[target="_blank"][href*=".pdf"] .oDiscover_list_txt > span::after,
	a[target="_blank"][href*=".doc"] .oDiscover_list_txt > span::after,
	a[target="_blank"][href*=".ppt"] .oDiscover_list_txt > span::after,
	a[target="_blank"][href*=".xls"] .oDiscover_list_txt > span::after,
	a[target="_blank"][href*=".zip"] .oDiscover_list_txt > span::after{
		width: calc(19 * var(--fz) * var(--ds));
		height: calc(20 * var(--fz) * var(--ds));
		margin-bottom: calc(-3.5 * var(--fz) * var(--ds));
	}
}

/* oContact：HOMEのお問い合わせ
-------------------------------------------------- */
.oContact{
	background: var(--color-gray-pale);
	padding: calc(81px * var(--dsc)) 0 calc(95px * var(--dsc)) !important;
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
}
.oContact + .oGotop{
	margin-top: calc(var(--gotop-size) / -2);
}
.oContact_inner{
	grid-column: var(--grid-contents);
}
@media (width < 768px){
	.oContact{
		padding: calc(40px * var(--ds)) 0 calc(52px * var(--ds)) !important;
	}
}
/* 見出し */
.oContact_hd{
	display: flex;
	align-items: end;
	column-gap: calc(40px * var(--dsc));
}
.oContact_hd_en{
	display: block;
	margin-top: -0.15em;
	color: var(--color-navy);
	font-family: var(--ff-serif);
	font-size: calc(90 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(105 / 90);
}
.oContact_hd_ja{
	display: block;
	font-size: calc(45 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: var(--color-black);
}
@media (width < 768px){
	.oContact_hd{
		display: block;
	}
	.oContact_hd_en{
		font-size: calc(46 * var(--fz) * var(--ds));
		line-height: calc(42 / 46);
	}
	.oContact_hd_ja{
		margin: calc(22 * var(--fz) * var(--ds)) 0 0;
		font-size: calc(24 * var(--fz) * var(--ds));
	}
}
/* ボタン */
.oContact_btn{
	margin-top: calc(63px * var(--dsc));
}
.oContact_btn > a.vHover_bg{
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: flex;
	column-gap: calc(20px * var(--dsc));
	border-radius: calc(12px * var(--dsc));
	padding: calc(35px * var(--dsc)) calc(20px * var(--dsc)) calc(35px * var(--dsc)) calc(50px * var(--dsc));
	font-size: calc(28 * var(--fz) * var(--dsc));
	font-weight: 700;
	text-decoration: none;
	align-items: center;
}
.oContact_btn > a .oIcoArw{
	--arw-color-bg: var(--color-navy);
	--arw-color-ico: var(--color-white);
	--arw-size: calc(45 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oContact_btn{
		margin-top: calc(18px * var(--ds));
	}
	.oContact_btn > a.vHover_bg{
		display: block;
		text-align: center;
		border-radius: calc(12px * var(--ds));
		padding: calc(19px * var(--ds)) calc(10px * var(--ds));
		font-size: calc(19 * var(--fz) * var(--ds));
		position: relative;
	}
	.oContact_btn > a .oIcoArw{
		--arw-size: calc(26 * var(--fz) * var(--ds));
		position: absolute;
		right: calc(11px * var(--ds));
		bottom: calc(11px * var(--ds));
	}
}
/* 所在地 */
.oContact_location{
	margin-top: calc(60px * var(--dsc));
	border-top: 1px solid var(--color-gray);
	padding-top: calc(60px * var(--dsc));
	color: var(--color-black);
	display: grid;
	grid-template-columns: auto auto 1fr;
}
.oContact_location_hd{
	font-size: calc(45 * var(--fz) * var(--dsc));
	font-weight: 500;
	color: var(--color-black);
	border-right: 1px solid var(--color-gray);
	padding-right: calc(30 * var(--fz) * var(--dsc));
}
.oContact_location_name{
	align-content: center;
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 700;
	border-right: 1px solid var(--color-gray);
	padding: 0 calc(60 * var(--fz) * var(--dsc));
}
.oContact_location_detail{
	padding: 0;
	display: grid;
	grid-template-columns: auto;
	justify-content: center;
	border-right: 1px solid var(--color-gray);
}
.oContact_location_detail_txt > p{
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 500;
	line-height: calc(48 / 25);
	font-style: normal;
}
.oContact_location_detail_btn{
	margin-top: calc(21px * var(--dsc));
}
.oContact_location_detail_btn > a.vHover_bg{
	--hover-color-line-before: var(--color-black);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-black);
	--hover-color-bg-after: var(--color-black);
	--hover-color-txt-after: var(--color-white);
	display: flex;
	column-gap: calc(9px * var(--dsc));
	border-radius: calc(12px * var(--dsc));
	padding: calc(12px * var(--dsc)) calc(10px * var(--dsc)) calc(12px * var(--dsc)) calc(28px * var(--dsc));
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 500;
	text-decoration: none;
	align-items: center;
}
.oContact_location_detail_btn > a .oIcoArw{
	--arw-color-bg: var(--color-black);
	--arw-color-ico: var(--color-white);
	--arw-size: calc(30 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oContact_location{
		margin-top: calc(40px * var(--ds));
		border-top: 0;
		padding: 0;
		display: block;
	}
	.oContact_location_hd{
		font-size: calc(24 * var(--fz) * var(--ds));
		border-right: 0;
		padding:0 0 calc(8px * var(--ds));
		border-bottom: 1px solid var(--color-gray);
	}
	.oContact_location_name{
		font-size: calc(18 * var(--fz) * var(--ds));
		padding: calc(20px * var(--ds)) 0;
		border-right: 0;
		border-bottom: 1px solid var(--color-gray);
	}
	.oContact_location_detail{
		padding: 0;
		display: block;
		border-right: 0;
	}
	.oContact_location_detail_txt{
		padding: calc(10px * var(--ds)) 0;
		border-bottom: 1px solid var(--color-gray);
	}
	.oContact_location_detail_txt > p{
		font-size: calc(14 * var(--fz) * var(--ds));
		line-height: calc(27 / 14);
	}
	.oContact_location_detail_btn{
		margin-top: calc(23px * var(--ds));
	}
	.oContact_location_detail_btn > a.vHover_bg{
		column-gap: calc(24px * var(--ds));
		border-radius: calc(12px * var(--ds));
		padding: calc(13px * var(--dsc)) calc(10px * var(--ds)) calc(13px * var(--ds)) calc(25px * var(--ds));
		font-size: calc(21 * var(--fz) * var(--dsc));
	}
	.oContact_location_detail_btn > a .oIcoArw{
		--arw-size: calc(26 * var(--fz) * var(--ds));
	}
}

/* oMsg：ご挨拶
-------------------------------------------------- */
.oMsg{
	margin-top: 0 !important;
	padding-top: calc(136px * var(--dsc));
	grid-column: var(--grid-full);
	display: grid;
	grid-template-columns: subgrid;
	background: var(--img-gd-navy) no-repeat left top / 100% calc(517px * var(--dsc));
}
.oMsg_profile{
	grid-column: 2 / -1;
	position: relative;
	padding: calc(149px * var(--dsc)) 0 0 calc(621px * var(--dsc));
}
.oMsg_profile_img{
	position: absolute;
	left: 0;
	top: 0;
	width: calc(621px * var(--dsc));
}
.oMsg_profile_box{
	background: var(--color-white);
	position: relative;
	padding: calc(46px * var(--dsc)) 0 calc(68px * var(--dsc)) calc(33px * var(--dsc));
	display: grid;
	justify-content: start;
	grid-template-columns: calc(546px * var(--dsc));
}
.oMsg_profile_catch{
	font-size: calc(48 * var(--fz) * var(--dsc));
	line-height: calc(72 / 52);
	font-family: var(--ff-serif);
	font-weight: 400;
	color: var(--color-navy);
}
.oMsg_profile_name{
	margin-top: calc(54px * var(--dsc));
	font-weight: 700;
}
.oMsg_profile_name > p > span:nth-child(1){
	font-size: calc(20 * var(--fz) * var(--dsc));
	margin-right: 1em;
}
.oMsg_profile_name > p > span:nth-child(2){
	font-size: calc(25 * var(--fz) * var(--dsc));
}
.oMsg_profile_role{
	margin-top: calc(12px * var(--dsc));
	border-top: 1px solid var(--color-navy);
	padding-top: calc(12px * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(33 / 20);
	font-weight: 400;
}
.oMsg_txt{
	margin-top: calc(33px * var(--dsc));
	grid-column: var(--grid-contents);
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(33 / 20);
	display: grid;
	row-gap: calc(33 / 20 * 1em);
}
@media (width < 768px){
	.oMsg{
		padding-top: calc(85px * var(--ds));
		background-size: 100% calc(320px * var(--ds));
	}
	.oMsg_profile{
		padding: calc(50px * var(--ds)) 0 0;
		grid-column: var(--grid-contents);
		display: block;
	}
	.oMsg_profile_img{
		width: 100%;
		position: relative;
	}
	.oMsg_profile_box{
		margin-top: calc(30px * var(--ds));
		padding: 0;
		display: block;
	}
	.oMsg_profile_catch{
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oMsg_profile_name{
		margin-top: calc(27px * var(--ds));
	}
	.oMsg_profile_name > p > span:nth-child(1){
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oMsg_profile_name > p > span:nth-child(2){
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oMsg_profile_role{
		margin-top: calc(12px * var(--ds));
		padding-top: calc(12px * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oMsg_txt{
		margin-top: calc(33px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oMsgA：ご挨拶A
-------------------------------------------------- */
.oMsgA{
	display: grid;
	justify-content: space-between;
	grid-template-columns: calc(750px * var(--dsc)) calc(320px * var(--dsc));
}
.oHdA + .oMsgA{
	margin-top: calc(50px * var(--dsc));
}
.oMsgA_lead{
	font-size: calc(30 * var(--fz) * var(--dsc));
	line-height: calc(41 / 30);
	color: var(--color-gray-dark);
}
.oMsgA_txt{
	margin-top: calc(28px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(30 / 16);
	color: var(--color-gray-dark);
}
.oMsgA_profile{
	width: 100%;
}
.oMsgA_profile_txt{
	margin-top: calc(12px * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(25 / 18);
	color: var(--color-black);
}
.oMsgA_profile_txt b{
	font-weight: 500;
}
@media (width < 768px){
	.oMsgA{
		display: flex;
		width: 100%;
		flex-direction: column-reverse;
		row-gap: calc(40px * var(--ds));
	}
	.oHdA + .oMsgA{
		margin-top: calc(50px * var(--ds));
	}
	.oMsgA_lead{
		font-size: calc(28 * var(--fz) * var(--ds));
	}
	.oMsgA_txt{
		margin-top: calc(28px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oMsgA_profile_txt{
		margin-top: calc(12px * var(--ds));
		font-size: calc(18 * var(--fz) * var(--ds));
	}
}

/* oMission：設立趣意書
-------------------------------------------------- */
.oMission{
	margin-top: calc(181px * var(--dsc)) !important;
	display: grid;
	grid-template-columns: calc(900px * var(--dsc));
	justify-content: center;
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(33 / 16);
}
.oMission_logo{
	margin: 0 auto;
	width: calc(514px * var(--dsc));
}
.oMission_txt{
	margin-top: calc(35px * var(--dsc));
	border-top: 2px solid var(--color-navy);
	padding-top: calc(59px * var(--dsc));
	display: grid;
	row-gap: calc(33 / 16 * 1em);
}
.oMission_txt > p{
	text-indent: 1em;
}
.oMission_sign{
	margin-top: calc(110px * var(--dsc));
	text-align: right;
}
@media (width < 768px){
	.oMission{
		margin-top: calc(85px * var(--ds)) !important;
		grid-template-columns: 1fr;
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oMission_logo{
		width: calc(300px * var(--ds));
	}
	.oMission_txt{
		margin-top: calc(35px * var(--ds));
		padding-top: calc(59px * var(--ds));
	}
	.oMission_sign{
		margin-top: calc(110px * var(--ds));
	}
}

/* oAdvisory：アドバイザリーボード
-------------------------------------------------- */
.oAdvisory{
	margin-top: calc(115px * var(--dsc));
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: calc(39px * var(--dsc));
	grid-column: var(--grid-contents);
	position: relative;
}
.oAdvisory + .oAdvisory{
	margin-top: calc(150px * var(--dsc));
}
.oHdB + .oAdvisory{
	margin-top: calc(50px * var(--dsc));
}
.oAdvisory_img{
	width: calc(337px * var(--dsc));
}
.oAdvisory_box{
	background: var(--color-white);
	position: relative;
	padding: calc(64px * var(--dsc)) 0 0;
}
.oAdvisory_name{
	font-size: calc(30 * var(--fz) * var(--dsc));
	font-weight: 500;
}
.oAdvisory_role{
	margin-top: calc(15 * var(--fz) * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	line-height: calc(30 / 18);
	font-weight: 700;
}
.oAdvisory_txt{
	margin-top: calc(20 * var(--fz) * var(--dsc));
	border-top: 1px solid var(--color-gray);
	padding-top: calc(20 * var(--fz) * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(30 / 16);
	font-weight: 400;
}
@media (width < 768px){
	.oAdvisory{
		margin-top: calc(115px * var(--ds));
		padding: 0;
		grid-template-columns: 1fr;
		row-gap: calc(20px * var(--ds));
	}
	.oAdvisory + .oAdvisory{
		margin-top: calc(115px * var(--ds));
	}
	.oHdB + .oAdvisory{
		margin-top: calc(50px * var(--ds));
	}
	.oAdvisory_img{
		width: 100%;
	}
	.oAdvisory_box{
		padding: 0;
	}
	.oAdvisory_name{
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oAdvisory_role{
		margin-top: calc(10 * var(--fz) * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oAdvisory_txt{
		margin-top: calc(20 * var(--fz) * var(--ds));
		padding-top: calc(20 * var(--fz) * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oMembersKana：会員名簿（50音順）
-------------------------------------------------- */
.oMembersKana{
	margin-top: calc(50px * var(--dsc));
}
.oMembersKana_skip > ul{
	width: 100%;
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(10, auto);
	justify-content: space-between;
	column-gap: auto;
}
.oMembersKana_skip > ul > li > a.vHover_line{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: var(--color-black-true);
}
.oMembersKana_inner{
	margin-top: calc(128px * var(--dsc));
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	justify-content: space-between;
}
.oMembersKana_col{
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 3em;
	align-content: start;
}
.oMembersKana_sct_hd{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: var(--color-black-true);
}
.oMembersKana_sct_list{
	margin-top: 1em;
	display: grid;
	row-gap: 1em;
	font-weight: 400;
}
@media (width < 768px){
	.oMembersKana{
		margin-top: calc(50px * var(--ds));
	}
	.oMembersKana_skip > ul{
		gap: 0.5em 1.5em;
		grid-template-columns: repeat(5, auto);
	}
	.oMembersKana_skip > ul > li > a.vHover_line{
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oMembersKana_inner{
		margin-top: calc(60px * var(--ds));
		grid-template-columns: 1fr;
		row-gap: 3em;
	}
	.oMembersKana_sct_hd{
		font-size: calc(20 * var(--fz) * var(--ds));
	}
}

/* oMembersType：会員名簿（会員区分別）
-------------------------------------------------- */
.oMembersType{
	margin-top: calc(146px * var(--dsc));
}
.oMembersType_sct + .oMembersType_sct{
	margin-top: calc(50px * var(--dsc));
}
.oMembersType_sct_hd{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: var(--color-black-true);
	background: var(--color-gray-pale);
	border-radius: calc(20px * var(--dsc));
	padding: calc(16px * var(--dsc)) calc(30px * var(--dsc));
}
.oMembersType_sct_num{
	display: none;
}
.oMembersType_sct_list{
	margin-top: calc(25px * var(--dsc));
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 1em;
	font-weight: 400;
}
.oMembersType_graph{
	margin-top: calc(100px * var(--dsc));
	border: 1px solid var(--color-gray);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	padding: calc(55px * var(--dsc)) 0;
}
.oMembersType_graph_fig{
	padding: calc(5px * var(--dsc)) 0 calc(40px * var(--dsc));
}
.oMembersType_graph_fig:nth-child(2){
	border-left: 1px solid var(--color-gray);
}
.oMembersType_graph_fig_cap{
	font-size: calc(40 * var(--fz) * var(--dsc));
	font-weight: 400;
	color: var(--color-black-true);
	text-align: center;
}
.oMembersType_graph_fig_img{
	margin: calc(120px * var(--dsc)) auto 0;
	position: relative;
	pointer-events: none;
	width: calc(380px * var(--dsc));
	padding: 1px;
}
.oMembersType_graph_fig_img canvas {
	margin: -200px;
	width: calc(100% + 400px) !important;
	height: 100% !important;
	aspect-ratio: 1 / 1;
}
.oMembersType_graph_fig:nth-child(3){
	margin: calc(52px * var(--dsc)) auto 0;
	border-top: 1px solid var(--color-gray);
	padding: calc(40px * var(--dsc)) 0 0 calc(10px * var(--dsc));
	width: calc(1070px * var(--dsc));
	grid-column: 1 / -1;
}
.oMembersType_graph_fig:nth-child(3) .oMembersType_graph_fig_cap{
	text-align: left;
}
.oMembersType_graph_fig_tbl{
	margin: calc(40px * var(--dsc)) auto 0;
	width: fit-content;
	font-size: calc(40 * var(--fz) * var(--dsc));
	font-weight: 400;
	color: var(--color-black-true);
	text-align: center;
}
.oMembersType_graph_fig_tbl > table{
	border-collapse: collapse;
}
.oMembersType_graph_fig_tbl > table > tbody > tr > th,
.oMembersType_graph_fig_tbl > table > tbody > tr > td{
	text-align: right;
	font-weight: 400;
	padding-bottom: 0.25em;
}
.oMembersType_graph_fig_tbl > table > tbody > tr > th{
	padding-right: 2em;
}
.oMembersType_graph_fig_tbl > table > tbody > tr:last-child > th,
.oMembersType_graph_fig_tbl > table > tbody > tr:last-child > td{
	padding-bottom: 0.3em;
}
.oMembersType_graph_fig_tbl > table > tfoot > tr > th,
.oMembersType_graph_fig_tbl > table > tfoot > tr > td{
	text-align: right;
	padding-top: 0.3em;
	border-top: 1px solid var(--color-gray);
	font-weight: 700;
	color: var(--color-navy);
}
.oMembersType_graph_fig_tbl > table > tfoot > tr > th{
	padding-right: 2em;
}
.oMembersType_graph_fig_date{
	margin-top: -1.5em;
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
	color: var(--color-black);
	text-align: right;
}
@media (width < 768px){
	.oMembersType{
		margin-top: calc(100px * var(--ds));
	}
	.oMembersType_sct + .oMembersType_sct{
		margin-top: calc(50px * var(--ds));
	}
	.oMembersType_sct_hd{
		font-size: calc(20 * var(--fz) * var(--ds));
		border-radius: calc(20px * var(--ds));
		padding: calc(16px * var(--ds)) calc(20px * var(--ds));
	}
	.oMembersType_sct_list{
		margin-top: calc(25px * var(--ds));
		grid-template-columns: 1fr;
	}
	.oMembersType_graph{
		margin-top: calc(100px * var(--ds));
		grid-template-columns: 1fr;
		padding: calc(40px * var(--ds)) calc(15px * var(--ds)) calc(20px * var(--ds));
		overflow: hidden;
		width: 100%;
	}
	.oMembersType_graph_fig{
		padding: 0;
	}
	.oMembersType_graph_fig:nth-child(2){
		margin-top: calc(60px * var(--ds));
		border-left: 0;
		border-top: 1px solid var(--color-gray);
		padding-top: calc(40px * var(--ds));
	}
	.oMembersType_graph_fig_cap{
		font-size: calc(30 * var(--fz) * var(--ds));
	}
	.oMembersType_graph_fig_img{
		margin-top: calc(40px * var(--ds));
		width: calc(280px * var(--ds));
	}
	.oMembersType_graph_fig:nth-child(2) .oMembersType_graph_fig_img{
		margin-top: calc(100px * var(--ds));
	}
	.oMembersType_graph_fig:nth-child(3){
		margin-top: calc(52px * var(--ds));
		width: 100%;
		padding: calc(40px * var(--ds)) 0 0 calc(10px * var(--ds));
	}
	.oMembersType_graph_fig_tbl{
		margin-top: calc(40px * var(--ds));
		font-size: calc(30 * var(--fz) * var(--ds));
	}
	.oMembersType_graph_fig_tbl > table > tbody > tr > th{
		padding-right: 1em;
	}
	.oMembersType_graph_fig_tbl > table > tfoot > tr > th{
		padding-right: 1em;
	}
	.oMembersType_graph_fig_date{
		margin-top: 2em;
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oCalendar：カレンダー
-------------------------------------------------- */
.oCalendar_hd{
	text-align: center;
	font-size: calc(35 * var(--fz) * var(--dsc));
}
.oCalendar_btns{
	margin-top: calc(50px * var(--dsc));
	display: grid;
	grid-template-columns: repeat(2, auto) 1fr;
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 500;
	column-gap: calc(25px * var(--dsc));
}
.oCalendar_btns select{
	border: 1px solid var(--color-gray);
	width: 100%;
	height: calc(53 * var(--fz) * var(--dsc));
	padding: 0 1em;
	background: var(--color-white);
	color: var(--color-black);
	display: block;
	border-radius: 0;
}
.oCalendar_btns button{
	border: 1px solid var(--color-gray);
	display: grid;
	justify-content: center;
	align-items: center;
	width: calc(189px * var(--dsc));
	height: calc(53 * var(--fz) * var(--dsc));
	cursor: pointer;
	--hover-color-line-before: var(--color-navy);
	--hover-color-bg-before: var(--color-navy);
	--hover-color-txt-before: var(--color-white);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-white);
	--hover-color-txt-after: var(--color-navy);
}
.oCalendar_btns_type{
	display: grid;
	grid-template-columns: repeat(2, auto);
	column-gap: calc(8px * var(--dsc));
}
.oCalendar.vList .oCalendar_btns_type #jsCal_btnGrid,
.oCalendar:not(.vList) .oCalendar_btns_type #jsCal_btnList{
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
}
.oCalendar:not(.vList) .oCalendar_btns_type #jsCal_btnGrid,
.oCalendar.vList .oCalendar_btns_type #jsCal_btnList{
	pointer-events: none;
}
.oCalendar_btns_date{
	display: grid;
	width: calc(342px * var(--dsc));
	grid-template-columns: repeat(2, calc(146px * var(--dsc))) 1fr;
}
.oCalendar_btns_date select{
	border-right: 0 !important;
}
.oCalendar_btns_date #jsCal_btnDate{
	width: 100%;
	white-space: nowrap;
}
.oCalendar_btns_date #jsCal_dateY{
	border: 1px solid var(--color-gray);
}
.oCalendar_btns_date .vHover_bg{
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-black);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
}
.oCalendar_btns_go{
	display: grid;
	grid-template-columns: repeat(3, auto);
	column-gap: calc(8px * var(--dsc));
	justify-content: end;
}
.oCalendar_btns_go .vHover_bg{
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(108px * var(--dsc));
	line-height: 1;
	column-gap: 0.5em;
	border-radius: 100vh;
	--hover-color-line-before: var(--color-navy);
	--hover-color-bg-before: var(--color-navy);
	--hover-color-txt-before: var(--color-white);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-white);
	--hover-color-txt-after: var(--color-navy);
}
.oCalendar_btns_go .vHover_bg span{
	display: block;
}
.oCalendar_btns_go .vHover_bg span:not(.oIcoArw){
	padding-bottom: 0.2em;
}
.oCalendar_btns_go .vHover_bg .oIcoArw{
	--arw-size: 1.2em;
	border: 0;
	background: transparent;
}
.oCalendar_btns_go .vHover_bg .oIcoArw:first-child{
	transform: rotate(180deg);
}
.oCalendar_btns_go .vHover_bg.sDisabled{
	pointer-events: none;
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-gray);
}
.oCalendar_btns_go .vHover_bg.sDisabled .oIcoArw{
	--arw-color-bg: var(--color-white);
	--arw-color-ico: var(--color-navy);
}
.oCalendar_cat{
	margin-top: calc(43px * var(--dsc));
}
.oCalendar_cat_list{
	display: flex;
	width: 100%;
}
.oCalendar_cat_list > li{
	border-left: 1px solid var(--color-gray-light);
	border-right: 1px solid var(--color-gray-light);
}
.oCalendar_cat_list > li:nth-child(n+2){
	margin-left: -1px;
}
.oCalendar_cat button{
	border: 0;
	background: transparent;
	padding: 0.1em 1em 0.2em;
	cursor: pointer;
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 500;
}
.oCalendar_cat button.sActive{
	pointer-events: none;
}
.oCalendar_cat button.sActive span.vHover_line{
	color: var(--color-navy);
	font-weight: 700;
	background-size: 100% var(--hover-border-width);
}
.oCalendar_calendar{
	margin-top: calc(35px * var(--dsc));
}
.oCalendar .fc-event{
	border:0;
	background:transparent;
}
.oCalendar:not(.vList) .fc-daygrid-day-frame{
	padding: calc(10px * var(--dsc));
	min-height: calc(147px * var(--dsc));
}
.oCalendar .fc-daygrid-day-number{
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: 1;
	padding: 0;
}
.oCalendar:not(.vList) .fc-daygrid-day-number .oCalendar_dayWeek{
	display: none;
}
.oCalendar .fc-daygrid-event-harness + .fc-daygrid-event-harness{
	margin-top: 1em !important;
}
.oCalendar a.fc-event{
	color: var(--color-black);
}
.oCalendar a.fc-event:visited{
	color: var(--color-navy);
}
.oCalendar .fc-event-main{
	color: inherit;
	font-weight: 400;
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(20 / 16);
	white-space: wrap;
}
.oCalendar .fc-event-main .oIcoKey{
	display: inline-block;
	margin-right: 0.3em;
	margin-bottom: -0.1em;
}
.oCalendar .fc-event-main .oCalendar_event_label{
	color: var(--color-red);
	font-weight: 700;
	overflow-wrap: break-word;
	word-break: break-all;
}
.oCalendar_event_txt{
	overflow-wrap: break-word;
	word-break: break-all;
}
.oCalendar .fc-daygrid-day-frame{
	background:transparent;
}
.oCalendar .fc-theme-standard .fc-scrollgrid{
	border: 0;
}
.oCalendar .fc-theme-standard td,
.oCalendar .fc-theme-standard th{
	border: 0;
}
.oCalendar .fc-col-header{
	border-collapse: collapse;
}
.oCalendar .fc-col-header th{
	border-left: 1px solid var(--color-white);
	border-right: 1px solid var(--color-white);
	border-top: 0;
	border-bottom: 0;
	background: var(--img-gd-navy) no-repeat left bottom / 100% calc(8px * var(--dsc));
}
.oCalendar .fc .fc-col-header-cell-cushion{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	padding-bottom: 0.75em;
}
.oCalendar .fc-scrollgrid-sync-table{
	border-collapse: collapse;
}
.oCalendar .fc-scrollgrid-sync-table td{
	border: 1px solid var(--color-gray-light);
}
.oCalendar .fc-scrollgrid-sync-table{
	border: 1px solid var(--color-gray-light) !important;
}
/* 当日 */
.oCalendar .fc .fc-daygrid-day.fc-day-today{
	background: transparent;
}
.oCalendar .fc .fc-daygrid-day.fc-day-today{
	border: 3px solid var(--color-navy);
}
/* 土曜の背景色 */
.oCalendar .fc td.fc-day-sat{
	background:#f0f5ff !important;
}
/* 日曜・祝日の背景色 */
.oCalendar .fc td.fc-day:has(.fc-holiday),
.oCalendar .fc td.fc-day-sun{
	background:#ffe5e5 !important;
}
.oCalendar .fc td.fc-day-disabled{
	background: var(--color-gray-pale) !important;
}
/* 祝日だけ日付の高さをゼロに */
.oCalendar:not(.vList) .fc .fc-daygrid-day-frame:has(.fc-holiday) .fc-daygrid-day-top{
	height:0;
}
/* 祝日の表記 */
.oCalendar .fc-holiday .fc-event-main{
	color: var(--color-red);
	font-weight: 700;
	padding: 0 2em 0 0;
}
/* 縦型 */
.oCalendar.vList .fc-scrollgrid-section-header,
.oCalendar.vList td.fc-day-disabled,
.oCalendar.vList .fc-daygrid-day-frame.fc-scrollgrid-sync-inner::before,
.oCalendar.vList .fc-daygrid-day-bg{
	display: none !important;
}
.oCalendar.vList table,
.oCalendar.vList tbody,
.oCalendar.vList tr,
.oCalendar.vList td{
	display: block;
	height: auto;
}
.oCalendar.vList .fc-daygrid-day-frame.fc-scrollgrid-sync-inner{
	display: grid;
	grid-template-columns: 7em 1fr;
	padding: 1em;
}
.oCalendar.vList .fc-daygrid-day-top{
	justify-content: start;
}
/* 注記 */
.oCalendar_note{
	margin-top: calc(17px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
}
.oCalendar_note p{
	display: flex;
	width: 100%;
	justify-content: flex-start;
	column-gap: 0.5em;
}
.oCalendar_note .oIcoKey{
	--ico-size: calc(20 * var(--fz) * var(--dsc));
	margin-top: 0.2em;
}
@media (width < 768px){
	.oCalendar_hd{
		font-size: calc(30 * var(--fz) * var(--ds));
	}
	.oCalendar_btns{
		margin-top: calc(50px * var(--ds));
		grid-template-columns: 1fr;
		font-size: calc(18 * var(--fz) * var(--ds));
		gap: calc(20px * var(--ds)) calc(25px * var(--ds));
	}
	.oCalendar_btns select{
		height: calc(53 * var(--fz) * var(--ds));
	}
	.oCalendar_btns button{
		width: calc(189px * var(--ds));
		height: calc(53 * var(--fz) * var(--ds));
	}
	.oCalendar_btns_type{
		display: none;
	}
	.oCalendar_btns_date{
		width: 100%;
		grid-template-columns: repeat(2, 1fr) calc(53 * var(--fz) * var(--ds));
	}
	.oCalendar_btns_go{
		grid-template-columns: repeat(3, 1fr);
		column-gap: calc(8px * var(--ds));
		justify-content: center;
	}
	.oCalendar_btns_go .vHover_bg{
		width: 100%;
	}
	.oCalendar_cat{
		margin-top: calc(30px * var(--ds));
	}
	.oCalendar_cat_list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		row-gap: 1em;
	}
	.oCalendar_cat_list > li:nth-child(n+2){
		margin-left: 0;
	}
	.oCalendar_cat_list > li:nth-child(2n+2){
		border-left: 0;
	}
	.oCalendar_cat button{
		width: 100%;
		text-align: center;
		font-size: calc(14 * var(--fz) * var(--ds));
	}
	.oCalendar_calendar{
		margin-top: calc(40px * var(--ds));
	}
	.oCalendar:not(.vList) .fc-daygrid-day-frame{
		padding: calc(10px * var(--ds));
		min-height: 1px;
	}
	.oCalendar .fc-daygrid-day-number{
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oCalendar .fc-event-main{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oCalendar .fc .fc-col-header-cell-cushion{
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oCalendar .fc-scrollgrid-section-header,
	.oCalendar td.fc-day-disabled,
	.oCalendar .fc-daygrid-day-frame.fc-scrollgrid-sync-inner::before,
	.oCalendar .fc-daygrid-day-bg{
		display: none !important;
	}
	.oCalendar table,
	.oCalendar tbody,
	.oCalendar tr,
	.oCalendar td{
		display: block;
		height: auto !important;
	}
	.oCalendar .fc-daygrid-day-frame.fc-scrollgrid-sync-inner,
	.oCalendar.vList .fc-daygrid-day-frame.fc-scrollgrid-sync-inner{
		display: grid;
		grid-template-columns: 3em 1fr;
		padding: 1em;
	}
	.oCalendar .fc-daygrid-day-top{
		justify-content: start;
		text-align: center;
	}
	.oCalendar .oCalendar_dayWeek{
		display: block !important;
		font-size: 0.8em;
		margin-top: 0.2em;
	}
	/* 注記 */
	.oCalendar_note{
		margin-top: calc(17px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oCalendar_note .oIcoKey{
		--ico-size: calc(20 * var(--fz) * var(--ds));
	}
}


/* oForm：お問い合わせフォーム
-------------------------------------------------- */
.oForm{
	width: 100%;
}
.oForm_lead{
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 500;
	line-height: calc(33 / 16);
}
.oForm_flow{
	margin-top: calc(128px * var(--dsc));
	font-size: calc(30 * var(--fz) * var(--dsc));
	font-weight: 700;
	color: #afafaf;
	width: 100%;
}
.oForm_flow_list{
	display: flex;
	justify-content: center;
	width: 100%;
	column-gap: 1em;
}
.oForm_flow_list > li{
	display: flex;
	align-items: center;
	column-gap: 1em;
}
.oForm_flow_list > li:nth-child(n+2)::before{
	content: '';
	display: block;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid var(--color-gray);
	border-right: 2px solid var(--color-gray);
	transform: rotate(45deg);
	transform-origin: center center;
}
.oForm.sInit .oForm_flow_list > li:nth-child(1),
.oForm.sConfirm .oForm_flow_list > li:nth-child(2),
.oForm.sThanks .oForm_flow_list > li:nth-child(3) {
	color: var(--color-black-true);
}
.oForm_note{
	margin-top: calc(90px * var(--dsc));
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
}
.oForm_form{
	margin: calc(30px * var(--dsc)) 0 0;
	display: grid;
	grid-template-columns: auto 1fr;
	border-bottom: 1px solid var(--color-gray-light);
}
.oForm_form > dt{
	background: var(--color-navy-pale);
	color: var(--color-black-true);
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
	padding: calc(30px * var(--dsc)) calc(40px * var(--dsc));
	align-content: center;
	border-top: 1px solid var(--color-gray-light);
}
.oForm_form > dt:first-child{
	white-space: nowrap;
}
.oForm_req{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0.2em 0.3em 0.3em;
	border-radius: calc(5 * var(--fz) * var(--dsc));
	background: #b52828;
	color: var(--color-white);
	margin-left: 0.5em;
	line-height: 1;
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 500;
}
.oForm_form > dd{
	margin: 0;
	padding: calc(30px * var(--dsc)) calc(20px * var(--dsc));
	border-top: 1px solid var(--color-gray-light);
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 500;
}
.oForm_form > dd:has(input[name="your-name1"]),
.oForm_form > dd:has(input[name="your-kana1"]){
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: calc(50px * var(--dsc));
}
.oForm_form > dd:has(input[name="your-name1"]) > span,
.oForm_form > dd:has(input[name="your-kana1"]) > span{
	display: grid;
	grid-template-columns: 2.5em 1fr;
	align-items: start;

}
.oForm_form > dd:has(input[name="your-name1"]) > span > span:first-child,
.oForm_form > dd:has(input[name="your-kana1"]) > span > span:first-child{
	height: calc(68 * var(--fz) * var(--dsc));
	display: grid;
	align-items: center;
}
.oForm_form > dd input,
.oForm_form > dd textarea{
	display: block;
	width: 100%;
	height: calc(68 * var(--fz) * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	border: 1px solid var(--color-gray-light);
	padding: 1em;
}
.oForm_form > dd textarea{
	line-height: calc(33 / 20);
	height: calc(308 * var(--fz) * var(--dsc));
}
.oForm_form > dd input[readonly="true"],
.oForm_form > dd textarea[readonly="true"]{
	background: var(--color-gray-pale);
	color: var(--color-gray);
}
.oForm_form_note{
	font-size: calc(14 * var(--fz) * var(--dsc));
	color: var(--color-gray);
	font-weight: 400;
	margin-top: -1.5em;
	padding-bottom: 0.5em;
	display: block;
}
.oForm_btns{
	margin-top: calc(128px * var(--dsc));
	display: flex;
	width: 100%;
	justify-content: center;
	column-gap: calc(80px * var(--dsc));
}
.oForm_btns button{
	width: calc(375px * var(--dsc));
	height: calc(117 * var(--fz) * var(--dsc));
	font-size: calc(25 * var(--fz) * var(--dsc));
	cursor: pointer;
}
.oForm_btns button,
.oForm_thanks {
	display: none;
}
.oForm_thanks_txt{
	margin-top: calc(100px * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(35 / 20);
	text-align: center;
}
.oForm_thanks_btn{
	margin-top: calc(150px * var(--dsc));
	display: flex;
	width: 100%;
	justify-content: center;
}
.oForm_thanks_btn > a{
	width: calc(375px * var(--dsc));
	height: calc(117 * var(--fz) * var(--dsc));
	font-size: calc(25 * var(--fz) * var(--dsc));
	text-decoration: none;
	display: grid;
	justify-content: center;
	align-items: center;
}
.oForm.sInit #btnConfirm {
	display: inline-block;
}
.oForm.sConfirm #btnBack,
.oForm.sConfirm #btnSend {
	display: inline-block;
}
.oForm.sThanks .oForm_form,
.oForm.sThanks .oForm_btns,
.oForm.sThanks .oForm_note,
.oForm.sThanks .oForm_lead{
	display: none;
}
.oForm.sThanks .oForm_thanks {
	display: block;
}
.oForm + .wpcf7-response-output{
	display: none !important;
}
@media (width < 768px){
	.oForm_lead{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oForm_flow{
		margin-top: calc(60px * var(--ds));
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oForm_note{
		margin-top: calc(45px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oForm_form{
		margin: calc(15px * var(--ds)) 0 0;
		grid-template-columns: 1fr;
	}
	.oForm_form > dt{
		font-size: calc(18 * var(--fz) * var(--ds));
		padding: calc(15px * var(--ds)) calc(20px * var(--ds));
	}
	.oForm_form > dt:first-child{
		white-space: normal;
	}
	.oForm_req{
		border-radius: calc(5 * var(--fz) * var(--ds));
		font-size: calc(14 * var(--fz) * var(--ds));
		vertical-align: 0.15em;
	}
	.oForm_form > dd{
		padding: calc(20px * var(--ds)) calc(10px * var(--ds)) calc(40px * var(--ds));
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oForm_form > dd:has(input[name="your-name1"]),
	.oForm_form > dd:has(input[name="your-kana1"]){
		grid-template-columns: 1fr;
		gap: calc(20px * var(--ds)) 1em;
	}
	.oForm_form > dd:has(input[name="your-name1"]) > span > span:first-child,
	.oForm_form > dd:has(input[name="your-kana1"]) > span > span:first-child{
		height: calc(68 * var(--fz) * var(--ds));
	}
	.oForm_form > dd input,
	.oForm_form > dd textarea{
		height: calc(68 * var(--fz) * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oForm_form > dd textarea{
		height: calc(308 * var(--fz) * var(--ds));
	}
	.oForm_form_note{
		font-size: calc(14 * var(--fz) * var(--ds));
		margin-top: 0;
	}
	.oForm_btns{
		margin-top: calc(60px * var(--ds));
		column-gap: calc(20px * var(--ds));
	}
	.oForm_btns button{
		width: 100%;
		height: calc(60 * var(--fz) * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oForm_thanks_txt{
		margin-top: calc(100px * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
	}
	.oForm_thanks_btn{
		margin-top: calc(60px * var(--ds));
	}
	.oForm_thanks_btn > a{
		width: 100%;
		height: calc(60 * var(--fz) * var(--ds));
		font-size: calc(20 * var(--fz) * var(--ds));
	}
}

/* oSitemap：サイトマップ
-------------------------------------------------- */
.oSitemap{
	width: 100%;
}
.oSitemap a{
	text-decoration: none;
}
.oSitemap_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: calc(37px * var(--dsc));
	align-items: end;
}
.oSitemap_list > li{
	border-bottom: 1px solid var(--color-gray);
	padding-bottom: calc(32px * var(--dsc));
}
.oSitemap_list > li:nth-child(1),
.oSitemap_list > li:nth-child(7){
	grid-column: 1 / -1;
}
.oSitemap_list > li:nth-child(6),
.oSitemap_list > li:nth-child(10){
	grid-column: span 2;
}
.oSitemap_list > li:nth-child(8){
	display: none;
}
.oSitemap_list > li > a{
	font-size: calc(26 * var(--fz) * var(--dsc));
}
.oSitemap_list > li > a > .vHover_line{
	--hover-color-txt-before: var(--color-navy);
}
.oSitemap_list > li > a > .oIcoArw{
	margin: -0.25em 0 -0.25em calc(25 * var(--fz) * var(--dsc));
	width: calc(32 / 26 * 1em);
	height: calc(32 / 26 * 1em);
	display: inline-block;
}
.oSitemap_list > li > ul{
	margin-top: calc(35px * var(--dsc));
}
.oSitemap_list > li:nth-child(1) > ul,
.oSitemap_list > li:nth-child(7) > ul{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: calc(20px * var(--dsc));
}
.oSitemap_list > li:nth-child(1) > ul br{
	display: none;
}
.oSitemap_list > li > ul > li:nth-child(1):not(:only-child){
	display:none !important;
}
.oSitemap_list > li > ul > li > a::after{
	content: '';
	width: 1.2em;
	height: 0.8em;
	margin-left: 0.8em;
	mask: var(--img-arw-line) no-repeat left center / contain;
	display: inline-block;
	background: var(--color-black);
}
.oSitemap_list > li > ul > li > a[target="_blank"]::after{
	width: 0.9em;
	height: 0.9em;
	margin-bottom: -0.05em;
	mask: var(--img-ico-newwin) no-repeat left center / contain;
}
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".pdf"]::after,
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".doc"]::after,
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".ppt"]::after,
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".xls"]::after,
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".zip"]::after{
	width: 1em;
	height: 1em;
	margin-bottom: -0.1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oSitemap_list > li > ul > li > a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (width < 768px){
	.oSitemap_list{
		grid-template-columns: 1fr;
		row-gap: calc(37px * var(--ds));
	}
	.oSitemap_list > li{
		padding-bottom: calc(32px * var(--ds));
	}
	.oSitemap_list > li:nth-child(6),
	.oSitemap_list > li:nth-child(10){
		grid-column: span 1;
	}
	.oSitemap_list > li > a{
		font-size: calc(26 * var(--fz) * var(--ds));
	}
	.oSitemap_list > li > a > .oIcoArw{
		margin: -0.25em 0 -0.25em calc(25 * var(--fz) * var(--ds));
	}
	.oSitemap_list > li > ul{
		margin-top: calc(35px * var(--ds));
	}
	.oSitemap_list > li:nth-child(1) > ul,
	.oSitemap_list > li:nth-child(7) > ul{
		grid-template-columns: 1fr;
		row-gap: calc(20px * var(--ds));
	}
}


/* oLogin：ログイン画面
-------------------------------------------------- */
.oLogin{
	margin-top: calc(136px * var(--dsc));
}
.oLogin_hd{
	font-size: calc(48 * var(--fz) * var(--dsc));
	font-weight: 400;
	text-align: center;
}
.oLogin_inner{
	margin-top: calc(62px * var(--dsc));
	display: flex;
	justify-content: space-between;
	padding: 0 calc(100px * var(--dsc)) 0 calc(50px * var(--dsc));
	width: 100%;
	column-gap: calc(10px * var(--dsc));
}
.oLogin_lead{
	line-height: calc(30 / 16);
	font-weight: 400;
}
.oLogin_back > a.vHover_bg{
	--hover-color-line-before: var(--color-gray);
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-gray-dark);
	--hover-color-line-after: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	width: calc(234 * var(--fz) * var(--dsc));
	height: calc(63 * var(--fz) * var(--dsc));
}
.oLogin_form{
	margin-top: calc(34px * var(--dsc));
	display: block;
	background: var(--color-navy-pale);
	padding: calc(124px * var(--dsc)) 0 calc(99px * var(--dsc));
}
.oLogin_form_error{
	margin: calc(-72px * var(--dsc)) 0 calc(40px * var(--dsc));
	font-size: calc(20 * var(--fz) * var(--dsc));
	color: var(--color-red);
	text-align: center;
}
.oLogin_form_input{
	display: grid;
	grid-template-columns: repeat(2, auto);
	gap: calc(25px * var(--dsc)) calc(60px * var(--dsc));
	justify-content: center;
	align-items: center;
}
.oLogin_form_input > label{
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 700;
}
.oLogin_form_input > input{
	width: calc(470 * var(--fz) * var(--dsc));
	height: calc(60 * var(--fz) * var(--dsc));
	border: 1px solid var(--color-gray);
	font-size: max(16px, calc(20 * var(--fz) * var(--dsc)));
	padding: 0.1em 1em;
}
.oLogin_form_btn{
	margin: calc(97px * var(--dsc)) auto 0;
	width: fit-content;
}
.oLogin_form_btn > button.vHover_bg{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc(25 * var(--fz) * var(--dsc));
	width: calc(375 * var(--fz) * var(--dsc));
	height: calc(100 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oLogin{
		margin-top: calc(30px * var(--ds));
	}
	.oLogin_hd{
		font-size: calc(24 * var(--fz) * var(--ds));
	}
	.oLogin_inner{
		margin-top: calc(20px * var(--ds));
		display: block;
		padding: 0;
	}
	.oLogin_back{
		margin: calc(20px * var(--ds)) auto 0;
	}
	.oLogin_back > a.vHover_bg{
		width: 100%;
		height: calc(63 * var(--fz) * var(--ds));
	}
	.oLogin_form{
		margin-top: calc(34px * var(--ds));
		display: block;
		padding: calc(40px * var(--ds)) calc(20px * var(--ds)) calc(40px * var(--ds));
	}
	.oLogin_form_error{
		margin: calc(-10px * var(--ds)) 0 calc(40px * var(--ds));
		font-size: calc(16 * var(--fz) * var(--ds));
		text-align: left;
	}
	.oLogin_form_input{
		grid-template-columns: 1fr;
		gap: calc(10px * var(--ds)) calc(20px * var(--ds));
	}
	.oLogin_form_input > label{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oLogin_form_input > input{
		width: 100%;
		height: calc(60 * var(--fz) * var(--ds));
		border: 1px solid var(--color-gray);
		font-size: max(16px, calc(20 * var(--fz) * var(--ds)));
		padding: 0.1em 1em;
	}
	.oLogin_form_input > input + label{
		margin-top: calc(20px * var(--ds));
	}
	.oLogin_form_btn{
		margin: calc(40px * var(--ds)) auto 0;
		width: 100%;
	}
	.oLogin_form_btn > button.vHover_bg{
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: calc(20 * var(--fz) * var(--ds));
		width: 100%;
		height: calc(60 * var(--fz) * var(--ds));
	}
}

/* oError：エラー画面
-------------------------------------------------- */
.oError{
	margin-top: calc(212px * var(--dsc));
}
.oError_txt{
	font-size: calc(20 * var(--fz) * var(--dsc));
	line-height: calc(40 / 20);
}
.oError_btn{
	margin: calc(88px * var(--dsc)) auto 0;
	width: calc(375 * var(--fz) * var(--dsc));
}
.oError_btn > a.vHover_bg{
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: calc(25 * var(--fz) * var(--dsc));
	width: 100%;
	height: calc(101 * var(--fz) * var(--dsc));
}
@media (width < 768px){
	.oError{
		margin-top: calc(30px * var(--ds));
	}
	.oError_txt{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oError_btn{
		margin: calc(40px * var(--ds)) auto 0;
		width: 100%;
	}
	.oError_btn > a.vHover_bg{
		font-size: calc(16 * var(--fz) * var(--ds));
		height: calc(60 * var(--fz) * var(--dsc));
	}
}

/* oLead：リード文
-------------------------------------------------- */
.oLead{
	font-size: calc(20 * var(--fz) * var(--dsc));
}
.oLead > p + p{
	margin-top: 1em;
}
@media (width < 768px){
	.oLead{
		font-size: calc(16 * var(--fz) * var(--ds));
		line-height: calc(27 / 16);
	}
}

/* oArchive：アーカイブ
-------------------------------------------------- */
.oArchive{
	margin-top: calc(130px * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 700;
	line-height: calc(27 / 18);
	width: 100%;
}
.oArchive a:visited{
	color: var(--color-navy) !important;
}
.oArchive_txt{
	width: 100%;
}
.oArchive_sct{
	width: 100%;
	transition: all 0.5s ease 0s;
	overflow: hidden;
}
.oArchive:not(.vFirstOpen) .oArchive_sct,
.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2){
	border: 1px solid var(--color-gray);
	border-radius: calc(9px * var(--dsc));
	margin: calc(89px * var(--dsc)) auto 0;
	width: calc(1150px * var(--dsc));
}
.oArchive:not(.vFirstOpen) .oArchive_sct:first-child{
	margin-top: 0;
}
.oArchive:not(.vFirstOpen) .oArchive_sct[open],
.oArchive.vFirstOpen .oArchive_sct[open]:nth-child(n+2){
	padding: 0 calc(24px * var(--dsc));
	width: 100%;
}
.oArchive:not(.vFirstOpen) .oArchive_sct:nth-child(n+2),
.oArchive.vFirstOpen .oArchive_sct:nth-child(n+3){
	margin-top: calc(32px * var(--dsc));
}
.oArchive_sct_hd{
	font-size: calc(25 * var(--fz) * var(--dsc));
	font-weight: 700;
	overflow-wrap: break-word;
	word-break: break-all;
	position: relative;
	display: flex;
	justify-content: space-between;
	text-decoration: none;
	align-items: center;
	width: 100%;
	height: calc(68 * var(--fz) * var(--dsc));
	padding: 0 calc(46px * var(--dsc)) 0 calc(58px * var(--dsc));
	transition: padding 0.5s ease 0s;
	cursor: pointer;
}
.oArchive_sct_hd > .oIcoTgl{
	--tgl-line-width: max(calc(4px * var(--dsc)), 1px);
	--tgl-line-color: var(--color-black);
	width: calc(18 * var(--fz) * var(--dsc));
	height: calc(18 * var(--fz) * var(--dsc));
}
.oArchive_sct[open] .oIcoTgl_line:nth-child(2){
	transform: rotate(0deg);
}
.oArchive.vFirstOpen .oArchive_sct:nth-child(1) .oArchive_sct_hd{
	display: none;
}
.oArchive_sct_list,
.oArchive_sct[open].sClosing .oArchive_sct_list {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.5s ease;
	will-change: grid-template-rows;
}
.oArchive_sct[open] .oArchive_sct_list{
	grid-template-rows: 1fr;
}
.oArchive_sct_list > ul {
	overflow: hidden;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: calc(33px * var(--dsc)) calc(50px * var(--dsc));
}
.oArchive:not(.vFirstOpen) .oArchive_sct .oArchive_sct_list > ul,
.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2) .oArchive_sct_list > ul {
	border-top: 1px solid var(--color-gray);
	padding-top: calc(50px * var(--dsc));
	padding-bottom: calc(50px * var(--dsc));
}
.oArchive_sct_list > ul > li {
	overflow-wrap: break-word;
	word-break: break-all;
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	padding-bottom: calc(33px * var(--dsc));
	border-bottom: 1px solid var(--color-gray-light);
}
.oArchive.vFirstOpen .oArchive_sct:nth-child(1) .oArchive_sct_list > ul > li {
	padding-left: calc(50px * var(--dsc));
}
.oArchive:not(.vFirstOpen) .oArchive_sct .oArchive_sct_list > ul > li,
.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2) .oArchive_sct_list > ul > li {
	padding-left: calc(24px * var(--dsc));
}
.oArchive_sct_list_contents{
	width: 100%;
}
.oArchive_sct_list_hd{
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 700;
	line-height: calc(27 / 18);
	overflow-wrap: break-word;
	word-break: break-all;
}
.oArchive_sct_list_hd_private {
	margin: 0 calc(17 * var(--fz) * var(--dsc)) 0 0;
	display: inline-block;
	width: 6.6em;
	height: 1.5em;
	background: var(--img-ico-private) no-repeat left center / contain;
	vertical-align: -0.35em;
}
.oArchive_sct_list_txt{
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(27 / 16);
	overflow-wrap: break-word;
	word-break: break-all;
	
}
.oArchive_sct_list_hd + .oArchive_sct_list_txt{
	margin-top: calc(20 * var(--fz) * var(--dsc));
}
.oArchive_sct_list_profile + .oArchive_sct_list_txt{
	margin-top: calc(30px * var(--dsc));
}
.oArchive_sct_list_txt > p + p{
	margin-top: 1em;
}
.oArchive_sct_list_txt > dl{
	margin: 0;
}
.oArchive_sct_list_txt > dl + dl{
	margin-top: 1em;
}
.oArchive_sct_list_txt > dl > dt{
	margin: 0;
	width: auto;
	white-space: nowrap;
	float: left;
	clear: both;
}
.oArchive_sct_list_txt > dl > dt::after{
	content: '：';
}
.oArchive_sct_list_txt > dl > dd{
	margin: 0;
	overflow: hidden;
}
.oArchive_sct_list_profile{
	display: grid;
	grid-template-columns: calc(200px * var(--dsc)) 1fr;
	column-gap: calc(20px * var(--dsc));
}
.oArchive_sct_list_profile + .oArchive_sct_list_profile,
.oArchive_sct_list_txt + .oArchive_sct_list_profile{
	margin-top: calc(30px * var(--dsc));
}
.oArchive_sct_list_profile_txt{
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 400;
	line-height: calc(27 / 16);
}
.oArchive_sct_list_profile_txt > p + p{
	margin-top: 1em;
}
.oArchive_sct_list_link > a[target="_blank"]::after{
	content:'';
	display: inline-block;
	mask: var(--img-ico-newwin) no-repeat center bottom / contain;
	background: var(--color-black);
	width: 0.9em;
	height: 0.9em;
}
.oArchive_sct_list_link > a[target="_blank"][href*=".pdf"]::after,
.oArchive_sct_list_link > a[target="_blank"][href*=".doc"]::after,
.oArchive_sct_list_link > a[target="_blank"][href*=".ppt"]::after,
.oArchive_sct_list_link > a[target="_blank"][href*=".xls"]::after,
.oArchive_sct_list_link > a[target="_blank"][href*=".zip"]::after{
	height: 1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
	vertical-align: -0.1em;
}
.oArchive_sct_list_link > a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oArchive_sct_list_link > a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oArchive_sct_list_link > a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oArchive_sct_list_link > a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
@media (width < 768px){
	.oArchive{
		margin: calc(60px * var(--ds)) auto 0;
		font-size: calc(16 * var(--fz) * var(--ds));
		line-height: calc(27 / 16);
	}
	.oArchive:not(.vFirstOpen) .oArchive_sct,
	.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2){
		width: 100%;
		margin: calc(72px * var(--ds)) auto 0;
	}
	.oArchive:not(.vFirstOpen) .oArchive_sct,
	.oArchive:not(.vFirstOpen) .oArchive_sct[open],
	.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2),
	.oArchive.vFirstOpen .oArchive_sct[open]:nth-child(n+2){
		border-radius: calc(9px * var(--ds));
		padding: 0 calc(15px * var(--ds));
	}
	.oArchive:not(.vFirstOpen) .oArchive_sct:nth-child(n+2),
	.oArchive.vFirstOpen .oArchive_sct:nth-child(n+3){
		margin-top: calc(26px * var(--ds));
	}
	.oArchive_sct_hd{
		font-size: calc(25 * var(--fz) * var(--ds));
		height: calc(68 * var(--fz) * var(--ds));
		padding: 0 calc(11px * var(--ds)) 0 0;
	}
	.oArchive_sct_hd > .oIcoTgl{
		--tgl-line-width: max(calc(4px * var(--ds)), 1px);
		width: calc(18 * var(--fz) * var(--ds));
		height: calc(18 * var(--fz) * var(--ds));
	}
	.oArchive_sct_list_hd_private {
		margin: 0 0.5em 0 0;
		width: 5.2em;
		height: 1.2em;
		vertical-align: -0.2em;
	}
	.oArchive_sct_list > ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(25px * var(--ds)) 0;
	}
	.oArchive:not(.vFirstOpen) .oArchive_sct .oArchive_sct_list > ul,
	.oArchive.vFirstOpen .oArchive_sct:nth-child(n+2) .oArchive_sct_list > ul {
		padding-top: calc(25px * var(--ds));
		padding-bottom: calc(20px * var(--ds));
	}
	.oArchive_sct_list > ul > li {
		display: block;
		padding-bottom: calc(25px * var(--ds));
		padding-left: 0 !important;
	}
	.oArchive_sct_list_hd{
		font-size: calc(18 * var(--fz) * var(--ds));
	}
	.oArchive_sct_list_txt{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
	.oArchive_sct_list_hd + .oArchive_sct_list_txt{
		margin-top: calc(20 * var(--fz) * var(--ds));
	}
	.oArchive_sct_list_profile + .oArchive_sct_list_txt{
		margin-top: calc(40px * var(--ds));
	}
	.oArchive_sct_list_txt{
		font-size: calc(16 * var(--fz) * var(--dsc));
		font-weight: 400;
		line-height: calc(27 / 16);
	}
	.oArchive_sct_list_txt > dl > dt{
		width: 100%;
		white-space: normal;
		float: none;
		font-weight: 700;
	}
	.oArchive_sct_list_txt > dl > dd + dt{
		margin-top: 0.5em;
	}
	.oArchive_sct_list_txt > dl > dd{
		overflow: visible;
		padding-left: 0.5em;
	}
	.oArchive_sct_list_profile{
		grid-template-columns: 1fr;
		gap: 1.5em 0;
	}
	.oArchive_sct_list_txt + .oArchive_sct_list_profile,
	.oArchive_sct_list_profile + .oArchive_sct_list_profile{
		margin-top: calc(40px * var(--ds));
	}
	.oArchive_sct_list_profile_txt{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}

/* oArchiveList：アーカイブリスト
-------------------------------------------------- */
.oArchiveList{
	margin-top: calc(140px * var(--dsc));
	font-size: calc(18 * var(--fz) * var(--dsc));
	font-weight: 700;
	line-height: calc(27 / 18);
	width: 100%;
	overflow: hidden;
	height: auto;
}
.oArchiveList a:visited{
	color: var(--color-navy) !important;
}
.oArchiveList_list {
	transition: height .4s ease;
	overflow: hidden;
}
.oArchiveList > ul {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: calc(33px * var(--dsc)) calc(50px * var(--dsc));
	border-top: 1px solid var(--color-gray);
	padding: calc(50px * var(--dsc)) 0 calc(50px * var(--dsc)) calc(20px * var(--dsc));
}
.oArchiveList > ul > li {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	padding-bottom: calc(33px * var(--dsc));
	border-bottom: 1px solid var(--color-gray-light);
}
.oArchiveList_hd_private {
	margin: 0 calc(17 * var(--fz) * var(--dsc)) 0 0;
	display: inline-block;
	width: 6.6em;
	height: 1.5em;
	background: var(--img-ico-private) no-repeat left center / contain;
	vertical-align: -0.35em;
}
.oArchiveList_txt{
	margin-top: 1.5em;
	font-size: calc(16 * var(--fz) * var(--dsc));
	line-height: calc(27 / 16);
	font-weight: 500;
	overflow-wrap: break-word;
	word-break: break-all;
}
/* 中黒リスト */
.oArchiveList_txt ul.vDisc,
.oArchiveList_txt ol.vDisc{
	list-style-type: disc;
	padding-left: 1em;
}
/* 丸リスト */
.oArchiveList_txt ul.vCir,
.oArchiveList_txt ol.vCir{
	list-style-type: circle;
	padding-left: 1em;
}
/* 数字リスト */
.oArchiveList_txt ul.vNum,
.oArchiveList_txt ol.vNum{
	list-style-type: decimal;
	padding-left: 1.5em;
}
/* 数字リスト（丸括弧） */
.oArchiveList_txt ul.vNum_paren,
.oArchiveList_txt ol.vNum_paren{
	list-style-type: decimal;
	padding-left: 1.5em;
}
.oArchiveList_txt ul.vNum_paren > li::marker,
.oArchiveList_txt ol.vNum_paren > li::marker{
	content: '('counter(list-item) ') ';
}
/* アルファベットリスト */
.oArchiveList_txt ul.vAlpha,
.oArchiveList_txt ol.vAlpha{
	list-style-type: upper-alpha;
	padding-left: 1em;
}
.oArchiveList_txt p:nth-child(n+2),
.oArchiveList_txt ul:nth-child(n+2),
.oArchiveList_txt ol:nth-child(n+2){
	margin-top: 1em;
}
.oArchiveList_link{
	margin-top: 1.5em;
	font-size: calc(16 * var(--fz) * var(--dsc));
	font-weight: 500;
}
.oArchiveList_link > a:visited{
	color: var(--color-navy);
}
.oArchiveList_link > a[target="_blank"]::after{
	content:'';
	display: inline-block;
	mask: var(--img-ico-newwin) no-repeat center bottom / contain;
	background: var(--color-black);
	width: 0.9em;
	height: 0.9em;
}
.oArchiveList_link > a[target="_blank"][href*=".pdf"]::after,
.oArchiveList_link > a[target="_blank"][href*=".doc"]::after,
.oArchiveList_link > a[target="_blank"][href*=".ppt"]::after,
.oArchiveList_link > a[target="_blank"][href*=".xls"]::after,
.oArchiveList_link > a[target="_blank"][href*=".zip"]::after{
	height: 1em;
	mask: none;
	background: transparent var(--img-ico-pdf) no-repeat left center / contain;
	background-color: transparent !important;
}
.oArchiveList_link > a[target="_blank"][href*=".doc"]::after{
	background-image: var(--img-ico-doc);
}
.oArchiveList_link > a[target="_blank"][href*=".ppt"]::after{
	background-image: var(--img-ico-ppt);
}
.oArchiveList_link > a[target="_blank"][href*=".xls"]::after{
	background-image: var(--img-ico-xls);
}
.oArchiveList_link > a[target="_blank"][href*=".zip"]::after{
	background-image: var(--img-ico-zip);
}
.oArchiveList_btn{
	margin-top: calc(115px * var(--dsc));
	display: flex;
	width: 100%;
	justify-content: center;
	transition: opacity .3s ease, transform .3s ease;
}
.oArchiveList_btn.sHide {
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}
.oArchiveList_btn button.sLoading {
	opacity: .6;
	pointer-events: none;
}
.oArchiveList_btn > button.vHover_bg{
	--hover-color-bg-before: var(--color-white);
	--hover-color-txt-before: var(--color-navy);
	--hover-color-bg-after: var(--color-navy);
	--hover-color-txt-after: var(--color-white);
	display: grid;
	grid-template-columns: 1fr auto;
	justify-content: center;
	align-items: center;
	width: calc(408px * var(--dsc));
	height: calc(78 * var(--fz) * var(--dsc));
	font-size: calc(28 * var(--fz) * var(--dsc));
	border-radius: calc(12px * var(--dsc));
	padding: calc(10px * var(--dsc)) calc(46px * var(--dsc));
}
.oArchiveList_btn > button > .oIcoArw{
	transform: rotate(90deg);
	--arw-size: calc(45px * var(--dsc));
}
@media (width < 768px){
	.oArchiveList{
		margin: calc(60px * var(--ds)) auto 0;
		font-size: calc(16 * var(--fz) * var(--ds));
		line-height: calc(27 / 16);
	}
	.oArchiveList > ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: calc(25px * var(--ds)) 0;
	}
	.oArchiveList > ul {
		padding-top: calc(25px * var(--ds));
		padding-bottom: calc(20px * var(--ds));
	}
	.oArchiveList > ul > li {
		display: block;
		padding-bottom: calc(25px * var(--ds));
	}
	.oArchiveList > ul > li{
		padding-left: 0;
	}
	.oArchiveList_hd_private {
		margin: 0 0.5em 0 0;
		width: 5.2em;
		height: 1.2em;
		vertical-align: -0.2em;
	}
	.oArchiveList_link{
		font-size: calc(16 * var(--fz) * var(--ds));
	}
}


/* ==================================================
+ JS関連
-------------------------------------------------- */
/* jsAcc：アコーディオン
-------------------------------------------------- */
.jsAcc {
}
.jsAcc.sOpen {
}
.jsAcc .oHdB:has(.jsAcc_btn) {
	display: flex;
	width: 100%;
	justify-content: space-between;
}
.jsAcc_btn {
	border: 0;
	background: transparent;
	color: var(--color-gray);
	font-size: calc(20 * var(--fz) * var(--dsc));
	font-weight: 400;
	padding: 0.5em 1.5em;
}
.jsAcc .oSctC,
.jsAcc .jsAcc,
.jsAcc .jsAcc_box{
	transition: margin-top 0.35s ease;
}
.jsAcc:not(.sOpen) .jsAcc,
.jsAcc:not(.sOpen) .jsAcc_box{
	margin-top: 0;
}
.jsAcc:not(.sOpen) .oSctC{
	margin-top: calc(20px * var(--dsc));
}
.jsAcc:not(.sOpen) .oImgs + .oSctC{
	margin-top: calc(40px * var(--dsc));
}
.jsAcc_box {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.35s ease;
}
@media (width < 768px){
	.jsAcc_btn {
		font-size: calc(14 * var(--fz) * var(--dsc));
		padding: 0 0 0.5em;
	}
}

/* jsFade：スクロールでフェードイン
-------------------------------------------------- */
.sJsOn .jsFade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.sJsOn .jsFade.sShow {
	opacity: 1;
	transform: translateY(0);
}

/* jsCarousel：カルーセル
-------------------------------------------------- */
.jsCarousel {
	--carousel-slide-width: calc(452px * var(--dsc));
	--carousel-gap: calc(18px * var(--dsc));
	position: relative;
}
/* JS有効時のみ */
.jsCarousel.sCarouselReady{
	overflow: hidden;
	touch-action: pan-y;
}
/* トラック（動かす対象） */
.sCarouselReady .jsCarousel_track{
	position: relative;
	display: flex;
	will-change: transform;
	gap: var(--carousel-gap);
	width: max-content;
}
/* 各リスト */
.sCarouselReady .jsCarousel_track_list{
	display: flex;
	gap: var(--carousel-gap);
	width: max-content;
}
.sCarouselReady .jsCarousel_track_list:nth-child(2),
.sCarouselReady .jsCarousel_track_list:nth-child(3){
	position: absolute;
	top: 0;
}
.sCarouselReady .jsCarousel_track_list:nth-child(2){
	right: 100%;
	margin-right: var(--carousel-gap);
}
.sCarouselReady .jsCarousel_track_list:nth-child(3){
	left: 100%;
	margin-left: var(--carousel-gap);
}
/* スライド */
.sCarouselReady .jsCarousel_track_list > li{
	flex: 0 0 auto;
	width: var(--carousel-slide-width);
}
/* ボタン */
.sCarouselReady .jsCarousel_btn{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	z-index: 2;
	background: var(--color-white);
	border: none;
	width: calc(72px * var(--dsc));
	height: calc(72px * var(--dsc));
	cursor: pointer;
	border-radius: 50%;
}
.sCarouselReady .jsCarousel_btn::before{
	content: '';
	display: block;
	width: calc(32 / 72 * 100%);
	height: calc(27 / 72 * 100%);
	position: absolute;
	left: calc(27 / 72 * 100%);
	top: 0;
	bottom: 0;
	margin: auto 0;
	background: var(--color-navy);
	mask: var(--img-arw-tri) no-repeat center center / 100% 100%;
}
.sCarouselReady .jsCarousel_btn.vPrev{
	left: calc(5px * var(--dsc));
	transform: rotate(180deg);
}
.sCarouselReady .jsCarousel_btn.vNext{
	right: calc(5px * var(--dsc));
}
@media (hover:hover){
	.sCarouselReady .jsCarousel_btn:hover{
		background: var(--color-navy);
	}
	.sCarouselReady .jsCarousel_btn:hover::before{
		background: var(--color-white);
	}
}
@media (max-width: 767px){
	.jsCarousel{
		--carousel-slide-width: calc(335px * var(--ds));
		--carousel-gap: calc(22px * var(--ds));
	}
	.sCarouselReady .jsCarousel_btn{
		width: calc(46px * var(--ds));
		height: calc(46px * var(--ds));
	}
	.sCarouselReady .jsCarousel_btn.vPrev{
		left: calc(14px * var(--ds));
		transform: rotate(180deg);
	}
	.sCarouselReady .jsCarousel_btn.vNext{
		right: calc(14px * var(--ds));
	}
}

/* jsMarquee：マーキー
-------------------------------------------------- */
.jsMarquee.sMarqueeReady {
	overflow: hidden;
	width: 100%;
}
.jsMarquee_inner {
	display: flex;
	width: max-content;
	animation-name: var(--marquee-animation, marquee);
	animation-duration: var(--marquee-duration, 20s);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-play-state: running;
	will-change: transform;
	transform: translateZ(0);
}
.jsMarquee_inner > * + * {
	margin-left: var(--marquee-gap, 0);
}
/* アニメーション（右 → 左） */
@keyframes marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(calc(-1 * var(--marquee-width)));
	}
}
/* 逆向きアニメーション（左 → 右） */
@keyframes marquee-reverse {
	from {
		transform: translateX(calc(-1 * var(--marquee-width)));
	}
	to {
		transform: translateX(0);
	}
}
/* アニメーション無効なら横スクロールUI化 */
@media (prefers-reduced-motion: reduce) {
	.jsMarquee {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.jsMarquee_inner {
		animation: none !important;
		width: auto;
		min-width: max-content;
	}
}



/* ==================================================
+ CookieYes上書き
-------------------------------------------------- */
.cky-accordion-wrapper,
.cky-btn.cky-btn-preferences,
.cky-footer-shadow{
	display: none !important;
}
.cky-preference-content-wrapper{
	border-bottom: 0 !important;
	padding: 2em 0 !important;
}

/* ==================================================
+ WP設定上書き
-------------------------------------------------- */
html #wpadminbar{
	position: fixed !important;
}


/* ==================================================
+ 上書きクラス
-------------------------------------------------- */
/* xMedia：表示制御
-------------------------------------------------- */
/* xPC：PCのみ表示 */
@media (width < 768px){
	.xPC{
		display:none !important;
	}
}
/* xSP：SPのみ表示 */
@media (width >= 768px){
	.xSP{
		display:none !important;
	}
}
/* xSR：スクリーンリーダー用 */
.xSR{
	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;
	white-space: nowrap !important;
	border: 0 !important;
}

/* xFf：フォントの種類
-------------------------------------------------- */
.xFf_sans{
	font-family: var(--ff-sans) !important;
}
.xFf_serif{
	font-family: var(--ff-serif) !important;
}

/* xFw：フォントの太さ
-------------------------------------------------- */
.xFw_700{
	font-weight: 400 !important;
}
.xFw_500{
	font-weight: 400 !important;
}
.xFw_400{
	font-weight: 400 !important;
}

/* xC：文字色
-------------------------------------------------- */
.xC_red{
	color: var(--color-red) !important;
}

/* xGap：ギャップ
-------------------------------------------------- */
.xGap_r0{
	row-gap: 0 !important;
}
.xGap_r05em{
	row-gap: 0.5em !important;
}

/* xM：マージン
-------------------------------------------------- */
.xM_t1em{
	margin-top: 1em !important;
}
.xM_t2em{
	margin-top: 2em !important;
}

/* xP：パディング
-------------------------------------------------- */
.xP_l1em{
	padding-left: 1em !important;
}
.xP_l2em{
	padding-left: 2em !important;
}
.xP_r1em{
	padding-right: 1em !important;
}

/* xW：幅
-------------------------------------------------- */
@media (width >= 768px){
	.xW_pc180fz{
		width: calc(180 * var(--fz) * var(--dsc));
	}
}


/* ==================================================
+ prefers-reduced-motion 対応
-------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}