@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.2
*/
@media (max-width: 767px) {

	/*要素のフォントサイズやマージン・パディングをリセットしています*/
	html,
	body,
	div,
	span,
	object,
	iframe,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	blockquote,
	pre,
	abbr,
	address,
	cite,
	code,
	del,
	dfn,
	em,
	img,
	ins,
	kbd,
	q,
	samp,
	small,
	strong,
	sub,
	sup,
	var,
	b,
	i,
	dl,
	dt,
	dd,
	ol,
	ul,
	li,
	fieldset,
	form,
	label,
	legend,
	table,
	caption,
	tbody,
	tfoot,
	thead,
	tr,
	th,
	td,
	article,
	aside,
	canvas,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section,
	summary,
	time,
	mark,
	audio,
	video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
		/*font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/
		font-family: "Meiryo", "メイリオ", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	}

	html {
		scroll-behavior: smooth;
	}


	.snone,
	.pnone {
		display: none;
	}

	b {
		font-weight: bold;
	}

	/*行の高さをフォントサイズと同じにしています*/
	body {
		line-height: 160%;
		font-size: 14px;
		color: #333;
		padding-top: 65px;
		font-family: "Meiryo", "メイリオ", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	}

	/* スクロールの幅の設定 */
	html::-webkit-scrollbar {
		width: 15px;
		height: 10px;
	}

	/* スクロールの背景の設定 */
	html::-webkit-scrollbar-track {
		border-radius: 5px;
		box-shadow: 0 0 4px #aaa inset;
	}

	/* スクロールのつまみ部分の設定 */
	html::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #59B200;
	}

	img {
		width: 100%;
		/*max-width: 480px;*/
	}




	/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
	article,
	aside,
	details,
	figcaption,
	figure,
	main,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section {
		display: block;
		margin: 0;
		padding: 0;
	}

	/*ulのマーカー（行頭記号）を表示しないようにしています*/
	ul,
	ol {
		list-style: none;
	}

	/*引用符の表示が出ないようにしています*/
	blockquote,
	q {
		quotes: none;
	}

	/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
	blockquote:before,
	blockquote:after,
	q:before,
	q:after {
		content: '';
		content: none;
	}

	/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
	a {
		margin: 0;
		padding: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
	}

	/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
	ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
	}

	/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
	mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
	}

	/*テキストに打ち消し線が付くようにしています*/
	del {
		text-decoration: line-through;
	}

	/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
	abbr[title],
	dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
	}

	/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
	hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #cccccc;
		margin: 1em 0;
		padding: 0;
	}

	/*縦方向の揃え位置を中央揃えに指定しています*/
	input,
	select {
		vertical-align: middle;
	}

	/*画像の下に微妙なスペースが空かなくしています*/
	img {
		vertical-align: top;
		font-size: 0;
		line-height: 0;
	}

	address {
		font-style: normal;
		font-weight: normal;
	}

	@media (min-width: 751px) {
		.snone {
			display: none;
		}
	}


	/*******メニュー*******/
	/*
.menu_rap{
	position: fixed;
	right: 15px;
	top: 15px;
	z-index: 9999;
}
*/
	#menu {
		position: relative;
		/*ボタン内側の基点となるためrelativeを指定*/
		/*background:#3F1F00;*/
		cursor: pointer;
		width: 50px;
		height: 50px;
		border-radius: 5px;
	}

	/*ボタン内側*/
	#menu span {
		display: inline-block;
		transition: all .4s;
		/*アニメーションの設定*/
		position: absolute;
	}

	#menu span:nth-of-type(1),
	#menu span:nth-of-type(3) {
		height: 4px;
		background: #59B200;
		width: 62%;
		left: 10px;
	}

	#menu span:nth-of-type(1) {
		top: 13px;
	}

	#menu span:nth-of-type(2) {
		top: 15px;
		left: 10px;
		font-size: 0.6rem;
		text-transform: uppercase;
		color: #59B200;
	}

	#menu span:nth-of-type(3) {
		top: 36px;
	}

	#menu.bk span:nth-of-type(1),
	#menu.bk span:nth-of-type(3) {
		background: #000;
	}

	#menu.bk span:nth-of-type(2) {
		color: #000;
	}


	/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
	#menu.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}

	#menu.active span:nth-of-type(2) {
		opacity: 0;
	}

	#menu.active span:nth-of-type(3) {
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}




	/***************************************************************************/
	.hidden {
		display: none;
	}

	.center {
		text-align: center;
	}

	.right {
		text-align: right;
	}

	.left {
		text-align: left;
	}

	.f10 {
		font-size: 10px !important;
	}

	.f11 {
		font-size: 11px !important;
	}

	.f12 {
		font-size: 12px !important;
	}

	.f13 {
		font-size: 13px !important;
	}

	.f14 {
		font-size: 14px !important;
	}

	.f15 {
		font-size: 15px !important;
	}

	.f16 {
		font-size: 16px !important;
	}

	.f17 {
		font-size: 17px !important;
	}

	.f18 {
		font-size: 18px !important;
	}

	.f19 {
		font-size: 18px !important;
	}

	.f20 {
		font-size: 20px !important;
	}

	.f25 {
		font-size: 25px !important;
	}

	.f30 {
		font-size: 30px !important;
	}

	.red {
		color: #FF4C4C;
	}

	.green {
		color: #59B200;
	}

	.blue {
		color: #0066E5;
	}

	/***************************************************************************/


	#pan {
		width: 480px;
		margin: auto;
		padding-top: 15px;
		padding-bottom: 15px;
	}

	#pan li a {
		text-decoration: none;
		color: #525252;
	}

	#pan li a:hover {
		text-decoration: underline;
	}

	#pan li {
		color: #525252;
	}

	ol#pan>li:before {
		content: "»";
		padding-right: 10px;
		padding-left: 10px;
	}

	ol#pan>li:first-child:before {
		content: none;
	}


	/************************************************************************/

	header {
		position: fixed;
		top: 0;
		width: 100%;
		padding-top: 5px;
		background: #fff;
		z-index: 50;
		height: 50px;
	}

	header #header_rap {
		padding-left: 15px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-right: 10px;
	}

	header #header_rap h1 img {
		width: 80%;
	}


	header #header_boxs {
		display: none;
	}

	/*
#keyimg{
	height: 445px;
}*/

	#keyimg .box_rap {
		width: 100%;
		/*padding-top: 150px;*/
	}

	#keyimg .box_rap .box {
		width: 380px;
		background: rgba(255, 255, 255, 0.8);
		padding: 20px;
		height: 160px;
	}

	#keyimg .box_rap .box .f20 {
		font-size: 20px;
		color: #59B200;
		font-weight: bold;
		margin-bottom: 15px;
		padding-left: 10px;
		padding-right: 10px;
	}

	#keyimg .box_rap .box h1 {
		font-size: 30px;
		border-bottom: 1px solid #59B200;
		color: #333;
		padding-bottom: 10px;
		padding-left: 10px;
		padding-right: 10px;
		margin-bottom: 15px;
	}


	#keyimg .box_rap .box .f16 {
		font-size: 16px;
		line-height: 150%;
		padding-left: 10px;
		padding-right: 10px;
	}

	.g_nav_box {
		border-top: 1px solid #ddd;
		/*padding-top: 15px;*/
		padding-bottom: 15px;
		position: fixed;
		z-index: 10;
		width: 100%;
		background: #fff;
		top: 65px;
		/*background-color:rgba(255,255,255,0.5);*/
		display: none;
	}

	nav ul {
		/*width: px;
	margin: auto;
	display: flex;
	justify-content: space-between;*/
		border-right: 1px solid #ddd;
	}

	nav ul li {
		border-bottom: 1px solid #ddd;
		width: 100%;
	}

	nav ul li a {
		display: block;
		font-size: 18px;
		color: #70991f;
		text-decoration: none;
		line-height: 125%;
		padding-top: 10px;
		padding-bottom: 10px;
		position: relative;
		padding-left: 15px;
		background: url("../img/s_icon01.jpg") right 10px center no-repeat;
	}

	nav ul li a .f12,
	nav ul li a br {
		font-size: 12px;
		/*font-weight: bold;*/
		letter-spacing: -1px;
		display: none;
	}

	nav ul li a:hover {
		color: #59B200;
		/*color: #1E8EFF;*/
	}


	nav ul li a::after {
		content: '';
		display: block;
		height: 1px;
		width: 80%;
		background: #59B200;
		/*background:  #1E8EFF;*/
		position: absolute;
		bottom: 0;
		left: 10%;
		transform: scale(0, 1);
		transition: .3s;
	}

	nav ul li a:hover::after {
		transform: scale(1, 1);
	}

	.g_nav_box .in_rap {
		padding-top: 15px;
		margin-bottom: 35px;
	}

	.g_nav_box .in_rap ul {
		display: flex;
		justify-content: center;
	}

	.g_nav_box .in_rap ul li {
		padding: 15px;
	}

	.g_nav_box .in_rap p {
		color: #59B200;
		font-size: 18px;
		margin-bottom: 10px;
	}

	.g_nav_box .in_rap p.obj02 a {
		font-size: 25px;
		font-weight: bold;
		color: #59B200;
		text-decoration: none;
	}

	.setcourse {
		background: #F1F0E9;
		padding-top: 25px;
		padding-bottom: 25px;
	}

	.setcourse h3 {
		/*width: 1100px;
	margin: auto;*/
		border-left: 10px solid #8CC11F;
		padding-left: 15px;
		font-size: 30px;
		line-height: 60px;
		font-weight: normal;
		margin-bottom: 10px;
	}

	.setcourse p {
		/*width: 1100px;
	margin: auto;*/
		font-size: 18px;
		padding-left: 15px;
		margin-bottom: 25px;
	}

	.setcourse ul {
		/*width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;*/
	}


	.tell_box {
		/*background: #F1F0E9;*/
		padding-top: 50px;
		padding-bottom: 50px;
		margin-bottom: 50px;
	}

	.tell_box ul {
		/*display: flex;
	width: 1100px;
	margin: auto;
	justify-content: space-between;*/
		position: relative;
		overflow: hidden;
	}

	.tell_box ul::after {
		content: '';
		position: absolute;
		top: -10%;
		left: -20%;
		width: 40px;
		height: 100%;
		transform: scale(2) rotate(20deg);
		background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

		/* アニメーション */
		animation-name: shiny;
		animation-duration: 5s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
	}



	.tell_box ul li a:hover {
		opacity: 0.8;
	}





	#footer_tell_box {
		background: #F1F0E9;
		padding-top: 50px;
		padding-bottom: 50px;
	}

	#footer_tell_box ul {
		/*display: flex;
	width: 1100px;
	margin: auto;*/
		justify-content: space-between;
		position: relative;
		overflow: hidden;
	}

	#footer_tell_box ul::after {
		content: '';
		position: absolute;
		top: -10%;
		left: -20%;
		width: 40px;
		height: 100%;
		transform: scale(2) rotate(20deg);
		background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);

		/* アニメーション */
		animation-name: shiny;
		animation-duration: 5s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
	}




	#footer_tell_box ul li a:hover {
		opacity: 0.8;
	}

	footer {
		background: #F1F0E9;
	}

	footer #footer_title {
		background: #eee;
		border-top: 1px solid #bbb;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	footer #footer_title p {
		/*	width: 1075px;
	margin: auto;*/
		line-height: 45px;
		font-size: 23px;
		padding-left: 25px;
		font-family: kozuka-gothic-pr6n, sans-serif;
		font-weight: 500;
		font-style: normal;
	}

	footer #footer_title p img {
		padding-right: 15px;
	}

	footer #footer_title p span {
		padding-left: 15px;
		font-family: kozuka-gothic-pr6n, sans-serif;
		font-weight: 500;
		font-style: normal;
	}

	footer .bg {
		background: #fff;
		padding-bottom: 100px;
	}

	footer .bg #footer_rap01 {
		/*width: 1100px;
	margin: auto;
	display: flex;
	justify-content: space-between;*/
		padding-top: 30px;
	}

	footer .bg #footer_rap02 {
		/*width: 800px;
	margin: auto;*/
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding-top: 30px;
		background: url("../img/footer_img01.jpg") 800px 15px no-repeat;
		padding-right: 300px;
	}

	footer #footer_rap02 dl,
	footer #footer_rap01 dl {
		width: 250px;
		overflow: hidden;
	}

	footer #footer_rap02 dl {
		margin-bottom: 25px;
	}

	footer #footer_rap02 dt,
	footer #footer_rap01 dt {
		color: #53A600;
		border-bottom: 1px solid #bbb;
		margin-bottom: 10px;
		height: 28px;
		line-height: 28px;
		font-size: 18px;
		padding-left: 10px;
	}

	footer #footer_rap02 dd,
	footer #footer_rap01 dd {
		width: 50%;
		float: left;
		margin-bottom: 5px;
	}

	footer #footer_rap02 dd a,
	footer #footer_rap01 dd a {
		color: #333;
		text-decoration: none;
		font-size: 14px;
	}

	footer #footer_rap02 dd a:hover,
	footer #footer_rap01 dd a:hover {
		text-decoration: underline;
	}

	footer #copy {
		display: block;
		background: #8CC11F;
		height: 50px;
		text-align: center;
		font-size: 14px;
		color: #fff;
		line-height: 50px;
	}

	footer #footer_rap03 {
		/*width: 950px;
	margin: auto;
	display: flex;*/
		padding-top: 45px;
		padding-bottom: 45px;
	}

	footer #footer_rap03 .box01 {
		border-right: 1px solid #ddd;
		text-align: center;
		padding-right: 70px;
		padding-top: 25px;
		padding-bottom: 25px;
	}

	footer #footer_rap03 .box01 dt {
		margin-bottom: 30px;
	}

	footer #footer_rap03 .box01 dt a {
		font-size: 23px;
		color: #333;
		text-decoration: none;
	}

	footer #footer_rap03 .box01 dl {
		margin-bottom: 30px;
	}

	footer #footer_rap03 .box01 dd {
		color: #59B200;
		font-size: 18px;
		margin-bottom: 10px;
	}

	footer #footer_rap03 .box01 dd a {
		color: #59B200;
		font-size: 30px;
		background: url("../img/header_tell.jpg") left center no-repeat;
		padding-left: 40px;
		font-weight: bold;
	}

	footer #footer_rap03 .box01 ul {
		/*display: flex;
	width: 300px;
	margin: auto;
	justify-content: space-between;*/
	}

	footer #footer_rap03 .box02 {
		padding-left: 150px;
		padding-top: 15px;
	}

	footer #footer_rap03 .box02 ul {
		/*display: flex;
	flex-flow:column wrap;*/
		height: 250px;
		padding-right: 25px;
	}

	footer #footer_rap03 .box02 li {
		list-style-type: square;
		margin-bottom: 5px;
		padding-right: 30px;
	}

	footer #footer_rap03 .box02 li ul {
		padding-left: 15px;
		padding-top: 10px;
		display: block;
		height: auto;
	}

	footer #footer_rap03 .box02 li li {
		list-style-type: disc;
	}

	footer #footer_rap03 .box02 li a {
		color: #333;
		font-size: 14px;
		text-decoration: none;
	}

	footer #footer_rap03 .box02 li a:hover {
		text-decoration: underline;
	}
}