@charset "utf-8";

/* 共通CSS 終了 */

	* html .clearfix {
	height:1%;
	}

	.clearfix {
	display:block;
	}

	.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	}

	body{
	margin:0px;
	padding:0px;
	text-align:center;
	font-family:Verdana,Arial,"メイリオ",Meiryo,"ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
	font-size:16px;
	color:#333333;
	}

	img {
	border:0;
	margin:0;
	padding:0;
	}

	a {
	margin:0;
	padding:0;
	font-weight:bold;
	color:#0044CC;
	}

	a:visited {
	color:#0033FF;
	}

	a:hover {
	color:#FFFFFF;
	background-color:#0044CC;
	}

	a img {
	text-decoration:none;
	}

	p {
	margin:0;
	padding:0;
	}

	.textleft{
	text-align:left;
	margin:20px;
	}

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

	.textcenter{
	text-align:center;
	margin:20px;
	}

	#backToTop{
	position: fixed;
	bottom: 50px;
	right: 20px;
	width: 50px;
	height: 50px;
	}

	.bluetext {
	font-weight:bold;
	color:#0044CC;
	}

	.fs_15 {font-size:1.5em;}
	.fs_14 {font-size:1.4em;}
	.fs_13 {font-size:1.3em;}
	.fs_12 {font-size:1.2em;}
	.fs_11 {font-size:1.1em;}
	.fs_10 {font-size:1.0em;}
	.fs_09 {font-size:0.9em;}
	.fs_08 {font-size:0.8em;}
	.fs_07 {font-size:0.7em;}

	.wd_10 {width:10%;}
	.wd_20 {width:20%;}
	.wd_30 {width:30%;}
	.wd_40 {width:40%;}
	.wd_50 {width:50%;}
	.wd_60 {width:60%;}
	.wd_70 {width:70%;}
	.wd_80 {width:80%;}
	.wd_90 {width:90%;}
	.wd_100 {width:100%;}

	.mg_t_15 {margin-top:15px;}
	.mg_b_15 {margin-bottom:15px;}
	.mg_l_15 {margin-left:15px;}
	.mg_r_15 {margin-right:15px;}
	.mg_t_30 {margin-top:30px;}
	.mg_b_30 {margin-bottom:30px;}
	.pt_t_15 {padding-top:15px;}
	.pt_b_15 {padding-bottom:15px;}
	.pt_l_15 {padding-left:15px;}
	.pt_r_15 {padding-right:15px;}
	.pt_t_30 {padding-top:30px;}
	.pt_b_30 {padding-bottom:30px;}
	.pt_l_30 {padding-left:30px;}
	.pt_r_30 {padding-right:30px;}

	.line_y {
	background: linear-gradient(transparent 60%, #FFFF66 60%);
	font-weight:bold;
	}

	.line_b {
	background: linear-gradient(transparent 60%, #66FFFF 60%);
	font-weight:bold;
	}

	.line_p {
	background: linear-gradient(transparent 60%, #FF66FF 60%);
	font-weight:bold;
	}

	.line_g {
	background: linear-gradient(transparent 60%, #66FF66 60%);
	font-weight:bold;
	}

	.line_o {
	background: linear-gradient(transparent 60%, #FFAA66 60%);
	font-weight:bold;
	}

/* 共通CSS 終了 */

/* コンテンツCSS 開始 */

	.header h1 a {
	margin:0;
	padding:0;
	text-decoration:none;
	}

	.header h1 a:hover {
	background-color:transparent;
	}

	.caption {
	margin:30px 0;
	padding:0;
	text-align:left;
	clear:both;
	}

	.contents p {
	margin:0;
	padding:0;
	}

	.contents img{
	 max-width:100%;
	 height:auto;
	}

	.footer a {
	font-weight:normal;
	text-decoration:none;
	}

/* コンテンツCSS 終了 */

/* パーツCSS 開始 */

	/* リンクボタン */
	.btn_tb1 a{
	background-image:url("../img_base/btn_tb1.gif");
	}
	.btn_tb2 a{
	background-image:url("../img_base/btn_tb2.gif");
	}
	.btn_tb3 a{
	background-image:url("../img_base/btn_tb3.gif");
	}

	.btn_tb1, .btn_tb2, .btn_tb3{
	width:100px;
	height:100px;
	margin:0 auto;
	display:block;
	white-space: normal;
	}

	.btn1 a, .btn_tb1 a, .btn2 a, .btn_tb2 a, .btn3 a, .btn_tb3 a{
	width: inherit;
	height: inherit;
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
	line-height:1.2em;
	text-decoration:none;
	background-position:center center;
	background-repeat:no-repeat;
	text-decoration:none;
	color:#FFFFFF;
	}

	.btn_tb1 a, .btn_tb2 a, .btn_tb3 a{
	font-size: 18px;
	}

	.btn1 a:hover, .btn_tb1 a:hover, .btn2 a:hover, .btn_tb2 a:hover, .btn3 a:hover, .btn_tb3 a:hover {
	background-color:#FFFFFF;
	opacity:0.75;
	}

	/* 通常table用 */
	.nl-table table {
	width:100%;
	font-size: 1em;
	color:#333333;
	border-collapse: collapse;
	border: solid 2px #999999;
	}

	.nl-table thead th {
	background: #E0E0E0;
	text-align:center;
	padding:2px;
	border: solid 1px #999999;
	}

	.nl-table tbody td {
	padding:2px 10px 2px 10px;
	text-align:left;
	border: solid 1px #999999;
	}

	.nl-table tbody tr:nth-child(even) {
	background: #F0F0F0;
	}

	/* ソートtable用 */
	.datatables {
	width:100%;
	padding-top:10px;
	font-size:16px;
	overflow:hidden;
	}

	.datatables th {
	padding:2px 0.5%;
	}

	.datatables td {
	padding:2px 0.5%;
	white-space: normal;
	}

	.datatables th img, .datatables td img {
	max-width:95%;
	height:auto;
	text-align:center;
	}

	table.dataTable thead .sorting, table.dataTable thead .sorting_asc, table.dataTable thead .sorting_desc {
	position: relative;
	background-image:none;
	}

	table.dataTable thead .sorting:before, table.dataTable thead .sorting_asc:before, table.dataTable thead .sorting_desc:before { 
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1.1em;
	right: 6px;
	top: 12px;
	}

	table.dataTable thead .sorting:before { 
	content: "\f0dc";
	}
	table.dataTable thead .sorting_asc:before { 
	content: "\f0de";
	}
	table.dataTable thead .sorting_desc:before { 
	content: "\f0dd";
	}

	/* 入力フォーム用 */
	.f_ipt1 {
	width:90%;
	height:25px;
	text-align:left;
	font-size:0.9em;
	}

	.f_txa1 {
	width:90%;
	height:100px;
	text-align:left;
	font-size:0.9em;
	}

	.f_btn1 {
	width:180px;
	height:35px;
	font-size:0.9em;
	}

	/* 日記用 */
	.postcard {
	width:92%;
	margin:10px 0;
	padding:10px;
	display:block;
	border:#CCCCCC solid 1.5px;
	border-radius:10px 10px 10px 10px;
	overflow:hidden;
	position: relative;
	}

	.eyecatch {
	width:100px;
	height:100px;
	margin:0 0 0 20px;
	padding:5px;
	border:#C3C3C3 solid 0.5px;
	float:right;
	}

	.eyecatch img{
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	}

	.postcard a {
	text-decoration:none;
	}

	.postcard a:hover {
	text-decoration:underline;
	color:#0044CC;
	background-color:transparent;
	}

	.postcard a {
	line-height:2.5em;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	padding-left:15px;
	}


/* パーツCSS 終了 */

/* スマホ用CSS 開始 */
@media screen and (max-width:919px){

	.base {
	width:97%;
	margin:8px auto 8px;
	padding:0;
	position:relative;
	background-color:#FFFFFF;
	font-size:18px;
	color:#333333;
	}

	.header {
	width:94%;
	margin:50px 3% 10px;
	}

	.main {
	width:94%;
	margin:0 3%;
	padding:0;
	background-color:#FFFFFF;
	font-size:18px;
	float:left;
	text-align:left;
	}

	.contents {
	width:97%;
	margin:40px 1% 40px 2%;
	padding:0px;
	font-size:18px;
	color:#333333;
	text-align:left;
	line-height:32px;
	overflow:hidden;
	}

	.header h1 {
	width:97%;
	font-size:30px;
	font-weight:bold;
	text-align:center;
	line-height:40px;
	margin:20px 1.5%;
	padding:0;
	position:relative;
	}

	h2 {
	width:90%;
	font-size:26px;
	font-weight:bold;
	text-align:left;
	line-height:40px;
	color:#333333;
	margin:40px 1% 5px 1%;
	position:relative;
	overflow:hidden;
	}

	h2:before {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1em;
	left: 0;
	top: 0;
	}

	h3 {
	width:92%;
	font-size:22px;
	font-weight:bold;
	text-align:left;
	line-height:40px;
	color:#333333;
	margin:30px 0 0 1%;
	position:relative;
	overflow:hidden;
	}

	h3:before {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1em;
	left: 0;
	top: 0;
	}

	h4 {
	width:92%;
	font-size:18px;
	font-weight:bold;
	text-align:left;
	line-height:30px;
	color:#333333;
	margin:10px 0 0 1%;
	position:relative;
	overflow:hidden;
	}

	.scrollbox {
	overflow: auto;
	white-space: nowrap;
	margin:30px 0;
	padding:0;
	text-align:center;
	}

	.tablebox {
	width:96%;
	margin:30px 1% 0 1%;
	padding:0 1%;
	text-align:center;
	overflow:hidden;
	}

	.contents .icenter, .contents .ileft, .contents .iright {
	margin:7px 0 15px 0;
	max-width:100%;
	text-align:center;
	}

	.footer {
	width:94%;
	margin:10px 3%;
	padding:15px 0 0 0;
	text-align:center;
	line-height:1.4em;
	color:#333333;
	clear:both;
	font-size:0.8em;
	}

	.display-pc {
	display:none;
	}

	.display-sp {
	}

	/* ボタン */
	.btn1, .btn2, .btn3{
	width:320px;
	height:120px;
	margin:30px auto 0;
	padding:0 10px;
	display:block;
	}

	.btn1 a, .btn2 a, .btn3 a{
	font-size: 30px;
	}

	.btn1 a{
	background-image:url("../img_base/btn_sp1.gif");
	}
	.btn2 a{
	background-image:url("../img_base/btn_sp2.gif");
	}
	.btn3 a{
	background-image:url("../img_base/btn_sp3.gif");
	}

}
/* スマホ用CSS 終了 */


/* PC・タブレット用CSS 開始 */
@media screen and (min-width: 920px) {

	.base {
	margin:8px auto;
	padding:0;
	width:900px;
	position:relative;
	background-color:#FFFFFF;
	border-radius:15px 15px 15px 15px;
	box-shadow:0px 0px 5px;
	font-size:18px;
	color:#333333;
	}

	.header {
	width:840px;
	margin:50px 30px 10px;
	}

	.main {
	width:840px;
	margin:0 30px;
	padding:0;
	background-color:#FFFFFF;
	font-size:18px;
	float:left;
	text-align:left;
	}

	.contents {
	width:810px;
	margin:40px 10px 60px 20px;
	padding:0px;
	font-size:18px;
	color:#333333;
	text-align:left;
	line-height:32px;
	overflow:hidden;
	}

	.header h1 {
	width:810px;
	font-size:30px;
	font-weight:bold;
	text-align:center;
	line-height:40px;
	margin:20px 15px;
	padding:0;
	position:relative;
	}

	.header h1:before { 
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1.6em;
	left: 0;
	top: 0;
	}

	h2 {
	width:760px;
	font-size:26px;
	font-weight:bold;
	text-align:left;
	line-height:40px;
	color:#333333;
	margin:40px 20px 5px 5px;
	position:relative;
	overflow:hidden;
	}

	h2:before {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1.4em;
	left: 0;
	top: 0;
	}

	h3 {
	width:760px;
	font-size:22px;
	font-weight:bold;
	text-align:left;
	line-height:40px;
	color:#333333;
	margin:30px 0 0 20px;
	position:relative;
	overflow:hidden;
	}

	h3:before {
	font-family: "Font Awesome 5 Free";
	position: absolute;
	font-size: 1.4em;
	left: 0;
	top: 0;
	}

	h4 {
	width:760px;
	font-size:18px;
	font-weight:bold;
	text-align:left;
	line-height:30px;
	color:#333333;
	margin:10px 0 0 1%;
	position:relative;
	overflow:hidden;
	}

	.scrollbox, .tablebox {
	width:800px;
	margin:30px 10px 0 20px;
	padding:0 5px;
	text-align:center;
	overflow:hidden;
	}

	.contents .icenter {
	margin:7px 0 15px;
	max-width:100%;
	text-align:center;
	}

	.contents .ileft {
	margin:7px 15px 15px 0;
	max-width:345px;
	float:left;
	text-align:center;
	}

	.contents .iright {
	margin:7px 0 15px 15px;
	max-width:345px;
	float:right;
	text-align:center;
	}

	.footer {
	width:840px;
	margin:10px 30px;
	padding:15px 0 0 0;
	text-align:center;
	line-height:1.4em;
	color:#333333;
	clear:both;
	font-size:0.8em;
	}

	.display-pc {
	}

	.display-sp {
	display:none;
	}

	/* ボタン */
	.btn1, .btn2, .btn3{
	width:650px;
	height:80px;
	margin:30px auto 0;
	display:block;
	}

	.btn1 a, .btn2 a, .btn3 a{
	font-size: 30px;
	}

	.btn1 a{
	background-image:url("../img_base/btn_pc1.gif");
	}
	.btn2 a{
	background-image:url("../img_base/btn_pc2.gif");
	}
	.btn3 a{
	background-image:url("../img_base/btn_pc3.gif");
	}

}
/* PC・タブレット用CSS 終了 */

