@charset "utf-8";




/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

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

/*専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("slide.css");




/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	margin: 0px;
	font-size: 17px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
	height: 100%;
}

@media (max-width: 1300px) {
html,body {
	margin-left: 0;padding: 0;
	font-size: 17px;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
	height: 100%;
}
}

body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #F7F7F7;	/*背景色*/
	color: #333;		/*全体の文字色*/
	line-height: 2;		/*行間*/
}



/*文字配置の設定*/
.right-align {
    text-align: right;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

nav li{
	text-align:left;
}



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

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

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

/*section全般の設定*/
section + section {
	padding-top: 50px;	/*sectionの間に空けるスペース*/
	padding-left: 220px
}

/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #ffffff;	/*文字色*/
	transition: 0.3s;
}

a:hover {
	opacity: 0.6;	/*マウスオン時に60%の透明度にする*/
}


/*containerブロック
---------------------------------------------------------------------------*/
#container {
	height: 100%;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	max-width: 1300px;
	margin: 0 auto;
}

#container_top {
	height: 100%;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background-image: url('images/header_top20250304.png');
	background-size: 100% auto;     /* 背景画像の幅を100%、高さを自動調整に設定 */
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
}

@media (max-width: 1300px) {
	#container_top {
        background-image: none;
    }
}



.container {
	height: 100%;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	max-width: 1300px;
	margin: 0 auto;
}

.container_top2 {
	height: 100%;
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background-image: url('images/header_20250210.png');
	background-size: 100% auto;     /* 背景画像の幅を100%、高さを自動調整に設定 */
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
}

@media (max-width: 1300px) {
	.container_top2 {
        background-image: none;
    }
}





/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	display: none;			/*flexボックスを使う指定*/
	align-items: center;	/*垂直揃えの指定。上下中央に配置されるように。*/
	padding: 25px 20px;		/*上下、左右へのヘッダー内の余白*/
	background: linear-gradient(#6ca3d7, #5eb3dd);		/*背景色*/
	color: #fff;			/*文字色*/
}

/*ヘッダーのリンクテキストの文字色*/
header a {
	color: #fff;
}

/*ロゴ画像*/
header #logo img {display: none;}
header #logo {
	margin: 0 0 0 50px;	/*上、右、下、左へ空けるスペース*/
	order: 1;		/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	width: 200px;	/*画像の幅*/
}


@media (max-width: 1300px) {
  .titleimage {
    display: none;
  }
}




/*header内の右側に並んでいるアイコン類。FontAwesomeを使用しています。
---------------------------------------------------------------------------*/
/*アイコンを囲むブロック*/
#header-icon {
	order: 2;			/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	font-size: 18px;	/*アイコンのサイズ。文字サイズで指定します。*/
	margin-left: auto;	/*右側に寄せる為*/
}

/*１個あたりのアイコン設定*/
#header-icon i {
	padding: 5px;	/*余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 10px;			/*右からの配置場所指定*/
	top: 25px;			/*上からの配置場所指定*/
	padding: 10px 8px;	/*ブロック内の余白*/
	width: 40px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 40px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	order: 0;			/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	background: transparent;	/*背景色*/
}

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

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

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

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

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


/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar {height: 0px;overflow: hidden;}
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
   background: linear-gradient(to right, #77addd, #6ea7da);
}


.image-container {
    text-align: center;
}



/*小さな端末用の開閉ブロック設定
---------------------------------------------------------------------------*/
@media (max-width: 1301px) {
/*メニューブロック設定*/
#menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 220px;		/*メニューブロックの幅*/
	height: 100%;
	background: #6ca3d7;		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	color: #496ab2;						/*文字色*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	}
	#menubar a:hover {
	background-color: #16274B; /* 背景色 */
	color: #ffffff; /* 文字色 */
}

/*メニュー１個あたりの設定*/
#menubar.db a {
	color: #ffffff;	/*文字色*/
}

/*現在表示中のメニュー設定（current）*/
#menubar.db li.current a {
	background: #f6f9fb;	/*背景色*/
	color:#16274b;
}
}

/*追加（小さな端末、大きな端末共通設定）
---------------------------------------------------------------------------*/


/*メインメニュー（小さな端末、大きな端末共通設定）
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar li {
	margin-top: 0px;
	font-size: 1em;		/*文字サイズを100%に。*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くとる設定*/
	border-bottom: 1px dotted #000;/*各項目の下に点線*/
	line-height: 43px;
}
#menubar a {
	display: block;text-decoration: none;
	text-align: left;	/*テキストを左に*/
	padding: 0px 5px;	/*上下、左右への余白*/
	line-height: 43px;
}
	/* #1に関連するリンクに対して、マウスホバー時のスタイルを無効化 */
#menubar a[href="#1"]:hover,
#menubar a[href="#2"]:hover,
#menubar a[href="#3"]:hover,
#menubar a[href="#4"]:hover,
#menubar a[href="#5"]:hover,
#menubar a[href="#6"]:hover{
    background-color: initial; /* 背景色を初期値に戻す */
    color: #ffffff; /* 文字色を初期値に戻す */
	opacity: 1;
}


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	flex: 1;
	margin-left: 220px;	/*ボックスの外側へ空けるスペース*/
}

/*mainブロック内のh2タグ*/
main h2 {
	 margin: 20px 20px 40px; /* 上部に10pxの余白、下部に20pxの余白を持たせる */
	margin-bottom: 40px;
	font-weight: normal;
	border-bottom: 4px solid #f6f9fb;	/*下線の幅、線種、色。ベースカラーです。下のspanのborder-bottomと数字を合わせておく。*/
}

/*mainブロック内のh2タグに下線を引くための指定。*/
main h2 span.uline {
	display: inline-block;position: relative;
	border-bottom: 4px solid #16274B; /*下線の幅、線種、色。アクセントカラーです。上のmain h2と数字を合わせておく。*/
	bottom: -4px;		/*下からの配置場所指定。上にある２つのborder-bottomと重ねる為の指定なので、数字を合わせてから冒頭にマイナスをつけて下さい。*/
	padding: 10px 20px;	/*上下、左右への余白。テキストの両脇に少し余裕をもって線を引くためです。*/
}

/*mainブロック内のh3タグ*/
main h3 {
	margin: 0;
	margin-bottom: 20px;
	font-weight: normal;
	background: #fff;		/*背景色*/
	padding: 3px 20px;		/*ボックス内の余白*/
	border-radius: 3px;		/*角丸のサイズ*/
}

/*mainブロックのpタグ*/
main p {
	margin: 0 20px 30px;	/*上、左右、下へ空けるスペース*/
}

main h5{
    font-size: 1.1em;
    font-weight: bold;
    padding: 6px 0 4px 15px;
    line-height: 1.1;
    margin: 1em 0 0.5em 0;
}


/*listブロック
---------------------------------------------------------------------------*/
/*listブロック全体を囲むブロック*/
.list-container {
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	justify-content: space-between;	/*並びかたの種類の指定*/
}

/*１個あたりのボックス設定*/
.list {
	width: 48%;				/*幅。２列になります。*/
	margin-bottom: 30px;	/*ボックス同士の上下間に空けるスペース*/
	padding: 20px;			/*ボックス内の余白*/
	background: #fff;		/*背景色*/
	color: #777;			/*文字色*/
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/*ボックス内のh4タグ*/
.list h4 {
	margin: 10px 0;	/*上下、左右への余白*/
	color: #666;	/*文字色*/
}
.list h4 a {
	color: #666;	/*リンクテキストの文字色*/
}

/*ボックス内のpタグ*/
.list p {
	margin: 0;
	font-size: 0.8em;	/*文字サイズを80%に*/
}


/*フッターPC設定
---------------------------------------------------------------------------*/
footer {
    font-size: 0.8rem;          /* 文字サイズ */
    background: linear-gradient(#16274B, #16274B);  /* 背景色 */
    color: #fff;                /* 文字色 */
    text-align: center;         /* 内容をセンタリング */
    padding: 10px;              /* ボックス内の余白 */
	z-index: 1000;
	position: relative;
    bottom: 0;
	left: 0;
    width: 100%; /* ビューポートの幅を覆うようにする */
	max-width: 1300px;
	left: 50%; /* 左端を画面の中央に配置 */
    transform: translateX(-50%); /* 左端を中央に移動 */
}

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

/* リンクテキストのマウスオン時 */
footer a:hover {
    color: #fff;
}

/* 著作部分 */
footer .pr {
    display: block;
	padding-left: 150px;
}

/* 900px以下の場合のスタイル */
@media (max-width: 1300px) {
    #menubar {
        margin-left: 0;  /* 画面幅が1200px以下の場合にmargin-leftを0に設定 */
    }

    footer {
        margin-left: 0;  /* 画面幅が1200px以下の場合にmargin-leftを0に設定 */
    }
}

/* スマートフォン向けのスタイル */


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*お知らせブロック*/
#new {
	margin: 0;
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	padding: 0 20px;	/*上下、左右へのボックス内の余白*/
}

/*日付(dt)、記事(dd)共通設定*/
#new dt,
#new dd {
	padding: 5px 0;		/*上下、左右へのボックス内の余白*/
}

/*日付(dt)設定*/
#new dt {
	width: 8em;	/*幅。8文字(em)分。※下の「900px以上」の端末用の設定に再設定があります。*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: none;	/*小さな端末では非表示にしておく。*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 8em);	/*「8em」は上の「#new dt」のwidthの値です。※下の「900px以上」の端末用の設定に再設定があります。*/
}



/*btnの設定
---------------------------------------------------------------------------*/
/*ボタンを囲むブロック*/
.btn {
	text-align: center;	/*内容をセンタリング*/
}

/*ボタン*/
.btn a,
.btn input {
	display: inline-block;text-decoration: none;border: none;
	border-radius: 3px;		/*角丸のサイズ。ほんの少しだけ角が丸くなります。*/
	padding: 10px 40px;	/*上下、左右への余白。*/
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	font-size: 1rem;		/*文字サイズ。remの単位についてはテンプレート内の解説をお読み下さい。*/
	background: #9cd3db;	/*背景色*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くする指定*/
	color: #fff;			/*文字色*/
	transition: 0.3s;
}

/*ボタンのマウスオン時（inputタグ使用時）*/
.btn input:hover {
	cursor: pointer;
	opacity: 0.6;	/*冒頭のリンクテキストのhoverと合わせました*/
}

/*ボタン2*/
a.btn_01 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width:50%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #9cd3db;
	color: #535151;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #9cd3db;
}


/*トップページ画像背景
---------------------------------------------------------------------------*/
.imageback {
  position: relative;
  text-align: center; /* 中央揃え */
  background-image: url('images/header_top2.jpg'); /* ここに背景画像のファイルパスを指定 */
  background-size: 100% auto; /* 背景画像の横幅を100%に設定 */
}

/*各ページトップ画像背景
---------------------------------------------------------------------------*/
.imageback2 {
  position: relative;
  text-align: center; /* 中央揃え */
  background-image: url('images/header_page2.png'); /* ここに背景画像のファイルパスを指定 */
  background-size: 100% auto; /* 背景画像の横幅を100%に設定 */
}

@media (max-width: 1300px) {
  .imageback2 {
    display: none;
  }
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/


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

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

/*マウスオン時*/
.pagetop a:hover {
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒の事で0.8は色が80%出た状態。*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #560ea0 !important;}
.color-check, .color-check a {color: #ff5151 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;border: 1px solid #ccc;padding: 5px 20px;background: rgba(0,0,0,0.03);border-radius: 5px;margin: 5px 0;}
.ofx {overflow-x: hidden;}


/*---------------------------------------------------------------------------
タイムスケジュール箇所
---------------------------------------------------------------------------*/

*{
  margin:0;
  padding:0;
  line-height: 26px;
} 
/* time-schedule */
.time-schedule {
  max-width: 400px;
  list-style: none;
  margin: 0 auto 0 6em;
  padding-left: 20px;
  border-left: 6px solid rgba(65, 164, 253, 1);
  box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0 0;
  padding: 5px 0;
  position: relative;
}

.time-schedule span.time {
  width: 5em;
  display: inline-block;
  margin-left: -8em;
  padding: 0 0 5px;
  margin-top: 15px;
  vertical-align: top;
  position: relative;
  text-align: right;
  box-sizing: border-box;
}

.time-schedule span.time::after {
  content: "";
  position: absolute;
  right: -35px;
  top: 0;
  background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1));
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 30px;
  padding: 15px 10px 15px 10px;
  vertical-align: middle;
  background: #efefef;
  box-sizing: border-box;
  border-radius: 6px;
}

.time-schedule .sch_title {
  font-size: 17px;
  font-weight: 700;
}

.time-schedule .sch_tx {
  font-size: 14px;
  font-weight: normal;
}

/* pc 768px以上 */
.wrap{
  overflow: hidden;
  width: 100%;
  margin-left: 0px;
  margin-right: 300px;
}
.main{
  float: left;
  width: 50%;
  height: 100%;
}
.side-menu{
  float: right;
  width: 50%;
}
.side-menu {
  display: block;
  height: 100%;
  line-height: auto;
  text-decoration: none;
}
/* スマホ 767px以下 */
@media only screen and (max-width: 1200px) {
  .wrap{
    width: 100%;
  }
  .main{
    float: none;
    width: 90%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .side-menu{
    /* floatを解除 */
    float: none;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

/*---------------------------------------------------------------------------
見出し追加デザイン
---------------------------------------------------------------------------*/
.title {
  padding: 0.5em 0.5em 0.5em 0.5em;/*文字周りの余白*/
  border-left: solid 5px #16274B;/*左線（実線 太さ 色）*/
}


/*---------------------------------------------------------------------------
リスト追加デザイン
---------------------------------------------------------------------------*/
.circle {
    list-style-type: none; /* ドットを削除 */
    margin-left: 1em; /* ドットを削除した場合の左の空白を調整（任意） */
}

.circle:before {
    content: '● ';
    color: #9cd3db;
    display: inline-block;
    width: 1em; /* ドットの幅を調整（任意） */
    text-align: right; /* ドットを右揃えにする（任意） */
    margin-left: -1em; /* ドットの左側の余白を補正（任意） */
}


/*---------------------------------------------------------------------------
テーブル2
---------------------------------------------------------------------------*/
	table{
  border-collapse: collapse;
  width: 90%;
}
.tb01 th,
.tb01 td{
  padding: 10px;
  border: solid 1px #ccc;
  text-align:left;
  box-sizing:border-box;
}
.tb01 th {
  background: #6ca3d7;
  color: #fff;
  
}
@media screen and (max-width: 1300px) {
	.graph {
    width: 100%;
    overflow-x: auto; /* 横スクロール対応 */
  }
  .tb01 {
    width: 100%;
	  margin: auto;
  }
  table.tb01 th
 {
    display: block;
    width: 70%;
    border-bottom:none;
  }
  .tb01 tr:last-child{
    border-bottom: solid 1px #ccc;
  }
	
	table.tb01 td {
		padding: 20px;			
    display: block;
    width: 70%;
    border-bottom:none;
  }
}
/*---------------------------------------------------------------------------
ここから下は画面幅900px以下の追加指定
---------------------------------------------------------------------------*/
@media screen and (max-width:1300px) {


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
	header{
		display: flex;	
	}
	
/*ロゴ画像*/	
	#logo {
	margin-left: 40px;	/*左に空けるスペース*/
	width: 200px;		/*画像の幅*/
	height: 40px;
	}

	
	#header-icon {
	display: none;
	order: 2;			/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	font-size: 18px;	/*アイコンのサイズ。文字サイズで指定します。*/
	margin-left: auto;	/*右側に寄せる為*/
}

/*１個あたりのアイコン設定*/
#header-icon i {
	padding: 5px;	/*余白*/
}
	


/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	margin: 10px;	/*ボックスの外側へ空けるスペース*/
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}




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


/*全体の設定
---------------------------------------------------------------------------*/
html, body {
	font-size: 15px;	/*基準となるフォントサイズの上書き*/
}


/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
	header
	{
	display: none;	
	}
	
header #logo {
	margin: 0;
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
#menubar_hdr {display: none;}


/*menubarブロック設定
---------------------------------------------------------------------------*/
#menubar {
	width: 220px;				/*メニューブロックの幅*/
	height: 100vh; /* 画面全体の高さを確保 */
    position: fixed; /* スクロールしても残るようにする */
    top: 0;
	background-color: #77addd;
	 max-width: 1300px;
  margin: 0 auto;
}

	#menubar a:hover {
	background-color: #16274B; /* 背景色 */
	color: #ffffff; /* 文字色 */
}
	
	/* #1に関連するリンクに対して、マウスホバー時のスタイルを無効化 */
#menubar a[href="#1"]:hover,
#menubar a[href="#2"]:hover,
#menubar a[href="#3"]:hover,
#menubar a[href="#4"]:hover,
#menubar a[href="#5"]:hover,
#menubar a[href="#6"]:hover{
    background-color: initial; /* 背景色を初期値に戻す */
    color: #ffffff; /* 文字色を初期値に戻す */
	opacity: 1;
}
	
/*マウスオン時*/
#menubar:hover {
	overflow: auto;	/*高さ以上のコンテンツ量の場合に自動でスクロールバーを出します*/
}

	
/*現在表示中のメニュー設定（current）*/
#menubar li.current a,
#menubar li.current {
    background: #ffffff;    /*背景色*/
    color: #16274b;        /*文字色*/
    text-align: left;      /*メニューは左詰*/
}

	

/*mainブロック設定
---------------------------------------------------------------------------*/
/*mainブロックの設定*/
main {	
	margin: 0px 0px 0px 0px;	/*上、右、下、左へのブロックの外にとるスペース*/
}


/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*日付(dt)設定*/
#new dt {
	width: 14em;	/*幅。14文字(em)分。*/
	display: flex;	/*flexボックスを使う指定*/
	justify-content: space-between;	/*日付とアイコンをそれぞれ端に寄せる*/
}

/*日付の横のマーク（共通設定）*/
#new dt span {
	display: inline-block;	/*表示させる*/
	width: 6em;				/*幅。6文字(em)分。*/
	background: #777;		/*背景色*/
	color: #fff;			/*文字色*/
	font-size: 0.9em;		/*文字サイズを90%に。*/
	text-align: center;		/*文字をセンタリング*/
	border-radius: 3px;		/*角を少しだけ丸くする*/
	margin-right: 1.2em;	/*アイコンの右側に空けるスペース*/
	align-self: flex-start;	/*高さを間延びさせない指定*/
	line-height: 1.5;		/*行間を少し狭く*/
	position: relative;top: 0.4em;	/*上下の配置バランスの微調整*/
}

#new dt span.icon-bg1 {
	background: #9cd3db;	/*背景色*/
}

/*記事(dd)設定*/
#new dd {
	width: calc(100% - 14em);	/*「14em」は上の「#new dt」のwidthの値です。*/
}



/*その他
---------------------------------------------------------------------------*/
.ws {width: 48%;display: inline;}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}




/*---------------------------------------------------------------------------
ここから下は画面幅1200px以上の追加指定
---------------------------------------------------------------------------*/
@media screen and (min-width:1300px) {


/*listブロック
---------------------------------------------------------------------------*/
/*１個あたりのボックス設定*/
.list {
	width: 24%;		/*幅。４列になります。*/
}


/*　※注意！　下の閉じカッコ　}　はこのブロックに必要なので、削除しないで下さい。　*/

}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 1300px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}



/* サイドメニューヘッダー追加 */

.image-container3 {
    position: relative;
    display: inline-block; /* 画像のサイズに合わせる */
}

.image-container3 img {
    display: block;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center; /* SVGを中央に配置 */
    align-items: center;    /* SVGを中央に配置 */
    pointer-events: none;    /* SVGをクリックできないようにする */
}

.background-image2 {
    background-image: url('images/header_top0210.png'); /* 背景画像のパスを指定 */
	background-size: cover; /* 画像をコンテナにフィットさせる */
    background-position: center; /* 画像を中央に配置 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    height: 100vh; /* ビューポートの高さに合わせる */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box; /* パディングやボーダーを要素のサイズに含める */
}

@media (max-width: 1300px) {
    .background-image2 {
        display: none;
    }
	}

section {
    padding-left: 250px;
	padding-top: 8px;
	background-color: #FFFFFF;
	min-height: calc(120vh);
}

.section2 {
    padding-left: 0px;
	padding-top: 0px;
	background-color: #FFFFFF;
	min-height: calc(120vh);
}

@media (max-width: 1300px) {
section {
    padding-left: 0px;
}
	}

.section_top {
    padding-left: 220px;
	padding-top: 665px;
}

@media (max-width: 1300px) {
.section_top {
    padding-left: 0px;
	padding-top: 8px;
}
	}

.graph{
	  margin: 0 auto 120px; /* 上: 0, 左右: auto, 下: 120px */
    max-width: 90%;
    display: block; /* ブロック要素として扱う */
}

h3.linetitle {
  padding: 0.25em 0.5em;
  color: #16274B;
  background: transparent;
  border-left: solid 5px #16274B;
  border-bottom: solid 1px black; /* 再確認 */
  position: relative;  /* 親要素に影響されないようにする */
  font-weight: bold;  /* 文字を太くする */
	margin-top: 20px;
}


.bold-red {
  font-weight: bold;
  color: red;
}

/* ボタンの基本スタイル */
.button-link {
  display: inline-block;  /* 横並びにするための設定 */
  padding: 12px 25px;     /* ボタンの余白 */
  background-color: #16274B;  /* 背景色 */
  color: white;           /* 文字色 */
  text-align: center;
  text-decoration: none;  /* リンクの下線を消す */
  font-size: 16px;
  border-radius: 5px;     /* 角を丸く */
  margin: 10px;           /* ボタン間の余白 */
  transition: background-color 0.3s ease;  /* 背景色の変化を滑らかに */
	margin-bottom: 40px;
}

/* ボタンにホバーしたときの背景色を変更 */
.button-link:hover {
  background-color: #8290ab;  /* 少し暗くした色 */
}

/* 横並びの設定（デフォルト状態） */
.button-container {
	justify-content: center;     /* 水平中央揃え */
  align-items: center;         /* 垂直中央揃え（必要に応じて） */
  max-width: 600px;         /* 最大幅 */
  margin: 0 auto;           /* 中央揃え */
  padding: 20px;
}

/* 画面幅が620px以下の時の設定 */
@media (max-width: 800px) {
  .button-container {
    display: block;            /* 縦並びにする */
    text-align: center;        /* ボタンを中央に揃える */
  }

  .button-link {
    width: 100%;               /* ボタンの幅を100%に */
    margin: 10px 0;            /* 上下に余白 */
    font-size: 14px;           /* フォントサイズを少し小さく */
  }
}

.boldtext{
	color: #16274B;       /* 文字色を#16274Bに設定 */
  font-weight: bold;    /* 太字に設定 */
	margin: 20px 20px 10px;
}

.black-link {
  color: blue;  /* このリンクの文字色を青に設定 */
  text-decoration: none;  /* 下線を消す（必要に応じて） */
}


/* テーブルの基本設定 */
table {
  border-collapse: collapse;
  width: 100%;
	margin-bottom: 30px;
}

.tb02 th,
.tb02 td {
  padding: 10px;
  border: solid 1px #ccc;
  text-align: center;
  box-sizing: border-box;
}

.tb02 th {
  background: #EFEFEF;
  color: #000000;
}

/* モバイル対応のためのメディアクエリ */
@media screen and (max-width: 640px) {
  .tb02 .head {
    display: none;  /* ヘッダー行を非表示 */
  }

  .tb02 {
    width: 100%;
  }

  /* tdおよびthのスタイル */
  .tb02 td,
  .tb02 th {
    display: block;
    width: 100%;
    border-bottom: solid 1px #ccc;  /* 行ごとに境界線を追加 */
  }

  .tb02 td {
    padding: 10px;  /* パディングを少し増やす */
    line-height: 2.5;
    text-align: left;
  }

  /* 参加区分のtdに対して背景色を変更 */
  .tb02 td[data-label="参加区分"] {
    background-color: #EFEFEF;  /* 参加区分の背景色 */
  }

  /* 参加区分の文字を非表示にする */
  .tb02 td[data-label="参加区分"] .mobile-label {
    display: block;  /* 会員、一般などのテキストを表示 */
    font-weight: bold;  /* 太字 */
    color: #000000;  /* 黒色に設定 */
  }

  /* 事前参加登録と当日参加の文字を表示し、そのまま残す */
  .tb02 td[data-label="事前参加登録"],
  .tb02 td[data-label="当日参加"] {
    text-align: right;  /* 右寄せ */
    font-weight: normal;  /* 太字を解除 */
    color: #000000;  /* 黒色に設定 */
  }

  /* 参加区分のセル内の「参加区分」という文字は透明にして、ラベルとして使う */
  .tb02 td[data-label="参加区分"]::before {
    content: "";  /* 「参加区分」というテキストは表示しない */
  }

  /* 最後の行に境界線 */
  .tb02 tr:last-child {
    border-bottom: solid 1px #000000;
  }
	
	td[data-label="事前参加登録"]:before {
        content: "事前参加登録 : "; /* ¥10,000の前にテキストを追加 */
    }
	
	td[data-label="当日参加"]:before {
        content: "　　当日参加 : "; /* ¥10,000の前にテキストを追加 */
    }
}





.custom-list {
  list-style: none;  /* デフォルトのリストスタイル（丸や数字）を無効にする */
  padding: 10px;
}

.custom-list li {
  margin-bottom: 20px;  /* 各リスト項目の下に20pxのスペースを追加 */
  padding-left: 20px;  /* リスト項目全体に左の余白を追加 */
  position: relative;  /* 位置調整を行うために相対配置 */
}

.custom-list li::before {
  content: "※";  /* ここで※印を指定 */
  color: black;     /* ※印の色を赤に設定 */
  position: absolute;  /* 絶対位置で配置 */
  left: 0;            /* 左端に配置 */
  top: 0;             /* 上端に配置 */
  margin-right: 10px;  /* ※印とリストの内容の間にスペースを追加 */
}

.custom-list li span {
  display: block; /* span内の内容をブロックレベル要素として表示 */
  padding-left: 20px; /* テキストが※の右に揃うようにインデント */
}


.numbered-list {
   padding: 10px;
	padding-left: 35px;
}

.numbered-list li {
  margin-bottom: 20px;  /* 各リスト項目の下に10pxのスペース */
}


.button-container2 {
  text-align: center;  /* 親要素に対して中央揃え */
}

.button-link2 {
  display: inline-block;  /* インラインブロックで表示 */
  padding: 12px 25px;
  background-color: #8290ab;
  color: white;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  border-radius: 5px;
  margin-bottom: 40px;
  transition: background-color 0.3s ease;
}

/* 画面幅が620px以下の時の設定 */
@media (max-width: 800px) {
  .button-container2 {
    display: block;            /* 縦並びにする */
    text-align: center;        /* ボタンを中央に揃える */
  }

  .button-link2 {
    width: 100%;               /* ボタンの幅を100%に */
    margin: 10px 0;            /* 上下に余白 */
    font-size: 14px;           /* フォントサイズを少し小さく */
  }
}


 .container3 {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
	 margin-bottom: 35px;
  }

  .button3 {
    width: 250px;
    height: 45px;
    background-color: #16274B;
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s;
  }

  .button3:hover {
    background-color: #1e3b6d;
  }

.button3b {
  width: 250px;
    height: 45px;
    background-color: #8290ab;
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.button3b:hover {
  background-color: #8290ab; /* ホバー時も変わらないように */
}

  @media (max-width: 900px) {
    .container3 {
      flex-direction: column;
      align-items: center;
    }
  }


section h4 {
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
    background: #E9E9E9;
    border-left: 6px solid #003399;
    padding: 6px 0 4px 15px;
    line-height: 1.2;
    margin: 1em 0 0.5em 0;
}

.bold-blue {
    color: blue;          /* 青文字 */
    font-weight: bold;    /* 太字 */
    text-align: left;     /* 左揃え */
    display: block;       /* 改行時に効果を適用するためのブロック表示 */
	margin-top: 20px;
}

.session{
	margin-left: 25px;
}

.dotted-line {
    border: none;
    border-top: 2px dotted black; /* 上側に2pxの黒い点線 */
    margin: 20px 0;               /* 上下に余白を追加 */
}

.responsive-text {
  white-space: nowrap; /* 通常は1行表示 */
  text-align: left;
}

@media (max-width: 900px) {
  .responsive-text {
    white-space: normal; /* 900px以下で改行を許可 */
    word-break: break-word; /* 長い単語も改行しやすくする */
  }
}

.top20{
	margin-top: 20px;
	display: block;
}

.nolink{
	display: flex;
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向にも中央揃え（高さがある場合） */
}
/* リンクなし基本スタイル */
.button-nolink {
  display: inline-block;  /* 横並びにするための設定 */
  padding: 12px 25px;     /* ボタンの余白 */
  background-color: #8290ab;  /* 背景色 */
  color: white;           /* 文字色 */
  text-align: center;
  text-decoration: none;  /* リンクの下線を消す */
  font-size: 16px;
  border-radius: 5px;     /* 角を丸く */
  margin: 10px;           /* ボタン間の余白 */
  transition: background-color 0.3s ease;  /* 背景色の変化を滑らかに */
	margin-bottom: 40px;
}

.space{
	margin-top: 20px;
	margin-bottom:  20px;
}


.columndesign {
     display: flex;
    justify-content: center;
	align-items: flex-start; /* 上揃えに変更 */
    max-width: 600px;
	margin: auto;
	margin-bottom: 20px;
}

.left {
    font-weight: bold;
    background-color: #f0f0f0;
	margin-top: 20px;
}
.right {
    padding: 30px 20px 20px 20px;
    background-color: #ffffff;
}
.mobile-only {
    display: none;
}

/* 900px以上でのレイアウト */
@media (min-width: 900px) {
    .left {
        width: 30%;
    }
    .right {
        width: 70%;
    }
}

/* 900px以下でのレイアウト */
@media (max-width: 900px) {
    .columndesign {
        flex-direction: column;
        text-align: center;
		align-items: center;
    }
    .left {
        width: 100%;
		padding: 10px;
    }
    .right {
        display: none;
    }
    .mobile-only {
        display: block;
    }
}

.nopadding{
	margin: 0 !important;
	
}

.toppadding{
	margin-top: 20px !important;
	margin-bottom: 0px !important;
}

.menu-button0 {
    display: block; /* ボタンをブロック要素に */
    background-color: #192949; /* ボタンの背景色 */
    color: #ffffff; /* 文字色（白） */
    text-align: center !important;/* 文字を中央揃え */
    text-decoration: none; /* 下線をなくす */
    font-size: 16px; /* フォントサイズ */
    font-weight: bold; /* フォントを太字に */
    padding: 12px 20px; /* 内側の余白 */
    margin: 30px auto; /* 上下の余白 + 中央配置 */
    width: 180px; /* ボタンの幅 */
    border-radius: 5px; /* 角丸 */
    transition: 0.3s; /* ホバー時のアニメーション */
	z-index: 105 !important;
}

.menu-button0:hover {
    background-color: #0f1c3d; /* ホバー時に少し暗く */
}


.kinkei{
margin-bottom: 20px;	
}

.kinhaku{
margin-top: 20px;
	text-align: right;
}


.image-container2 {
    text-align: center !important;
}

/* ボタンリンク */
.button-link {
	width: 60%;
   display: block;
  padding: 12px 25px;     /* ボタンの余白 */
  background-color: #16274B;  /* 背景色 */
  color: white;           /* 文字色 */
  text-align: center;
  text-decoration: none;  /* リンクの下線を消す */
  font-size: 16px;
  border-radius: 5px;     /* 角を丸く */
  margin: 10px;           /* ボタン間の余白 */
  transition: background-color 0.3s ease;  /* 背景色の変化を滑らかに */
	margin-bottom: 40px;
	 margin-left: auto;
    margin-right: auto; /* これで中央揃え */
}


/* テーブルの基本スタイル */
.table2 {
    width: 90%;
    border-collapse: collapse;
    margin: 20px auto;  /* 上下のマージンは0、左右は自動で中央揃え */
}

/* テーブルヘッダー */
.table2 th {
    background-color: #f2f2f2;
    color: #333;
    font-weight: bold;
    padding: 10px;
    text-align: left;
    border: 1px solid #ddd;
}

/* テーブルのセル */
.table2 td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: left;
    vertical-align: top;
}

/* テーブルの行 */
.table2 tr:nth-child(even) {
    background-color: #f9f9f9;
}

/* ホバー時の行の強調 */
.table2 tr:hover {
    background-color: #f1f1f1;
}

/* ヘッダー行の太字と背景色 */
.table2 th {
    background-color: #003399;
    color: white;
}

/* セル内のテキスト */
.table2 td {
    font-size: 14px;
    color: #555;
}

.mar{
	margin: 0 20px 30px;
}

.mar2{
	margin: 0 20px 30px 70px;
}
.under5{
	margin: 0px 20px 5px 50px;
}

.mar3{
	margin: 0 20px 30px 50px;
}

.cw{
	color: white !important;
}

.padding20{
	padding-top: 15px;
	text-align: center;
	margin-bottom: 15px;
}

 .normal-text {
    font-size: 13px;
  }

.narrow-line {
  display: block;
  line-height: 0.3!important;
	margin-bottom: 15px;
}