@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/
body{
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	color: #070002;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.1rem;
}
.fred {
	color: #c1272d;
}
main ul li {
	margin: 0.5em 0;
}

/*-------------------------------------------------------------------------------*
 *	text-align right, left, center
 *-------------------------------------------------------------------------------*/
.txt_left {
	text-align: left;
}

.txt_right {
	text-align: right;
}

.txt_center {
	text-align: center;
}

.txt_underline {
	text-decoration: underline;
}
/*------------------------------------------ header */
header #header_contents #header_contents_inner p#logo {
	margin: 0;
}
header #header_contents #gmenu_container ul li a {
	text-decoration: none;
}
header #header_contents #header_contents_inner p#logo:hover,
header #header_contents #header_contents_inner p#access_btn:hover {
	transition: .4s;
	opacity: 0.8;
}

/*------------------------------------------ footer */
footer div#footer_sub div.wrap ul li a:hover {
	opacity: 0.8;
	transition: .4s;
}

/*------------------------------------------ visible hidden */
.spNone{
	display:none !important;
}

/*------------------------------------------ hyperlink */
a:link, a:visited {
	color: #234623;
	text-decoration: underline;
	vertical-align: baseline;
}
/*------------------------------------------ hyperlink */
a:hover, a:active {
	color: #234623;
}
a:hover {
	text-decoration: underline;
}


/*--------------------------------------------------------------------
 *	736px以下用（SP用）の記述
 *--------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/* 736px以下用（SP用）の記述 */

body{
	font-size: 1.0rem;
}
.wrap {
	padding: 1px 10%;
}
img{
	width:100%;
	height: auto;
}

/*------------------------------------------ header */
header {
	position: relative;
	background-color: #fff;
	z-index: 9999;
	max-height: 124px;
	padding-bottom: 5%;
}
header #header_contents #header_contents_inner p#logo {
	width: 100%;
	text-align: center;
	position: relative;
	z-index: 9999;
}
header #header_contents #header_contents_inner p#logo img {
	max-width: 388px;
	width: 52vw;
}
header #gmenu_container {
	background-color: #fff;
	display: none;
	position: absolute;
	z-index: 9998;
	top: 0;
	padding-top: 20vw;
	padding-left: 5%;
 	padding-right: 5%;
	width: 90%;
}
#header_inner_sp #btn_hamburger {
	position: absolute;
	top: 5px;
	right: 1.5%;
	width: 48px;
	height: 48px;
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	font-size: 80%;
	text-align: center;
	border-radius: 50px;
	background: #234623;
	padding: 1px;
	z-index: 9999;
}
#header_inner_sp #btn_hamburger a {
	display: block;
	position: relative;
	width: 27px;
	height: 27px;
	text-decoration: none;
	top: 14px;
	left: 10px;
}
#header_inner_sp #btn_hamburger span:nth-of-type(1) {
	top: 2px;
}
#header_inner_sp #btn_hamburger span:nth-of-type(2) {
	top: 10px;
}
#header_inner_sp #btn_hamburger span:nth-of-type(3) {
	top: 18px;
}
#header_inner_sp #btn_hamburger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	border-radius: 4px;
}
#header_inner_sp #btn_hamburger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#header_inner_sp #btn_hamburger a {
	color: #288787;
}
#header_inner_sp #btn_hamburger.active span {
	height: 1px;
	left: 0;
	right: 0;
	background-color: #fff;
}
#header_inner_sp #btn_hamburger.active a {
	width: 40px;
	top: 9px;
	left: 4px;
}
#header_inner_sp #btn_hamburger.active span:nth-of-type(1) {
	width: 30%;
	transform: translate3d(10px, 9px, 0) rotate(45deg);
}
#header_inner_sp #btn_hamburger.active span:nth-of-type(2) {
	width: 56%;
	transform: translate3d(9px, 5px, 0) rotate(-45deg);
}
#header_inner_sp #btn_hamburger.active span:nth-of-type(3) {
	width: 30%;
	transform: translate3d(18px, 1px, 0) rotate(45deg);
}

/* header sub_menu */

header #gmenu_container {
	position: fixed;
	overflow-y: scroll;
	height: 100%;
}
header #gmenu_container ul#gmenu {
	list-style: none;
	margin: 0;
}
header #gmenu_container ul#gmenu > li.floor_first {
	font-size: 16px;
	padding: 18px 0;
	border-bottom: 1px solid #234623;
	position: relative;
	color: #234623;
	cursor:pointer;
}
header #gmenu_container ul#gmenu > li.floor_first:before {
	content: '';
	width: 16px;
	height: 16px;
	border: 0;
	border-bottom: solid 1px #333;
	border-right: solid 1px #333;
	position: absolute;
	top: 16px;
	right: 10px;
	margin-top: 0px;
	transform: rotate(45deg);
	transition: 0.2s;
}
header #gmenu_container ul#gmenu > li.active:before {
	top: 28px;
	transform: rotate(225deg);
}
header #gmenu_container ul#gmenu li ul.sub_category {
	list-style: none;
	margin: 0;
	background: #507814;
	position: relative;
	top: 18px;
	padding: 5%;
	display: none;
}
header #gmenu_container ul#gmenu li ul.sub_category li {
	font-size: 14px;
	margin-bottom: 16px;
	padding-bottom: 12px;
}
header #gmenu_container ul#gmenu li ul.sub_category li:first-child {
	border-bottom: 1px dotted #fff;
}
header #gmenu_container ul#gmenu li ul.sub_category li:last-child {
	margin-bottom: 0px;
	padding-bottom: 0px;
}
header #gmenu_container ul#gmenu li ul.sub_category li a {
	color: #fff;
	position: relative;
	display: block;
}
header #gmenu_container ul#gmenu li ul.sub_category li a:before {
	content: url(../img/arrow_icon_submenu.png);
	padding-right: 3px;
	top: 3px;
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-flex;
}
header #gmenu_container ul#gmenu li ul.sub_category li a:link,
header #gmenu_container ul#gmenu li ul.sub_category li a:visited,
header #gmenu_container ul#gmenu li ul.sub_category li a:hover {
	color: #fff;
}

header #header_contents #gmenu_container p#access_btn_sp {
	width: 100%;
	border-radius: 15px;
	background: #234623;
	text-align: center;
	margin: 45px 0 35px;
	padding: 18px 0;
}
header #header_contents #gmenu_container p#access_btn_sp a {
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	position: relative;
}
header #header_contents #gmenu_container p#access_btn_sp a::before {
	content: url(../img/header_contact_icon.png);
	top: 3px;
	position: relative;
	margin-right: 10px;
}
header #gmenu_container ul#gmenu li ul.sub_category li.exp a:after {
	content: url(../img/exp_icon_submenu.png);
	padding-left: 10px;
	top: 2px;
	position: relative;
	width: 12px;
	height: 12px;
	display: inline-flex;
}
.modal-overlay {
  background-color: rgba(68,68,68, 0.9);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
}

/*------------------------------------------ main */
main {
	margin: 0 auto 35px;
}
main article {
	padding: 0 5%;
}

/*------------------------------------------ footer */

footer div#footer_sub div.wrap {
	padding: 0 5%;
	margin: 80px auto ;
}
footer div#footer_sub div.wrap ul {
	margin: 0;
	list-style: none;
}
footer div#footer_sub div.wrap ul li {
	margin: 0 0 14px;
}
footer div#footer_sub div.wrap ul li:last-child {
	margin: 0;
}
footer div#footer_sub div.wrap ul li a:hover {
	opacity: 0.8;
}
footer div#footer_sub div.footer_copyright {
	background: #234623;
	height: 58px;
	margin: 0;
	padding: 0;
	display: table;
	width: 100%;
}
footer div#footer_sub div.footer_copyright p {
	font-size: 13px;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	color: #fff;
}

/* 736px以上用（SP用）の記述 end */
}


/*--------------------------------------------------------------------
 *	737px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 737px), print {
/* 737px以上用（PC用）の記述 */

body{
	position: relative;
	font-size: 1.4rem;
}

/*------------------------------------------ visible hidden */
.spNone{
	display:block !important;
}
.pcNone{
	display:none !important;
}



/*------------------------------------------ header */
header {
	height: 130px;
}
header #header_contents {

}
header #header_contents #header_contents_inner {
	margin: 0 auto;
	width: 1000px;
	position: relative;
}
header #header_contents #header_contents_inner p#logo {
	
}
header #header_contents #header_contents_inner p#access_btn {
	width: 234px;
	height:34px;
	position: absolute;
	right: 0;
	top: 12px;
	border-radius: 20px;
	background: #234623;
	margin: 0;
	text-align: center;
}
header #header_contents #header_contents_inner p#access_btn a {
	font-size: 17px;
	color: #fff;
	text-decoration: none;
	position: relative;
	bottom: 2px;
}
header #header_contents #header_contents_inner p#access_btn:hover {
	opacity: 0.8;
}
header #header_contents #header_contents_inner p#access_btn a::before {
	content: url(../img/header_contact_icon.png);
	top: 3px;
	position: relative;
	margin-right: 2px;
}
header #gmenu_container {
	margin: 12px auto 22px;
	width: 1000px;
	height: 36px;
}
header #header_contents #gmenu_container ul#gmenu {
	list-style: none;
	margin: 0;
	position: relative;
}
header #header_contents #gmenu_container ul#gmenu li.floor_first {
	margin: 0;
	display: inline-block;
	text-align: center;
	font-size: 20px;
	transition: .3s;
	color: #234623;
	border-right: 1px solid #363636;
	padding: 0;
	height: 36px;
	cursor: pointer;
}
header #header_contents #gmenu_container ul#gmenu li.floor_first:first-child {
	width: 333px;
}
header #header_contents #gmenu_container ul#gmenu li.floor_first:nth-child(2) {
	width: 284px;
}
header #header_contents #gmenu_container ul#gmenu li.floor_first:nth-child(3) {
	width: 243px;
}
header #header_contents #gmenu_container ul#gmenu li.floor_first:last-child {
	width: 137px;
	border-right: none;
}
header #gmenu_container ul#gmenu li ul.sub_category {
	list-style: none;
	margin: 0;
	background: #507814;
	position: absolute;
	top: 58px;
	left: 0;
	padding: 22px 50px;
	width: 900px;
	display: none;
	border-radius: 20px;
}

header #gmenu_container ul#gmenu li ul.sub_category::before {
	content: url(../img/triangle_icon_submenu.png);
	position: absolute;
	right: 0;
	left: 0;
	margin: auto;
}
header #gmenu_container ul#gmenu li#gmenu_about ul.sub_category::before {
	top: -22px;
	left: -670px;
}
header #gmenu_container ul#gmenu li#gmenu_kouza ul.sub_category::before {
	top: -22px;
	left: -20px;
}
header #gmenu_container ul#gmenu li#gmenu_mokuteki ul.sub_category::before {
	top: -22px;
	left: 500px;
}
header #gmenu_container ul#gmenu li#gmenu_publication ul.sub_category::before {
	top: -22px;
	left: 835px;
}

header #gmenu_container ul#gmenu li ul.sub_category li:first-child {
	border-bottom: 1px dotted #fff;
	font-size: 22px;
	text-align: left;
	padding-bottom: 14px;
	margin-bottom: 18px;
}
header #gmenu_container ul#gmenu li ul.sub_category li:nth-child(n+2) {
	float: left;
	width: 50%;
	text-align: left;
	font-size: 18px;
	font-weight: normal;
	padding-bottom: 16px;
}
header #gmenu_container ul#gmenu li#gmenu_mokuteki ul.sub_category li:nth-child(n+2) {
	width: 100%;
}
header #gmenu_container ul#gmenu li ul.sub_category li:last-child {

}
header #gmenu_container ul#gmenu li ul.sub_category li a {
	color: #fff;
	position: relative;
}
header #gmenu_container ul#gmenu li ul.sub_category li a:before {
	content: url(../img/arrow_icon_submenu.png);
	padding-right: 6px;
	top: 3px;
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-flex;
}
header #gmenu_container ul#gmenu li ul.sub_category li.exp a:after {
	content: url(../img/exp_icon_submenu.png);
	padding-left: 10px;
	top: 0px;
	position: relative;
	width: 16px;
	height: 16px;
	display: inline-flex;
}
header #gmenu_container ul#gmenu li ul.sub_category li a:link,
header #gmenu_container ul#gmenu li ul.sub_category li a:visited,
header #gmenu_container ul#gmenu li ul.sub_category li a:hover {
	color: #fff;
}




/*------------------------------------------ main */
main {
	margin: 0 auto 70px;
}
main article {
	max-width: 1000px;
	margin: 0 auto;
	width: 1000px;
}


/*------------------------------------------ footer */


footer div#footer_sub div.wrap {
	max-width: 1000px;
	margin: 90px auto ;
}
footer div#footer_sub div.wrap ul {
	margin: 0;
	display: flex;
	justify-content: space-between;
	list-style: none;
}
footer div#footer_sub div.wrap ul li {
	margin: 0;
}
footer div#footer_sub div.footer_copyright {
	background: #234623;
	height: 70px;
	margin: 0;
	padding: 0;
	display: table;
	width: 100%;
}
footer div#footer_sub div.footer_copyright p {
	font-size: 16px;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	color: #fff;
}



/* 737px以上用（PC用）の記述 end */
}


/*--------------------------------------------------------------------
 *	印刷用（PC表示）の記述
 *--------------------------------------------------------------------*/
@media print {
/* 印刷用（PC表示）の記述 */

html,body{
	zoom: 70%;
	height: auto;
}
footer #page_top {
	display: none;
}

/* 印刷用（PC表示）の記述 end */
}


/*------------------------------------------ clear */
body,
.wrap,
header,
header #header_contents nav ul#gmenu,
footer,
footer #footer_cont ul {
	zoom: 100%;
}

body:after,
.wrap:after,
header:after,
header #header_contents nav ul#gmenu:after,
footer:after,
footer #footer_cont ul:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0px;
	font-size: 0em;
	line-height: 0;
	clear: both;
}