@charset "UTF-8";
/* CSS Document */

html {

}

body {
	font-family: "Noto Sans JP", sans-serif;
	background: #fff;
}

.main-image {
/*	background-size: cover;
	background-position: center;
*/
	color: #fff;
}


body.admin-bar .navbar {
	top:32px;
}

.wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main-image .back_slide {
	width:100%;
	height:100%;
	display:block;
	position:relative;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	width:100%;
}

.main-image .back_slide div {
	background-repeat:no-repeat;
	background-size: cover;
	background-position: center bottom ;
	height:80vh;
}


.main-image .back_slide .back_image_01 {
	background-image: url("images/main_images_06.jpg");
}

.main-image .back_slide .back_image_02 {
	background-image: url("images/main_images_02.jpg");
}

.main-image .back_slide .back_image_03 {
	background-image: url("images/main_images_03.jpg");
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
		}
	100% {
	transform: scale(1.15); /* 拡大率 */
	}
}
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

.main-image .top_copy {
	position:absolute;
    top: 50%; /* 親要素の外側（上辺）から50%内側 */
    left: 50%; /* 親要素の外側（左辺）から50%内側 */
    transform: translate(-50%, -50%); /* 要素の位置を-50%上・-50%左に変える */
	padding-top: 0;
	max-width:760px;
	width:100%;
}

.main-image h1 {
	font-weight: bold;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}

.main-image h2 {
	font-weight: bold;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}

.main-image h3 {
	margin-top: 26%;
	font-weight: bold;
	margin-bottom: 20px;
	font-size: 20px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}

.navbar {
	background-color: transparent;
	transition: all 0.4s ease-in-out; /* 滑らかに変化させる */
	padding-top: 4px;
	padding-bottom: 4px;
	box-shadow: 0 0px 5px rgba(112,112,112,0.2); /* オプション：影を付ける */
}

/* スクロール後のスタイル: 不透明にする */
.navbar.scrolled {
	background-color: rgba(255, 255, 255, 0.6) !important; /* 80%不透明の黒 */
	box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* オプション：影を付ける */
}

.navbar-brand {
	width: 220px;
	height:30px;
	margin-left: 7px;
	padding-top: 0;
	padding-bottom: 6px;
}

.navbar-toggler {
	margin-right: 7px;
	padding: 2px;
	background: #3d6c06;
}

.navbar-toggler:focus {
	box-shadow:none;
}

.navbar-toggler-icon {
	width:38px;
	height: 38px;
	background: #3d6c06;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

a.nav-link {
	padding-top:20px;
	padding-bottom:20px;
	border-bottom:1px solid #efefef;
}

.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
	  --bs-offcanvas-width: 320px;
}

.info {
	background: #f5fff0;
	padding-top: 40px;
	padding-bottom: 30px;
}

.info h2 {
	font-size: 24px;
	margin-bottom: 20px;
	font-weight: normal;
}

.info h2 span {
	font-size: 18px;
	font-weight: bold;
}

.info ul {
	margin: 0;
	padding: 0;
}

.info ul li {
	list-style: none;
	margin-bottom: 15px;
/*	width: 49%;
	float: left;
	margin-right: 2%;
	*/
}

.info ul li:nth-child(2n+2){
	margin-right: 0;
}

.info ul li dl {
	margin: 0;
}

.info ul li dl dt {
	margin: 0;
	width: 100px;
	float: left;
}

.info ul li dl dt img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	object-position: center top;
}

.info ul li dl dt a img {
	transition: .8s;
}

.info ul li dl dt a:hover img {
	opacity: .6;
}

.info ul li dl dd {
	padding-left: 110px;
}

.info ul li dl dd a {
	color:#105132;
	text-decoration: none;
	transition: .8s;
	font-weight: bold;
	letter-spacing:0.03em;
}

.info ul li dl dd a:hover {
	color: #999;
}

.info p a {
	color:#105132;
	text-decoration:none;
	position:relative;
	transition-duration: 0.5s;
}

.info p a::after {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -20px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #105132;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.info p a:hover {
	color: #999;
}

.info p a:hover::after {
	top:31%;
	right: -20px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #999;
}

.event,
.recommend,
.projects{
	padding-top: 40px;
	padding-bottom: 30px;
	background: #fff;
}

.event h2,
.recommend h2,
.projects h2,
.top_company h2,
.asoarea h2 {
	font-size: 24px;
	font-weight: 300;
}

.top_company h2 {
	color: #fff;
}

.event h2 span,
.recommend h2 span,
.projects h2 span,
.top_company h2 span,
.asoarea h2 span {
	font-size: 18px;
	font-weight: 600;
}

.recommend h2 {
	font-size: 24px;
	font-weight: 300;
	margin-bottom:20px;
}

.recommend h3 {
	text-align:center;
	font-size: 20px;
	margin-bottom:0;
}

.recommend h3.life {
	background:#c7dfa5;
	padding:6px 20px;
	display:block;
}

.recommend h3.footpath {
	background:#dfdea5;
	padding:6px 20px;
	display:block;
}

.recommend h3.movie {
	background:#a5dfd3;
	padding:6px 20px;
	display:block;
}

.recommend h3.book {
	background:#f1d4cc;
	padding:6px 20px;
	display:block;
}

.event ul,
.other_events ul,
.other_recommend ul {
	margin: 22px 0 0 0;
	padding: 0;
    display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	flex-wrap: wrap;
}

.recommend ul {
	margin: 6px 0 0 0;
	padding: 0;
    display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	flex-wrap: wrap;
}

.recommend ul.play-slider {
	transition: none;
}

.event ul li,
.other_events ul li {
	list-style: none;
	margin-bottom: 15px;
	width: 49%;
	float: left;
	margin-right: 2%;
}

.recommend ul li {
	list-style: none;
	margin-bottom: 15px;
	width: 100%;
	float: left;
	margin-right:10px;
	margin-left:10px;
}

.other_recommend ul li {
	list-style: none;
	margin-bottom: 15px;
	width: 32%;
	float: left;
	margin-right: 2%;
}

/*
.recommend ul li:nth-child(2n+2) {
	margin-right: 2%;
}
*/

.event ul li:nth-child(2n+2),
.other_events ul li:nth-child(2n+2){
	margin-right: 0;
}

.other_recommend ul li:nth-child(3n+3) {
	margin-right:0;
}

.event ul li dl,
.other_events ul li dl,
.other_recommend ul li dl {
	margin: 0;
	padding: 0;
}

.event ul li dl dt,
.other_events ul li dl dt,
.other_recommend ul li dl dt {
	margin: 0;
	padding: 0;
	position: relative;
}

.event ul li dl dt a {
	transition:.5s;
}

.event ul li dl dt a img,
.other_events ul li dl dt a img,
.other_recommend ul li dl dt a img {
	width: 100%;
	height:auto;
	transition:.5s;
}

.event ul li dl dt a:hover img {
	opacity:.7;
}

.event ul li dl dt p,
.other_events ul li dl dt p,
.other_recommend ul li dl dt p {
	position: absolute;
	margin: 0;
	bottom: 10px;
	right: 10px;
	background: #fff;
	padding: 3px 8px;
}

.other_recommend ul li dl dt p {
	font-size:12px;
}

.event ul li dl dd a,
.other_events ul li dl dd a,
.other_recommend ul li dl dd a {
	color:#105132;
	text-decoration: none;
	transition: .8s;
	font-weight: bold;
	letter-spacing:0.03em;
}

.event ul li dl dd a:hover,
.other_events ul li dl dd a:hover,
.other_recommend ul li dl dt a:hover {
	color: #999;
}

.event ul li dl dd span,
.other_events ul li dl dd span {
	font-size:14px;
}

.recommend ul li a {
	position: relative;
	text-decoration: none;
}

.recommend ul li a img {
	width: 100%;
	height:auto;
	position: relative;
}

.recommend ul li a:hover img {

	filter: brightness(0.5); 
	transition: .8s;
}

.recommend ul li a .over-text,
.other_recommend ul li a .over-text {
	text-align: center;
	color: #000;
	margin-top: 8px;
}

.recommend ul li a .over-text h3,
.other_recommend ul li a .over-text h3 {
	font-size: 14px;
	text-decoration: none;
	border-left:none;
	margin-bottom:5px;
	padding-left:0;
	text-align:center;
}

.recommend ul li a .over-text h4,
.other_recommend ul li a .over-text h4 {
	font-size: 16px;
}


.event p.link,
.recommend  p.link,
.projects p.link {
	text-align: center;
	margin-top: 40px;
}

.event p.link a,
.recommend p.link a,
.projects p.link a {
	border: 1px solid #105132;
	padding: 10px 48px 10px 28px;
	font-weight: 400;
	color: #fff;
	background: #105132;
	text-decoration:none;
	transition: .6s;
	z-index: 100;
}


.event p.link a:hover,
.recommend p.link a:hover,
.projects p.link a:hover {
	opacity: .6;
}

.event p.link a i,
.recommend p.link a i,
.projects p.link a i {
	position: relative;
	font-style: normal;
}

.event p.link a i::before,
.recommend p.link a i::before,
.projects p.link a i::before {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -30px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #fff;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}


.asoarea {
	padding-top:70px;
	padding-bottom:80px;
}

.asoarea ul.area-slider,
.asoarea ul.sightseeing-slider {
	margin:0;
	padding:0;
}

.asoarea ul.area-slider li,
.asoarea ul.sightseeing-slider li {
	list-style:none;
	width:100%;
	float:left;
	margin-left:6px;
	margin-right:6px;
}

.asoarea ul.area-slider li a,
.asoarea ul.sightseeing-slider li a {
	display:block;
	padding:22px 15px;
	text-align:center;
	color:#105132;
	text-decoration:none;
	border-radius:15px;
	transition:.5s;
}

.asoarea ul.area-slider li a:hover,
.asoarea ul.sightseeing-slider li a:hover {
	background:#3d6c06;
	color:#fff;
}

.asoarea ul.area-slider li a {
	background:rgb(255,255,255,0.7);
}

.asoarea ul.sightseeing-slider li a {
	background:rgb(231,246,249,0.7);
}

.asoarea p {
	background:#fff;
	display:inline-block;
	text-align:center;
	padding:5px 0 5px 15px;
	margin-top:30px;
}

.asoarea p strong {
	background:#ff8c2f;
	font-weight:800;
	padding:10px;
	color:#fff;
	margin-left:10px;
}

.projects ul {
	margin: 22px 0 0 0;
	padding: 0;
}

.projects ul li {
	width: 100%;
	margin-bottom: 15px;
	list-style: none;
}

.projects ul li a {
	text-decoration: none;
	color: #000;
	
}

.projects ul li a img{
	width: 100%;
}

.projects ul li a h3 {
	text-align: center;
	margin-top: 8px;
	font-size: 20px;
	font-weight: normal;
}

.projects ul li a h3 span {
	font-size: 16px;
	font-weight: bold;
}

.top_company {

}

.company_box {
	/*clip-path:inset(0);*/
	height: 60vh;
	position: sticky;
	overflow: hidden;
	top: 0;
	z-index: -1;
}

.company_box img {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: scale-up linear;
	animation-timeline: scroll();
  /* 範囲の調整 (画像が見え始めてから隠れるまで) */
	animation-range: entry 80% cover 100%; 
}

@keyframes scale-up {
  from { transform: scale(0.7); }
  to { transform: scale(1.6); } /* 1.5倍に拡大 */
}

.company_text {
	position: absolute;
	background: url("images/top_company_back.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-top: 45%;
	padding-bottom: 0;
	height: 60vh;
}



.top_company p.link {
	text-align: center;
	margin-top: 30px;
}

.top_company p.link a {
	border: 1px solid #fff;
	padding: 10px 48px 10px 28px;
	font-weight: 400;
	color: #105132;
	background: #fff;
	text-decoration:none;
	transition: .6s;
	z-index: 100;
}

.top_company p.link a:hover {
	opacity: .6;
}

.top_company p.link a i {
	position: relative;
	font-style: normal;
}

.top_company p.link a i::before {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -30px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #105132;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.banner-area {
	padding-top: 60px;
	padding-bottom: 60px;
	background: #fff;
	text-align:center;
}

.banner-area ul {
	margin:0;
	padding:0;
	text-align:center;
}

.banner-area ul li {
	list-style:none;
	display:inline-block;
	margin-right:5px;
	margin-left:5px;
	width:45%;
	margin-bottom:15px;
}


.banner-area ul li a img {
	width:100%;
}


.banner-area ul.sns {
	background:#fbfbfb;
	padding-top:30px;
	padding-bottom:30px;
	padding-left:0;
	padding-right:0;
	margin-bottom:40px;
}

.banner-area ul.sns li a {
	color:#105132;
	text-decoration:none;
}

.banner-area ul.sns li a i {
	position:relative;
}

.banner-area ul.sns li.facebook a i::before {
	position: absolute;
	display: block;
	content: "";
	background:url("images/icon_facebook.png");
	background-size:100%;
	background-repeat:no-repeat;
	top:-3px;
	left: -40px;
	width: 30px;
	height: 30px;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.banner-area ul.sns li.youtube a i::before {
	position: absolute;
	display: block;
	content: "";
	background:url("images/icon_youtube.png");
	background-size:100%;
	background-repeat:no-repeat;
	top:3px;
	left: -40px;
	width: 30px;
	height: 30px;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.banner-area ul.sns li.instagram a i::before {
	position: absolute;
	display: block;
	content: "";
	background:url("images/icon_instagram.png");
	background-size:100%;
	background-repeat:no-repeat;
	top:0;
	left: -40px;
	width: 30px;
	height: 30px;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.footer {
	background: #538a12;
	padding-bottom:40px;
	padding-top:40px;
}

.footer ul {
	margin: 0;
	padding: 0;
	text-align: center;
}

.footer ul li {
	margin: 0;
	padding: 15px 0 16px 0;
	display: block;
	border-bottom: 1px solid #fff;
}

.footer ul li a {
	color: #fff;
	text-decoration:none;
	transition: .5s;
}

.footer ul li a:hover {
	color: #a1e8c8;
}

.footer .company_data {
	text-align:center;
	margin-top:50px;
}

.footer .company_data h4 {
	font-size:18px;
	color:#fff;
}

.footer .company_data p {
	margin-bottom:5px;
	color:#fff;
}

.footer .company_data p a {
	color:#fff;
	text-decoration:none;
}

.footer_copy {
	background: #3d6c06;
	padding-top: 20px;
	padding-bottom: 5px;
}

.footer_copy p {
	color: #fff;
	text-align: center;
}

/*

.top_company {
	background: url("images/top_company_back.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-top: 40px;
	position: fixed;
	height: 450px;
}

.company_box {
	background: url("images/top_company_back.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding-top: 20%;
	padding-bottom: 40%;
}
*/


.page_content,
.single_content {
	padding-top:80px;
}

.page_content_02 {
	padding-top:30px
}

.page_content h1,
.single_content h1,
.page_content_02 h1 {
	font-size:22px;
	margin-bottom:30px;
}

.page_content_02 h2 {
	font-size:20px;
	padding-bottom:7px;
	border-bottom:1px solid #dfdfdf;
	margin-bottom:30px;
}

.page_content_02 h3 {
	font-size:18px;
	padding-bottom:7px;
	border-bottom:1px solid #dfdfdf;
	margin-bottom:10px;
}

.page_content_02 h4 {
	font-size:16px;
	font-weight:500;
}

.single_content ul.event_data {
	margin:20px 0 0;
	padding:0;
}

.single_content ul.event_data li {
	list-style:none;
	padding:8px 0 6px 0;
	border-bottom:1px solid #dfdfdf;
}

.single_content p.link {
	text-align:center;
	margin-top:20px;
}

.single_content p.link a {
	display:inline-block;
	background:#3d6c06;
	padding:6px 38px 6px 18px;
	color:#fff;
	border-radius:8px;
	text-decoration:none;
	transition-duration: 0.5s;
}

.single_content p.link a i {
	position:relative;
}

.single_content p.link a i::before {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -30px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #fff;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.single_content p.link a:hover {
	background:#538a12
}


.other_events,
.other_recommend {
	margin-top:40px;
}

.other_events h3,
.other_recommend h3 {
	text-align:left;
	font-size:20px;
	margin-bottom:20px;
	border-left:15px solid #3d6c06;
	padding-left:12px;
}


ul.recommend_img {
	margin:20px 0 0;
	padding:0;
}

ul.recommend_img li {
	list-style:none;
	width:50%;
	float:left;
}


.top_img.company_top {
	background:url("images/company_title_back.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center 10%;
	padding-bottom:50%;
}

.top_img.company_02 {
	background:url("images/company_title_back_02.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center top;
	padding-bottom:50%;
}

.top_img.company_03 {
	background:url("images/company_title_back_03.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center top;
	padding-bottom:50%;
}

.top_img.company_04 {
	background:url("images/company_title_back_04.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center top;
	padding-bottom:50%;
}

.top_img.projects_top {
	background:url("images/projects_title_back.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_01 {
	background:url("images/projects_title_back_01.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_02 {
	background:url("images/projects_title_back_02.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

/*　人材育成ページのヘッダ比較 */

.top_img.projects_02-02 {
	background:url("images/projects_title_back_02-02.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_02-03 {
	background:url("images/projects_title_back_02-03.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_02-04 {
	background:url("images/projects_title_back_02-04.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_02-05 {
	background:url("images/projects_title_back_02-05.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

.top_img.projects_02-06 {
	background:url("images/projects_title_back_02-06.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

/*　人材育成ページのヘッダ比較 */

.top_img.projects_03 {
	background:url("images/projects_title_back_03.jpg");
	background-repeat: no-repeat;
	background-size:100%;
	background-position:center;
	padding-bottom:50%;
}

ul.company_navi {
	margin:50px 0 0;
	padding:0;
	text-align:center;
}

ul.company_navi li {
	width:100%;
	list-style:none;
	margin-bottom:5px;
}

ul.company_navi li a {
	border:1px solid #105132;
	display:block;
	padding:15px;
	text-align:center;
	text-decoration:none;
	color:#105132;
	transition:.5s;
	background:#fefefe;
}

ul.company_navi li.current a {
	background:#dfdfdf;
}

ul.company_navi li a:hover {
	background:#dfdfdf;
}

ul.company_navi li a i {
	position:relative;
}

ul.company_navi li a i::before {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -30px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #105132;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

ul.history {
	margin:0;
	padding:0;
}

ul.history li {
	border-top:1px solid #efefef;
	padding-bottom:6px;
	padding-top:6px;
	list-style:none;
	border-left:5px solid #3d6c06;
	border-bottom:1px solid #efefef;	
	padding-left:15px;
	margin-bottom:8px;
}

ul.history li dl {
	margin:0;
	padding:0;
}

ul.history li:last-child {
	border-bottom:1px solid #efefef;	
}

ul.member,
ul.staff_ob {
	margin:0;
	padding:0;
}

ul.member li,
ul.staff_ob li {
	list-style:none;
	border-bottom:1px solid #efefef;
	padding-top:8px;
	padding-bottom:7px;
}

ul.member li dl,
ul.staff_ob li dl {
	margin:0;
}

ul.member li dl dt,
ul.staff_ob dl dt {
	margin:0;
}

ul.member li dl dd,
ul.staff_ob dl dd {
	margin:0;
}

ul.member li dl dd span {
	color:#7e7e7e;
}

ul.staff {
	margin:0;
	padding:0;
}

ul.staff li {
	margin:0;
	padding:0;
	list-style:none;
	width:100%;
}

ul.staff_ob dl dt span {
	color:#7e7e7e;
}

ul.document,
ul.document li dl dd ul {
	margin:10px 0 0;
	padding:0;
}

ul.document li {
	list-style:none;
	margin-bottom:15px;
	display:inline-block;
}

ul.document li.document_bs {
	list-style:none;
	margin-bottom:15px;
	display:block;
}

ul.document li a,
ul.document li dl dd ul li a {
	display:inline-block;
	border:1px solid #105132;
	padding:8px 55px 8px 15px;
	color:#105132;
	text-decoration:none;
	position:relative;
	transition-duration: 0.5s
}

ul.document li a::after,
ul.document li dl dd ul li a::after {
	position: absolute;
	display: block;
	content: "";
	background:url("images/icon_pdf.svg");
	background-repeat:no-repeat;
	top:20%;
	right: 16px;
	width: 20px;
	height: 38px;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}
ul.document li a:hover,
ul.document li dl dd ul li a:hover {
	background:#dfdfdf;
}

ul.document li dl dt {
	margin-bottom:6px;
}


.pagenavi {
	margin-top:30px;
}

.pagenavi .page-numbers {
	border:1px solid #105132;
	padding:4px 12px;
}

.pagenavi a.page-numbers {
	background:#105132;
	color:#fff;
	font-weight:bold;
	border:1px solid #105132;
	padding:4px 12px;
	text-decoration:none;
	transition:.5s;
}

.pagenavi a.page-numbers:hover {
	background:#fff;
	color:#105132;
}

.page_content.info {
	padding-bottom:120px;
}

.other_events ul.recommend li a img,
.other_recommend ul.recommend li a img {
	width:100%;
	height:auto;
}

.recommend ul.list_navi {
	margin:0;
	padding:0;
}

.recommend ul.list_navi li {
	width:100%;
	list-style:none;
	margin:0;
	position:relative;
}

.recommend ul.list_navi li a {
}

.recommend ul.list_navi li a img {
	width:100%;
}

.recommend ul.list_navi li p {
	position:absolute;
	top:20%;
	left:10%;
	font-size:22px;
	font-weight:600;
	color:#fff;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}

.other_recommend {
	margin-top:60px;
	border-top:1px solid #efefef;
	padding-top:30px;
}

.other_recommend a {
	text-decoration:none;
}

.other_recommend a p {
	color:#105132;
	text-decoration:none;
}

.other_projects_navi {
	margin-top:80px;
	border-top:1px solid #efefef;
	padding-top:30px;
}

.other_projects_navi a {
	color:#000;
	text-align:center;
	text-decoration:none;
}

.asolulu_back {
	margin-top:40px;
}

.asolulu_back ul {
	margin:30px 0 0;
	padding:0;
}

.asolulu_back ul li {
	margin:0 0 17px 0;
	padding:0;
	list-style:none;
}

.asolulu_back ul li span {
	margin-left:20px;
}

.asolulu_back ul li a {
	color:#3d6c06;
	text-decoration:none;
	font-weight:600;
	font-size:14px;
}

.new_title p.link {
	margin-top:6px;
	text-align:center;
}

.new_title p.link a {
	text-decoration:none;
	font-weight:600;
}

.asolulu_back ul li a.button,
.new_title p.link a {
	background:#3d6c06;
	padding:3px 20px 3px 8px;
	border-radius:8px;
	color:#fff;
	font-size:14px;
	margin-left:20px;
}

.asolulu_back ul li a.button i,
.new_title p.link a i {
	font-sty;e:normal;
	position:relative;
}

.asolulu_back ul li a.button i::before,
.new_title p.link a i::before {
	position: absolute;
	display: block;
	content: "";
	top:31%;
	right: -20px;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 10px solid #fff;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.asolulu_back h4.backnumber {
	background:#dfdfdf;
	padding:10px 12px;
}


.single_content ul.content_link {
	margin:0 0 30px 0;
	padding:0;
}

.single_content ul.content_link li {
	width:100%;
	list-style:none;
}

.single_content ul.content_link li p {

}

.single_content ul.content_link li p a {
	display:block;
	padding-top:20px;
	padding-bottom:20px;
}

ul.contact {
	margin:0;
	padding:0;
}

ul.contact li {
	list-style:none;
	margin-bottom:10px;
	padding-bottom:6px;
	padding-top:6px;
}

ul.contact li dl dt span {
	color:#00562f;
}

ul.contact li input,
ul.contact li textarea {
	width:100%;
}

.form_button button.confirm,
.form_button button.submit {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 50px;
	position: relative;
	background: #3d6c06;
	border: 1px solid #56001b;
	box-sizing: border-box;
	padding: 0 25px 0 40px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition-duration: 0.3s;
	margin-left:auto;
	margin-right:auto;
}

.form_button button.confirm::before,
.form_button button.submit::before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -6px;
}

.form_button button.confirm:hover,
.form_button button.submit:hover {
	background: #fff;
	color: #3d6c06;
}

.form_button button.confirm:hover::before,
.form_button button.submit:hover::before {
	border-top: 2px solid #233f03;
	border-right: 2px solid #233f03;
}


.form_button button.back {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 50px;
	position: relative;
	background: #dfdfdf;
	border: 1px solid #cccccc;
	box-sizing: border-box;
	padding: 0 25px 0 40px;
	color: #333;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition-duration: 0.3s;
	margin-left:auto;
	margin-right:auto;
}

.form_button button.back:hover {
	background: #ababab;
	color: #fff;
}

h2.wp-block-heading {
	font-size:18px;
	margin-top:20px;
	margin-bottom::10px
}

/*
@media (min-width: 563px) {

	.company_box {
		height: 40vh;
	}
	
	.company_text {
		position: absolute;
		background: url("images/top_company_back.png");
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		padding-top: 43%;
		padding-bottom: 33%;
		height: 40vh;
	}

}
*/

@media (min-width: 576px) {
	.projects ul li {
		width: 33.333%;
		float: left;
		margin-bottom: 15px;
	}
}
@media (min-width: 768px) {

	.offcanvas-body ul.navbar-nav {
		margin-bottom: -6px;
	}
	
	.offcanvas-body ul.navbar-nav li.nav-item {
		margin-right: 5px;
	}
	
	.offcanvas-body ul.navbar-nav li.nav-item:last-child{
		margin-right: 0;
	}

	.offcanvas-body ul.navbar-nav li.nav-item a {
		color: #fff;
		background:#3d6c06;
		text-decoration: none;
		padding: 8px 20px 10px;
		border-radius: 5px 5px 0 0;
		/*transition: .8s;*/
	}
	
	.offcanvas-body ul.navbar-nav li.nav-item a:hover {
		background: #75bd9e;
	}
	
	.navbar-brand {
		width: 300px;
		height:40px;
		margin-left: 7px;
		padding-top: 0;
	}

	a.nav-link {
		padding-top:8px;
		padding-bottom:10px;
		border-bottom:none;
	}

	
	.main-image .main-image_logo img {
		width: 220px;
		margin-right: 10px;
	}
	
	.info h2,
	.event h2,
	.recommend h2,
	.projects h2,
	.asoarea h2, {
		font-size: 28px;
		margin-bottom: 32px;
		color: #666;
	}

	.top_company h2 {
		font-size: 36px;
		margin-bottom: 32px;
		color: #fff;
	}
	
	.info h2 span {
		font-size: 20px;
	}
	
	.event h2 span,
	.recommend h2 span,
	.projects h2 span,
	.asoarea h2 span {
		font-size: 22px;
		color: #333;
	}
	
	
	.top_company h2 span {
		font-size: 22px;
		color: #fff;
	}
	
	.recommend ul li a {
		transition: .8s;
	}


	.event ul {
		margin: 10px 0 0 0;
	}
	
	.event ul li,
	.other_events ul li {
		width: 32.4%;
		margin-right: 1.4%;
	}

	.event ul li:nth-child(2n+2),
	.other_events ul li:nth-child(2n+2) {
		margin-right: 1.4%;
	}

	.event ul li:nth-child(3n+3),
	.other_events ul li:nth-child(3n+3) {
		margin-right: 0;
	}
	
/*
	.recommend ul li a .over-text h3 {
		font-size: 20px;
		text-decoration: none;
	}

	.recommend ul li a .over-text h4 {
		font-size: 18px;
	}
	
	.recommend ul li a .over-text {
		position: absolute;
		top: 0;
		opacity: 0;
		transition: .8s;
		width: 100%;
		height: 100%;
	}

	.recommend ul li a:hover .over-text {
		opacity: 1;
		text-align: center;
		color: #fff;
		transition: .8s;
	}

*/
	.banner-area ul li {
		width:19.2%;
		margin-bottom:15px;
	}
	

	.banner-area ul.sns li {
		font-size:14px;
	}

	.footer ul li {
		margin: 0 20px;
		padding: 15px 0 16px 0;
		display: inline-block;
		border-bottom: none;
	}

	ul.recommend_img li {
		width:25%;
		float:left;
	}

	ul.company_navi li {
		width:49%;
		list-style:none;
		margin-bottom:5px;
		display:inline-block;
	}

	ul.member li,
	ul.staff_ob li {
		padding-top:15px;
		padding-bottom:10px;
	}

	ul.member li dl dt {
		width:90px;
		float:left;
	}

	ul.staff_ob li dl dt {
		width:200px;
		float:left;
	}

	ul.member li dl dd {
		margin-left:100px;
	}

	ul.staff_ob li dl dd {
		margin-left:210px;
	}

	ul.member li dl dd br {
		display:none	
	}

	ul.member li dl dd span {
		margin-left:30px;
	}

	ul.staff li {
		width:32%;
		float:left;
		margin-right:1%;
	}

	ul.staff li:nth-child(3n+3) {
		margin-right:0;
	}


}
@media (min-width: 992px) {
	
	.main-image .back_slide {
		width:100%;
		height:100%;
		display:block;
		position:relative;
	}

	.main-image .back_slide div {
		height:100vh;
	}

	.main-image .top_copy {
		top: 60%; /* 親要素の外側（上辺）から50%内側 */
		left: 50%; /* 親要素の外側（左辺）から50%内側 */
		transform: translate(-50%, -50%); /* 要素の位置を-50%上・-50%左に変える */
		padding-top: 0;
		max-width:1280px;
		width:100%;
	}

	
	.main-image h3 {
		margin-top: 26vh;
		font-weight: bold;
		font-size: 40px;
	}
	
	.main-image .main-image_logo img {
		width: 280px;
		margin-right: 10px;
	}
	
	.event ul,
	.recommend ul,
	.other_events ul {
		margin: 10px 0 0 0;
	}
	

	.event ul li,
	.other_events ul li {
		width: 19.2%;
		margin-right: 1%;
	}

	.event ul li:nth-child(2n+2),
	.other_events ul li:nth-child(2n+2) {
		margin-right: 1%;
	}

	.event ul li:nth-child(3n+3),
	.other_events ul li:nth-child(3n+3) {
		margin-right: 1%;
	}
	
	.event ul li:nth-child(5n+5),
	.other_events ul li:nth-child(5n+5) {
		margin-right: 0;
	}


	.recommend ul li {
/*		width: 24.4%;
		margin-right: 0.8%; */
	}

/*
	.recommend ul li:nth-child(2n+2) {
		margin-right: 0.8%;
	}

	.recommend ul li:nth-child(4n+4) {
		margin-right: 0.8%;
	}

*/
	.projects ul {
		margin: 10px 0 0 0;
	}
	
	/*.company_box {
		height: 50vh;
	}
	*/
	.company_text {
		position: absolute;
		background: url("images/top_company_back.png");
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		padding-top: 20vh;
		padding-bottom: 0;
	}


	.single_content {
		margin-top:100px;
		margin-bottom:80px;
		padding:20px 15px ;
		box-shadow: 0px 0px 15px 0px rgba(136, 136, 136, .1);
		border-radius:20px;
	}

	.page_content {
		margin-top:50px;
		margin-bottom:80px;
	}

	.page_content h1,
	.page_content_02 h1 {
		font-size:26px;
		margin-bottom:30px;
	}

	.page_content_02 h2 {
		font-size:24px;
	}

	.page_content_02 h3 {
		font-size:20px;
	}

	.page_content_02 h4 {
		font-size:18px;
	}

	.recommend ul li a .over-text h3,
	.other_recommend ul li a .over-text h3 {
		font-size: 16px;
	}


	.other_recommend ul li {
		width: 19.2%;
		margin-right: 1%;
	}
	
	.other_recommend ul li dl dt p {
		font-size:14px;
	}

	.other_recommend ul li:nth-child(3n+3) {
		margin-right:1%;
	}

	.other_recommend ul li:nth-child(5n+5) {
		margin-right:0;
	}

	.recommend ul.list_navi li p {
	position:absolute;
	top:30%;
	left:10%;
	font-size:28px;
	font-weight:600;
	color:#fff;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}


}
@media (min-width: 1200px) {


	.top_img.company_top{
		padding-bottom:30%;
		background-position:center 20%;
	}

	.top_img.company_02 {
		padding-bottom:30%;
		background-position:center 42%;
	}

	.top_img.company_03 {
		padding-bottom:30%;
		background-position:center 56%;
	}

	.top_img.company_04 {
		padding-bottom:30%;
		background-position:center 52%;
	}

	.asoarea p {
		margin-top:50px;
	}

	.single_content ul.content_link li {
		width:48%;
		list-style:none;
		margin-left:5px;
		margin-right:5px;
		display:inline-block;
	}

	.single_content ul.content_link li p {
	}

	.single_content ul.content_link li p a {
		display:block;
		padding-top:20px;
		padding-bottom:20px;
	}

	.banner-area ul.sns li {
		font-size:16px;
	}


}
@media (min-width: 1400px) {

	
	.main-image h3 {
		margin-top: 23vh;
		font-size: 44px;
	}

}

