@charset "utf-8";

/* スマホ固定メニュー 非表示 */
@media (min-width: 768px) {
   .for-sp{
      display:none;
    }
}

@media only screen and (max-width:750px){



	/*************************
	テーブル お知らせ
	*************************/
	table.table .whatnew{
		background-color:#ffffff;
		width: 100%;
	}
	table.table .ymd{
		width: 15%;
		margin:10px;
		line-height: 150%;
		padding	: 5px 0px 0px 0px;
		border-bottom: 0px dotted #ddd;
		vertical-align:top;
		text-align: left;
		list-style-type: none;
	}
	table.table .comment{
		width: 95%;
		margin:10px;
		line-height: 150%; 
		padding	: 0px;
		border-bottom: 1px dotted #ddd;
		list-style-type: none;
	}

	/***************************************************** 
		お問合せ
	******************************************************/
	.table2{
		display: block;
		margin:0px auto 0px auto;
		}
	.table2 thead{
		display: none;
		}
	.table2 tbody{
		display: block;
		}
	.table2 tbody tr{
		display: block;
		margin-bottom: 1.0em;
		}
	.table2 tbody th,
	.table2 tbody td{
		display: list-item;
		border: none;
		}
	.table2 tbody th{
		margin-bottom: 5px;
		list-style-type: none;
		color: #fff;
		background: #aaa;
		text-align:left;
		padding: 5px 10px;
		}
	.table2 tbody td{
		list-style-type: none;
		margin-left: 0px;
		padding: 2px 2px;
		background:transparent;
		}

	.table2 input{
		font-size:16px;  /* iOSで入力フォームにフォーカスすると画面が勝手にズームされるのを防ぐため */
		}
	.table2 input[type="text"]{
		-webkit-appearance : none; /* フォーム関連要素のデフォルトスタイルを初期化 */
		max-width : 100%;
		}
	.table2 input[type="email"]{
		-webkit-appearance : none; /* フォーム関連要素のデフォルトスタイルを初期化 */
		max-width : 100%;
		}
	.table2 input[type="tel"]{
		-webkit-appearance : none; /* フォーム関連要素のデフォルトスタイルを初期化 */
		max-width : 100%;
		}
	.table2 select{
		-webkit-appearance : none; /* フォーム関連要素のデフォルトスタイルを初期化 */
		max-width : 100%;
		padding: 0px 10px;
		}
	.table2 textarea{
		-webkit-appearance : none; /* フォーム関連要素のデフォルトスタイルを初期化 */
		max-width : 97%;
		}
	table.table2 .color2 {
			background-color: #2196F3;
		}
	/*
			.table tbody td:nth-of-type(1):before { content: "[品詞]"; }
			.table tbody td:nth-of-type(2):before { content: "[意味]"; }
			.table tbody td:nth-of-type(3):before { content: "[用例]"; }
	*/

}



/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width:644px){
	#header{text-align:center;}
	#header h1,#header p,#header h2,#header ul{float:none;}
	#header h2{padding:10px 10px 0;}
	#header ul{padding:0 10px 10px;}
	#headerInfo{width:250px;margin:0 auto;}
	img.alignright, img.alignleft{display:block;margin:5px auto;}

	#mainBanner img {
		object-fit: cover;
		/*height: 160px;*/
		object-position: 100% 100%;
	}

	.alignright,.alignleft{float:none;}
	#footer ul{text-align:left;padding:15px;}
	#footer ul ul{padding:0;}
	#footer li{display:list-item;}
	/* グリッド */
	.gridWrapper {
	background-color: #FDD835;
	padding-top: 20px;
	}
	.grid{
	float:left;
	width:100%;
	text-align: center;
	margin: 0;
	}



	/* メイン コンテンツ */
	section.content .gallery{
	width:100%;
	height:auto;
	}

	video{
	width:100%;
	}

}


/* TABLEをたてに重ねる　ただ、display:block;にするだけ */


@media only screen and (max-width:640px){
	#header h1 {font-size:70%;}
	h3.heading{font-size: 100%;}
	.newline{
	display:block;
	}
	/*	#header_fix {position: fixed; z-index: 20;}*/
	/*	#header .info {display:none;}*/
	#header .info {text-align:center; font-size: 100%; background-color:#dce775; width:100%; padding: 10px 0px 10px 0px;}
	#header .btn-border2 {width: 70px;}
	#header .logo {
			padding: 10px 0px;
			width:100%;
			font-size: 140%;
			font-weight: normal;
			background-color: #fff;}

	#header .logo_mark{
			width:50px;
			vertical-align: bottom;}

	.btn-border2 {
			padding: 5px 5px;
  			font-family: "Yu Gothic Medium", "游ゴシック Medium","游ゴシック体", "Yu Gothic", YuGothic, sans-serif,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;}

	#footer {padding-top: 0px;}

	.table{
		display: block;
		margin:10px auto 0px auto;
		}
		.table thead{
			display: none;
			}
		.table tbody{
			display: block;
			}
			.table tbody tr{
				display: block;
				margin-bottom: 1.0em;
				}
			.table tbody th,
			.table tbody td{
				display: list-item;
				border: none;
				}
			.table tbody th{

				margin-bottom: 5px;
				list-style-type: none;
				color: #fff;
				background: #aaa;
				text-align:left;
				}
			.table tbody td{

				margin-left: 10px;
				padding: 0;
				background:transparent;
				list-style-type: none;
				}

	.table3 .tate{
    				writing-mode: vertical-rl; /* 縦書き */
    				text-orientation: upright; /* 縦書き */
		     }
	/*
	.table3{
		display: block;
		margin:10px auto 0px auto;
		}
		.table3 thead{
			display: none;
			}
		.table3 tbody{
			display: block;
			}
			.table3 tbody tr {
				display: block;
				margin-bottom: 1.0em;
				}
			.table3 tbody th,
			.table3 tbody td{
				display: list-item;
				border: none;
				}
			.table3 tbody th{
				margin-bottom: 5px;
				list-style-type: none;
				color: #fff;
				text-align:left;
				width: 96%;
				}
			.table3 tbody td{
				margin-left: 10px;
				padding: 0;
				background:transparent;
				list-style-type: none;
				}
	table.table3 .midashi{background:#3f51b5;}
	table.table3 .pdf{display:inline-block; padding:10px 0;}
	*/


	/* 下部固定メニュー */

	#sp-fixed-menu{
	position: fixed;
	width: 100%;
	bottom: 0px;
	font-size: 100%;
	opacity: 0.9;
	z-index: 99;
	}

	/*メニューを横並びにする*/
	#sp-fixed-menu ul{
	display: flex;
	list-style: none;
	padding:0;
	margin:0;
	width:100%;
	}

	#sp-fixed-menu li{
	justify-content: center;
	align-items: center;
	width: 50%;
	padding:0;
	margin:0;
	font-size: 100%;
	border-right: 1px solid #fff;
	}

	/*左側メニューを緑色に*/
	#sp-fixed-menu li:first-child{
	background: #38b435;
	}

	/*左側メニューを紫色に #f44336*/
	#sp-fixed-menu li:last-child{
	background: #512da8;
	}

	/*ボタンを調整*/
	#sp-fixed-menu li a{
	color: #fff;
	text-align: center;
	display:block;
	padding:20px;
	}

}



/*****************************************************
/* GO TOP
******************************************************/
#gotop{
clear:both;
float:right;
padding:10px 25px 20px 10px;
/*background:#fff;*/
font-size:10px;
}

#gotop a{
padding:0 0 0 12px;
background:url(../images/bg_gotop.gif) 0 60% no-repeat;
}



/*****************************
GOTO TOP ボタン演出
*****************************/
#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
	font-size: 77%;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding: 15px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}



/*****************************
section.content:after 追加処理
*****************************/
/* 回り込み解除 */
section.content:after {
   content:"";
   display:block;
   height:0;
   clear:both;
   visibility:hidden;
}




/***************************************
IFRAME をレスポンシブ化する魔法のタグ
この指定をしていればすべてのiframeタグを
レスポンシブ対応させることができます。
使用方法
<div class="magic-ifame">
<iframe src=&quot;//www.youtube.com/embed/9OPWPtYLg4g&quot; height="360" width="480" allowfullscreen="" frameborder="" </iframe>
</div>
***************************************/
.magic-ifame {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-top: 20px;
margin-bottom: 20px;
}
.magic-ifame iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



/*****************************
イメージ表示サイズ
*****************************/

/* 通常表示 */
.is10{width:10%;}
.is15{width:15%;}
.is20{width:20%;}
.is30{width:30%;}
.is40{width:40%;}
.is50{width:50%;}
.is60{width:60%;}
.is70{width:70%;}
.is80{width:80%;}
.is90{width:900%;}
.is100{width:100%;}

.is25{width:25%;}
.is75{width:75%;}

/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
.is10{width:100%;}
.is15{width:100%;}
.is20{width:100%;}
.is30{width:100%;}
.is40{width:100%;}
.is50{width:100%;}
.is60{width:100%;}
.is70{width:100%;}
.is80{width:100%;}
.is90{width:100%;}
.is100{width:100%;}

.is25{width:100%;}
.is75{width:100%;}
.tc_photo {width:50%; border-radius: 0.5em;}
}


/*****************************
 グーグルマップ
*****************************/
div#gMap {
    width: 100%;
    height: 400px;
}


/*****************************
 丸囲み文字
*****************************/
.circle{
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #990066; /* #333399 */
  text-align:center;
  line-height: 40px;
  color:#fff;
  font-weight:bold;
}
/* 蛍光ペンマーカー */
.marker_lime {
background: linear-gradient(transparent 60%, #66FFCC 60%);
}

.marker_yellow {
background: linear-gradient(transparent 60%, #ffff66 60%);
}

.marker_water {
background: linear-gradient(transparent 60%, #66ccff 60%);
}

.marker_pink {
background: linear-gradient(transparent 60%, #ff66ff 60%);
}

.point_red {
color: red; font-size:1.2em; font-weight: bold; 
}

.point_black {
color: black; font-size:1.2em; font-weight: bold; 
}


.ccopy  {
  background: #b0dcfa; /*背景色*/
  padding: 7px 15px;/*文字周りの余白*/
  color: white;/*文字を白に*/
  border-radius: 0.5em;/*角の丸み*/
}

/* 動く蛍光ペンマーカー */
.marker {

  /* マーカーを引く 
  rgba(255, 153, 0,0.5) の部分はマーカーの色を指定しています。
　実装される際は、お好きな色、透明度をお入れ下さい。 */
  /*background:linear-gradient(transparent 50%, #c8e6c9 50%);  マーカーを引く */
  background:linear-gradient(transparent 50%, rgba(255, 153, 0,0.5) 50%);
  
  /* インライン属性を指定する */
  display: inline;                                                        
  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 3.5s;
}

/* マーカーが引かれる際に付与するクラス */
.marker.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
}

