@charset "utf-8";

/* 共通設定及びモバイル用
------------------------------------------------------------*/
.inner { width: 90%; max-width: 1240px; margin-right: auto; margin-left: auto; }


/* ヘッダー
*****************************************************/
#header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 60px; background: #FFF; }
#header h1 { max-width: 175px; max-height: 30px; padding: 10px 0 0; float: left; }
#header h1 a:hover { opacity: 0.6; }

/* -- メニュー -- */
#header .menu { display: none; height: 50px; background: #468F1F; }
#header .menu a { display: block; font-weight: bold; text-decoration: none; }
#header .menu .user { float: left; }
#header .menu .user li { margin: 8px clamp( 10px, 1dvw, 20px ) 0 0; }
#header .menu .user li a {
	font-size: clamp( 12px, calc( 12px + 2 * ( ( 100dvw - 980px ) / 940 ) ), 14px );
	color: #FFF;
	padding: 10px 0;
/*	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 2px;*/
}
#header .menu .user li a i { margin-right: 6px; }
#header .menu .user li a:hover {
	opacity: 0.6;
	/*color: #333;
	background: #FFF;*/
}
#header .menu .user li a:hover i {
	/*color: #468F1F;*/
}
#header .menu .btn { float: right; }
#header .menu .btn li { position: relative; border-left: 1px solid rgba(255,255,255,0.3); }
#header .menu .btn li:last-child { border-right: 1px solid rgba(255,255,255,0.3); }
#header .menu .btn li a {
	position: relative;
	font-size: 12px;
	font-size: 1.2rem;
	color: #DAE9D2;
	text-align: center;
	width: 85px;
	height: 50px;
	padding: 6px 0 0;
	box-sizing: border-box;
}
#header .menu .btn li a:before { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 0; height: 4px; background: rgba(255,255,255,0.8); -webkit-transition: 0.4s width ease; -moz-transition: 0.4s width ease; transition: 0.4s width ease; }
#header .menu .btn li a i { display: block; font-size: 18px; font-size: 1.8rem; color: #FFF; margin: 0 0 6px; } 
#header .menu .btn li a {
	&[href*="instagram"] {
		.instagram {
			content: '';
			display: block;
			width: 18px;
			height: 18px;
			margin: 0 auto 6px;
			background: url("../img/icon_instagram.svg") no-repeat 50% 50% / contain;
		}
	}
}
#header .menu .btn li a:hover:before { width: 100%; }

/* -- 検索窓 -- */
#header .menu .btn li .search { position: absolute; top: 100%; right: 0; z-index: 2; display: none; width: 500px; padding: 10px 20px; background: #FFF; box-sizing: border-box; /* opacity: 0; visibility: hidden; */ }
#header .menu .btn li .search input[type="text"]   { font-size: 20px; font-size: 2.0rem; line-height: 56px; padding: 0 34px 0 0; height: 56px; border: none; }
#header .menu .btn li .search input[type="submit"] { position: absolute; top: 0; right: 20px; bottom: 0; display: block; text-indent: 100%; white-space: nowrap; overflow: hidden; width: 24px; height: 24px; margin: auto; padding: 0; background: url(../img/footer/search.png) no-repeat; border: none; }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#header .menu .btn li .search input[type="submit"] { background-image: url(../img/footer/search@2x.png); background-size: cover; }
}

/* -- Instagram -- */
#header .instaBtn {
	position: absolute;
	top: 0;
	right: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 5px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	width: 70px;
	height: 60px;
	background-color: #468F1F;
	border-right: 1px solid rgba(255,255,255,0.60);
	box-sizing: border-box;
	cursor: pointer;
	
	.icon {
		display: block;
		width: 20px;
		height: 20px;
		background: url("../img/icon_instagram.svg") no-repeat 50% 50% / contain;
	}
	.text {
		font-size: 12px;
		font-weight: bold;
	}
	
	@media screen and (min-width: 980px) {
		display: none;
	}
}

/* -- ボタン -- */
#header .menuBtn { position: absolute; top: 0; right: 0; color: #FFF; width: 60px; height: 60px; background: #468F1F; cursor: pointer; }
#header .menuBtn i,
#header .menuBtn i:before,
#header .menuBtn i:after  {
	position: absolute; right: 0; left: 0; content: ""; display: block; width: 26px; height: 2px; margin: auto; background: #FFF; border-radius: 20px;
	-webkit-transition: 0.4s transform ease, 0.4s background ease; -moz-transition: 0.4s transform ease, 0.4s background ease; transition: 0.4s transform ease, 0.4s background ease;
}
#header .menuBtn i { position: relative; top: 18px; }
#header .menuBtn i:before { top: -8px; }
#header .menuBtn i:after  { bottom: -8px; }
#header .menuBtn span { display: block; font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #FFF; text-align: center; padding: 35px 0 0; }
#header .menuBtn.active i { background: transparent; }
#header .menuBtn.active i:before { top: 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
#header .menuBtn.active i:after  { bottom: 0; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }

/* -- オーバーレイ -- */
.overlay { position: fixed; top: 0; left: 0; z-index: 0; display: none; width: 100%; height: 100%; background: rgba(0,0,0,0.46); }


/* ナビ
*****************************************************/
#glovalNav { display: none; width: -webkit-calc(100% - 288px); width: calc(100% - 288px); margin: 0; float: right; }
#glovalNav > ul { max-width: 628px; margin-left: auto; }
#glovalNav > ul > li { width: 18%; margin-right: 2.5%; float: left; }
#glovalNav > ul > li:last-child { margin-right: 0; }
#glovalNav > ul > li > p { position: relative; font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #222; line-height: 1.35; text-align: center; letter-spacing: 0.1em; white-space: nowrap; margin: 0; padding: 10px 20px 20px; cursor: pointer; }
#glovalNav > ul > li > p:before,
#glovalNav > ul > li > p:after  { position: absolute; content: ""; display: block; -webkit-transition: 0.4s background ease, 0.4s border-color ease; -moz-transition: 0.4s background ease, 0.4s border-color ease; transition: 0.4s background ease, 0.4s border-color ease; }
#glovalNav > ul > li > p:before { bottom: 10px; left: 0; width: 100%; height: 2px; background: #DDD; }
#glovalNav > ul > li > p:after  { right: 0; bottom: 12px; left: 0; width: 0; height: 0; margin: auto; border-style: solid; border-width: 0 4px 6px 4px; border-color: transparent; }
#glovalNav > ul > li > p i { display: block; font-size: 26px; font-size: 2.6rem; margin: 0 0 6px; }
#glovalNav > ul > li:nth-child(1) > p i { color: #E06565; }
#glovalNav > ul > li:nth-child(2) > p i { color: #26BED9; }
#glovalNav > ul > li:nth-child(3) > p i { color: #FFC926; }
#glovalNav > ul > li:nth-child(4) > p i { color: #B973FF; }
#glovalNav > ul > li:nth-child(5) > p i { color: #AFBB1E; }

/* -- メガメニュー -- */
#glovalNav .megamenu { position: absolute; top: 96%; left: 0; z-index: 2; width: 100%; height: auto; visibility: hidden; opacity: 0; transition: 0.4s top ease, 0.4s visibility ease, 0.4s opacity ease; }
#glovalNav .megamenu a { display: block; color: #FFF; text-decoration: none; }
#glovalNav .megamenu .inner { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; min-height: 200px; }
#glovalNav .megamenu .megamenuTitle { position: relative; width: 16%; max-width: 200px; background: rgba(255,255,255,0.2); }
#glovalNav .megamenu .megamenuTitle p { font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #FFF; border-left: 4px solid #FFF; margin: 30px 0 0; padding-left: 20px; }
#glovalNav .megamenu .megamenuTitle p span { display: block; font-size: 16px; font-size: 1.6rem; font-weight: bold; margin: 10px 0 0; background: none !important; }
/*
#glovalNav .megamenu .megamenuPhoto,
#glovalNav .megamenu .megamenuList  { width: -webkit-calc(42% - 30px); width: calc(42% - 30px); padding: 30px 0 30px 30px; }
#glovalNav .megamenu .megamenuPhoto li,
#glovalNav .megamenu .megamenuList  li { width: -webkit-calc(50% - 15px); width: calc(50% - 15px); float: left; }
#glovalNav .megamenu .megamenuPhoto li:nth-child(2n+2),
#glovalNav .megamenu .megamenuList  li:nth-child(2n+2) { margin-right: 0; }
#glovalNav .megamenu .megamenuPhoto { padding-bottom: 0; }
#glovalNav .megamenu .megamenuPhoto li { margin: 0 30px 30px 0; }
#glovalNav .megamenu .megamenuPhoto li a p { position: relative; z-index: 0; margin: 0 0 10px; }
#glovalNav .megamenu .megamenuPhoto li a p:before { position: absolute; top: 0; bottom: 0; left: 0; z-index: -1; content: ""; display: block; width: 100%; height: 1px; margin: auto; background: rgba(255,255,255,0.46); }
#glovalNav .megamenu .megamenuPhoto li a p span { font-size: 16px; font-size: 1.6rem; font-weight: bold; padding-right: 10px; }
#glovalNav .megamenu .megamenuPhoto li a div { overflow: hidden; }
#glovalNav .megamenu .megamenuPhoto li a div img { -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
#glovalNav .megamenu .megamenuPhoto li a:hover div img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); transform: scale(1.2); }
#glovalNav .megamenu .megamenuList li { margin-right: 30px; border-top: 1px solid rgba(255,255,255,0.46); }
#glovalNav .megamenu .megamenuList li a { position: relative; font-size: 14px; font-size: 1.4rem; line-height: 1.35; padding: 10px 24px 10px 0; }
#glovalNav .megamenu .megamenuList li a:before { position: absolute; top: 0; right: 0; bottom: 0; display: block; font-family: "Font Awesome 5 Free"; content: "\f35a"; line-height: 1; width: 14px; height: 14px; margin: auto; }
#glovalNav .megamenu .megamenuList li a:hover { background: rgba(255,255,255,0.1); }
*/
#glovalNav .megamenu .megamenuList { width: 100%; padding: 30px 30px 15px; }
#glovalNav .megamenu .megamenuList li { width: -webkit-calc(33.33% - 10px); width: calc(33.33% - 10px); margin: 0 15px 15px 0; float: left; }
#glovalNav .megamenu .megamenuList li:nth-child(3n+3) { margin: 0 0 15px; }
#glovalNav .megamenu .megamenuList li a { position: relative; color: #333; line-height: 1.35; white-space: nowrap; padding: 10px 34px 10px 10px; background: rgba(255,255,255,1.0); border: 2px solid #FFF; border-radius: 2px; box-shadow: 0 2px 0 rgba(0,0,0,0.46); }
#glovalNav .megamenu .megamenuList li a:before { position: absolute; top: 0; right: 10px; bottom: 0; display: block; font-family: "Font Awesome 5 Free"; content: "\f35a"; line-height: 1; width: 14px; height: 14px; margin: auto; }
#glovalNav .megamenu .megamenuList li a:hover { position: relative; top: 1px; color: #FFF; background: rgba(255,255,255,0); box-shadow: 0 1px 0 rgba(0,0,0,0.46); }
#glovalNav .megamenu .megamenuList li a:hover:before { color: #FFF !important; }
#glovalNav #menu_01,
#glovalNav #menu_01 span { background: #E16565; }
#glovalNav #menu_01 .megamenuList li a:before { color: #E16565; }
#glovalNav #menu_02,
#glovalNav #menu_02 span { background: #26BED9; }
#glovalNav #menu_02 .megamenuList li a:before { color: #26BED9; } 
#glovalNav #menu_03,
#glovalNav #menu_03 span { background: #FFC926; }
#glovalNav #menu_03 .megamenuList li a:before { color: #FFC926; } 
#glovalNav #menu_04,
#glovalNav #menu_04 span { background: #B973FF; }
#glovalNav #menu_04 .megamenuList li a:before { color: #B973FF; } 
#glovalNav #menu_05,
#glovalNav #menu_05 span { background: #AFBB1E; }
#glovalNav #menu_05 .megamenuList li a:before { color: #AFBB1E; } 

/* -- ホバー動作 -- */
#glovalNav > ul > li:nth-child(1).is_active > p:before { background: #E16565; }
#glovalNav > ul > li:nth-child(1).is_active > p:after  { border-bottom-color: #E16565; }
#glovalNav > ul > li:nth-child(2).is_active > p:before { background: #26BED9; }
#glovalNav > ul > li:nth-child(2).is_active > p:after  { border-bottom-color: #26BED9; }
#glovalNav > ul > li:nth-child(3).is_active > p:before { background: #FFC926; }
#glovalNav > ul > li:nth-child(3).is_active > p:after  { border-bottom-color: #FFC926; }
#glovalNav > ul > li:nth-child(4).is_active > p:before { background: #B973FF; }
#glovalNav > ul > li:nth-child(4).is_active > p:after  { border-bottom-color: #B973FF; }
#glovalNav > ul > li:nth-child(5).is_active > p:before { background: #AFBB1E; }
#glovalNav > ul > li:nth-child(5).is_active > p:after  { border-bottom-color: #AFBB1E; }
#glovalNav > ul > li.is_active .megamenu { top: 100%; visibility: visible; opacity: 1.0; }


/* メインイメージ
*****************************************************/
#main { position: relative; z-index: 0; margin: 60px 0 0; overflow: hidden; background: #468F1F; }
#main:before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,0.26); }
#main .inner { position: relative; height: 400px; }
#main .inner h2 { position: absolute; top: 25%; left: 0; width: 80%; margin: 0; }
#main video { position: absolute; top: 50%; left: 50%; z-index: -2; width: auto; height: 100%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }


/* コンテンツ
*****************************************************/
#content { padding-top: 30px; padding-bottom: 30px; }


/* サイドバー
*****************************************************/
#sidebar { margin: 30px 0 0; }
#sidebar .sideTitle { /* position: relative; width: 40%; float: left; background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; */ border-bottom: 4px solid #E16565; }
#sidebar .sideTitle p { /* position: absolute; bottom: 0; left: 0; */ font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #FFF; line-height: 1.35; width: 100%; margin: 0; padding: 40px 20px; /* padding: 20px;  background: rgba(70,143,31,0.6); */ background: #468F1F; box-sizing: border-box; }
#sidebar .sideTitle p span { display: block; font-size: 12px; font-size: 1.2rem; font-weight: bold; text-transform: capitalize; margin: 6px 0 0; }
/* 
#sidebar .sideMenu { margin-left: 40%;  }
*/
#sidebar .sideMenu ul li { border-bottom: 1px solid #F2F1ED; }
#sidebar .sideMenu ul li:last-child { border-bottom: none; }
#sidebar .sideMenu ul li a { position: relative; display: block; color: #555; line-height: 1.35; text-decoration: none; padding: 18px 20px 18px 34px; background: #FFF; }
#sidebar .sideMenu ul li a:before { position: absolute; top: 0; bottom: 0; left: 20px; content: ""; display: block; width: 4px; height: 4px; margin: auto; border-top: 2px solid; border-right: 2px solid; border-color: #539530; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: 0.4s border-color ease; -moz-transition: 0.4s border-color ease; transition: 0.4s border-color ease; }
#sidebar .sideMenu ul li.current-menu-item a,
#sidebar .sideMenu ul li.current-menu-parent a,
#sidebar .sideMenu ul li.current-post-parent a,
#sidebar .sideMenu ul li.current-cat a { background: #F2F1ED; border-left: 4px solid #539530; }
#sidebar .sideMenu ul li a:hover { color: #FFF; background: #539530; }
#sidebar .sideMenu ul li a:hover:before { border-color: #FFF; }
#sidebar .sideArchive p { font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #222; line-height: 1.35; margin: 0; padding: 40px 0; border-top: 4px solid #468F1F; }
#sidebar .sideArchive p span { display: block; font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #468F1F; margin: 5px 0 0; }
#sidebar .sideArchive dl { background: #FFF; }
#sidebar .sideArchive dl dt { position: relative; font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #468F1F; padding: 20px 50px 20px 44px; border-bottom: 1px solid #F2F1ED; cursor: pointer; }
#sidebar .sideArchive dl dt:before,
#sidebar .sideArchive dl dt:after  { position: absolute; top: 0; bottom: 0; content: ""; display: block; margin: auto; -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
#sidebar .sideArchive dl dt:before { left: 20px; width: 6px; height: 6px; background: #FFF; border: 4px solid #468F1F; border-radius: 50%; }
#sidebar .sideArchive dl dt:after  { right: 20px; width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 10px; border-color: transparent; border-top-color: #E6F8DC; }
#sidebar .sideArchive dl dt.active:after { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); transform: rotate(180deg); }
#sidebar .sideArchive dl dd { display: none; }
#sidebar .sideArchive dl dd ul li { border-bottom: 1px solid #F2F1ED; }
#sidebar .sideArchive dl dd ul li:last-child { border-bottom: none; }
#sidebar .sideArchive dl dd ul li a { position: relative; display: block; color: #555; text-decoration: none; padding: 15px 0 15px 40px; }
#sidebar .sideArchive dl dd ul li a:before { position: absolute; top: 0; bottom: 0; left: 20px; content: ""; display: block; width: 4px; height: 4px; margin: auto; border-top: 2px solid; border-right: 2px solid; border-color: #539530; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: 0.4s border-color ease; -moz-transition: 0.4s border-color ease; transition: 0.4s border-color ease; }
#sidebar .sideArchive dl dd ul li a:hover { color: #FFF; background: #539530; }
#sidebar .sideArchive dl dd ul li a:hover:before { border-color: #FFF; }

/* -- Fit Sidebar -- */
.fit-sidebar-fixed { position: fixed; margin-top: 0 !important; margin-bottom: 0 !important; }
.fit-sidebar-blank { z-index: 0; background-color: transparent; visibility: hidden; }


/* フッター
*****************************************************/
#footer { position: relative; margin: 33px 0 0; padding: 30px 0 0; background: #468F1F; }
#footer:before { position: absolute; top: -32px; left: 0; content: ""; width: 100%; height: 33px; background: url(../img/footer/background.png) -2px 0; }
#footer .inner { position: relative; }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#footer:before { background-image: url(../img/footer/background@2x.png); background-size: 115px 33px; }
}

/* -- ページトップへ戻る -- */
#footer .pagetop,
#footer .pagetop a { width: 130px; height: 65px; margin: auto; }
#footer .pagetop   { position: absolute; top: -60px; right: 0; z-index: 2; }
#footer .pagetop a { display: block; text-indent: 100%; white-space: nowrap; overflow: hidden; background: url(../img/footer/pagetop.png) no-repeat; }
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#footer .pagetop a { background-image: url(../img/footer/pagetop@2x.png); background-size: cover; }
}

/* -- ナビゲーション -- */
#footer .footNav { position: fixed; top: 60px; right: -100%; width: 100%; height: -webkit-calc(100% - 60px); height: calc(100% - 60px); background: #468F1F; -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
#footer .footNav.active { -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); transform: translateX(-100%); }
#footer .footNav .scroll { position: relative; width: auto; height: 100%; min-height: 100%; overflow: auto; box-sizing: border-box; }
#footer .footNav .search form { position: relative; }
#footer .footNav .search input[type="text"] { line-height: 60px; width: 100%; height: 60px; padding-right: 54px; background: rgba(255,255,255,0.9); box-sizing: border-box; }
#footer .footNav .search input[type="submit"] { position: absolute; top: 0; right: 20px; bottom: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; width: 24px; height: 24px; margin: auto; padding: 0; background: url(../img/footer/search.png) no-repeat; border: none; cursor: pointer; }
#footer .footNav .contact { width: 100%; padding: 20px; box-sizing: border-box; }
#footer .footNav .contact li { margin: 0 0 10px; }
#footer .footNav .contact li:last-child { margin: 0; }
#footer .footNav .contact li a { display: block; font-size: 14px; font-size: 1.4rem; font-weight: bold; color: #222; text-decoration: none; text-align: center; padding: 15px 10px; background: #FFF; border-radius: 2px; }
#footer .footNav .contact li a i { font-size: 18px; font-size: 1.8rem; color: #468F1F; vertical-align: middle; margin-right: 6px; }
#footer .footNav .contact li a:hover { background: rgba(255,255,255,0.6); }
#footer .footNav .users { padding: 20px 20px 10px; }
#footer .footNav .users li a { position: relative; display: block; font-size: 14px; font-size: 1.4rem; font-weight: bold; color: #FFF; text-decoration: none; padding: 10px 0; }
#footer .footNav .users li a:before { position: absolute; left: 0; content: "\f35a"; display: none; font-family: "Font Awesome 5 Free"; line-height: 1; width: 14px; height: 14px; }
#footer .footNav .sitemap { padding: 20px 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,0.4); border-bottom: 1px solid rgba(255,255,255,0.4); }
#footer .footNav .sitemap div { -webkit-transition: 0.4s background ease; -moz-transition: 0.4s background ease; transition: 0.4s background ease; }
#footer .footNav .sitemap div dt { font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #FFF; padding: 15px 20px; cursor: pointer; }
#footer .footNav .sitemap div dt i { margin-right: 6px; }
/*
#footer .footNav .sitemap div dd {
	max-height: 0; visibility: hidden; opacity: 0;
	-webkit-transition: 0.4s max-height ease, 0.4s opacity ease, 0.4s visibility ease;
	-moz-transition: 0.4s max-height ease, 0.4s opacity ease, 0.4s visibility ease;
	transition: 0.4s max-height ease, 0.4s opacity ease, 0.4s visibility ease;
}
*/
#footer .footNav .sitemap div dd ul li a { position: relative; display: block; font-size: 14px; font-size: 1.4rem; color: #FFF; line-height: 1.35; text-decoration: none; padding: 10px 44px 10px 42px; }
#footer .footNav .sitemap div dd ul li a:after { position: absolute; top: 0; right: 20px; bottom: 0; content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #FFF; width: 14px; height: 14px; margin: auto; }
/*
#footer .footNav .sitemap div.active { background: rgba(255,255,255,0.2); }
#footer .footNav .sitemap div.active dd { max-height: 100vh; visibility: visible; opacity: 1.0; }
*/
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	#footer .footNav .search button[type="submit"] { background-image: url(../img/footer/search@2x.png); background-size: 24px 24px; }
}

/* -- 住所 -- */
#footer .footAdrs p { max-width: 262px; margin: 0 0 20px; }
#footer .footAdrs address { font-size: 14px; font-size: 1.4rem; color: #FFF; line-height: 1.6; padding: 20px 0; border-top: 1px solid rgba(255,255,255,0.4); border-bottom: 1px solid rgba(255,255,255,0.4); }
#footer .footAdrs address a { color: #FFF; text-decoration: none; }
#footer .footAdrs ul li { width: calc(33.33% - 6.66px); margin: 20px 10px 0 0; float: left; }
#footer .footAdrs ul li:nth-child(3n+3) { margin: 20px 0 0; }

/* -- Copyright -- */
#footer .copyright { margin: 30px 0 0; background: #FFF; clear: both; }
#footer .copyright ul { margin: 20px 0; float: left; }
#footer .copyright ul li { margin-right: 10px; padding-right: 10px; border-right: 1px solid #DDD; }
#footer .copyright ul li:last-child { margin-right: 0; padding-right: 0; border-right: none; }
#footer .copyright ul li a { font-size: 14px; font-size: 1.4rem; color: #555; text-decoration: none; }
#footer .copyright p { font-size: 12px; font-size: 1.2rem; line-height: 1.35; text-align: right; margin: 20px 0; float: right; }
#footer .copyright p a { display: block; font-weight: bold; text-decoration: none; }


/* トップ
------------------------------------------------------------*/
.headLine { font-size: 30px; font-size: 3.0rem; font-weight: bold; color: #222; text-align: center; margin: 0 0 20px; }
.headLine span { display: block; font-size: 13px; font-size: 1.3rem; font-weight: bold; color: #555; margin: 6px 0 0; }
.headLine.white,
.headLine.white span { color: #FFF; }

/* -- 一覧で見る -- */
.listBtn { margin: 0; }
.listBtn a { display: block; font-weight: bold; color: #468F1F; line-height: 1.35; text-decoration: none; text-align: center; padding: 10px 20px; border: 2px solid #468F1F; border-radius: 2px; }
.listBtn a i { margin-right: 6px; }
.listBtn a:hover { color: #FFF; background: #468F1F; }

/* -- 緊急告知スペース -- */
.topAttenction { display: table; margin-bottom: 30px; padding: 30px; background: #C93100; box-sizing: border-box; }
.topAttenction h3,
.topAttenction div { display: table-cell; vertical-align: middle; }
.topAttenction h3  { font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #FFF; line-height: 1.35; width: 12%; padding-right: 30px; box-sizing: border-box; }
.topAttenction div { color: #333; line-height: 1.75; padding: 20px; background: #FFF; }
.topAttenction div p:last-of-type { margin-bottom: 0; }

/* -- お知らせ -- */
.topNews { margin-bottom: 30px; padding: 30px; background: #FFF; box-sizing: border-box; }
.topNews h3 { font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #222; margin: 0 0 20px;  }
.topNews h3 i { color: #468F1F; margin-right: 6px; }
.topNews h3 span { font-size: 12px; font-size: 1.2rem; font-weight: bold; margin-left: 10px; }
.topNews ul { height: 150px; margin: 0 0 20px; overflow: auto; }
.topNews ul li { line-height: 1.35; padding: 10px 20px; }
.topNews ul li:nth-child(odd) { background: #FAF9F5; }
.topNews ul li a { display: block; color: #555; text-decoration: none; }
.topNews ul li a span { display: block; }
.topNews ul li a span.time { font-weight: bold; color: #222; float: left; padding-right: 10px; border-right: 1px solid #DDD; }
.topNews ul li a span.title { padding-left: 100px; }
.topNews ul li a:hover span.title { text-decoration: underline; }

/* -- バナー -- */
.topBar ul li { width: -webkit-calc(50% - 10px); width: calc(50% - 10px); margin: 0 20px 30px 0; float: left; }
.topBar ul li:nth-child(2n+2) { margin: 0 0 30px; }
.topBar ul li img { width: 100%; }

/* -- 学校生産物の販売 -- */
.topShop { position: relative; padding: 30px 0; }
.topShop h3 + p { color: #FFF; line-height: 1.6; text-align: center; }
/*
.topShop ul { margin: 0 0 20px; height: 200px; overflow: auto; }
.topShop ul li { margin: 0 0 20px; }
.topShop ul li a { display: table; table-layout: fixed; color: #555; line-height: 1.35; text-decoration: none; width: 100%; background: #FFF; }
.topShop ul li a .day,
.topShop ul li a .title { display: table-cell; vertical-align: middle; margin: 0; }
.topShop ul li a .day { font-size: 13px; font-size: 1.3rem; color: #FFF; text-align: center; width: 50px; background: #468F1F; }
.topShop ul li a .day span { display: block; font-size: 26px; font-size: 2.6rem; margin: 0 0 6px; }
.topShop ul li a .title { font-weight: bold; color: #222; padding: 20px; }
.topShop ul li a .title span { display: block; font-size: 13px; font-size: 1.3rem; font-weight: bold; color: #555; margin: 10px 0 0; }
*/
.topShop .topShopBox { background: #FFF; }
.topShop .topShopBox section { padding: 45px 30px; box-sizing: border-box; }
.topShop .topShopBox section h4 { font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #222; line-height: 1.75; margin: 0 0 20px; }
.topShop .topShopBox section p { line-height: 1.6; }
.topShop ul { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 70%; }
.topShop ul li img { position: relative; top: 50%; left: 50%; width: auto; max-width: none; height: 100%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

/* -- 活動日誌 -- */
.topActivity { margin-bottom: 30px; overflow: hidden; }
.topActivity .headLine { margin: 0; padding: 30px 0; background: url(../img/top/activity.jpg) no-repeat 50% 50%; background-size: cover; }
.topActivity .activityList li { margin: 0 2px; }
.topActivity .activityList li a { display: block; color: #555; text-decoration: none; }
.topActivity .activityList li a .thumb { overflow: hidden; }
.topActivity .activityList li a .thumb img { width: 100%; -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
.topActivity .activityList li a .box { position: relative; margin: -80px 20px 0; padding: 20px; background: #FFF; }
.topActivity .activityList li a span { display: block; }
.topActivity .activityList li a span.time { font-size: 14px; font-size: 1.4rem; margin: 0 0 10px; }
.topActivity .activityList li a span.cate { position: absolute; top: 0; right: 0; font-size: 12px; font-size: 1.2rem; color: #FFF; line-height: 30px; text-align: center; width: 156px; height: 30px; }
.topActivity .activityList li a .box h4 { font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #222; line-height: 1.35; margin: 0 0 10px; }
.topActivity .activityList li a .box p { font-size: 14px; font-size: 1.4rem; line-height: 1.5; margin: 0; }
.topActivity .activityList li a:hover .thumb img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); transform: scale(1.2); }
.topActivity .activityTabs li { margin: 20px 0 0; }
.topActivity .activityTabs li a { display: block; font-size: 14px; font-size: 1.4rem; font-weight: bold; text-decoration: none; text-align: center; padding: 14px 10px; border: 2px solid; border-radius: 2px; }
.topActivity .activityTabs li a:after { display: inline; font-family: "Font Awesome 5 Free"; content: "\f35a"; line-height: 1; margin-left: 6px; }
.topActivity .activityTabs li a:hover { background: #FFF; }

/* -- 学科紹介 -- */
.topCourse { padding: 30px 0; background: #FFF; }
.topCourse ul li { margin: 0 0 20px; }
.topCourse ul li:last-child { margin: 0; }
.topCourse ul li a { display: block; color: #FFF; text-decoration: none; }
.topCourse ul li a .thumb { margin: 0 0 5px; overflow: hidden; }
.topCourse ul li a .thumb img { width: 100%; -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
.topCourse ul li a:hover .thumb img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); transform: scale(1.2); }
.topCourse ul li a .box { line-height: 1.35; text-align: center; padding: 30px; }
.topCourse ul li a .box p { font-size: 14px; font-size: 1.4rem; margin: 0 0 10px; }
.topCourse ul li a .box h4 { font-size: 26px; font-size: 2.6rem; margin: 0; }
.topCourse ul li:nth-child(1) a .box { background-color: #E16565; }
.topCourse ul li:nth-child(2) a .box { background-color: #AFBB1E; }
.topCourse ul li:nth-child(3) a .box { background-color: #26BED9; }


/* サブページ
------------------------------------------------------------*/
#cateTitle { margin: 60px 0 0; background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; }
#cateTitle .inner { display: table; text-align: center; height: 250px; }
/*
#cateTitle .inner .box { display: table-cell; vertical-align: middle; }
#cateTitle .inner .box p { margin: 0; }
#cateTitle .inner .jp,
#cateTitle .inner .en { display: inline-block; font-weight: bold; color: #FFF; line-height: 1.35; padding: 6px 20px; }
#cateTitle .inner .jp { font-size: 20px; font-size: 2.0rem; background: rgba(70,143,31,0.9); }
#cateTitle .inner .en { font-size: 12px; font-size: 1.2rem; text-transform: capitalize; background: rgba(225,101,101,0.9); }
*/

/* -- パンくずリスト -- */
#breadcrumbs { font-size: 12px; font-size: 1.2rem; padding: 15px 0; }
#breadcrumbs ul li { position: relative; vertical-align: middle; margin-right: 5px; padding-right: 9px; }
#breadcrumbs ul li:before { position: absolute; top: 0; right: 0; bottom: 0; content: ""; display: block; width: 4px; height: 4px; margin: auto; border-top: 1px solid #999; border-right: 1px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
#breadcrumbs ul li a { display: block; color: #555; text-decoration: none; }
#breadcrumbs ul li a:hover { opacity: 0.6; }
#breadcrumbs ul li:first-child a:before { content: "\f015"; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #468F1F; line-height: 1; margin-right: 5px; }
#breadcrumbs ul li.current-item { margin-right: 0; padding-right: 0; }
#breadcrumbs ul li.current-item span { font-weight: bold; color: #468F1F; }
#breadcrumbs ul li.current-item:before { display: none; }

/* -- ページタイトル -- */
#pageTitle { background: #FFF; border-top: 1px solid #EFECE0; border-bottom: 1px solid #EFECE0; }
#pageTitle h2 { position: relative; font-size: 22px; font-size: 2.2rem; font-weight: bold; color: #222; margin: 0; padding: 40px 0 40px 26px; }
#pageTitle h2:before { position: absolute; top: 0; bottom: 0; left: 0; content: ""; display: block; width: 6px; height: 40px; margin: auto; background-color: #E16565; }


/* 投稿記事
------------------------------------------------------------*/
#article header { margin: 0 0 2.5em; }
#article header p { margin: 0 0 20px; }
#article header p a { display: inline-block; font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #222; line-height: 1.35; text-decoration: none; padding-bottom: 10px; border-bottom: 2px solid; }
#article header p a i { margin-right: 10px; }
#article header h1 { font-size: 22px; font-size: 2.2rem; font-weight: bold; color: #222; line-height: 1.35; }
#article header time { display: block; font-size: 14px; font-size: 1.4rem; color: #999; margin: 10px 0 0; }

/* -- ページャー -- */
.pager { text-align: center; margin: 2.5em 0 0; }
.pager a { position: relative; display: block; font-weight: bold; color: #FFF; line-height: 44px; text-decoration: none; text-align: center; height: 44px; background: #468F1F; border: 2px solid #468F1F; border-radius: 2px; }
.pager ul li { width: -webkit-calc(50% - 5px); width: calc(50% - 5px); margin: 0 10px 10px 0; }
.pager ul li:last-child { margin-right: 0; }
.pager ul li a:before { position: absolute; top: 0; bottom: 0; content: ""; display: block; margin: auto; width: 6px; height: 6px; -webkit-transition: 0.4s border-color ease; -moz-transition: 0.4s border-color ease; transition: 0.4s border-color ease; }
.pager ul li:first-of-type a:before { left: 20px; border-top: 2px solid #FFF; border-left: 2px solid #FFF; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.pager ul li:last-of-type a:before  { right: 20px; border-top: 2px solid #FFF; border-right: 2px solid #FFF; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.pager p { margin: auto; }
.pager p i { margin-right: 10px; }
.pager a:hover { color: #468F1F; background: #FFF; }
.pager ul li a:hover:before { border-color: #468F1F; }


/* お問い合わせ
------------------------------------------------------------*/
#contact table,
#contact tbody,
#contact table tr,
#contact table tr th,
#contact table tr td { display: block; }
#contact table tr th { padding-right: 70px; }
#contact table tr td span.wpcf7-list-item { display: block; }
#contactBtn { text-align: center; max-width: 320px; margin: auto; margin-top: 30px; }


/* アーカイブ
------------------------------------------------------------*/
#archive li { margin: 0 0 30px; }
#archive li a { display: block; color: #555; text-decoration: none; background: #FFF; }
#archive li a .thumb div { overflow: hidden; }
#archive li a .thumb div img { -webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease; }
#archive li a .thumb span { display: block; font-size: 13px; font-size: 1.3rem; font-weight: bold; color: #FFF; line-height: 1.35; text-align: right; padding: 5px 20px; }
#archive li a .box { font-size: 13px; font-size: 1.3rem; padding: 20px; }
#archive li a .box .title { font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #222; line-height: 1.35; margin: 0 0 10px; }
#archive li a .box .title span { display: block; font-size: 12px; font-size: 1.2rem; color: #999; margin: 0 0 5px; }
#archive li a .box .txt  { line-height: 1.5; margin: 0; }
#archive li a .box .more { display: inline-block; font-weight: bold; line-height: 1.35; margin: 20px 0 0; padding: 10px 20px; border: 1px solid; border-radius: 2px; }
#archive li a .box .more i { margin-right: 10px; }
#archive li a:hover .thumb div img { -webkit-transform: scale(1.2); -moz-transform: scale(1.2); transform: scale(1.2); }
@media screen and (min-width:480px) {
	#archive { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
	#archive li { width: -webkit-calc(50% - 5px); width: calc(50% - 5px); margin: 0 10px 30px 0; }
	#archive li:nth-child(2n+2) { margin: 0 0 30px; }
}

/* -- お知らせ -- */
#information { padding: 30px; background: #FFF; }
#information ul { overflow: auto; }
#information ul li { line-height: 1.35; padding: 10px 20px; }
#information ul li:nth-child(odd) { background: #FAF9F5; }
#information ul li a { display: block; color: #555; text-decoration: none; }
#information ul li a span { display: block; }
#information ul li a span.time { font-weight: bold; color: #222; float: left; padding-right: 10px; border-right: 1px solid #DDD; }
#information ul li a span.title { padding-left: 100px; }
#information ul li a:hover span.title { text-decoration: underline; }

/* -- ページャー -- */
.wp-pagenavi { text-align: center; margin: 2.5em 0 0; clear: both; }
.wp-pagenavi a,
.wp-pagenavi span { display: inline-block; font-size: 13px; font-size: 1.3rem; color: #555; line-height: 44px; text-align: center; text-decoration: none; white-space: nowrap; height: 42px; margin: 2px; padding: 0 16px; background: #FFF; border: 1px solid #F2F1ED; border-radius: 2px; }
.wp-pagenavi a:hover{ background: #F2F1ED; border-color: #468F1F; }
.wp-pagenavi span.current{ font-weight: bold; color: #FFF; background-color: #468F1F; border-color: #468F1F; }


/* サイトマップ
------------------------------------------------------------*/
#sitemap div { margin: 30px 0 0; padding: 30px; background: #FFF; box-sizing: border-box; }
#sitemap div dt { position: relative; font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #222; line-height: 1.35; margin: 0 0 1.5em; padding: 10px 20px 10px 24px; background: #EEE; }
#sitemap div dt:before { position: absolute; top: 0; bottom: 0; left: 10px; content: ""; display: block; width: 4px; height: 50%; margin: auto; background: #BBB; border-radius: 25px; }
#sitemap div dd ul li:last-child { margin: 0; }


/* 学習動画コンテンツ
------------------------------------------------------------*/
#homestudy > section { margin-bottom: 90px; }
#homestudy > section:last-of-type { margin-bottom: 0; }
#homestudy > section h2 { margin-top: 0; }
#homestudy > section > section { margin-bottom: 40px; }
#homestudy > section > section:last-of-type { margin-bottom: 0; }
#homestudy > section > section h5 { margin-top: 0; margin-bottom: 0; }
#homestudy > section > section ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-flow: row wrap; flex-flow: row wrap; }
#homestudy > section > section ul li { width: 100%; margin-top: 20px; padding-left: 0; }
#homestudy > section > section ul li:before { display: none; }
#homestudy > section > section ul li a { display: block; color: #333; text-decoration: none; }
#homestudy > section > section ul li a .youtube { position: relative; z-index: 0; padding-top: 56.25%; overflow: hidden; }
#homestudy > section > section ul li a .youtube:before,
#homestudy > section > section ul li a .youtube:after  { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; display: block; margin: auto; }
#homestudy > section > section ul li a .youtube:before { z-index: 1; width: 100%; height: 100%; background-color: rgba(0,0,0,0.56); }
#homestudy > section > section ul li a .youtube:after  { z-index: 2; width: 68px; height: 52px; background: url("../img/page/homestudy/play.png") no-repeat; opacity: 0.6; -webkit-transition: 0.4s opacity ease; -moz-transition: 0.4s opacity ease; transition: 0.4s opacity ease; }
#homestudy > section > section ul li a .youtube img { position: absolute; top: 50%; left: 50%; width: 100%; height: auto; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
#homestudy > section > section ul li a p { font-weight: bold; margin: 12px 0 0; }

/* -- ホバー時 -- */
#homestudy > section > section ul li a:hover .youtube:after { opacity: 1.0; }