@charset "UTF-8";

* {
    box-sizing: border-box;
	font-size: 11pt;
    color: #333333;
    line-height: 150%;
}

/* 共通で使用する変数の定義 */
*{
	--fontFamilySet_forSerifNormal: "ヒラギノ明朝 W3 JIS2004", "Hiragino Mincho W3 JIS2004", sans-serif;
	--fontFamilySet_forSansSerifNormal: "ヒラギノ角ゴ W3 JIS2004", "Hiragino Kaku Gothic W3 JIS2004", sans-serif;
	--fontFamilySet_forSerifBold: "ヒラギノ明朝 W6 JIS2004", "Hiragino Mincho W6 JIS2004", serif;
    --fontFamilySet_forSansSerifBold: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic W6 JIS2004", sans-serif;
    --zkai-color: #043491;
}

body, h3, h4, h5, h6, input, textarea, select, button {
    font-family: var(--fontFamilySet_forSansSerifNormal);
}

a {
	font-size: inherit;
	font-weight: inherit;
	color: #1155cc;
	text-decoration: underline;
	cursor: pointer;
}

a:hover {
	color: #0CA3D8;
	text-decoration: underline;
}

h1 {
    font-weight: bold;
    font-family: var(--fontFamilySet_forSerifBold);
    color: var(--zkai-color);
    margin-inline: auto;
    margin-bottom: 1.5em;
}

h2 {
    font-weight: bold;
    font-family: var(--fontFamilySet_forSerifBold);
	font-size: 120%;
}

h3 {
    font-weight: bold;
    font-family: var(--fontFamilySet_forSerifBold);
	font-size: 120%;
}

.heading-style-a,
.heading-style-b {
	font-family: var(--fontFamilySet_forSerifNormal);
    margin: 0;
}

/* 目次用設定#01・tocクラスの装飾 */
.toc {
    background-color: #ffffff;
    padding: 0.5em;
    border: 1px solid #000;
    border-radius: 5px;

    /* フォントサイズは継承 */
    font-size: inherit;

    /* 各項目の見出し（h1）がセリフ体なので揃える */
    font-family: var(--fontFamilySet_forSerifNormal);
}

.toc ul {
    margin: 0.5em auto;
    padding: 0;
}

.toc ul li {
    margin-bottom: 0.25em;
    padding-left: 0;
}

.toc li:last-child {
    margin-bottom: 0;          /* 最後の項目は余白なし */
}

.toc ul li a {
    text-decoration: none;
    font-weight: bold;
}

.toc ul li a:hover {
    text-decoration: underline;
    opacity: 0.8;
}

/* 目次用設定#02・スクロール動作の設定 */
html {
    scroll-behavior: smooth;
}


/* 表内のフォントウェイト修正 ＋ td の背景色は白（#fff）に */
table th {
    font-weight: bold;
    font-family: var(--fontFamilySet_forSansSerifBold);
}

table td {
    font-weight: normal;
    font-family: var(--fontFamilySet_forSansSerifNormal);
	font-size: 90%;
    background-color: #fff;
}

/* 表の横スクロール対応のクラスを定義＋改行なしに */
.table-wrap {
  overflow-x: auto;                  /* スクロールを許可する設定に変更 */
  width: 100%;                       /* コンテナ幅を画面幅に合わせる */
  -webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
}
table {
	white-space:nowrap
}

/* 注釈用フォントの大きさを定義 */
.text-note {
	font-size: 85%;
}

/* ol-style-a 全体の設定 */
.ol-style-a {
	/* マーカー（数字）を外に出すために左余白を確保 */
	padding-left: 3.0em;
}

/* リスト項目（数字＋1行目タイトル）の設定 */
.ol-style-a > li {
	list-style-type: decimal;
	/* 数字を外側に出して、2行目以降のテキストの行頭を揃える */
	list-style-position: outside;
	
	/* 1行目を太字にする */
	font-weight: bold;
    font-family: var(--fontFamilySet_forSansSerifBold);

    /* フォントサイズ設定 (acc-sub とソロエ） */
    font-size: 120%;

    /* padding設定*/
	padding: 0em 1em;

    /* margin設定 */
    margin: 1em auto;
}

/* 2行目以降の説明文（pタグ）の設定 */
.ol-style-a > li p {
	/* 親(li)のスタイルを打ち消して標準に戻す */
	font-weight: normal;
    font-family: var(--fontFamilySet_forSansSerifNormal);
	
	/* 行間の調整（必要に応じて変更してください） */
	line-height: 1.5;

	/* フォントサイズを継承　*/
	font-size: inherit;

	/* マージンを設ける */
	margin-bottom: 0.5em;
}

/* .ol-style-a リスト内の text-note クラスに対してフォントサイズ85%を強制適用 */
.ol-style-a > li p.text-note {
    font-size: 85%;
}

/* 番号付きリスト（Unicode丸数字版 U+2460~）定義 */
.ol-style-circleNum_2460 {
	/* カウンター自体は回しておく（21番目以降の予備用） */
	counter-reset: circle-counter;
	margin-top: 10px;
	margin-bottom: 10px;
	font-weight: normal;
}

/* 直下の li にのみ適用 */
.ol-style-circleNum_2460>li {
	position: relative;
	/* 丸数字文字の幅に合わせて余白を調整 */
	padding-left: 1.5em;
	line-height: 1.5;
	padding-top: 0.1em;
	margin-left: 1em;

    font-weight: normal;
    font-family: var(--fontFamilySet_forSansSerifNormal);
}

.ol-style-circleNum_2460>li::before {
	/* デフォルトの挙動（21番目以降は普通の数字が出るように設定） */
	content: counter(circle-counter);
	counter-increment: circle-counter;

	position: absolute;
	left: 0;

	/* 位置の微調整 
       フォントによって文字のベースラインが異なるため、
       top: 0; またはマイナスの値で微調整してください。
    */
	top: 0;

	/* 文字スタイルの調整 */
	color: #333;
	font-family: inherit;
	/* 親のヒラギノフォントを継承 */

	/* Unicodeの丸数字は文字自体が少し小さく見えることがあるため、
       本文よりわずかに大きくするとバランスが良いです。
       （本文と同じサイズ感がよければ 1em にしてください）
    */
	font-size: 1.1em;
	line-height: 1.5;
	/* 行の高さに合わせる */
	text-align: center;
	width: 1.2em;
	/* 幅を確保 */
}

/* 下部のプライバシーポリシー、共通利用規約のスタイルパッチ */
.MT30 p {
    font-size: 10pt;
}

/* 1～20番目までをUnicode文字（①～⑳）で上書き 
   ※content内の \2460 等がUnicodeのエスケープシーケンスです
*/
.ol-style-circleNum_2460 > li:nth-child(1)::before  { content: "\2460"; } /* ① */
.ol-style-circleNum_2460 > li:nth-child(2)::before  { content: "\2461"; } /* ② */
.ol-style-circleNum_2460 > li:nth-child(3)::before  { content: "\2462"; } /* ③ */
.ol-style-circleNum_2460 > li:nth-child(4)::before  { content: "\2463"; } /* ④ */
.ol-style-circleNum_2460 > li:nth-child(5)::before  { content: "\2464"; } /* ⑤ */
.ol-style-circleNum_2460 > li:nth-child(6)::before  { content: "\2465"; } /* ⑥ */
.ol-style-circleNum_2460 > li:nth-child(7)::before  { content: "\2466"; } /* ⑦ */
.ol-style-circleNum_2460 > li:nth-child(8)::before  { content: "\2467"; } /* ⑧ */
.ol-style-circleNum_2460 > li:nth-child(9)::before  { content: "\2468"; } /* ⑨ */
.ol-style-circleNum_2460 > li:nth-child(10)::before { content: "\2469"; } /* ⑩ */
.ol-style-circleNum_2460 > li:nth-child(11)::before { content: "\246A"; } /* ⑪ */
.ol-style-circleNum_2460 > li:nth-child(12)::before { content: "\246B"; } /* ⑫ */
.ol-style-circleNum_2460 > li:nth-child(13)::before { content: "\246C"; } /* ⑬ */
.ol-style-circleNum_2460 > li:nth-child(14)::before { content: "\246D"; } /* ⑭ */
.ol-style-circleNum_2460 > li:nth-child(15)::before { content: "\246E"; } /* ⑮ */
.ol-style-circleNum_2460 > li:nth-child(16)::before { content: "\246F"; } /* ⑯ */
.ol-style-circleNum_2460 > li:nth-child(17)::before { content: "\2470"; } /* ⑰ */
.ol-style-circleNum_2460 > li:nth-child(18)::before { content: "\2471"; } /* ⑱ */
.ol-style-circleNum_2460 > li:nth-child(19)::before { content: "\2472"; } /* ⑲ */
.ol-style-circleNum_2460 > li:nth-child(20)::before { content: "\2473"; } /* ⑳ */

/*
番号付きリスト（丸数字合成）の定義
*/
.ol-style-circleNum {
    counter-reset: circle-counter; /* カウンターをリセット */
    margin-top: 10px;
    margin-bottom: 10px;
	font-weight: normal;

    /* フォントウェイトを標準に */
    font-weight: normal;
    font-family: var(--fontFamilySet_forSansSerifNormal);
    font-size: 100px;
}

/* 直下の li にのみ適用（> を使用）することで、次の階層には反映させない */
.ol-style-circleNum > li {
    position: relative;         /* 数字の配置の基準点 */
    padding-left: 1.6em;        /* 数字が入る左側の余白（丸を小さくした分詰める） */
	padding-top: 0.0em;
    margin-bottom: 0.0em;       /* 行間の調整 */
    line-height: 1.5;           /* 文章の行間（配置計算の基準） */
	margin-left: 2em;

    /* フォントウェイトを標準に */
    font-weight: normal;
    font-family: var(--fontFamilySet_forSansSerifNormal);
    font-size: 100px;
}

.ol-style-circleNum > li::before {
    /* --- 数字と丸の合成処理 --- */
    content: counter(circle-counter);
    counter-increment: circle-counter;
    
    position: absolute;
    left: 0;
    
    /* 垂直方向の位置合わせ
       (line-height(1.5em) - height(1.25em)) / 2 = 0.125em
       視覚的に微調整して 0.15em 程度が中央に揃いやすいです
    */
    top: 0.15em; 
    
    /* 丸の形成 */
    display: block;
    width: 1.25em;             /* 丸の幅を小さく */
    height: 1.25em;            /* 丸の高さを小さく */
    line-height: 1.25em;        /* 数字の垂直位置（枠線の太さを考慮して高さより少し小さく） */
    border: 1px solid #000;    /* 丸の線 */
    border-radius: 50%;        /* 正円 */
    
    /* 文字のスタイル */
    text-align: center;
    font-size: 0.75em;         /* 文字サイズも小さくして枠に収める */
    background-color: #fff;
    color: #000;
    font-family: inherit;      /* 親のフォントを継承 */
    box-sizing: border-box;
	text-indent: 0.01em;
}


/* 番号なしリスト項目の設定 */
.ul-style-a li {
	list-style-type: disc;
	font-weight: normal;
	line-height: 1.5;
	padding-left: 0.5em;
	padding-top: 0em;
	margin-left: 1em;
}

/* section の背景色を継承するように修正 */
section {
    background-color: #fff;
    padding: 0;
}

/* アコーディオン部のヘッダーのスタイル変更 */
.acc-header {
	cursor: pointer;
	border-width: 0pt;
}

.acc-sub {
	font-size: 120%;
}

.acc-content {
	margin-bottom: 0em;
}

.acc-opened ~ .acc-content {
	border-width: 0px;
}
.acc-style-a {
    /* 左側の余白を標準(0.5em)に戻し、右側にアイコン用の余白(2.5em)を確保する */
    padding-left: 0.5em;
    padding-right: 2.5em;

	/* ボールドに */
	font-weight: bold;
}

.acc-style-a::before {
    /* common.css の left: 0.5em を無効化 */
    left: auto;
    /* 右側に配置 */
    right: 0.5em;
}

.acc-style-b {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	/* padding: 0.1em 0.5em; */
	color: var(--zkai-color);
	border-left: 4px solid var(--zkai-color);
	background-color: var(--bg-color-01);
	box-shadow: var(--box-shadow);

    /* 左側の余白を標準(0.5em)に戻し、右側にアイコン用の余白(2.5em)を確保する */
    padding-left: 0.5em;
    padding-right: 2.5em;
}


.acc-style-b::after {
	border-top: calc(var(--iconSize) / 2) solid var(--zkai-color);
}

.acc-opened.acc-style-b::after {
	top: 40%;
	border-top: calc(var(--iconSize) / 2) solid transparent;
	border-bottom: calc(var(--iconSize) / 2) solid var(--zkai-color);
}


/**
 * 以下、fee_separatelyFromFY24.html 用のパッチ設定
 */

/* フッター用設定 */
.copyright {
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	color: #000;
	border-top-width: 2px;
}

/* 会費表の設定 */
.box-table-area{
	overflow-x: auto;                  /* スクロールを許可する設定に変更 */
	width: 100%;                       /* コンテナ幅を画面幅に合わせる */
	-webkit-overflow-scrolling: touch; /* iOSでのスクロールを滑らかにする */
}

.box-table-area.priceA table {
    margin-left: auto;
    margin-right: auto;
	white-space: nowrap;
}

.box-table-area.priceA table td{
    margin-left: auto;
    margin-right: auto;
	font-size: 90%;
}

/* 支払方法別の各列（2列目以降）の幅を統一 */
.box-table-area.priceA table th:nth-child(n+2) {
    width: 20%;
}


/* ==============================================
   旧QAページからの移植スタイル（タブレット精算用）
   ============================================== */

/* 青帯の見出し（影付き） */
.title-style-d {
    font-size: 1.2em;
    margin-bottom: 0.5em;
    padding: 0.5em;
    padding-left: 10px;
    color: #fff;
    background-color: var(--zkai-color);
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.4);
}

/* 左線付きの小見出し */
.title-style-b {
    margin: 1.5em auto 0.5em;
    padding: 0.25em 0 0.25em 1em;
    border: 1px solid #333;
    border-left: 10px solid #8c8;
    font-weight: bold;
}

/* 水色背景の見出し */
.title-style-c {
    padding: 0.5em;
    background-color: #cef;
    font-weight: bold;
}

/* 青枠のボックス */
.box-border-blue {
    margin: 1em auto;
    border: 1px solid var(--zkai-color);
}

.box-border-blue-content {
    padding: 0.5em;
}

/* 赤文字強調 */
.text-color-r {
    color: #ff4b00;
    font-family: var(--fontFamilySet_forSansSerifBold);
    font-weight: bold;
}

/* タブレット精算用のテーブルスタイル */
.table-qa {
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid var(--zkai-color);
    border-collapse: collapse;
}

.table-qa th {
    background-color: var(--zkai-color);
    color: #fff;
    border: 1px solid var(--zkai-color);
    padding: 0.5em 1em;
    text-align: center;
    font-weight: bold;
    font-size: 110%;
    vertical-align: middle;
}

.table-qa td {
    border: 1px solid var(--zkai-color);
    padding: 0.5em;
    vertical-align: middle;
    text-align: left;
}

/* 画像の横スクロールエリア */
.x-scroll-area {
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}

.x-scroll-area img {
    max-width: none; /* スクロールさせるため幅制限を解除 */
}