@charset "utf-8";
/* CSS Document */

#home section p {}

/*mainvisual
***************************************/
#loadimg {
	clear: both;
	text-align: center;
}

#loading {
	display: none;
}

#loadimg img {
	width: 32px;
	padding: 20% 0;
}

#mainslide {
	background:url(../../images/index/mainvisual_bg_pc.png) no-repeat top 10.5rem center;
	background-size:100%;
}

#mainvisual {
	margin-top:130px;
	position: relative;
	line-height:0;
}

#mainvisual .message {
	z-index:10;
	
	/*中央*/
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	margin: auto;
	display:inline-block;
	left: 43.5%;
	padding-right:8%;
}

#mainvisual .message p strong {
	display:inline-block;
	line-height:1.8;
	color:#FFF;
	background:#187321;
    font-size: clamp(27px, 2.4vw, 48px);
	margin-bottom:1.5rem;
	padding-left:2rem;
}

#mainvisual .message p span {
	display:inline-block;
	line-height:1.6;
	background:rgba(255,255,255,0.9);
    font-size: clamp(16px, 1vw, 20px);
	padding-right:2rem;
	padding-left:2rem;
	padding-top:0.75rem;
	padding-bottom:1rem;
}



#mainvisual img {
	width:90%;
	height:auto;
	display:block;
	margin:0 auto;
	border-radius: 1rem;
}

@media (max-width: 1600px) {}

@media (max-width: 1200px) {}

@media (max-width: 980px) {
#mainvisual {
	margin-top:80px;
}

#mainvisual:after {
	content:none;
}

#mainvisual .textbox {
	top: 43%;
}

#mainvisual .message {
  left: 9%;
  top:70%;
}

#mainvisual .message p strong {
  font-size: clamp(26px, 2.4vw, 48px);
  line-height:1.4;
  padding:0.5rem 1.5rem 1.5rem 1.5rem;
}

#mainvisual .message p span {
  padding:1rem 1.5rem 1rem 1.5rem;
}

}


h2.index_tilte01 {
    display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom:6rem;
	text-align: center;
}

h2.index_tilte01 span {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.4;
	color:#187321;
}

h2.index_tilte01 span::before,
h2.index_tilte01 span::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #187321;
}

#index01 {
	background:url(../../images/index/index01_bg.png) no-repeat center bottom;
	background-size:100%;
}

#index01 p {
	line-height:2.4;
	text-align:center;
	margin-bottom:6rem;
	font-size: clamp(16px, 1.4vw, 18px);
}

#index01 ul {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#index01 li {
    width: calc((100% - 60px) / 3);
}

#index01 li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #187321;
    padding: 4.5rem 3rem;
    text-decoration: none;
    color: #fff;
	border-radius:1rem;
}

#index01 li img {
    width: 115px;
    height: 115px;
    object-fit: contain;
    margin-bottom: 3rem;
}

#index01 li span {
    display: block;
    width: 100%;
    padding: 15px 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    text-align: center;
    color: #fff;
    font-size: clamp(16px, 1.8vw, 20px);
    line-height: 1.5;
}


/* 680px以下 */
@media (max-width:680px){

h2.index_tilte01 {
	margin-bottom:3rem;
}

h2.index_tilte01 span::before,
h2.index_tilte01 span::after {
    width: 15px;
}

	#index01 p {
		text-align:left;
		margin-bottom:3rem;
	}

    #index01 ul {
        gap: 20px;
    }

    #index01 li {
        width: 100%;
    }

    #index01 li a {
        padding: 25px 15px;
    }

	#index01 li img {
		width:60px;
	    height: auto;
		margin-bottom:1.5rem;
	}

}


#index02 h2 {
	text-align:center;
	margin-bottom:6rem;
}

#index02 h2:after {
	display: block;
	content: attr(data-eng);
	color: #187321;
	line-height: 1;
    font-size: clamp(22px, 2vw, 36px);
	margin: 1rem auto 0 auto;
}

#index02 ul {
	border-top:1px solid #DDD;
	margin-bottom:9rem;
	max-height: 756px;
	overflow: auto;
}

#index02 ul li {
	padding:4.5rem 6rem;
	border-bottom:1px solid #DDD;
}

#index02 ul li .text-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

#index02 ul li .date {
    flex: 0 0 auto;
	font-size:clamp(18px, 1.6vw, 20px);
}

#index02 ul li .category {
    flex: 0 0 auto;
}

#index02 ul li .category a {
	display:inline-block;
	padding:0.25rem 1rem 0.5rem 1rem;
	color:#FFF;
	background:#187321;
	border-radius:0.5rem;
	line-height:1;
}

#index02 ul li .news-link {
    display: block;
    flex: 1;
}

#index02 ul li .news-link h3 {
	font-size:clamp(16px, 1.6vw, 20px);
	text-decoration:underline;
	line-height:1.6;
	position: relative;
	top: -5px;
}

#index02 ul li .news-link .excerpt {
    margin: 0;
	font-size:clamp(16px, 1.4vw, 18px);
	color:#222;
	line-height:1.8;
}

#index02 .link_post_btn01 {
	text-align:center;
}

#index02 .link_post_btn01 a {
	display: inline-block;
	background: #fff;
	border-radius: 100px;
	padding: 2.2rem 6%;
	text-align: center;
	text-decoration: none;
	font-size: clamp(16px, 1.6vw, 20px);
	border: 1px solid #49693d;
	position: relative;
}

#index02 .link_post_btn01 a:after {
  content: "";
  display: inline-block;
  background: url(../../images/icon_arrow_way.svg) no-repeat center center;
    background-size: auto;
  background-size: auto;
  background-size: cover;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 3rem;
}

@media (max-width:980px){
#index02 ul li {
	padding:2rem 1rem;
}
}

/* スマホ */
@media (max-width:680px){
	#index02 ul {
		margin-bottom:4.5rem;
		max-height:323px;
	}

    #index02 ul li .text-box {
        display: block;
    }

    #index02 ul li .date,
    #index02 ul li .category {
        display: inline-block;
        margin-bottom: 10px;
    }
	
	#index02 ul li .category {
		position:relative;
		top:5px;
	}

    #index02 ul li .news-link {
        width: 100%;
    }
	
	#index02 ul li .news-link .excerpt {
		display:none;
	}
	
	#index02 .link_post_btn01 a {
		padding: 1.8rem 16%;
	}
	
	#index02 .link_post_btn01 a:after {
		width: 16px;
		height: 16px;
	}

}

#index03 {
	background:#f6faf3;
}

.facility_list{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin:0 0 9rem 0;
    padding:0;
    list-style:none;
}

.facility_list li{
    width:calc((100% - 45px) / 4);
	border-radius:1rem;
}

.facility_list a{
    display:block;
    text-decoration:none;
    color:#fff;
}

.facility_img{
    position:relative;
    overflow:hidden;
	border-radius:1rem;
}

.facility_img img{
    display:block;
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    transition:.3s;
	border-radius:1rem;
}

.facility_title{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:1rem;
    background:rgba(24,115,33,0.85);
    color:#fff;
	text-align:center;
    line-height:1.4;
	border-radius:0 0 1rem 1rem;
    font-size: clamp(18px, 1.6vw, 20px);
}

.facility_list a:hover img{
    transform:scale(1.05);
}

#index03 .link_post_btn02 {
	text-align:center;
}

#index03 .link_post_btn02 a {
	display: inline-block;
	background: #fff;
	border-radius: 100px;
	padding: 2.2rem 6%;
	text-align: center;
	text-decoration: none;
	font-size: clamp(16px, 1.6vw, 20px);
	border: 1px solid #49693d;
	position: relative;
}

#index03 .link_post_btn02 a:after {
  content: "";
  display: inline-block;
  background: url(../../images/icon_arrow_way.svg) no-repeat center center;
    background-size: auto;
  background-size: auto;
  background-size: cover;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 3rem;
}



@media (max-width:980px){

    .facility_list{
        gap:20px;
    }

    .facility_list li{
        width:calc((100% - 20px) / 2);
    }

}

@media (max-width:680px){

	.facility_list li {
		width: calc((100% - 10px) / 2);
	}
	
	.facility_list {
		gap: 10px;
		margin-bottom:4.5rem;
	}
  
    .facility_title{
        padding:5px;
        font-size:16px;
    }
	
	.facility_img img {
		aspect-ratio: 4 / 4;
	}
	
	#index03 .link_post_btn02 a {
		padding: 1.8rem 16%;
	}
	
	#index03 .link_post_btn02 a:after {
	  width: 16px;
	  height: 16px;
	}

}

@media (max-width: 1200px) {}

@media (max-width: 980px) {}

@media (max-width: 680px) {}

@media (max-width: 480px) {}