@charset "utf-8";

/*Common settings
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*General settings
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #333;	
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	font-size: 16px;	
	line-height: 2;	
	background: #fff url(../images/bg2.jpg);
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
/*ul {list-style-type: none;}*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*Link settings
---------------------------------------------------------------------------*/
.a1 {
	color: #666;		/*Link text color*/
	transition: 0.3s;	/*Mouse on-off transition time*/
	text-decoration: none;	/*No change in the text for mouse-on*/
}
.a1:hover {
	color: #0018c8;			/*Font color for mouse-on*/
	text-decoration: none;	/*No change in the text for mouse-on*/
}

.a2 {
	color: white;		/*Link text color*/
	text-decoration: none;
	transition: 0.3s;	/*Mouse on-off transition time*/
}
.a2:hover {
	color: #DCF7F4;			/*Font color for mouse-on*/
	text-decoration: none;	/*No change in the text for mouse-on*/
}
.a3 {
	color: blue;		/*Link text color*/
	text-decoration: none;	/*No change in the text for mouse-on*/
	transition: 0.3s;	/*Mouse on-off transition time*/
}
.a3:hover {
	color: white;			/*Font color for mouse-on*/
	background-color: #1FC1F5;
	text-decoration: none;
}


/*container (the block of the whole cite)
---------------------------------------------------------------------------*/
#container {
	overflow: hidden;
	max-width: 1200px;	
	margin: 30px auto 0;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
	padding: 40px;
	background: #fff;
}

/*header settings
---------------------------------------------------------------------------*/
header {
	position: relative;
}
/*logo in the header*/
header #logo {
	position: absolute;z-index: 1;
	left: 5%;
	top: 18%;
	width: 20%;
	background: rgba(0,0,0,0.5);	/* Black 50%*/
}

/*contents (main and sub) ------------------------------------------------------------------*/
#contents {
	padding: 40px 0;
}
/*Settings of main ---------------------------------------------------------------------------*/
#main {
	overflow: hidden;
	float: right;
	width: 70%;
}
#main h2 {
	clear: both;
	margin-bottom: 20px;	/*Lower space*/
	color: #fff;			/*Font color*/
	background:  #3B4EE6;	/*Background color*/
	padding: 5px 10px 5px 10px;	/*Spaces around the title*/
}
#main h3 {
	clear: both;
	margin-bottom: 20px;	/*Lower space*/
	color: #fff;			/*Font color*/
	background: linear-gradient(#7481EA, #98A1EA);	/*background color with gradation*/
	padding: 5px 20px;		/*Spaces around the title*/
	border: 1px solid #ccc;	/*frame line*/
}
#main h4 {
	clear: both;
	margin-bottom: 10px;	/*Lower space*/
	color: #fff;			/*Font color*/
	background: linear-gradient(#33CCFF, #75DBFC);	/*background color with gradation*/
	padding: 1px 20px;		/*Spaces around the title*/
	border: 1px solid #ccc;	/*frame line*/
}
/*Paragraph*/
#main p {
	padding: 0 20px 20px;	/*upper, left-right, lower*/
}
#main p + p {
	margin-top: -10px;
}
#main h2 + p,
#main h3 + p {
	margin-top: -7px;
}
#main section + section {
	clear: both;
	padding-top: 30px;
}

/*subブロック
---------------------------------------------------------------------------*/
#sub {
	float: left;
	width: 25%;
	text-align: center;
}
#sub h2 {
	background: linear-gradient(#cbcbcb, #949494 49%, #8c8c8c 50%);	/*背景グラデーション*/
	padding: 8px 10px;	/*見出し内の余白*/
	color: #fff;	/*文字色*/
}

/*Menu settings
---------------------------------------------------------------------------*/
#menubar {
	margin-bottom: 10px;	/*lower space*/
}
#menubar li a {
	text-decoration: none;display: block;
	padding: 7px;	/*ボックス内の余白*/
	border-bottom: 2px dotted #ccc;	/*下の線の幅、線種、色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*footer
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	padding-bottom: 20px;
}
footer a {text-decoration: none;}
footer .pr {display: block;}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding: 0px 20px;		/*上下、左右へのブロック内の余白*/
	margin-bottom: 20px;	/*ブロックの下(外側)に空ける余白*/
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
}

/* Table（ta1）-----------------------------------------------------------------*/
/* The first line caption */
.ta1 caption {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #eee;		/*背景色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;		/*ボックス内の余白*/
}
/*ta1設定*/
.ta1 {
	width: 100%;
	table-layout: fixed;
	margin-bottom: 20px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;			/*ボックス内の余白*/
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;		/*背景色*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {
	display: none;
}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 100;position: fixed;animation-name: scroll;animation-duration: 1s;animation-fill-mode: forwards;
	width: 50px;		/*ボタンの幅*/
	line-height: 50px;	/*ボタンの高さ*/
	bottom: 20px;		/*ウィンドウの下から20pxの場所に配置*/
	right: 1%;			/*ウィンドウの右から1%の場所に配置*/
	color: #fff;		/*文字色*/
/*	border-radius: 50%;	*//*角丸指定。50%にすると円形になる。四角形がいいならこの１行削除。*/
	background: #000;	/*背景色*/
}
/*マウスオン時の背景色*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 20px 20px 40px;
}
ol {
	padding: 0 20px 20px 45px;
}

/*checkブロック。赤い注意書きブロック
---------------------------------------------------------------------------*/
p.check {
	background: #ff0000;
	color:#fff;
	padding: 10px 25px !important;
	margin-bottom: 20px;
}
p.check a {color: #fff;}

/*Others
---------------------------------------------------------------------------*/
.look {background: #222;padding: 5px 10px;border-radius: 4px;border: 1px solid #333;color: #fff;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.clear {clear: both;}
.color1, .color1 a {color: #0018c8 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}


/*Settings below 1350px -----------------------------------------------*/

/* Settings width below 800px  ----------------------------------------------*/
@media screen and (max-width:800px){
/*container ----------------------------------------------------------------*/
#container {
	box-shadow: none;
	padding: 30px 30px 0;	/*ボックス内の余白。上、左右、下。*/
}
	#imspan-q{
		font-size: 180%;
	}
	#imspan-ql{
		font-size: 180%;
	}

/*contents -----------------------------------------------------------*/
#contents {
	padding: 30px 0;	/*上下、左右へのコンテンツ内の余白*/
}

/*main --------------------------------------------------------------------*/

/*スマホ用メニューブロック*/
#menubar-s {
	display: block;overflow: hidden;
	position: absolute;z-index: 2;
	top: 0px;
	left: 0px;
	width: 100%;
	animation-name: menubar;		/*上のkeyframesの名前*/
	animation-duration: 0.5s;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*待機中は最初のキーフレームを、完了後は最後のキーフレームを維持*/
	background: rgba(0,0,0,0.7);	/*背景色。0,0,0は黒の事で0.7は70%色がついた状態の事。*/
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	padding: 10px 3%;	/*メニュー内の余白。上下、左右。*/
	color: #fff;		/*文字色*/
	font-size: 20px;	/*文字サイズ*/
	text-align: center;	/*テキストをセンタリング*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
}
/*説明表記（飾り文字）*/
#menubar-s li a span {
	display: block;
	font-size: 12px;/*文字サイズ*/
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}


/*main,subブロック
---------------------------------------------------------------------------*/
#main,#sub {
	float: none;
	width: auto;
}
}
@media screen and (min-width:801px){	
	/*container ----------------------*/
	#container {
		margin: 20px 3%;	/*containerの外側にとるスペース*/
	}
	#hamburger-menu{display: none;} /*hamburger menu非表示*/
	#imspan-q{
		font-size: 260%;
	}
	#imspan-ql{
		font-size: 260%;
	}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 24px;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}

}



/*width below 480px
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*Body settings
---------------------------------------------------------------------------*/
body {
	font-size: 11px;	/*文字サイズ*/
	background: #fff;	/*背景色*/
}

/*container for whole constents
---------------------------------------------------------------------------*/
#container {
	margin: 0;border-radius: 0px;
	padding: 20px 20px 0;	/*ボックス内の余白。上、左右、下。*/
	line-height: 1.5;	/*行間*/
}

	#imspan-q{
		font-size: 160%;
	}
	#imspan-ql{
		fotn-size: 160%;
	}

/*contents (main and sub)
---------------------------------------------------------------------------*/
#contents {
	padding: 20px 0;	/*上下、左右へのコンテンツ内の余白*/
}

/*mainブロック
---------------------------------------------------------------------------*/
/*h2タグ*/
#main h2 {
	font-size: 14px;	/*文字サイズ*/
	padding-left: 40px;	/*左側の余白の上書き*/
}
/*h3タグ*/
#main h3 {
	font-size: 13px;	/*文字サイズ*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding: 0px 10px;		/*上下、左右へのブロック内の余白*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	padding: 5px;	/*ボックス内の余白*/
}
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;	/*幅*/
}

/*olタグ ---------------------------------------------------------------------------*/
ol {
	padding: 0 20px 20px 40px;
}

/*その他 ---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 18px;letter-spacing: normal;}
img.fr,img.fl {float: none;margin: 0;width: 100%;}
.sh {display:block;}
.pc {display:none;}

}

/* 折りたたみメニュー  ---------------------------------------*/

.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background: rgb(53,132,187,0.8);
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background: rgba(53,132,187,0.9);
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}
#menu-btn-check {
    display: none;
}

.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}
/* トップに戻る --------------------------------------------------*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #3f98ef;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

.imdiv {
    position: relative;
    width:100%;
  }
 .imspan {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
/*    color:black;    */
    font-weight: 600;
    font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    text-align:center;
    top: 30%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%);
  }
 .imspan-l {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
/*    color:black;   */ 
    font-weight: 600;
    font-family:Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    text-align:center;
    top: 60%;
    left: 50%;
    -ms-transform: translate(-50%, -50%); 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%);
  }
.imimg {
    width: 100%;
  }

/*-------------- inline-block --------------------*/
.parent{
	text-align: center;
	padding: 2px;
}
.inline-block_test{
	display: inline-block;
	width: 30%;
	background-color: #0C4A44;
	color: white;
	padding: 2px;
	margin-right: 2%;
	text-align: center;
	margin-bottom: 3px;
}
.inline-block_t2{
	display: inline-block;
	width: 30%;
	background-color: #12BB9F;
	color: white;
	padding: 2px;
	margin-right: 2%;
	text-align: center;
	margin-bottom: 3px;
}


/*-------------- flex box --------------------*/
.f-container{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 5px 3px;
}

/*---------------- dialog box --------------*/
.dia {
	padding: 20px;
	border: 0;
	border-radius: 0.6rem;
	box-shadow: 0 0 1em black;
	text-align: left;
}
 
.dia::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}

/*---------- Table of Contents -----------------*/
.table_of_contents{
	color: #333;
	font-size:17px;
	margin:0 auto;
	border-top: dashed #191970 1px;
	border-bottom: dashed #191970 1px;
	padding: 0.5em 0 0.5em 0.5em;
	background-color: #F7F5DC;
	width:100%;
}

.table_of_contents span{
	display:block;
	text-align:center;
	color: #333;
	font-size: 25px;
/*	padding: 8px; */
}

.table_of_contents a{
	text-decoration: none;
	color: #333;
}

.table_of_contents a:hover{
	text-decoration: underline;
	color: blue;
}

.table_of_contents ol{
	counter-reset: count 0;
	list-style: none;
}

.table_of_contents li:before{
/*	padding-bottom: 5px; */
	counter-increment: count 1;
	content: counters(count, "-") ". ";
}

.tdesign09 {
 width: 90%;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 2px #778ca3;
}
.tdesign09 th {
 padding: 10px;
 background: #e9faf9;
 border: solid 1px #778ca3;
 border-bottom: solid 2px #778ca3;
}
.tdesign09 td {
 padding: 10px;
 border-left: solid 1px #778ca3;
}
.tdesign09 tr:nth-child(2n+1) {
	border-top: dashed 1px #778ca3;
	background: #F9EFFC;
}
.tdesign09 tr:nth-child(2n+0) {
	border-top: dashed 1px #778ca3;
}

.tdesign08 {
 padding: 20px;
 text-align: center;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 2px #778ca3;
}
.tdesign08 th {
 padding: 10px;
 background: #e9faf9;
 border: solid 1px #778ca3;
 border-bottom: solid 2px #778ca3;
}
.tdesign08 td {
 padding: 10px;
 border-left: solid 1px #778ca3;
}
.tdesign08 tr:nth-child(2n+1) {
	border-top: dashed 1px #778ca3;
	background: #F9EFFC;
}
.tdesign08 tr:nth-child(2n+0) {
	border-top: dashed 1px #778ca3;
}

.tdesign07 {
 padding: 20px;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 2px #778ca3;
}
.tdesign07 th {
 padding: 10px;
 background: #e9faf9;
 border: solid 1px #778ca3;
 border-bottom: solid 2px #778ca3;
}
.tdesign07 td {
 padding: 10px;
 border-left: solid 1px #778ca3;
}
.tdesign07 tr:nth-child(2n+1) {
	border-top: dashed 1px #778ca3;
	background: #F9EFFC;
}
.tdesign07 tr:nth-child(2n+0) {
	border-top: dashed 1px #778ca3;
}

.tdesign06 {
 padding: 0px;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 1px #778ca3;
}
.tdesign06 th {
 padding: 5px;
 background: #e9faf9;
 border: solid 1px #778ca3;
 border-bottom: solid 1px #778ca3;
}
.tdesign06 td {
 padding: 5px;
 border-left: solid 1px #778ca3;
}
.tdesign06 tr:nth-child(2n+1) {
	border-top: dashed 1px #778ca3;
	background: #F9EFFC;
}
.tdesign06 tr:nth-child(2n+0) {
	border-top: dashed 1px #778ca3;
}

.tdesign05 {
 padding: 0px;
 border-collapse: collapse;
 border-spacing: 0;
 border: solid 1px #778ca3;
}
.tdesign05 th {
 padding: 5px;
 background: #e9faf9;
font-weight: normal;
/* border: solid 1px #778ca3;*/
 border-top: solid 1px #778ca3;
}
.tdesign05 td {
 padding: 5px;
 border-left: solid 1px #778ca3;
 text-align: center;
}
.tdesign05 tr:nth-child(2n+1) {
	border-top: dashed 1px #778ca3;
	background: #F9EFFC;
}
.tdesign05 tr:nth-child(2n+0) {
	border-top: dashed 1px #778ca3;
}

table.calendar{
    width: 100%;
}

table.calendar th, table.calendar td{
    padding: 8px;
    background-color: #FFF;
    text-align: center;
    border: 1px solid #CCC;
}

/* 行の最初のtdは日曜日なため赤く */
table.calendar th:first-of-type, table.calendar td:first-of-type{
    background-color: #ffefef;
    color: #FF0000;
    font-weight: bold;
}

/* 行の最後のtdは土曜日なため青く */
table.calendar th:last-of-type, table.calendar td:last-of-type{
    background-color: #ededff;
    color: #0000FF;
    font-weight: bold;
}

/* 今日の日付 */
table.calendar td.today{
    background-color: #fbffa3;
    font-weight: bold;
}
/* クリック吹き出しの設定 */
.balloonoya {
  position   : relative;             /* 指定した分だけ相対的に移動 */
  cursor   : pointer;                /* カーソルをポインターで表示 */
	z-index : 1;
}
.balloon1 {
  display: none;                     /* 要素を非表示 */
	z-index : 10;
}
.balloon {
  position: absolute;                   /* 親要素を基準 */
  display: inline;                      /* 要素をインラインとして表示 */
  padding: 2px;                         /* テキストの前後の余白 */
  background-color: rgba(102, 102, 255, 1);       /* 背景色（透明度） */
  width:180px;                          /* 吹き出し全体の幅 */
  left : 1%;                           /* 表示位置 */
  font-size: 80%;                       /* 文字サイズ */
	color: #fff;
}


