body {
    font-family: "Noto Serif JP", serif;
    letter-spacing: .05em;
    overflow-x: hidden;
}
main{
	 margin-top:100px !important;
}

.pc_only {
    display: block;
}
.small-pc_only{
	display: none;
}
.sp_only {
    display: none;
}

.js-fadeup {
  opacity: 0;
  transition: all  0.8s;
  /* transition-delay: 0.2s; */
}
.js-fade{
  opacity: 0;
  transition: all  0.8s;
  transform: translateY(100px);
}
.inview {
  opacity: 1;
  transform: translateY(0px);
}

.n-fade {
  opacity: 0;
  transition: all .6s;
  transition-delay: .4s;
}

.n-inview {
  opacity: 1;
}



/* タイトル部分 */
.common-title-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 75px;
}

.common-title-wrap h2 {
    font-size: .90rem;
    color: #808080;
    font-family: "Cormorant Garamond", serif;
   	letter-spacing: -0.02em;
    line-height: 1;
    position: relative;
}

.common-title-wrap h2::before {
    content: "";
    position: absolute;
    bottom: -26px;
    left: 40px;
    width: 100px;
    height: 12px;
    background-color: #006339;
    transition: all .7s;
    transition-delay: 0.2s;
}

/*
.common-title-wrap.inview h2::before {
    width: 100px;
}*/

.common-title-wrap p {
    font-size: .25rem;
    font-weight: 500;
    color: #4D4D4D;
    margin-right: 46px;
    letter-spacing: 0.18em;
}

.common-title__lead{
    font-size: .16rem;
    padding-left: 40px;
}

/* 下層ページ */
.page-title .en {
    font-size: .30rem;
}

.page-title .jp {
    font-size: .15rem;
    letter-spacing: 0.17em;
}

.page-title{
    padding: 77px 19px 71px;
    margin-bottom: 61px;
}



/* 共通ボタン */
.common-btn {
    font-size: .16rem;
    color: #006339;
    border: solid 1px #006339;
    border-radius: 5px;
    padding: 14px 36px 14px 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    width: fit-content;
    justify-content: space-between;
    background-color: #fff;
    transition: all .3s;
	    font-weight: 500;
}

.btn-arrow {
    display: inline-flex;
    position: relative;
    margin-left: 32px;
    margin-right: 0;
    margin-top: -5px;
    width: 85px;
}

.btn-arrow::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 90px;
    height: 10px;
    border-bottom: solid 1.5px #008444;
    border-right: solid 2.5px #008444;
    transform: skew(45deg);
    transition: all .3s;
}

.common-btn:hover {
    background-color: #008444;
    color: #fff;
    opacity: 1;
    border: solid 1px#fff;
}

.common-btn:hover .btn-arrow::before {
    border-bottom: solid 1.5px #fff;
    border-right: solid 2.5px #fff;
    width: 100px;
}

.page-title {
    background-image: url();
    background-size: cover;
    background-repeat: no-repeat;
    padding: 75px 82px 70px;
    margin-bottom: 74px;
}

.page-title .en {
    color: #fff;
    font-size: .48rem;
    font-family: "Cormorant Garamond", serif;
    line-height: 1.1;
    letter-spacing: 0.16em;
}

.page-title .jp {
    font-size: .21rem;
    /*color: #B49A6D;*/
    letter-spacing: 0.17em;
	display: block;
}


/* ニュース */
.news-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.news-container::after {
	display: block;
	content:"";
	width: 30%;
}

.news-item {
    width: 30%;
    margin-bottom: 52px;
}

.news-thumb {
    margin: 0 0 30px;
    aspect-ratio: 3 / 2;
    width: 100%;
    overflow: hidden;
}

/* 画像のはみ出しを隠す（拡大しても枠から出ない） */
.news-thumb{
  border-radius: 10px;
  overflow: hidden;
}

/* 既存 + アニメ用 */
.news-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 10px;            /* どちらでもOK：thumb側だけでも可 */
  transform: scale(1);
  transition: transform 1.0s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}

/* hoverで拡大（a全体のhoverに反応） */
.news-item:hover .news-thumb img{
  transform: scale(1.14);
	opacity:1;
}

.news-item:hover,
.news-item:hover {
  transition: transform 1.0s cubic-bezier(.2,.7,.2,1);
}
.news-item:hover .news-date,
.news-item:hover .news-text {
    color: #006339;
}
.news-item:hover {
	opacity:1;
}

.news-tag {
    font-size: .13rem;
    color: #fff;
    background-color: #006339;
    padding: 0px 0px;
    width: 91px;
    text-align: center;
    margin-right: 18px;
    display: inline-block;
    margin-bottom: 9px;
}

.news-text {
    font-size: .16rem;
    color: #000;
    line-height: 1.8;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.news-date {
    font-size: .16rem;
    color: #000;
}


@media screen and (min-width:801px) and (max-width:1240px) {
	.small-pc_only{
		display: block;
	}
}
@media screen and (max-width:800px) {



    .pc_only {
        display: none;
    }

    .sp_only {
        display: block;
    }

	main {
    margin-top: 64px !important;
	}

	/* 下層ページ */
	.page-title .en {
		font-size: .30rem;
	}

	.page-title .jp {
		font-size: .15rem;
		letter-spacing: 0.17em;
	}

	.page-title {
		padding: 77px 19px 71px;
		margin-bottom: 61px;
	}


	.common-title-wrap {
		/* flex-direction: column; */
		align-items: flex-start;
		align-items: baseline;
		margin-bottom: 44px;
	}

	.common-title-wrap h2 {
		font-size: .45rem;
	}

	.common-title-wrap p {
		font-size: .18rem;
		margin-right: 0;
	}

	.common-title-wrap h2::before {
		bottom: -13px;
		left: 18px;   
		height: 6px;
	}


	.common-title-wrap h2::before {
		width: 50px;
	}

	.common-title__lead {
		font-size: .15rem;
		padding: 0 20px;
	}

	/*ボタン*/

	.btn-arrow {
		width: 70px;
	}

	.btn-arrow::before {
		width: 45px;
	}

	.common-btn:hover .btn-arrow::before {
		width: 60px;
	}

	.common-btn {
		font-size: .15rem;
		padding: 14px 0px 14px 30px;
		width: 302px;
	}
	.btn-arrow::before {
		width: 45px;
	}


	/* ニュース */
	.news-container {
		flex-direction: column;
	}

	.news-item {
		width: 100%;
		margin-bottom: 46px;
	}

	.news-date {
		font-size: .15rem;
	}

	.news-thumb {
		margin: 0 0 15px;
		aspect-ratio: 3 / 2;
		width: 100%;
	}

	.news-tag {
		font-size: .12rem;
		width: 86px;
	}

    .news-text {
        font-size: .15rem;
        padding: 0 20px;
    }


}