@charset "utf-8";
@import url("../assets/plugin/slick/css/slick.css");
@import url("../assets/plugin/slick/css/slick-theme.css");
@import url("../assets/css/button.css");
@import url("../assets/css/news.css");
@import url("../assets/css/gallery.css");
/* CSS Document */
/*========= ローディングのためのCSS ===============*/
.loading {
  position: fixed;
  z-index: 99999;
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  background: #EFF5DC;
}
.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms;
}
.loadbar {
	margin: 50vh auto auto;
    width:180px;
    height:2px;
    background-color:#FFF;
    position:relative;
    border-radius:10px;
}
.loadbar::before {
	content: "Now loading...";
	font-size: 1.2em;
	color: #1E841E;
	text-align: center;
  	font-family: 'Merriweather-Regular.woff';
	position: absolute;
	display: block;
	width: 180px;
	top: -2em;
	left: 0;
}
.onloadbar {
	position:absolute;
    width:180px;
    height: 2px;
    background-color:#1E841E;
    animation: progress 4s normal;
    animation-fill-mode: forwards;
}
@keyframes progress {
    0% {width: 0}
    100% {width: 100%}
}
@media screen and (min-width: 768px) {
	.loadbar::before {
		font-size:1.4em;
		width: 220px;
	}
	.loadbar,.onloadbar {
		width: 220px;
		height: 3px;
	}
}
@media screen and (min-width: 1024px) {
	.loadbar::before {
		font-size:1.6em;
		width: 250px;
	}
	.loadbar,.onloadbar {
		width: 250px;
		height: 3px;
	}
}

/*========= ヘッダーのためのCSS ===============*/

header {
  background: transparent;
  border: none;
  color: #fff;
  transition: all .3s;
}
@media screen and (min-width: 1024px) {
	header {
		  background: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0));
	}
}
header .gnavi__pc-style ul li a,header .gnavi__pc-style2 ul li a {
	color: #fff;
}
main {
  margin-top: 0;
}
.gnavi__pc-style ul li:first-child {
	border-bottom: solid white 1px;
}
header.scroll-nav .gnavi__pc-style ul li:first-child {
	border-bottom: solid #000 1px;
}
.gnavi__pc-style2 {
	position: relative;
}
.gnavi__pc-style2::before {
	content: "";
	background-color: #FFF;
	width: 1px;
	height: 35px;
	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	top: 50%;
	left: -13px;
}
header.scroll-nav .gnavi__pc-style2::before {
	background-color: #000;
}
/* ---------topページのみヘッダー設定end--------- */
body {
	padding-top: 0; 
}
.logo_1 {
	display: block;
}
.logo_2 {
	display: none;
}
header.scroll-nav .logo_1 {
	display: none;
}
header.scroll-nav .logo_2 {
	display: flex;
	transition: all .3s;	
}
header.scroll-nav {
	background: rgba(255,255,255,0.8);
	transition: all .3s;
}
header.scroll-nav .gnavi__pc-style ul li a,header.scroll-nav .gnavi__pc-style2 ul li a {
	color: #000;
}
header.scroll-nav .gnavi__pc-style ul li a:hover,header.scroll-nav .gnavi__pc-style2 ul li a:hover {
  color: #1E841E;
  transition: .3s;
}
.mail_imgb {
	display: none;
}
.mail_img {
	display: block;
}
.mail_img:hover {
	opacity: 0;
	transition: all .3s;
}
header.scroll-nav .mail_imgb {
	display: block;
}
header .mail_imgb:hover{
	opacity: 0;
	transition: all .3s;
}
header.scroll-nav .mail_img {
	display: none;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1 span {
	 background-color: #FFF;
}
header.scroll-nav .openbtn1 span {
	 background-color: #1F1F81;
}
.homelink .logo_2 {
	display: none;
}
.homelink.h1clrcng .logo_1 {
	display: none;
}
.homelink.h1clrcng .logo_2 {
	display: block;
	transition: all .3s;
}
.firstview {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

section:first-child .firstview {
	background-color: #f7f7f7;	
}
/*========= スライダーはっぱのためのCSS ===============*/
.load_firstview::before,.firstview::before{
	content: "";
	width: 170px;
	height: 60%;
	display: block;
	position: absolute;
	left: -2.5em;
	top: -1%;
	background: url("../assets/images/leaf05.svg") right top / 100% auto no-repeat;
	z-index: 1200;
	opacity: 0.5;
}
.load_firstview::after,.firstview::after{
	content: "";
	width: 170px;
	height: 49%;
	display: block;
	position: absolute;
	right: -3em;
	bottom: -20%;
	background: url("../assets/images/leaf04.svg") right top / 100% auto no-repeat;
	z-index: 1200;
	opacity: 0.5;
}
/*========= スマホローディングはっぱのためのCSS ===============*/
.load_firstview::before {
	width: 215px;
	left: -3em;
	top: 12%;
}
.load_firstview::after {
	width: 215px;
	right: -3em;
	bottom: -10%;
}
/*========= はっぱのためのメディアクエリ ===============*/
@media screen and (min-width: 768px) {
	.load_firstview::before,.firstview::before{
	width: 300px;
	height: 250px;
	left: -8%;
	top: -1%;
}
	.load_firstview::after,.firstview::after{
	width: 300px;
	height: 250px;
	right: -10%;
	bottom: 9%;
}
}

@media screen and (max-width: 1023px) {
@media screen and (min-aspect-ratio: 16/9) {
	.load_firstview::before,.firstview::before{
	width: 230px;
	height: 250px;
	left: -9%;
	top: 17%;
}
	.load_firstview::after,.firstview::after{
	width: 255px;
	height: 250px;
	right: -9%;
	bottom: -9%;
}
}
	}
@media screen and (max-width: 740px) {
@media screen and (min-aspect-ratio: 16/9) {
	.load_firstview::before,.firstview::before{
	width: 170px;
	height: 250px;
	left: -6%;
	top: 12%;
}
	.load_firstview::after,.firstview::after{
	width: 170px;
	height: 250px;
	right: -6%;
	bottom: -20%;
}
}
	}
@media screen and (min-width: 1024px) {
.load_firstview::before,.firstview::before{
	width: 360px;
	height: 400px;
	left: -8%;
	top: -1%;
}

.load_firstview::after,.firstview::after{
	width: 360px;
	height: 400px;
	right: -7%;
	bottom: -17%;
}
	}
@media screen and (min-width: 1200px) {
.load_firstview::before,.firstview::before{
	width: 380px;
	height: 600px;
	left: -6%;
	top: 14%;
}

.load_firstview::after,.firstview::after{
	width: 380px;
	height: 600px;
	right: -6%;
	bottom: -10%;
}
}
.firstview_image {
  width: 100%;
  background-color: #000;
}

.firstview_image .item01 {
  background: url("../images/img01.jpg") 32% 0 / cover no-repeat;
}

.firstview_image .item02 {
  background: url(../images/img02.jpg) 47% 0 / cover no-repeat;
}

.firstview_image .item03 {
  background: url(../images/img03.jpg) 20% 100% / auto 110vh no-repeat;
}

.firstview_image .item04 {
  background: url(../images/img04.jpg) center/ cover no-repeat;
}
@media screen and (max-width: 1023px) {
@media screen and (min-aspect-ratio: 16/9) {
	.firstview_image .item01 {
  	background: url("../images/img01.jpg") 40% 40% / cover no-repeat;
	}
	}
}
@media screen and (min-width: 768px) {
	.firstview_image .item03 {
		background: url(../images/img03.jpg) center / cover no-repeat;
	}
}
@media screen and (min-width: 1024px) {
.firstview_image .item01 {
  background: url("../images/img01.jpg") center/ cover no-repeat;
}
.firstview_image .item02 {
  background: url(../images/img02.jpg) center/ cover no-repeat;
}

.firstview_image .item03 {
  background: url(../images/img03.jpg) center/ cover no-repeat;
}

.firstview_image .item04 {
  background: url(../images/img04.jpg) center/ cover no-repeat;
}

}
.firstview_image .slider li {
  opacity: 0.7;
}
/*========= プログレスバー ===============*/
.progress_bars {
  width: 100%;
  margin-top: 1em;
	display:flex; 
	list-style: none;
	counter-reset: listnum;
}
.progress_bar_box::after {
	counter-increment: listnum;
	content: counter(listnum, decimal-leading-zero) "";
	color: #FFF;
	position: absolute;
	top: -10px;
	left: 3em;
	font-size: 0.8em;
}
.progress_bar_box {
  width: 35px;
  margin-right: 1.6em;
  height: 1px;
  background-color: #fff;
	display: block; 
	position: relative;
}
.bar {
  height: 100%;
  width: 0px;
}
@media screen and (min-width: 768px) {
	.progress_bar_box::after  {
		font-size: 1em;
		top: -12px;
		left: 4em;
	}
	.progress_bars {
		margin-top: 2.3em;
	}
	.progress_bar_box {
		width: 8%;
		margin-right: 3em;
	}
}
@media screen and (min-width: 1024px) {
	.progress_bar_box {
		height: 2px;
	}
	.progress_bar_box::after  {
		font-size: 1.2em;
		top: -14px;
		left: 5em;
	}
	.progress_bars {
		margin-top: 3em;
	}
}
/* ===============================
scroll
=============================== */
.scroll {
	animation:  move-y .9s infinite alternate ease-in-out;
/*	animation: arrowmove 1s ease-in-out infinite;
*/	display: inline-block;
	position: absolute;
	left: 50%;
	top: 85%;
	z-index: 1000;
}
.scroll_txt {
	display: block;
	position: absolute;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	font-weight: 300;
	font-size: 0.7em;
	color: #fff;
}
.scroll::before{
	position: absolute;
	content: "";
	top: 17px;
    left: -9px;
	width: 1em;
	height: 1em;
	border-top: solid 4px #1E841E;
	border-right: solid 4px #1E841E;
	transform: rotate(135deg);
}
.scroll::after{
	position: absolute;
	content: "";
	top: 3px;
    left: -13px;
	width: 1.5em;
	height: 1.5em;
	border-top: solid 4px #fff;
	border-right: solid 4px #fff;
	transform: rotate(135deg);
}
@keyframes move-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(15px);
  }
}
@media screen and (min-width: 768px) {
	.scroll {
		top: 90%;		
	}
	.scroll_txt {
		font-size: 0.9em;
	}
}
@media screen and (min-width: 1024px) {
	.scroll_txt {
		font-size: 1.2em;
	}
	.scroll::before {
		top: 20px;
		left: -11px;
		width: 1.3em;
		height: 1.3em;
		border-top: solid 4px #1E841E;
		border-right: solid 4px #1E841E;
	}
	.scroll::after {
		top: 4px;
		left: -15px;
		width: 1.8em;
		height: 1.8em;
	border-top: solid 5px #fff;
	border-right: solid 5px #fff;
	}
}
@media screen and (max-width: 1023px) {
@media screen and (min-aspect-ratio: 16/9) {
	.firstview_tit {
		top: 53%;
	}
		.scroll {
		top: 85%;		
	}

}
}

/* ===============================
fastview
=============================== */
.firstview_tit {
  position: absolute;
  top: 48%;
  left: 10%;
  z-index: 1201;
}
.firstview_tit .catch {
 padding-right:2em; 
  position: relative;
  font-family: 'HannariMincho-Regular';
  font-size: 1em;
  line-height: 1.1em;
  font-weight: 500;
  color: #fff;
}

.firstview_tit .catch span{
	display: block;
	margin-bottom: -0.5em;
	font-size: 1.7em;
	line-height: 1em;
	font-family: 'Merriweather-Regular.woff';
}
.firstview_tit .catch .catch_br {
	display: block;
	margin: 0.4em 0;
}
.catch_brt {
	display: block;
	height: 0;
	}
@media screen and (min-width: 454px){
	.catch_brt {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	.firstview_tit .catch {
		font-size: 1.4em;
		line-height: 1em;
}

.firstview_tit .catch span{
	font-size: 2em;
}
	.firstview_tit .catch .catch_br {
	margin: 0.6em 0;
}

}
@media screen and (max-width: 767px) {
@media screen and (min-aspect-ratio: 16/9) {
	.firstview_tit .catch{
		font-size: 1em;
	}
	}
}
@media screen and (max-width: 1023px) {
@media screen and (min-aspect-ratio: 16/9) {
	.firstview_tit {
		top: 53%;
	}
	.firstview_tit .catch span {
		font-size: 1.7em;
	}
}
}
@media print, screen and (min-width: 1024px) {

	.firstview_tit {
  top: 50%;
}
	.firstview_tit .catch {
  font-size: 1.8em;
}
	.firstview_tit .catch .catch_br {
	margin: 0.7em 0;
}
	.firstview_tit .catch span{
	font-size: 2.5em;
		line-height: 1em;
}	
}
/* ===============================
common_title
=============================== */
.common_title{
	max-width: 1400px;
	margin: 0 auto;
	width: 100%;
	font-size: 1.2em;
	font-weight: 500;
	display: block;
	padding-left: 10%;
}
.common_title span{
	display: flex;
	font-size: 0.6em;
	font-weight: 300;
	align-items: center;
}
.common_title span::before {
	content: "";
    border-bottom: solid 0.8px black;
    width: 0.8em;
    margin-right: 0.8em;
    margin-left: 0.3em;
}
@media screen and (min-width: 768px) {
	.common_title {
		margin-left: 5%;
		font-size: 1.5em;
		padding: 0;
	}
}
@media print, screen and (min-width: 1024px) {
	.common_title {
		margin:  0 auto;
		font-size: 1.8em;
		padding: 0;
		width: 90%;
	}
}
/* ===============================
about
=============================== */
.about {
	margin-top: 3em;
	height: 595px;
	position: relative;
	overflow: hidden;
}
.about_back {
	background:  url("../images/about.jpg") left 15% / 300% auto no-repeat;
	height: 550px;
	clip-path: polygon(75% 0%, 100% 8%, 100% 90.7%, 25% 100%, 0 92%, 0 9.3%);
    -webkit-clip-path: polygon(75% 0%, 100% 8%, 100% 90.7%, 25% 100%, 0 92%, 0 9.3%);
	position: relative;
	z-index: 0;
	padding: 0 10% 0;
}
.about_content {
	background: #fff;
	opacity: 0.85;
	border-radius: 15px;
	margin: 0 auto;
	padding: 7%;
	width: 100%;
}
.about_content h3{
	font-size: 1.3em;
	margin-bottom: 0.5em;
	font-weight: 500;
}
.about_content h3 br {
	display: none;
}
.about_content p{
	font-size: 1em;
	line-height: 25px;
	margin-bottom: 10px;
}
.about_content_box {
	width: 100%;
	margin: 0 auto;
	max-width: 1400px;
	padding-top: 23%;
}
@media screen and (min-width: 500px) {
	.about {
		height: 560px;
	}
	.about_back {
		background-position: left top;
		background-size: 137%;
		height: 515px;
		top: -0.5em;
		clip-path: polygon(75% 0%, 100% 10%, 100% 87%, 28% 100%, 0 90%, 0 13%);
	}
	.about_content_box {
		padding-top: 18%;
	}
	.about_content h3 br {
	display: block;
}

}
@media print, screen and (min-width: 768px) {
	.about {
		background-size: 1080px;
		height: 630px;
	}
	.about_back {
		background-position: center;
		background-size: 100vw;
		clip-path: polygon(75% 0%, 100% 13%, 100% 88%, 28% 100%, 0 88%, 0 13%);
		height: 560px;
		padding: 10% 0 1%;
		top: -1em;
	}
	.about_content {
		width: 400px;
		margin-left: 10%;
		padding: 30px;
	}
	.about_content_box {
		padding-top: 0%;
	}
}
@media print, screen and (min-width: 1024px) {
	.about {
		margin-top: 5em;
		height: 710px;
	}
	.about_back {
		clip-path: polygon(75% 0%, 100% 15%, 100% 80%, 25% 100%, 0 85%, 0 10%);
		padding: 6% 0 1%;
		height: 670px;
		top: -2em;
	}
	.about_content {
		width: 630px;
	}
	.about_content h3 {
		font-size: 1.7em;
		margin-bottom: 0.2em;
	}
	.about_content p {
		font-size: 1.1em;
		line-height: 42px;
	}
	.about_content_box {
		padding-top: 4%;
	}
}
@media print, screen and (min-width: 1400px) {
	.about {
		margin-top: 8em;
		height: 835px;
	}
	.about_back {
		clip-path: polygon(75% 0%, 100% 15%, 100% 80%, 25% 100%, 0 80%, 0 15%);
		height: 800px;
		padding: 7% 0 1%;
		top: -4em;
	}
	.about_content {
		margin-left: 7%;
	}
}
@media print, screen and (min-width: 1900px) {
	.about {
		margin-top: 8em;
		height: 870px;
	}
	.about_back {
		clip-path: polygon(75% 0%, 100% 15%, 100% 80%, 25% 100%, 0 80%, 0 18%);
		height:  850px;
		top: -3em;
	}
	.about_content_box {
		padding-top: 5%;
	}
}
@media screen and (min-width: 2400px) {
	.about {
		height: 950px;
	}
	.about_back {
		height:  920px;
		top: -3em;
	}
	.about_content_box {
		padding-top: 3%;
	}

}
/* ===============================
strong
=============================== */
.strongbox {
	margin-top: 2em;
	width: 100%;
	overflow: hidden;
}
.strongbox_back {
	width: 100%;
	height: auto;
	position: relative;
}
.strongbox_back::before {
    content: "";
	position: absolute;
	display: block;
	top: 3%;
	width: 100%;
	height: 50%;
	transform: skewY(-7deg);
    background-color: #F2F3F2;
}
.strongbox_back::after {
content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 50%;
    top: 42%;
    transform: skewY(-7deg);
    background-color: #F2F3F2;
}
.strong {
	margin: 4em auto 0;
	max-width: 1400px;
	width: 100%;
	padding: 0 3em;
	position: relative;
	z-index: 1;
}
.strongbox h3{
	margin: 1em auto 3em;
	font-size: 1.2em;
	letter-spacing: 0;
	text-align: center;
	font-weight: 500;
	width: 90%;
}
.strongbox h3::before{
	content: "“";
	color: #6E6E6E;
}
.strongbox h3::after{
	content: "”";
	color: #6E6E6E;
}
.strong ul{
	margin: 0 auto;
	display: block;
	justify-content: space-between;
	position: relative;
	max-width: 1400px;
}
.strong_en{
	color: #A5A5A5;
	font-size: 1em;
	text-align: center;
	position: absolute;
	left: -2em;
	top: 5em;
	transform: rotate(180deg);
	writing-mode: vertical-rl;
	display: block;
  	font-family: 'Merriweather-Regular.woff';
}
.strong_en::after{
	content: "";
	width: 1px;
	height: 100px;
	display: block;
	background-color: #A5A5A5;
	position: absolute;
	left: 0.5em;
	top: 12.5em;
}
.strong ul li{
	width: 100%;
	margin: 1em auto;
	padding-bottom: 2em;
	box-shadow: 5px 5px 6px #C2C2C2;
	background-color: white;
	position: relative;
	z-index: 0;
}
.strong li:nth-of-type(2) {
 	margin-top: 3em;
	margin-bottom: 3em
}
.strong li span{
	width: 55px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0.5em;
	top: -1em;
	z-index: 2;
	background-color: #1E841E;
	color: white;
	font-size: 1.6em;
	font-weight: bold;
}
.strong li img{
	width: 100%;
	position: relative;
	z-index: 0;	
}
.strong h4{
	margin: 0.5em 0;
	text-align: center;
	color: #1E841E;
	font-size: 1.6em
}
.strong p {
	width: 85%;
	max-width: 1400px;
	margin: 0 auto;
	line-height: 1.6em;
}
.strong_bg {
  margin-top: -25em;
  position: relative;
  z-index: 0
}
.strong_bg::after {
  content: '';
  width: 100%;
  height: 580px;
  position: absolute;
  left: 0;
  top: 0;
  background: #F2F3F2;
  transform: skewY(-8deg);
  transform-origin: top left;
  z-index: -1
}
@media screen and (min-width: 500px) {
	.strongbox h3 {
		font-size: 1.4em;
	}
	.strong_en::after{
		top: 12em;
}
}
@media print, screen and (min-width: 768px) {
	.strongbox {
		margin-top: 0;
	}
	.strong {
	margin-top: 4em; 
	padding: 0 3em;
	}
	.strong ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
		margin-bottom: 1em; 
}
	.strong li span{
	width: 55px;
	height: 60px;
	left: 0.5em;
	top: -1em;
	font-size: 1.6em;
}

	.strong ul li {
	width: 30%;
	margin-bottom: 2em;
}
	.strong li:nth-of-type(2) {
 	margin-top: 3em;
	margin-bottom: 0;
}
	.strong ul li span{
	width: 45px;
	height: 55px;
	left: 0.5em;
	top: -1em;
	font-size: 1.3em;
}
	.strongbox br {
	display: none;
	}
	.strongbox h3 {
	margin: 0.5em auto 2em;
	font-size: 2em;
	letter-spacing: 0.1em;
}
		.strongbox_back::after {
    top: 31%;
}
	.strong h4 {
		font-size: 1.3em;
	}
	.strong_en {
	font-size: 1.4em;
	left: -40px;
	top: 3em;
	}
	.strong_en::after{
	left: 0.5em;
}
}
@media print, screen and (min-width: 1024px) {
	.strongbox {
		margin-top: 3em;
	}
	.strong {
		width: 90%;
		padding: 0;
	}
	.strong h4 {
		font-size: 1.8em;
	}
	.strong p {
		font-size: 1.1em;
	}
	.strong ul li {
	width: 28%;
	/*height: 470px;*/
}
	.strong_en {
	left: -15px;
	}
	.strongbox h3 {
	font-size: 2.5em;
	}
	.strong ul li span {
	width: 85px;
	height: 90px;
	font-size: 2.5em;
}
	.strongbox_back::after {
    top: 26%;
}
}
@media screen and (min-width: 2000px) {
	.strongbox_back::after {
    top: 15%;
}
	.strongbox {
		margin-top: 7em;
	}
}
/*===============================
title2
=============================== */
.contents_title,.news_title {
	margin-top: 50px auto 0;
	padding-left: 10%;
	font-weight: bold;
	display: block;
	font-size: 2.5em;
	color: #3467C1;
	max-width: 1400px;
}
.contents_title span,.news_title span {
	display: flex;
	font-size: 0.4em;
	font-weight: 300;
	align-items: center;
	color: black;
}
.contents_title span::before,.news_title span::before {
	content: "";
	border-bottom: solid 0.5px black;
	width: 0.7em;
	margin-right: 0.3em;
}
@media screen and (min-width: 768px) {
	.contents_title,.news_title {
		margin-left: 5%;
		font-size: 3.5em;
		padding: 0;
	}
	.contents_title span,.news_title span {
		font-size: 0.3em;
	}
	.contents_title {
		line-height: 0.65;
	}
	.contents_title span {
		margin-top: 1.6em;
	}
}
@media print, screen and (min-width: 1024px) {
	.contents_title,.news_title {
		padding: 0;
		font-size: 4em;
		width: 90%;
		margin: 0 auto 0.4em;
	}
	.contents_title span,.news_title span {
		font-size: 0.3em;
	}
}
/* ===============================
service
=============================== */
.service {
	position: relative;
	padding-top: 2em;
}
.service::before {
	content: "";
	width: 115px;
	height: 115px;
	position: absolute;
	display: block;
	z-index: -1;
	background: url("../assets/images/leaf03.svg") right top / 100% auto no-repeat;
	right: 13px;
	top: 9px;
}
.service_inner {
	width: 80%;
	margin: 0 auto 2em;
}
.service_main {
	max-width: 1400px;
	margin: 2em auto 0;
}
.service_main p {
	margin-top: 0.8em;
	line-height: 1.6em;
}
.service_main h3 {
	font-size: 1.4em;
	font-weight: bold;
}
.service_img {
	margin-top: 1em;
}
.service_list img,.service_img {
    height: auto;
    object-fit: cover;
    width: 100%;
}
.service_list {
	background: #EFF5DC;
	padding-bottom: 1.5em
}
.service_list ul {
	width: 100%;
	max-width: 1400px;
	padding: 0.5% 0 2em 0;
}
.service_list ul li {
	width: 80%;
	margin: 3em auto 0 auto;
	position: relative;	
}
.service_list ul li h3 {
	margin: 1em 0;
	font-size: 1.3em;
	font-weight: 500;
}
.service ul li p {
  line-height: 1.8em;
}
.service h3 span {
  font-family: 'NotoSansJP-Regular';
	display: flex;
	font-size: 0.65em;
	font-weight: 300;
}

.service_slide_container {
    width: 90%;
    height: 450px;
    margin: 0px auto;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.service_slide_wrapper {
  display: flex;
  animation: service_slide_flow 70s infinite linear 0s both;
}
.service_slide{
  width: 300px;
  object-fit:cover;
  border: 1px solid #ddd;
}
@keyframes service_slide_flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}

 .service_slide_paused:hover .service_slide_wrapper {
   animation-play-state: paused;
 }
 .service_slide_paused:hover .service_slide_wrapper img:hover {
   opacity: .8;
   cursor: grabbing;
 }

/*@media screen and (min-width: 600px) {
.service_list img,.service_img {
    height: 260px;
}
}
*/
@media print, screen and (min-width: 768px) {
	.service {
		margin-top: 3em;
		padding-top: 3.5em;
	}
	.service::before {
	width: 125px;
    right: 17px;
    top: -6%;
    height: 160px;
	}
	.service_flex {
		margin: 0 0 0 auto;
	}
	.service_flex h3 span {
		font-size: 0.8em;
	}
	.service_main h3 {
		font-size: 1.4em;
	}
	.service_main {
		margin-left: 5%;
		position: relative;
		flex-flow: row-reverse;
/*		height: 380px; */
		height: 270px;
	}
	.service_main p {
	width: 40%;
/*	height: 255px; */
	height: 150px;	
	font-size: 1.1em;
	line-height: 2em;
	margin-top: 1em;
	position: absolute;
	}
	.service_img {
	width: 50%;
	height: auto;
	margin: 0;
		position: absolute;
		display: block;
		right: 0;
		top: 0;
	}
	.service_inner {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
	.service_list {
		margin-left: 0;
		background: linear-gradient(90deg,#EFF5DC 0%,#EFF5DC 75%,#FFF 45%,#FFF 100%);

	}
	.service_list img {
    object-fit: cover;
    width: 100%;
	object-position: left;
}
	.service_list ul {
		width: 90%;
		margin: 0 auto 4em;
		padding: 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.service_list ul li {
		width: 31%;
		margin: 4em 0 0 0;
		padding-bottom: 3em
	}

	.service_list ul li h3 {
		font-size: 1.2em;
		font-weight: 500;
	}
	.service_list h3 {
		margin-top: 1em;
	}
	.service h3 span {
		font-size: 0.6em;
	}
}
@media print, screen and (min-width: 1024px) {
	.service {
		padding-top: 8em;
	}
	.service::before {
		width: 185px;
		height: 200px;
		right: 13px;
		top: -4%;
	}
	.service_main h3 {
		font-size: 2em;
	}
	.service_main h3 span {
		font-size: 0.6em;
	}
	.service_list {
		background: linear-gradient(90deg,#EFF5DC 0%,#EFF5DC 73%,#FFF 45%,#FFF 100%);
	}
	.service_list ul {
		width: 100%;
		max-width :calc( 1400px + 8em) ;
		padding: 0 4em 2em 4em
	}
	.service_list ul li h3 {
		font-size: 1.5em;
	}
	.service_img {
		max-height: 500px;
		object-fit: cover;
	}
	.service_main {
/*		height: 460px; */
		height: 300px;
		width: 90%;
		padding: 0;
		margin: 3em auto auto;
	}
}
/* ===============================
map
=============================== */
.map {
  width: 100%;
	height: 500px;
	overflow-y:auto;
    -webkit-overflow-scrolling:touch;
}
.map iframe {
  /*width: 100%;*/
  display: block;
  width: 1px;
  min-width: 100%;
  *width: 100%;
  height: 500px;
}
/* ===============================
btn
=============================== */
.about_btn {
	margin-left: auto;
	right: 15px;
	color: #1E841E;
	position: relative;
	cursor: pointer;
}
.about_content a {
	font-family: 'SourceHanSans-Regular';
	font-weight: 300;
	display: block;
	width: 91px;
	color: #1E841E;
	font-size: 0.9em;
	border-bottom: solid 1px #1E841E;
	margin: auto 0 10px auto;
	cursor: pointer;
}
.about_btn::after {
	content: "";
	display: block;
    border: solid 1px #1E841E;
    border-radius: 50%;
    height: 1.8em;
    width: 1.8em;
    position: absolute;
    top: 8px;
    left: 75px;
	cursor: pointer;
}
/* ===============================
safariのみ
=============================== */
_::-webkit-full-page-media, _:future, :root .about_btn::after{
	    top: 5px;
		left: 70px;
}
.about_content a:hover,.detail_btn:hover {
	opacity: 0.5;
}
.detail_btn a {
	font-family: 'SourceHanSans-Regular';
	font-weight: 300;
	color: #1E841E;
	font-size: 1em;
}
.list_btn a {
	color: #1E841E;
	pointer-events: auto;
	font-family: 'SourceHanSans-Regular';
	font-weight: 500;
}
.list_btn {
	pointer-events: none;
	position: relative;
	font-weight: bold;
	margin: 0 auto;
	border: solid 1px #1E841E;
	padding: 12px 28px;
}
.list_btn::before {
   content: '';
  position: absolute;
  bottom: -7px;
  right: -7px;
  width: 100%;
  height: 1px;
  background-color: #1E841E;
  transition: 0.2s ease 0s;
}

.list_btn::after {
  content: '';
  position: absolute;
  top: 7px;
  right: -7px;
  width: 1px;
  height: 100%;
  background-color: #1E841E;
  transition: 0.2s ease 0.2s;
}
.list_btn:hover {
	background: #1E841E;
}
.list_btn a:hover {
	color: #FFF;
}
.list_btn:hover::before {
	background-color: #EFF5DC;
 	transition: 0.2s ease 0s;
}
.list_btn:hover::after {
	background-color: #EFF5DC;
	transition: 0.2s ease 0.2s;
}

@media screen and (min-width: 768px) {
	.detail_btn {
		font-size: 1.1em;
		position: absolute;
		bottom: 0;
	}
	.service_main .detail_btn::after {
	height: 1.6em;
	width: 1.6em;
}
	.list_btn {
		top : -30px;
	}
}
@media print, screen and (min-width: 1024px) {
	.about_content a {
		font-size: 1.1em;
	}
	.about_content a{
		width: 108px;
	}
	.about_btn::after {
	top: 11px;
	left: 87px;
	}
	.list_btn a {
		top: -120px;
		font-size: 1.3em;
		padding: 13px 18px;
	}
}
/*reaf背景*/
.top_reaf{
	width: 100%;
	margin-top: 2em;
	position: relative;
	overflow: hidden;
	z-index: 0;
}
.top_reaf::before{
	content: "";
	width: 35%;
	height: 35%;
	position: absolute;
	display: block;
	right: -8%;
	top: 1%;
	z-index: -1;
	background: url("../assets/images/leaf01.svg") right top / 100% auto no-repeat;
}
.top_reaf::after{
	content: "";
	width: 35%;
	height: 52%;
	position: absolute;
	left: -8%;
	bottom: -9%;
	z-index: -2;
background: url("../assets/images/leaf02.svg") left bottom / 100% auto no-repeat;
}

@media screen and (min-width: 768px) {
.top_reaf{
	margin-top: 3%;
}
.top_reaf::before{
	width: 300px;
	right: -4em;
	top: 2em;
	}
.top_reaf::after{
	width: 250px;
	left: -3em;
	bottom: -3em;
}	
}
@media print, screen and (min-width: 1024px) {
	.top_reaf{
	margin: 5em 0;
}
	.top_reaf::before{
	width: 400px;
	height: 300px;
	right: -4em;
	top: 2em;
}
.top_reaf::after{
	width: 300px;
	height: 314px;
	left: -3em;
	bottom: -3em;
}
}
/*news*/
.news figure{
	width: 240px;
	position: absolute;
	right: 3%;
	bottom: 1em;
}
.news figure img{
	width: 100%
}
.news_btn {
	border: solid 1px #3467C1;
	top: 20px;
}
.news_btn::before {
  background-color: #3467C1;
}

.news_btn::after {
  background-color: #3467C1;
}
.news_btn a {
	color: #3467C1;
}
.news_btn:hover {
	background: #3467C1;
}
.news_btn a:hover {
	color: #FFF;
}
.news_btn:hover::before {
	background-color: #FFF;
 	transition: 0.2s ease 0s;
}
.news_btn:hover::after {
	background-color: #FFF;
	transition: 0.2s ease 0.2s;
}
@media screen and (min-width: 768px) {
	.news figure{
	width: 30%;
	right: 0;
	bottom: 2em;
}
	.news_btn {
		top: 85px;
	}
}
@media print, screen and (min-width: 1024px) {
	.news figure{
	width: 23%
}
}
/*SDGs_アクセス*/
.env_access {
	background:none;
	overflow: hidden;
}
.env_access_inner{
	width: 100%;
	max-width: 1400px;
	padding: 0;
	margin: 0 auto;
	display: block;
    position: relative;
}
.env{
	width: 100%;
	margin: 0 2em 0 auto;
	padding: 2.5em 2em;
	position: relative;
	background-color: #E9E9E9
}
.env_inner{
	width: 100%;
	text-align: center
}

.env_inner img{
	width: 70%;
	min-width: 250px;
	max-width: 432px;
	height: auto;
	margin: 0 auto 1em auto;
	display: block
}
.env_inner span{
	display: block;
	font-size: 0.9em
}
.env_btn{
	margin: 1em auto 0 auto;
 	padding: 0 20px;
 	position: relative;
    display: inline-block;
    color: #3467C1;
	font-size: 1.1em;
	font-weight: 500;
    text-decoration: none;
    outline: none;
}
.env_btn:hover{
	opacity: 0.5
}
.env_btn::before{
    content: '';
    width: 95%;
    height: 1px;
 	position: absolute;
    bottom:-8px;
    left:5%;
 	background:#333;
}
.env_btn::after{
    content: '';
    width: 15px;
    height:1px;
 	position: absolute;
    bottom:-3px;
    right:0;
 	background:#333;
	transform: rotate(35deg);
    transition: all .3s
}
.env_btn:hover::before{
    left:10%
}
.env_btn:hover::after{
    right:-5%
}
.access{
	width: 100%;
	height: 100%;
	padding: 2em 0;
	text-align: left;
	position: relative;
	background-color: #F5F5F5;
	z-index: 1;
}
.access2 {
	width: 80%;
	margin: 0 auto;
}
.access h2 span{
	display: flex;
	font-size: 0.6em;
	font-weight: 300;
	align-items: center
}
.access h2 span::before {
	content: "";
	border-bottom: solid 0.8px black;
	width: 0.8em;
	margin-right: 0.8em
}
.access2 a {
	color: black;
}
.access2 a:hover {
	opacity: 0.6;
}
.access p{
	margin: 1em 0;
	line-height: 1.6em
}
.access small{
	margin-top: -0.5em;
	display: block;
	font-size: 0.9em
}
@media screen and (min-width: 768px) {
	.access2 {
	width: 90%;
}
}
@media print, screen and (min-width: 1024px) {
	.env_access {
	background:linear-gradient(118deg,#E9E9E9 0%,#E9E9E9 45%,#F5F5F5 45%,#F5F5F5 100%);
}
	.env_access_inner{
	display: flex;
	align-items: center;
		width: 90%;
}
	.env{
	width: 50%;
	padding: 0;
	background: none
}
	.env_inner{
		text-align: left
	}
	.env_inner img{
	margin:0 auto 0.5em; 
	}
	.env_btn{
	margin: 3em auto 0 auto;
	font-size: 1.4em
}
	.access{
	width: 50%;
	padding: 4em 0;
	background: none
}
	.env_inner{
	width: 70%;
	text-align: center;
}
	.access2 {
	padding: 0;
		width: 90%;
}
	.env_inner img{
	width: 390px
	}

.access h2 span{
	font-size: 0.6em
}
.access h2 span::before {
	content: "";
	border: solid 0.8px black;
	width: 0.8em;
	margin-right: 0.8em
}
	.access small{
	font-size: 1em
}
		.access p{
	margin: 0.5em 0;
	font-size: 1.1em;
	line-height: 1.6em
}
}
