@charset "UTF-8";

/* http://meyerweb.com/eric/tools/css/reset/
	v2.0 | 20110126
	License: none (public domain)
	update firecolor 20170201
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
main {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	/*aタグとかをタップしたときに色が変わるのを防ぐ*/
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	/*input系のデフォの設定を消す（適用したいそれぞれに書かないとだめなときも）*/
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/*回転したときなど文字の大きさを調整*/
	-webkit-text-size-adjust : 100% ;
	font-weight: normal;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,
main {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */

/** ============================================================
 * $
 * 
 * ========================================================== */
/** --------------------
 * 
 * 
 * ------------------ */



/** ============================================================
 * $
 * 全体
 * ========================================================== */
:root {
	--width-contents: 1140px;
	--clr-p: #00947e;
}

@media screen and (max-width:750px){
	:root {
		--width-contents: 100%;
	}
}




*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* html,
body {
	height: 100%;
} */

body {
	font-size: 100%;
	line-height: 1;
}

a:hover {
	opacity: .5;
}

button,
input,
select,
textarea{
	outline: none;
}



/** ============================================================
 * $HEADER
 * ヘッダー
 * ========================================================== */
/** --------------------
 * ラッパー
 * ------------------ */
header {
	width: 100%;
}

/** --------------------
 * ヘッダーナビ
 * ------------------ */
.headerNav {
	width: 100%;
	padding: 14px 0;
	background: #f1f1f1;
}
.headerNav_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	width: 1140px;
	margin: 0 auto;
}

.headerNav_items .menu-item:not(:first-child) {
	margin-left: 30px;
}
.headerNav_items a {
	color: #333;
	text-decoration: none;
}
.headerNav_items a::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 11px;
	margin-right: 10px;
	background: url(../images/arrow_header_navi.png) left center no-repeat;
	background-size: contain;
}

/** --------------------
 * ヘッダー本体
 * ------------------ */
.headerBody {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
			justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 1140px;
	margin: 0 auto;
	padding: 20px 0;
}
.headerBody img {
	width: 100%;
	vertical-align: bottom;
}
.headerBody_search {
	display: block;
	width: 320px;
}
.headerBody_mobile {
	display: none;
}



/** --------------------
 * Googleカスタム検索
 * ------------------ */
.header_mobile_search {
	display: none;
}

/* ----- 全体 -----*/
#___gcse_0 {
	padding: 0;
}
.headerBody_search .cse .gsc-control-cse,
.headerBody_search .gsc-control-cse {
	padding: 0;
}

/* ----- インプット -----*/
.headerBody_search input.gsc-input,
.headerBody_search .gsc-input-box,
.headerBody_search .gsc-input-box-hover,
.headerBody_search .gsc-input-box-focus {
	border-color: #CDD3D9;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;

}

.headerBody_search table.gsc-search-box td {
}

.headerBody_search .gsc-search-box-tools .gsc-search-box .gsc-input {
	width: 100%;
	height: 33px;
	padding: 0px;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}


/* ----- ボタン -----*/
.headerBody_search .gsc-search-button {
	margin-left: 0;
}

.headerBody_search .gsc-search-button-v2,
.headerBody_search .gsc-search-button-v2:hover,
.headerBody_search .gsc-search-button-v2:focus {
	border-color: #CDD3D9;
	border-left: none;
	background-color: #F1F1F1;
	background-image: none;
	filter: none;
}

.headerBody_search .cse .gsc-search-button-v2,
.headerBody_search .gsc-search-button-v2 {
	padding: 10px 16px;
	border-radius: 0;
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

.headerBody_search .gsc-search-button-v2 svg {
	fill: #333;
}







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

	header {
		position: relative;
	}
	/** --------------------
	* ヘッダーナビ
	* ------------------ */
	.headerNav {
		z-index: 900;
		display: none;
		position: absolute;
		top: 100%;
		left: 50%;
		width: 96vw;
		padding: 0;
		transform: translateX(-50%);
	}


	.headerNav_items {
		width: 100%;
	}

	.headerNav_items {
		display: flex;
		justify-content: flex-start;
		flex-direction: column;
		margin: 0 auto;
	}

	.headerNav_items .menu-item:not(:first-child) {
		margin-left: 0;
	}


	.headerNav_items .menu-item {
		padding: 1rem;
		border-bottom: 1px solid #DEE2E6;
	}

	.headerNav_items a {
		position: relative;
		display: block;
		padding: 1rem 0;
	}

	.headerNav_items a::before {
		display: none;
	}

	.headerNav_items a::after {
		content: "";
		position: absolute;
		display: inline-block;
		top: 50%;
		right: 0;
		width: 12px;
		height: 16px;
		background: url(../images/arrow_header_navi.png) left center no-repeat;
		background-size: contain;
		transform: translateY(-50%);
	}

	/** --------------------
	* Googleカスタム検索
	* ------------------ */
	/* ----- 全体 -----*/
	.header_mobile_search {
		display: block;
		width: 100%;
		padding: 1rem;
	}

	.header_mobile_search .gsc-control-cse {
		border: none;
		background: none;
	}

	.header_mobile_search .cse .gsc-control-cse,
	.header_mobile_search .gsc-control-cse {
		padding: 0;
	}

	/* ----- インプット -----*/
	.header_mobile_search input.gsc-input,
	.header_mobile_search .gsc-input-box,
	.header_mobile_search .gsc-input-box-hover,
	.header_mobile_search .gsc-input-box-focus {
		border-color: #CDD3D9;
		border-top-left-radius: 6px;
		border-bottom-left-radius: 6px;

	}

	.header_mobile_search table.gsc-search-box td {
	}

	.header_mobile_search .gsc-search-box-tools .gsc-search-box .gsc-input {
		width: 100%;
		height: 33px;
		padding: 0px;
		border-top-left-radius: 6px;
		border-bottom-left-radius: 6px;
	}


	/* ----- ボタン -----*/
	.header_mobile_search .gsc-search-button {
		margin-left: 0;
	}

	.header_mobile_search .gsc-search-button-v2,
	.header_mobile_search .gsc-search-button-v2:hover,
	.header_mobile_search .gsc-search-button-v2:focus {
		border-color: #CDD3D9;
		border-left: none;
		background-color: #F1F1F1;
		background-image: none;
		filter: none;
	}

	.header_mobile_search .cse .gsc-search-button-v2,
	.header_mobile_search .gsc-search-button-v2 {
		padding: 10px 16px;
		border-radius: 0;
		border-top-right-radius: 6px;
		border-bottom-right-radius: 6px;
	}

	.header_mobile_search .gsc-search-button-v2 svg {
		fill: #333;
	}





	/** --------------------
	* ヘッダー本体
	* ------------------ */
	.headerBody {
		width: 100%;
		padding: 4vw;
	}
	.headerBody_logo {
		width: 62.4vw;
	}
	.headerBody_search {
		display: none;
	}

	.headerBody_mobile {
		display: block;
		width: 6.7vw;
		height: 6.7vw;
	}

	.mobile_toggleBtn {
		display: block;
		position: relative;
		-webkit-appearance: none;
		   -moz-appearance: none;
		        appearance: none;
		width: 100%;
		height: 100%;
		padding: 0;
		background: none;
		border: none;
		outline: none;
	}


	.mobile_toggleBtn_lines {
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 4px;
		padding: 0;
		background: #333;
		-webkit-transform: translateY(-50%);
				transform: translateY(-50%);
		transition: all .2s ease-out;
	}

	.mobile_toggleBtn_lines::before,
	.mobile_toggleBtn_lines::after {
		content: "";
		position: absolute;
		display: inline-block;
		width: 100%;
		height: 4px;
		background: #333;
		transition: all .2s ease-out;
	}
	.mobile_toggleBtn_lines::before {
		top: -8px;
		left: 0;
		opacity: 1;
	}
	.mobile_toggleBtn_lines::after {
		bottom: -8px;
		left: 0;
	}

	.mobile_toggleBtn-hidden {
		display: none;
	}


	/** --------------------
	* 開いてるとき
	* ------------------ */
	.mobile_toggleBtn-open .mobile_toggleBtn_lines {
		top: 50%;
		left: 0;
		transform: translateY(-50%) rotate(45deg);
	}
	.mobile_toggleBtn-open .mobile_toggleBtn_lines::before {
		opacity: 0;
	}
	.mobile_toggleBtn-open .mobile_toggleBtn_lines::after {
		top: 50%;
		bottom: auto;
		left: 0;
		transform: translateY(-50%) rotate(90deg);
	}



}



/** ============================================================
 * $GLOBAL NAVI
 * グローバルナビ
 * ========================================================== */
/** --------------------
 * 
 * ------------------ */
.globalNav {
	z-index: 700;
	background: #00947e;
}

.globalNav_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 1140px;
	margin: 0 auto;
}


.globalNav_items .menu-item {
	position: relative;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	color: #fff;
}
.globalNav_items > .menu-item a {
	display: block;
	padding: 20px;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.globalNav_items > .menu-item.open {
	background: #68C16F;
}


.globalNav_items > .menu-item > a {
	border-right: 1px solid #75c1b7;
}
.globalNav_items > .menu-item > a:first-child {
	border-left: 1px solid #75c1b7;
}
.globalNav_items > .menu-item > a:hover{
	opacity: 1;
}


.globalNav_items > .menu-item > a::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	background: url(../images/arrow_global_navi.png) left center no-repeat;
	background-size: contain;
	vertical-align: middle;
}

.globalNav_items .sub-menu {
	z-index: 1000;
	display: none;
	position: absolute;
	width: 100%;
	background: #fff;
	-webkit-box-shadow: 0 2px 3px 1px rgba(0,0,0,.2);
	        box-shadow: 0 2px 3px 1px rgba(0,0,0,.2);
	color: #333;
	text-align: left;
}
.globalNav_items .sub-menu a {
	position: relative;
	padding: 15px;
	color: #333;
	text-align: left;
}
.globalNav_items .sub-menu a::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 8px;
	height: 12px;
	top: 50%;
	right: 15px;
	background: url(../images/arrow_global_sub.png) right center no-repeat;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.globalNav_items .open .sub-menu {
	/* display: block; */
}


@media screen and (max-width:750px) {
	.globalNav_items {
		position: relative;
		width: 100%;
	}


	.globalNav_items .menu-item {
		position: static;
	}

	.globalNav_items > .menu-item a {
		padding: 2.4vw 1.6vw;
		font-size: .9rem;
	}

	.globalNav_items .sub-menu {
		z-index: 800;
		position: absolute;
		width: 96vw;
		left: 50%;
		transform: translateX(-50%);
	}






}


/** ============================================================
 * $MAIN VISUAL
 * メインビジュアル
 * ========================================================== */
.visual {
	width: 1140px;
	margin: 0 auto;
}
.visual img {
	width: 100%;
	vertical-align: bottom;
}
.visual figcaption {
	margin-top: 24px;
	padding: 0 15px;
	line-height: 1.4;
}

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

	.visual {
		width: 100%;
	}

}



/** ============================================================
 * $MAIN
 * メインの要素
 * ========================================================== */
main {
	z-index: 500;
}

.container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 1140px;
	margin: 50px auto 0;
}

.l_container {
	width: 1140px;
	margin: 0 auto;
}
.l_inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-top: 50px;
}




.contents {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	width: 760px;
}
.contents.one_column {
	width: 100%;
}

.sub {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	width: 350px;
	padding: 0 15px;
}
.sub li img {
	vertical-align: bottom;
}

.layerSub{
	width:320px;
}

@media screen and (max-width:750px){
	.container ,.l_inner  {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
				flex-direction: column;
	}
	.container {
		width: 100%;
		padding: 0 4vw;
	}
	.l_container{
		width: 100%;
		padding:0 1rem;
	}
	.contents {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
		width: 100%;
	}
	
	.sub {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
		width: 100%;
		margin-top: 12vw;
		padding: 0;

	}
	.layerSub{
		width: 100%;
		margin-bottom:30px;
	}
}





/** ============================================================
 * $FOOTER
 * フッター
 * ========================================================== */

footer {
	width: 100%;
	margin-top: 105px;
}

.footerNav {
	width: 100%;
	padding: 16px 0;
	background: #eeeeee;
	border-top: 1px solid #dddddd;
}

.footerNav_items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 1140px;
	margin: 0 auto;
}

.footerNav_items .menu-item:not(:first-child) {
	margin-left: 28px;
}

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



.footerCopy {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-item-align: center;
	    align-self: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
			background: #333;
	padding: 25px 0 35px;
}

.footerCopy_text {
	color: #fff;
	margin: 0 auto;
	font-size: 14px;
}

.pageTop_wrapper {
	display: none;
}



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

	footer {
		position: relative;
		margin-top: 12vw;
	}
	
	.footerNav_items {
		justify-content: flex-start;
		width: 100%;
		padding: 0 4vw;
	}
	
	.footerNav_items .menu-item:not(:first-child) {
		margin-left: 5vw;
	}
	
	.footerNav_items a {
		color: #333;
		text-decoration: none;
	}




	.pageTop_wrapper {
		position: fixed;
		display: inline-block;
		bottom: 16px;
		right: 4vw;
	}

	.pageTop_btn {
		appearance: none;
		width: 9.6vw;
		height: 9.6vw;
		background: rgba(0,0,0,.5);
		border: none;
		border-radius: 50%;
		outline: none;
	}
	.pageTop_btn_lines::before,
	.pageTop_btn_lines::after {
		content: "";
		position: absolute;
		width: 25%;
		height: 4px;
		background: #fff;
		border-radius: 4px;
	}
	.pageTop_btn_lines::before {
		top: 35%;
		left: 25%;
		transform: rotate(-35deg);
		transform-origin: right top;
	}
	.pageTop_btn_lines::after {
		top: 35%;
		right: 25%;
		transform: rotate(35deg);
		transform-origin: left top;
	}


	.pageTop_btn-hidden {
		display: none;
	}

}



/** ============================================================
 * $FRONT PAGE
 * フロントページ
 * ========================================================== */

.entryList {
	overflow: auto;
	overflow-x: hidden;
	/* overflow-y: scroll; */
	max-height: 320px;
	line-height: 1.4;
}
/* .entryList::-webkit-scrollbar{
	display:none;
} */
.entryList li {
	padding: 24px 1rem;
	border-bottom: 1px solid #dee1e6;
}
.entryList li:first-child {
	border-top: 1px solid #dee1e6;
}

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



/** --------------------
 * News
 * ------------------ */
.entryList_news li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.news_date {
	display: inline-block;
	width: 6rem;
	margin-right: 24px;
}
.news_txt {
	width: calc(100% - 6rem - 24px);
}


/** --------------------
 * Forum
 * ------------------ */
.forum {
	margin-top: 95px;
}
.forumOption {
	display: inline-block;
	margin-bottom: 22px;
	padding: 8px 14px;
	background: #aaa;
	color: #fff;
	font-size: 14px;
	font-style: normal;
}

.entryList + .forumOption {
	margin-top: 22px;
}
.forumOption-ict {
	background-color: #0071bd;
}
.forumOption-education {
	background-color: #009345;
}

.list_newitem {
	display: inline-block;
	margin-left: 20px;
	padding: 4px 12px;
	border: 1px solid #D55B0D;
	color: #D55B0D;
	font-size: 11px;
	line-height: 1;
}


@media screen and (max-width:750px) {
	/** --------------------
	* News
	* ------------------ */
	.entryList_news li {
		flex-direction: column;
	}
	.news_date {
		width: auto;
		margin-right: auto;
		margin-bottom: .5rem;
	}
	.news_txt {
		width: 100%;
	}
}
/** ============================================================
 * 
 * YouTube部分
 * ========================================================== */
.playerWrap {
	background-image: url(../images/bg_player.gif);
	display: block;
	height: 270px;
	padding-left: 7px;
	width: 352px;
	background-repeat: no-repeat;
	padding-top: 50px;
	margin:30px auto;
}

@media screen and (max-width:377px) {
	.playerWrap ,
	.playerWrap object{
		width:100%;
	}
	.playerWrap iframe{
		width:96%;
	}
}

/** ============================================================
 * 
 * PDFのリスト
 * ========================================================== */
.pdf_list {
	border-top:1px solid #dee2e6;
	margin-bottom:25px;
}
.pdf_list li{
	padding:20px;
	border-bottom:1px solid #dee2e6;
}
.pdf_list li a{
	position: relative;
	padding-left:20px;
	text-decoration:none;
	color:#333;
}
.pdf_list li a::before {
	content: url(../images/pdf_link.png);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
}

/** ============================================================
 * 
 * 左にPDFアイコンが付いているのアンカー
 * ========================================================== */
.left_pdf_link{
	position: relative;
	padding-left:25px;
}
.left_pdf_link::before {
	content: url(../images/pdf_link.png);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
}
.left_pdf_link.multiple_lines::before {
	top: 25%;
}


/** ============================================================
 * 
 * 左に●に＞アイコンが付いているのアンカー
 * ========================================================== */
.left_link{
	position: relative;
	padding-left:25px;
}
.left_link::before {
	content: url(../images/arrow_link2.png);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
}
.left_link.multiple_lines::before{
	top: 25%;
}


/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */

/** ============================================================
 * $LAYER PAGE
 * 下層ページ
 * ========================================================== */





/* ---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */

/** ============================================================
 * $
 * フロントページ用サイドナビ
 * ========================================================== */

/** --------------------
 * 画像バナータイプ
 * ------------------ */
.sub_frontBanner li:not(:first-child) {
	margin-top: 16px;
}
.sub_frontBanner img {
	width: 100%;
}

.sub_frontBanner a{
	text-decoration:none;
}
.sub_frontBanner .concours_bnr a{
	display:block;
	color:#1e3a69;
	border:1px solid #dee2e6;
	padding:5px;
	text-align:center;
	line-height:1.2;
}
.sub_frontBanner .concours_bnr p{
	font-size:14px;
}

.sub_frontBanner .concours_bnr .title{
	font-size:16px;
	font-weight:bold;
}
.sub_frontBanner .concours_bnr .date{
	font-size:12px;
}
.sub_frontBanner .keishicho_bnr a{
	display:block;
	color:#06937e;
	border:1px solid #dee2e6;
	padding:10px;
	text-align:center;
	line-height:1.4;
	background:#dbdbdb;
}
.sub_frontBanner .keishicho_bnr p{
	font-size:11px;
	font-weight:bold;
}

.sub_frontBanner .keishicho_bnr .title{
	font-size:12px;
	color:#000;
}
/** ============================================================
 * $
 * グレーのタイトルがついているBOX
 * ========================================================== */
.gray_ttl_box{
	margin-bottom:30px;
	border:1px solid #dee2e6;
}
.gray_ttl_box .ttl{
	background:#f1f1f1;
	padding:15px;
	font-size:20px;
	font-weight:bold;
}
.gray_ttl_box .body{
	padding:20px 30px;
}
.gray_ttl_box .body .link_list{
	margin:0;
}


/** ============================================================
 * $
 * フォントサイズ指定
 * ========================================================== */
.text_s{
	font-size: 80%;
}
