@charset "utf-8";


/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("slide.css");
@import url("inview.css");
@import url("history.css");


/*CSSカスタムプロパティ（サイト全体を一括管理する為の設定）
---------------------------------------------------------------------------*/
:root {

	/*テンプレートのメインまたはアクセントとなる色*/
	--primary-color: #a5873d;
	
	/*上のprimary-colorの対となる色*/
	--primary-inverse-color: #fff;
	
	--secondary-color: #E5E0D4;			/*テンプレートのサブカラー*/
	--secondary-inverse-color: #333;	/*secondary-colorの対となる色*/

	
	/*サイト内の左右へとる余白を一括管理しています。画面幅100%＝100vwです。*/
	--global-space: 5vw;
}


/*animation1のキーフレーム設定（開閉ブロックのアニメーションに使用）
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


/*opa1のキーフレーム設定（汎用的）
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}


/*全体の設定
---------------------------------------------------------------------------*/
body * {box-sizing: border-box;}
html,body {
	font-size: 13px;	/*基準となるフォントサイズ。*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	html, body {
		font-size: 16px;	/*基準となるフォントサイズ。*/
	}

	}/*追加指定ここまで*/


body {
	margin: 0;padding:0;
	font-family: "M PLUS 1", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #555;		/*文字色*/
	line-height: 2;		/*行間*/
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav,ul,li,ol {margin: 0;padding: 0;}
nav ul {list-style: none;}
section li {margin-left: 1rem;}
input {font-size: 1rem;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}

/*videoタグ
video {max-width: 100%;}*/

/*iframeタグ*/
iframe {width: 100%;}

/*sectionが続く場合*/
section + section {
	margin-top: var(--global-space);	/*sectionの上に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #555;		/*リンクテキストの色*/
	transition: 0.3s;	/*マウスオン時の移り変わるまでの時間設定。0.3秒。*/
}
a:hover {
	color: var(--primary-color);	/*文字色。css冒頭で指定しているprimary-colorを読み込みます*/
}


/*ヘッダー
---------------------------------------------------------------------------*/
/*トップページ以外のヘッダー*/
body:not(.home) header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem var(--global-space);	/*上下、左右へのヘッダー内の余白。var〜の部分はcss冒頭で指定しているglobal-spaceを読み込みます*/
}

/*ロゴ画像*/
#logo {margin: 0;padding: 0;}
#logo img {
	display: block;
	width: 150px;	/*ロゴ画像の幅*/
}
/*トップページ以外のヘッダー（追加）*/
	/*画面幅900px以下の追加指定*/
	@media screen and (max-width:899px) {
body:not(.home) header {
display:block;}
}



/*トップページのヘッダー*/
.home header {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56%;
	overflow: hidden;
}

/*トップページのロゴ*/
.home #logo img {
	width: 45vw;	/*ロゴ画像の幅。画面幅100%=100vwです。*/
	position: absolute;z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*動画*/
header video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
	object-fit: cover;
}


/*メニューブロック初期設定
---------------------------------------------------------------------------*/
#menubar {opacity: 0;line-height: 1.5;}
#menubar ul {list-style: none;margin: 0;padding: 0;}

.large-screen #menubar {opacity: 1;}

.small-screen #menubar.display-none {display: none;}
.small-screen #menubar.display-block {display: block;opacity: 1;}

/*3本バーをデフォルトで非表示*/
#menubar_hdr.display-none {display: none;}

/*ドロップダウンをデフォルトで非表示*/
.ddmenu_parent ul {display: none;}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f078";	/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;	/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 1em;	/*アイコンとテキストとの間に空けるスペース*/
	position: absolute;
	left: 2rem;	/*左から２文字分のところに配置する。*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
	a.ddmenu::before {
		left: 1rem;	/*左から1文字分のところに配置する。*/
	}

	}/*追加指定ここまで*/


/*大きな端末、小さな端末共通のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar a {
	display: block;text-decoration: none;
}

/*小文字の英語部分*/
#menubar span {
	font-size: 0.7em;	/*文字サイズを親要素の70%に*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる*/
	opacity: 0.6;		/*透明度。色が60%出た状態。*/
}


/*大きな端末用のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニューブロックを囲むボックス*/
.large-screen #menubar {
    position: sticky;
    top: 0;
    z-index: 2;
    transition: opacity 0.3s;
}

/*メニューブロック全体の設定*/
.large-screen #menubar > nav > ul {
	display: flex;	/*横並びにする*/
	justify-content: space-between;
	align-items: center;
}

/*メニュー１個あたりの設定*/
.large-screen #menubar li {
	flex: 1;			/*個々のメニューを均等にし、幅いっぱいまで使う設定*/
	display: flex;align-items: center;justify-content: center;
	position: relative;	/*ドロップダウンの幅となる基準を作っておく*/
	text-align: center;	/*テキストをセンタリング*/
}

/*リンク（a要素）の設定*/
.large-screen #menubar li a {
	flex: 1;
	display: flex;align-items: center;justify-content: center;
	flex-direction: column;
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	padding: 1.2rem 1rem;
}

/*マウスオン時に明るくする*/
.large-screen #menubar li a:hover {
	filter: brightness(1.2);
}


/*大きな端末用のメニューブロックが画面上部に到達した場合（fixed）
---------------------------------------------------------------------------*/
/*メニューブロックを囲むボックス*/
.large-screen #menubar.fixed a {
    opacity: 0.8;	/*透明度。色を70%だけ出す。*/
}

/*マウスオン時*/
.large-screen #menubar.fixed a:hover {
	opacity: 1;		/*透明度。色を100%出す。*/
}

/*メニューの上下の余白を狭くする*/
.large-screen #menubar.fixed2 li a {
	padding: 0.4rem 1rem;
}


/*大きな端末、小さな端末、共通のドロップダウンメニュー設定
---------------------------------------------------------------------------*/
/*ドロップダウンブロック*/
.large-screen #menubar ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}


/*大きな端末用のドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
.large-screen #menubar ul ul {
	position: absolute;
	width: 100%;
	top: 100%;
	left: 0px;
}

/*ドロップダウンメニュー1個あたりの高さ。お好みで調整して下さい。*/
.large-screen #menubar ul ul a {
	padding: 0.6rem 1rem !important;
}


/*小さな端末用の開閉ブロック
---------------------------------------------------------------------------*/
.small-screen #menubar {height: 0px;}

/*メニューブロック設定*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 90px;	/*上に空ける余白。ハンバーガーアイコンと重ならない為の指定ですのでお好みで変更OK。*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/
}

/*メニュー１個あたりの設定*/
.small-screen #menubar li {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	margin: 1rem;			/*メニューの外側に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}
.small-screen #menubar > nav > ul > li > a {
	padding: 2rem 3rem;		/*メニュー内の余白。上下、左右へ。*/
	display: flex;flex-direction: column;
}
.small-screen #menubar li a {
	padding: 1rem 3rem;	/*子メニュー（ドロップダウン）内の余白。上下、左右へ。*/
}

/*文字色*/
.small-screen #menubar, .small-screen #menubar a {
	color: #fff;
}

/*900px以下でのみ表示させるブロック*/
#menubar .sh {
	padding: 1rem 2rem 2rem;	/*上、左右、下へのブロック内の余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 3vw;				/*右からの配置場所指定*/
	top: 2vw;				/*上からの配置場所指定*/
	padding: 16px 14px;		/*上下、左右への余白*/
	width: 46px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;			/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）部分。flexはデフォルトで横並びになるので、それを縦並びに変更。*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: rgba(0,0,0,0.5);	/*背景色。0,0,0は黒のことで0.5は色が50%出た状態。*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 1.5px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の3本バーの背景色*/
#menubar_hdr.ham {
	background: #ff0000;
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 20px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(3.8px, 5px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(3.8px, -5px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}



/*mainブロック
---------------------------------------------------------------------------*/
/*mainブロック（横スライドslick対策）*/
main * {min-width: 0;}

/*mainブロック*/
main {
	margin: var(--global-space);	/*mainの外側に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
}

/*h2見出し*/
main h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 2rem;		/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 1.5rem;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
	border-bottom: 2px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
}

/*h2見出しの変更　h6 ライン無し*/
main h6 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 2rem;		/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 1.5rem;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
	/*border-bottom: 2px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
}

/*h2のアクセントラインの設定*/
main h2 .uline {
	display: inline-block;position: relative;
	padding: 0.5rem 0;	/*h2内の余白。上下、左右への順番。*/
	bottom: -2px;		/*濃い線を薄い線に重ねる為の指定。枠線の幅と合わせます。*/
	border-bottom: 2px solid var(--primary-color);	/*濃い色の線の幅、線種、varは色の事でcss冒頭で指定しているprimary-colorを読み込みます*/
}

/*右側の装飾文字の設定*/
main h2 span .small {
	font-size: 0.6em;	/*文字サイズを親要素の60%に*/
	opacity: 0.7;		/*透明度。色が70%出た状態。*/
}

/*h3見出し*/
main h3 {
	font-size: 1.3rem;		/*文字サイズ*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
}

/*h3見出し（menu.htmlの「その他のメニュー」での背景色付きの見出しに使用）*/
main h3.type2 {
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	font-size: 1rem;	/*文字サイズ*/
	text-align: center;	/*テキストをセンタリング*/
	border-radius: 5px;	/*角を少し丸くする指定*/
}


/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
	margin: 0 !important;
	padding: 20px;		/*ブロック内の余白*/
	text-align: center;	/*テキストを中央に*/
	font-size: 0.8rem;	/*文字サイズ。bodyのfont-sizeの80%です。*/
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;	/*簡易的に横並びにする*/
	padding: 0 10px;		/*上下、左右への余白*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}
footer {
	font-size: 0.9rem;		/*文字サイズ。bodyのfont-sizeの70%です。*/
	text-align: center;		/*内容をセンタリング*/
	color: #fff;
	padding: 20px;			/*ボックス内の余白*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
}

/*リンクテキスト*/
footer a {color: inherit;text-decoration: none;}

/*著作部分*/
footer .pr {display: block;}


/*フッター内にあるソーシャルメディアのアイコン
---------------------------------------------------------------------------*/
/*アイコンブロック全体*/
ul.icons {
	list-style: none;
	margin: 0;padding: 0;
	margin-bottom: 20px;	/*ブロックの下に空けるスペース*/
	display: flex;	/*横並びにする*/
	align-self: center;
	justify-content: center;
	gap: 1rem;	/*アイコン同士のマージン的なスペース。２文字分。*/
}

/*アイコン一個あたり*/
.icons i {
	font-size: 30px;	/*Font Awesomeのアイコンサイズ*/
}


/*飲食店メニューページ
---------------------------------------------------------------------------*/
/*ブロック内にある、全ての写真ブロックを囲むボックス*/
.list-menu {
	display: grid;
	grid-template-columns: repeat(2, 1fr);	/*２列にする。３列がいいなら、(3, 1fr)とすればOKです。*/
	gap: 2rem;	/*写真ブロック同士に空けるマージン的な要素。*/
	margin-bottom: var(--global-space);	/*ボックスの下に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
}

	/*画面幅1400px以上の追加指定*/
	@media screen and (min-width:1400px) {

	.list-menu {
		grid-template-columns: repeat(4, 1fr);	/*4列にする*/
	}

	}/*追加指定ここまで*/


/*list（メニュー写真や説明が入ったボックス一個あたり）
---------------------------------------------------------------------------*/
/*list内の全ての要素のマージンを一旦リセット*/
.list * {
	margin: 0;
}

/*ボックス１個あたり*/
.list {
	position: relative;
    display: flex;
	flex-direction: column;
	padding: 1rem;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #555;			/*文字色*/
	/*box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/*リンクテキストがある場合に親要素のカラーを引き継ぐ*/
.list a {
	color: inherit;
}

/*価格*/
.list h4 .price {
	background: #e1e1e1;	/*背景色*/
	font-weight: normal;	/*h要素のデフォルトの太字を標準にする*/
	border-radius: 100px;	/*角を丸くする指定。大きければ適当でOK。*/
	padding: 0.3rem 1rem;	/*価格内の余白。上下、左右へ。*/
	margin-left: 1rem;		/*左側に1文字分のスペースを空ける。メニュータイトルとの隙間の調整です。*/
	font-size: 0.8rem;		/*文字サイズを80%に*/
}

/*ブロック内のp要素*/
.list p {
	margin: 0;padding: 0;
	font-size: 0.85rem;	/*文字サイズを85%に*/
	line-height: 1.8;	/*行間を少し狭く*/
}

/*アイコン*/
.list .newicon {
	position: absolute;
	left: -5px;	/*左からの配置場所。マイナスがついているので本来の向きとは逆に移動する。*/
	top: -10px;	/*上からの配置場所。マイナスがついているので本来の向きとは逆に移動する。*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*背景色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	font-size: 0.7rem;	/*文字サイズ。70%。*/
	width: 5em;			/*アイコンの幅。4文字分。*/
	line-height: 5em;	/*行間ですが、高さとして使っています。上のwidthと揃えれば正円になります。*/
	border-radius: 50%;	/*円形にする指定。*/
	text-align: center;	/*テキストをセンタリング*/
}

/*ボックス内のfigure画像*/
.list figure img {
	margin-bottom: 0.5rem;	/*画像の下に空けるスペース*/
}


/*テキストだけのメニュー（menu.htmlで使用）
---------------------------------------------------------------------------*/
/*ボックス全体*/
dl.text-menu {
	margin: 0;
	display: grid;		/*gridボックスを使う指定*/
	grid-template-columns: auto 1fr;	/*２列のうち、左は内容に応じて自動、残りを右側に割り当て*/
}

/*メニュータイトルと価格の共通設定*/
dl.text-menu dt, dl.text-menu dd {
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
	padding: 1rem;					/*要素内の余白*/
}

/*1つ目のdt（メニュータイトル）と、1つ目のdd（価格）*/
dl.text-menu dt:nth-of-type(1), dl.text-menu dd:nth-of-type(1) {
	border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
}

/*価格*/
dl.text-menu dd {
	text-align: right;	/*テキストを右寄せする*/
}

	/*画面幅600px以上の設定*/
	@media screen and (min-width:600px){
	
	/*ボックス全体*/
	dl.text-menu {
		grid-template-columns: repeat(2, auto 1fr);	/*上の「auto 1fr」を２回続ける。つまり「auto 1fr auto 1fr」と同じ意味。*/
	}
	
	/*2つ目のdt（メニュータイトル）と、2つ目のdd（価格）への追加*/
	dl.text-menu dt:nth-of-type(2), dl.text-menu dd:nth-of-type(2) {
		border-top: 1px solid #ccc;	/*上の線の幅、線種、色*/
	}

	/*奇数番目のdd（価格）*/
	dl.text-menu dd:nth-of-type(odd) {
		margin-right: 5vw;	/*右側にスペースを作る。左右にメニューが並んだ場合の間のマージンです。*/
	}

	}/*追加指定ここまで*/


/*お知らせブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
.new {
	background: rgba(0,0,0,0.02);	/*背景色。0,0,0は黒のことで0.02は色が2%出た状態。*/
	border-radius: 10px;			/*角を丸くする指定*/
	overflow: hidden;
	margin-bottom: 4rem;	/*ブロックの下に空けるスペース。4文字分。*/
}

/*奇数行目を背景色を少し濃くする。全体同じ色がよければここの数行は削除。*/
.new dt:nth-of-type(odd),
.new dd:nth-of-type(odd) {
	background: rgba(0,0,0,0.04);
}

/*日付(dt)設定*/
.new dt {
	padding: 1rem 1rem 0;	/*dt内の余白。上、左右、下への順番。*/
}

/*記事(dd)設定*/
.new dd {
	padding: 1rem;	/*dd内の余白*/
}

/*ブロック内のspan。日付の横のアイコン的な部分の共通設定*/
.new dt span {
	display: inline-block;
	text-align: center;
	line-height: 1.8;		/*行間（アイコンの高さ）*/
	border-radius: 3px;		/*角を丸くする指定*/
	padding: 0 0.5rem;		/*上下、左右へのブロック内の余白*/
	width: 8rem;			/*幅。8文字分。*/
	transform: scale(0.8);	/*80%のサイズに縮小*/
	background: #fff;		/*背景色*/
	color:#777;				/*文字色*/
	border: 1px solid #999;	/*枠線の幅、線種、色*/
}

/*icon-bg1*/
.new .icon-bg1 {
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	border-color: transparent;			/*枠線を出したくないので透明にする*/
}

	/*画面幅700px以上の追加指定*/
	@media screen and (min-width:700px) {

	/*ブロック全体*/
	.new {
		display: grid;	/*gridを使う指定*/
		grid-template-columns: auto 1fr;	/*横並びの指定。日付とアイコン部分の幅は自動で、内容が入るブロックは残り幅一杯とる。*/
	}

	/*日付(dt)設定*/
	.new dt {
		padding: 1rem 0 1rem 2rem;	/*dt内の余白。上、右、下、左への順番。*/
	}

	/*記事(dd)設定*/
	.new dd {
		padding: 1rem 2rem 1rem 0;	/*dd内の余白。上、右、下、左への順番。*/
	}

	}/*追加指定ここまで*/


/*2・3カラム（main-contents、sub-contents設定）
---------------------------------------------------------------------------*/
/*main-contentsブロック*/
.main-contents {
	margin-bottom: var(--global-space);	/*ボックスの下に空けるスペース。subとの間の余白で、css冒頭で指定しているglobal-spaceを読み込みます*/
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*カラムで使う為の指定*/
	main.column {
		display: flex;					/*横並びにする*/
		justify-content: space-between;	/*並びかたの種類の指定*/
		gap: 3vw;						/*main-contentsとsub-contentsの間のマージン的な隙間*/
	}
	
	/*main-contentsブロック*/
	.main-contents {
		margin-bottom: 0;
		order: 2;		/*並び順。数字の小さい順番に表示されます。*/
		flex: 1;
	}
	
	/*sub-contentsブロック共通*/
	.sub-contents {
		width: 210px;	/*幅。お好みで変更して下さい。*/
	}
	
	/*1つ目のsub-contents*/
	.sub-contents:nth-child(2) {
		order: 1;	/*並び順。数字の小さい順番に表示されます。*/
	}
	
	/*2つ目のsub-contents（※３カラムで使いたい場合用）*/
	.sub-contents:nth-child(3) {
		order: 3;	/*並び順。数字の小さい順番に表示されます。３番目という意味なので一番右側に表示されます。*/
	}
	
	}/*追加指定ここまで*/


/*サブコンテンツ内のh3要素(見出し)*/
.sub-contents h3 {
	display: block;
	margin: 0;
	text-align: center;	/*テキストをセンタリング*/
	border-radius: 5px 5px 0px 0px;	/*角を丸くする指定。左上、右上、右下、左下の順番。*/
	border: 1px solid #ccc;			/*下線の幅、線種、色*/
	background: linear-gradient(transparent, rgba(0,0,0,0.03));/*背景グラデーション。transparentは透明の事。0,0,0は黒の事で0.03は色が3%出た状態。*/
	padding: 0.5rem 0;	/*上下、左右への見出し内の余白*/
}


/*サブメニュー設定
---------------------------------------------------------------------------*/
/*サブメニューブロック全体*/
.submenu {
	padding: 0;
	margin: 0 0 1rem;	/*上、左右、下へのマージン*/
}

/*メニュー１個あたり*/
.submenu a {
	display: block;text-decoration: none;
	padding: 0.2rem 1rem;	/*上下、左右へのメニュー内の余白*/
}

/*メニュー１個あたり（子メニュー以外）*/
.submenu > li {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	border-top: none;		/*上の線だけなくす*/
}

/*子メニュー*/
.submenu li li a {
	padding-left: 2rem;	/*左に余白を空ける*/
}

/*h3見出しの下にサブメニューが続く場合にメニューの上の線をなくす*/
.sub-contents h3 + nav .submenu {
	border-top: none;
}


/*クーポンボタン（トップページ右側の縦書きボタン）
---------------------------------------------------------------------------*/
#message-parts a {
	text-decoration: none;display: block;
	writing-mode: vertical-rl;
	text-orientation: upright;
	background: #ff7e00;/*背景色*/
	color: #fff;		/*文字色*/
	position: fixed;	/*スクロールしてもボタンが移動しないようにする指定。移動させたいならfixedをabsoluteにして下さい。*/
	z-index: 2;
	right: 0px;			/*ボタンの右からの配置場所指定*/
	top: 170px;			/*ボタンの上からの配置場所指定*/
	padding: 20px 15px;	/*ボタン内の余白。上下、左右。*/
	border-radius: 10px 0px 0px 10px;	/*角を丸くする指定。左上、右上、右下、左下の順番。*/
	letter-spacing: 0.1rem;	/*文字間隔を少しだけ広く*/
}

/*ふきだしアイコン*/
#message-parts i {
	transform: scale(1.3);	/*1.3倍に*/
	margin-bottom: 10px;	/*下に空ける余白*/
}

/*マウスオン時に少し明るくする*/
#message-parts a:hover {
	filter: brightness(1.2);
}


/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;		/*太字に*/
	padding: 0.5rem 1rem;	/*ボックス内の余白*/
	background: #333;		/*背景色*/
	color: #fff;
	margin-bottom: 1rem;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	table-layout: fixed;
	border-top: 1px solid #999;	/*テーブルの一番上の線。幅、線種、色*/
	width: 80%;				/*幅*/
	margin-bottom: var(--global-space);	/*テーブルの下に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #999;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th, .ta1 td {
	padding: 1rem;		/*ボックス内の余白*/
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;			/*幅*/
	text-align: left;	/*左よせにする*/
}
  .ta1 td:empty {
    display: none;
  }

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

		/*th（左側）のみの設定*/
		.ta1 th {
			width: 20%;		/*幅*/
		}

	}/*追加指定ここまで*/
	
	/*画面幅900px未満の追加指定*/
	@media screen and (max-width:899px) {
.ta1{width: 100%!important;}


  .ta1 td,
  .ta1 th {
    word-break: keep-all;
    white-space: normal;
    font-size: 0.8rem;
	padding: 0.2rem;		/*ボックス内の余白*/
  }

	}/*追加指定ここまで*/


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5rem;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}


/*bg3
---------------------------------------------------------------------------*/
.bg3 {
	background: var(--secondary-color);		/*背景色。css冒頭のsecondary-colorを読み込みます。*/
	color: var(--secondary-inverse-color);	/*背景色。css冒頭のsecondary-inverse-colorを読み込みます。*/
}
.bg3 h2{	border-bottom: 2px solid #fff;	/*薄い色の線の幅、線種、色*/
}

/*左右の余白をとらないセクション
---------------------------------------------------------------------------*/
section.no-space {
padding: 1rem 5vw;
  margin-left: calc(-1 * var(--global-space));
  margin-right: calc(-1 * var(--global-space));
}

  
/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;color: #333;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.small {font-size: 0.75em;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.block {display: block !important;}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}

	}/*追加指定ここまで*/

/*kodawariパーツCSS追加
--------------------------------------------------------------------------*/
/*2カラムブロック　※900px未満では１カラム（私たちのこだわりブロック）
---------------------------------------------------------------------------*/
.list-half2 * {margin: 0;padding: 0;}

/*背景画像*/
#kodawari {
	background: url("../images/bg-kodawari.png") no-repeat left top / 50vw;	/*left(左)、top(上)に配置し、幅は画面幅の50%に。*/
}

/*２カラムを囲むブロック*/
.list-half2 .list {
	display: flex;			/*flexボックスを使う指定*/
	flex-direction: column;	/*子要素を縦並びにする*/
	margin-bottom: 2rem;	/*ボックスの下に2文字分のスペースを空ける*/
}

/*ブロック内のh4見出し*/
.list-half2 .list h4 {
	font-size: 1.4rem;	/*文字サイズを1.4倍*/
	margin-bottom: 1rem;	/*下に１文字分のスペースを空ける*/
}

/*ブロック内のh4内のspan（小さな装飾文字）*/
.list-half2 .list h4 span {
	display: block;
	opacity: 0.9;	/*透明度50%*/
	font-weight: normal;
	font-size: 0.7em;	/*文字サイズを親要素の50%*/
	letter-spacing: 0.1em;	/*文字間隔をほんの少し広く*/
}

/*ブロック内のp本文*/
.list-half2 .list p {
	font-size: 0.8rem;	/*文字サイズを1.4倍*/
}

/*ブロック内のp本文　強調*/
.list-half2 .list p span {
	font-size: 1.6rem;	/*文字サイズを1.4倍*/
	font-weight: 600;
}

/*ブロック内のp本文　少しだけ強調*/
.list-half2 .list p .small {
	font-size: 1.2rem;	/*文字サイズを1.4倍*/
	font-weight: 400;
}

/*ブロック内のp本文　少しだけ強調し　線を入れる*/
.list-half2 .list p .small_2 {
	font-size: 1.3rem;	/*文字サイズを1.4倍*/
	font-weight: 400;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;		/*ulineを配置する為に必要な指定*/
	border-bottom: 2px solid #ddd;	/*薄い色の線の幅、線種、色*/
}

/*画像ブロック共通*/
.list-half2 .image-l img, .list-half2 .image-r img {
	/*border-radius: 50px;	/*角を丸くする指定。*/
	box-shadow: 10px 10px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/* --- パターンA：角を丸くする --- */
.list-half2 .is-round img {
	border-radius: 50px;
}

/* --- パターンB：角を四角にする（念のため明示） --- */
.list-half2 .is-square img {
	border-radius: 0;
}


	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

	/*２カラムを囲むブロック*/
	.list-half2 .list {
		flex-direction: row;			/*子要素を横並びにする*/
		/*justify-content: space-between;	/*並びかたの種類の指定*/
		justify-content: center; /* 中央に寄せることで隙間を一定にする */
		/*align-items: center;			/*垂直揃えの指定。天地中央に配置されるように。*/
		align-items: flex-start;   /* 上端（上揃え）に配置 */
	}

	/*画像ブロック共通*/
	.list-half2 .image-l, .list-half2 .image-r {
		width: 40%;			/*画像の幅*/
		display: flex; /* flexボックスにする */
		margin-top: 5%;
	}

	/*画像を右に配置する場合*/
	.list-half2 .image-r {
		margin-left: 3rem;	/*画像の左側に空けるスペース*/
		/*margin-right: 0;     /* 念のためリセット */
		justify-content: flex-start; /* 【重要】枠内の左側に寄せる */
	}

	/*画像を左に配置する場合*/
	.list-half2 .image-l {
		order: -1;
		margin-right: 3rem;	/*画像の右側に空けるスペース*/
		/*margin-right: 0;      /* 念のためリセット */
		justify-content: flex-end; /* 【重要】枠内の右側に寄せる */
	}

	/*テキストブロック*/
	.list-half2 .text {
		flex: 1;
	}

	}/*追加指定ここまで*/


/*link_list（クラブ活動報告リスト）
---------------------------------------------------------------------------*/
.link_list .list * {margin: 0;padding: 0;}

.link_list {
	display: grid;
		grid-template-columns: repeat(3, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 0.2rem	/*ブロックの間に空けるマージン的な指定。２文字分。*/
	}

/*ボックス１個あたり*/
.link_list .list {
    display: grid;
	position: relative;
	border-radius: 10px;		/*角を少しだけ丸く*/
	background: #fafafa;	/*背景色*/
	color: #555;			/*文字色*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 0.5rem;			/*ボックス内の余白。1文字分。*/
	margin-bottom: 0.5rem;	/*ボックスの下に空けるスペース。1文字分。*/
	text-decoration: none;      /* アンダーラインを非表示 */
}

/*ボックス内のh4見出し*/
.link_list .list h3 {
	text-align: center;		/*テキストをセンタリング*/
	font-size: 1rem;		/*文字サイズ130%*/
	color: var(--primary-color);	/*文字色。css冒頭のprimary-colorを読み込みます。*/
}

/* h3の中にあるリンクのアンダーラインを消す */
.link_list .list h3 a {
	text-decoration: none;      /* アンダーラインを非表示 */
	color: var(--primary-color);             /* リンクの色をh3と同じ色に合わせる */
}

	/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*ブロック全体を囲むブロック*/
.link_list {
	padding: 0 4em ;
	display: grid;
		grid-template-columns: repeat(5, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 1rem	/*ブロックの間に空けるマージン的な指定。２文字分。*/
	}

	}/*追加指定ここまで*/

/*history_list（歴史＿年間行事リスト）
---------------------------------------------------------------------------*/
.history_list .item * {margin: 0;padding: 0;}


/*ボックス１個あたり*/
.history_list .item {
    display: block;
	position: relative;
	padding: 0.5rem;			/*ボックス内の余白。1文字分。*/
	margin-bottom: 0.5rem;	/*ボックスの下に空けるスペース。1文字分。*/
	font-size: 0.8rem;		/*文字サイズ130%*/
align-items: flex-start;
}

/*ボックス内のh4見出し*/
.history_list .item h3 {
	font-size: 1.2rem;		/*文字サイズ130%*/
	color: var(--primary-color);	/*文字色。css冒頭のprimary-colorを読み込みます。*/
	border-bottom: 1px dashed var(--primary-color);	/*薄い色の線の幅、線種、色*/
}

	/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*ブロック全体を囲むブロック*/
	.history_list  {
display: grid;
		grid-template-columns: repeat(6, 1fr);	/*6列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 1rem	/*ブロックの間に空けるマージン的な指定。２文字分。*/
	}

	}/*追加指定ここまで*/


/* 活動計画 上部タブ用
-----------------------------------------------------------------------------*/
.tab-1 {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    border-radius: 5px;
    overflow: hidden;
}

/* =========================
   タブラベル
========================= */
.tab-1 > label {
    flex: 0 0 25%;
    max-width: 25%;

    padding: .7em 1em .5em;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
    color: #535353;

    /* ★ 基本は「左＋下」だけ */
    border-left: 1px solid #a5873d;
    border-bottom: 1px solid #a5873d;
}

/* ---------- 最上段（1行目）だけ上線 ---------- */
.tab-1 > label:nth-of-type(-n+4) {
    border-top: 1px solid #a5873d;
}

/* ---------- 右端（4列ごと） ---------- */
.tab-1 > label:nth-of-type(4n) {
    border-right: 1px solid #a5873d;
}

/* ホバー */
.tab-1 > label:hover {
    opacity: .8;
}

/* ラジオボタン非表示 */
.tab-1 input {
    display: none;
}

.tab-1 a {
    text-decoration: none;
    color: #a5873d;
}

.tab-1 a:hover {
    opacity: .8;
}

/* テキスト自体の行の高さを設定（1.0〜1.3程度が最小限） */
.tab-1 table th, 
.tab-1 table td {
    line-height: 1.0 !important;
}

/* 例会・行事予定の 上部タブ用
-----------------------------------------------------------------------------*/
.tab-6 {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    border-radius: 5px;
    overflow: hidden;
}

/* =========================
   タブラベル
========================= */
.tab-6 > label {
    flex: 0 0 16.666%;
    max-width: 16.666%;

    padding: .7em 1em .5em;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
    color: #535353;

    /* ★ 基本は「左＋下」だけ */
    border-left: 1px solid #a5873d;
    border-bottom: 1px solid #a5873d;
}

/* ---------- 最上段（1行目）だけ上線 ---------- */
.tab-6 > label:nth-of-type(-n+6) {
    border-top: 1px solid #a5873d;
}

/* ---------- 右端（4列ごと） ---------- */
.tab-6 > label:nth-of-type(6n) {
    border-right: 1px solid #a5873d;
}

/* ホバー */
.tab-6 > label:hover {
    opacity: .8;
}

/* ラジオボタン非表示 */
.tab-6 input {
    display: none;
}

.tab-6 a {
    text-decoration: none;
    color: #a5873d;
}

.tab-6 a:hover {
    opacity: .8;
}

/* テキスト自体の行の高さを設定（1.0〜1.3程度が最小限） */
.tab-6 table th, 
.tab-6 table td {
    line-height: 1.0 !important;
}

/* テーブル（ta4）：列幅固定・行間調整版
---------------------------------------------------------------------------*/

/* テーブル１行目に入った見出し部分（※caption） */
.ta4 caption {
    font-weight: bold;      /* 太字に */
    padding: 0.5rem 1rem;   /* ボックス内の余白 */
    background: #333;       /* 背景色 */
    color: #fff;
    margin-bottom: 1rem;    /* 下に空けるスペース */
    border-radius: 5px;     /* 角を丸くする指定 */
}

/* ta4テーブルブロック設定 */
.ta4 {
    table-layout: fixed;    /* 列幅を厳密に固定 */
    border-top: 1px solid #999; /* テーブルの一番上の線 */
    width: 100%;            /* 全体の幅 */
    margin-bottom: var(--global-space);
    border-collapse: collapse; /* 境界線を重ねる */
}

/* tr（１行分）タグ設定 */
.ta4 tr {
    border-bottom: 1px solid #999; /* テーブルの下線 */
}

/* th、tdの共通設定（行間と余白の調整含む） */
.ta4 th, .ta4 td {
    padding: 1rem;  /* ボックス内の余白を詰める */
    line-height: 1.0 !important;   /* 行間を最小限に */
    word-break: break-all;         /* 枠内での自動折り返し */
    text-align: left;              /* 基本左寄せ */
}

/* --- 各列の幅指定（16% / 10% / 37% / 37%） --- */

/* 1列目 */
.ta4 th:nth-of-type(1),
.ta4 td:nth-of-type(1) {
    width: 16%;
}

/* 2列目 */
.ta4 th:nth-of-type(2),
.ta4 td:nth-of-type(2) {
    width: 10%;
}

/* 3列目 */
.ta4 th:nth-of-type(3),
.ta4 td:nth-of-type(3) {
    width: 37%;
}

/* 4列目 */
.ta4 th:nth-of-type(4),
.ta4 td:nth-of-type(4) {
    width: 37%;
}

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

		/*th（左側）のみの設定*/
		.ta1 th {
			width: 20%;		/*幅*/
		}

/*list-grid7（サービス紹介ブロック）
---------------------------------------------------------------------------*/
.list-grid7 .list *:not(.modalArea):not(.modalArea *){
  margin: 0;
  padding: 0;
}

/*ボックス１個あたり*/
.list-grid7 .list {
    display: grid;
	position: relative;
	border-radius: 5px;		/*角を少しだけ丸く*/
	background: #fafafa;	/*背景色*/
	color: #555;			/*文字色*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 2rem;			/*ボックス内の余白。２文字分。*/
	margin-bottom: 2rem;	/*ボックスの下に空けるスペース。2文字分。*/
}

/*ボックス内のh4見出し*/
.list-grid7 .list h4 {
	text-align: center;		/*テキストをセンタリング*/
	font-size: 1.3rem;		/*文字サイズ130%*/
	margin-bottom: 0.5rem;	/*下に0.5文字分の余白を空ける*/
	color: var(--primary-color);	/*文字色。css冒頭のprimary-colorを読み込みます。*/
}

/*h4内のspan（小さな装飾文字）*/
.list-grid7 .list h4 span {
	display: block;
	font-weight: normal;	/*デフォルトだと太字なので標準に*/
	font-size: 0.7em;		/*文字サイズを70%*/
}

/*ボックス内のp要素*/
.list-grid7 .list p {
	font-size: 0.85rem;	/*文字サイズを85%に*/
	line-height: 1.5;	/*行間を少し狭く*/
}

/*ボックス内のfigure画像*/
.list-grid7 .list figure {
	margin: 0 auto;
	margin-bottom: 1rem;	/*画像の下に空けるスペース*/
}

/*アンダーライン非表示　*/
.list-grid7 .list a {
  text-decoration: none;
  color: inherit;   /* リンク色を通常文字と同じにする（必要に応じて） */
}

.list-grid7 .list a h4,
.list-grid7 .list a p {
  text-decoration: none;
}

	/*画面幅800px以上の追加指定*/
	@media screen and (min-width:800px) {

	/*ブロック全体を囲むブロック*/
	.list-grid7 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);	/*3列にする指定。4列にしたければrepeat(4, 1fr)とする。*/
		gap: 2rem	/*ブロックの間に空けるマージン的な指定。２文字分。*/
	}

	}/*追加指定ここまで*/

/*歴史年度設定（全端末サイズ共通の設定）他から移植
---------------------------------------------------------------------------*/
#menubar_h {height: 0px;overflow: hidden;}
#menubar_h ul {list-style: none;margin: 0;padding: 0;}

/*メニュー1個あたりの設定*/
#menubar_h ul a {
	display: block;text-decoration: none;
	padding: 20px;	/*メニュー内の余白*/
}

/*マウスオン時*/
#menubar_h ul a:hover {
	background: #fff;	/*背景色*/
	box-shadow: 0px 0px 30px #ecdbc1 inset;	/*ボックス内側に影をつける。30pxがぼかし幅の指定。*/
}

/*装飾文字（英語表記）*/
#menubar_h ul span {
	display: block;
	font-size: 0.7em;	/*文字サイズ。70%。*/
	opacity: 0.5;		/*透明度。50%色がでた状態。*/
}

/*小さな端末用のメニューブロック*/
#menubar_h.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	animation: opa1 1s both;
	padding: 90px 50px;	/*上下、左右へのメニューブロック内の余白*/
	background: #fff;	/*背景色*/
}

/*テーブル（ta5）歴史年度のために
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta5 caption {
	font-weight: 400;		/*太字に*/
	font-size: 1.2rem;
	padding: 0.3rem 1rem;	/*ボックス内の余白*/
	background: #333;		/*背景色*/
	color: #fff;
	margin-bottom: 1rem;	/*下に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}

/*ta5テーブルブロック設定*/
.ta5 {
	table-layout: fixed;
	border-top: 1px solid #999;	/*テーブルの一番上の線。幅、線種、色*/
	width: 100%;				/*幅*/
	margin-bottom: var(--global-space);	/*テーブルの下に空けるスペース。css冒頭で指定しているglobal-spaceを読み込みます*/
	font-weight: 400;		/*太字に*/
	color: var(--primary-color);　/*テキストカラーのつもり*/
}

/*tr（１行分）タグ設定*/
.ta5 tr {
	border-bottom: 1px solid #999;	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta5 th, .ta5 td {
	padding: 0.3rem 1rem;    /* 上下の余白を1remから0.5remに減らして高さを詰める */
	word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
	text-align: center;      /* ★テキストを水平方向の中央に配置 */
	vertical-align: middle;  /* ★テキストを垂直方向の中央に配置 */
}

/*th（左側）のみの設定*/
.ta5 th {
	width: 30%;			/*幅*/
	text-align: center;      /* 左寄せから中央寄せに変更 */
}
		
/* ta5テーブル内のリンクを普通のテキストに見せる設定 */
.ta5 th a,
.ta5 th span a,
.ta5 td a, 
.ta5 td span a {
    text-decoration: none !important; /* 下線を強制的に消す */
    color: inherit !important;        /* 親要素の色（var(--primary-color)）を継承する */
    pointer-events: auto;             /* リンクとしてのクリック機能は維持 */
	transition: all 0.3s ease;
}

/* マウスを乗せた時も色を変えたくない場合 */
/*.ta5 th a:hover,
.ta5 th span a:hover,
.ta5 td a:hover, 
.ta5 td span a:hover {
    text-decoration: none !important;
    color: inherit !important;
    opacity: 1;                       /* 透明度も変えない */
/*}*/

/* マウスを乗せた時だけ下線を表示したい場合はこちら */
.ta5 th a:hover 
.ta5 td a:hover {
    text-decoration: underline !important;
	font-weight: bold;      /* 太字にする */
    filter: brightness(1.5); /* 色を少し明るくして際立たせる */
}
		

	/*画面幅900px以上の追加指定*/
	@media screen and (min-width:900px) {

		/*th（左側）のみの設定*/
		.ta5 th {
			width: 20%;		/*幅*/
		}

/* ================================
  800px以下で ta5 を横3列表示
================================ */
@media screen and (max-width: 800px) {

  /* tableをブロック化 */
  .ta5 {
    display: block;
    border-top: none;
  }

  /* tbodyもブロック化 */
  .ta5 tbody {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* ★横3列 */
    gap: 10px;
  }

  /* trをカード化 */
  .ta5 tr {
    display: block;
    border: 1px solid #999;
    border-radius: 6px;
    padding: 8px;
    background: #fff;
  }

  /* th, td を縦並びに */
  .ta5 th,
  .ta5 td {
    display: block;
    width: 100%;
    padding: 0.3rem 0.5rem;
    border: none;
    text-align: center;
  }

  /* 見出し風デザイン */
  .ta5 th {
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 4px;
  }

}
		
	}/*追加指定ここまで*/

/* ２カラム　右の内部にさらに３カラム--- ta-custom：全体のレイアウト設定 --- */
/*-----------------------------------------------------------------*/
/* --- レイアウト全体の設定 --- */
.ta-custom {
    display: flex;
    width: 100%;
    /*border: 1px solid #999;*/
    margin-bottom: var(--global-space);
    background: #fff;
}

/* 左側：12%カラム */
.ta-side {
    width: 12%;
    /*background: #333;
    color: #fff;*/
    display: flex;
    align-items: flex-start; /* 垂直方向で上に合わせる */
    /*justify-content: center; /* 水平中央 */
    font-weight: bold;
    text-align: center;
    padding: 0.5rem;
}

/* 右側：88%メインエリア */
.ta-main {
    width: 88%;
    display: flex;
    flex-direction: column;
}

/* 1行目：写真3等分エリア */
.row-photo {
    display: flex;
    width: 100%;
}

.photo-col {
    width: 33.333%; /* 均等3分割 */
    padding: 0;      /* ★余白を 0 にして隙間をなくす */
    margin: 0.5rem 0 0 0;       /* ★念のためマージンも 0 に */
    line-height: 0;  /* ★画像の下にわずかにできる隙間を解消 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.photo-col img {
    width: 100%;
    height: auto;
    display: block;
    border: none;    /* 枠線を消す */
}

/* 写真下の3文字分スペース */
.row-spacer {
    height: 3rem; /* 3文字分の高さ */
    width: 100%;
    border-top: 1px solid #eee; /* 境界をわかりやすくする場合 */
}

/* 2行目以降：3カラム設定（40:40:20） */
.row-sub {
    display: flex;
    width: 100%;
    border-top: 1px solid #eee;
}

.row-sub div {
    padding: 0.5rem 1rem; /* 上下を詰め、左右に少し余裕 */
    text-align: center;
    display: flex;
	/*flex-direction: row;     /* ★横並びにする */
	flex-direction: column;  /* ★column（縦方向）に変更 */
    align-items: left;    /* 上下中央 */
	/*justify-content: center; /* 左右中央 */
    word-break: break-all;
}

/*６文字均等　歴史｜役職で利用　*/
/* h5内のspanを6文字均等割り付けにする */
.row-sub div h5 {
    /* 必要に応じてh5自体の余白などを設定 */
	display: flex;           /* ★h5の中身も横並びにする */
	align-items: left;     /* 垂直方向を揃える */
	font-size: 1.0rem;	/*文字サイズを1.4倍*/
    margin-bottom: 0.5rem;   /* ★行間の隙間を作るために追加 */
    font-weight: 300;
	line-height: 1.3;
}

.row-sub div h5 span {
    display: inline-block;   /* ★blockからinline-blockに変更 */
    width: 7em;               /* 6文字幅 */
    text-align: justify;
    text-align-last: justify;
    font-size: 0.6em;         /* 小さな装飾文字にする */
    font-weight: 300;
    opacity: 0.9;
    letter-spacing: 0.1em;
	margin-right: 1.2em;    /* 1文字分の空きを作る */
	margin-top: 0.6rem;
	line-height: 1.3;
   /* margin-bottom: 0.5rem;    /* 下の見出しとの間隔 */
    /* text-align: center; が親要素にある場合は margin: 0 auto; で中央寄せ */
}

.col-40 {
    width: 40%;
    border-right: 1px solid #eee;
	margin-top: 2.4rem;
}

.col-20 {
    width: 20%;
		margin-top: 1.8rem;
}

/* --- レスポンシブ設定（700px以下） --- */
@media screen and (max-width: 700px) {
    .ta-custom {
        flex-direction: column; /* 12%を上に、88%を下へ */
    }

    .ta-side {
        width: 100%;
        padding: 0.8rem;
        border-bottom: 1px solid #999;
    }

    .ta-main {
        width: 100%;
    }

    /* 写真の3分割もスマホで縦にする場合 */
    .row-photo {
        flex-direction: column;
    }
    .photo-col {
        width: 100%;
        padding: 0.5rem 1rem;
    }

    /* 3文字分スペースをスマホでは調整（任意） */
    .row-spacer {
        height: 1.5rem; 
    }

    /* 2行目の3カラムをスマホでは縦並びに */
    .row-sub {
        flex-direction: column;
    }
    .col-40, .col-20 {
        width: 100% !important;
        border-right: none;
        border-bottom: 1px solid #eee;
        padding: 0.8rem !important;
    }
}

/*歴史　タイトル文字左に　飾り罫線配置
-----------------------------------------------------------------------*/
.title-vertical-line {
    /* flexを解除し、ブロック要素として扱う */
    display: block !important; 
    
    /* 線の設定（左側に配置） */
    border-left: 5px solid var(--primary-color); /* 太さ・種類・色 */
    border-top: none !important;    /* 上に線が出るのを防ぐ */
    border-bottom: none !important; /* 下に線が出るのを防ぐ */
    
    /* 余白の調整 */
    padding: 0 0 0 12px !important; /* 上 右 下 左(12pxが線との隙間) */
    margin: 0 0 5px 0 !important;   /* 下のテキストとの距離を5pxに詰める */
    
    /* 文字の調整 */
    line-height: 1.2 !important;    /* 線の長さを文字の高さに近づける */
    text-align: left !important;    /* 左寄せ */
    font-size: 1.3rem;
}

/*　テキストの前に「・」を付け　liの疑似（対策1：CSSの「背景画像」として「●」を配置する）
----------------------------------------------------------------------*/
/*.dot-list-br {
    /* 行間を指定（これに合わせてドットを配置します） */
    /*line-height: 1.8rem; 
    padding-left: 1.5rem;
    /* 背景に「●」の画像、または文字を配置して繰り返す */
    /*background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='25' fill='%23a5873d'/%3E%3C/svg%3E");
    background-repeat: repeat-y;      /* 縦に繰り返す */
    /*background-position: 0 0.6rem;    /* 左端から、1行目の中心に合わせる */
    /*background-size: 0.8rem 1.8rem;   /* ドットのサイズと、1行の高さ（line-height）を一致させる */
    
    /*display: block;
}*/
		
/*.dot-list-aligned {
    text-indent: -1em;   /* 1行目だけ左に突き出させる */
    /*padding-left: 1em;}   /* 全体を右に寄せる */


/* クラブ概要overview.htmlのinlinestyleがレスポンシブ対応に邪魔なので整理*/
.overview table{width: 100%}
.overview .text p {font-size: 1.4rem; font-weight: 400; color: #555}
.overview h2{margin: 0 auto;}
.overview table tbody:empty {
  display: none;
}
@media screen and (min-width:800px) {
.overview h2{width: 85%;}
.overview .text p { margin-left: 10%; }
.overview table{width: 80%; margin: 0 auto}
}