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


/*
	#####  下層ページ用 #####
	/assets/css/contents.css
*/



/* header 関連 (override) */
.subpage .header-logo a {
	display: block;
	height: 100%;
	width: auto;
}
@media (min-width: 769px) {
	.subpage .header-logo a {
		opacity: 1;
		transition: opacity .4s
	}
	.subpage .header-logo a:hover {
		opacity: .6;
	}
}

/*「View ボタン」(override)*/
.btn-view-line {
	margin: 0 0 0 auto;
}


/* main 関連
=============================*/
main {
	position: relative;
}
main::before {
	content: "";
	width: calc(50vw - 160px);
	/*440px*/
	height: 1530px;
	background-color: #362e2b;
	left: 0;
	top: 0;
	z-index: -1;
}
@media (max-width: 1200px) {
	main::before {
		width: calc(440 / 1200 * 100vw);
		height: calc(1472 / 1200 * 100vw);
		background-size: 100% auto;
	}
}
@media (max-width: 940px) {
	main::before {
		width: calc(410 / 940 * 100vw);
		height: calc(1243 / 940 * 100vw);
	}
}
@media (max-width: 768px) {
	main {
		margin-top: 70px;
	}
	main::before {
		width: calc(410 / 768 * 100vw);
		height: calc(1243 / 768 * 100vw);
	}
}
@media (max-width: 640px) {
	main {
		margin-top: calc(86 / 640 * 100vw);
	}
	main::before {
		width: calc(270 / 640 * 100vw);
		height: calc(1447 / 640 * 100vw);
	}
}



/*main-title-area
=============================*/
.main-title-area {
	height: 300px;
	position: relative;
}


/*beta*/
.main-title-area::after {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	position: absolute;
	left: 0;
	top: 0;
}


/*line*/
.main-title-area::before {
	content: "";
	width: 1px;
	height: 81px;
	background-color: #917e3c;
	position: absolute;
	left: 50%;
	top: 259px;
	transform: translateX(-50%);
	z-index: 3;
}


/*title-bg PH*/
.main-title-bg {
	width: 100%;
	height: 300px;
	overflow: hidden;
}
.main-title-bg img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: 50% 35%;
    max-width: none;
}


/*main-title-txt*/
.main-title-txt {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
}
.main-title-en {
	font-size: 40px;
	font-weight: 500;
}
.main-title-jp {
	font-size: 26px;
	margin-top: 32px;
}
@media (max-width: 640px) {
	.main-title-area {
		height: calc(300 / 640 * 100vw);
	}
	.main-title-bg {
		height: calc(300 / 640 * 100vw);
	}
	.main-title-bg img {
		height: calc(300 / 640 * 100vw);
	}
	.main-title-area::before {
		height: calc(81 / 640 * 100vw);
		top: calc(259 / 640 * 100vw);
	}
	.main-title-en {
		font-size: calc(46 / 640 * 100vw);
	}
	.main-title-jp {
		font-size: calc(26 / 640 * 100vw);
		margin-top: calc(32 / 640 * 100vw);
	}
}



/*topic-path
=============================*/
.topic-path {
	width: 100%;
	max-width: 1260px;
	/*margin: 86px auto 30px;*/
	margin: 100px auto 80px;
	padding: 0 30px;
	box-sizing: border-box;
}
.topic-path ul {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	font-size: 12px;
	font-family: 'Noto Serif JP', serif;
		color: #fff;
}
.topic-path li:not(:last-child)::after {
	content: "-";
	display: inline-block;
	margin: 0 5px;
}
.topic-path a {
	color: #e0d093;
	transition: color 0.3s;
}
.topic-path a:hover {
	color: #b9a762;
}
@media (max-width: 1200px) {
	.topic-path {
		max-width: inherit;
		padding: 0 calc(30 / 1200 * 100vw);
	}
}
@media (max-width: 940px) {
	.topic-path {
		padding: 0 calc(30 / 940 * 100vw);
	}
}
@media (max-width: 768px) {
	.topic-path {
		padding: 0 calc(30 / 768 * 100vw);
	}
}
@media (max-width: 640px) {
	.topic-path {
		display: none;
	}
}




/*表示アニメ
=============================*/
/*02*/
.main-title-bg img {
	animation: imgAnim 3s ease 0s 1 normal;
}
@keyframes imgAnim {
	0% {
		opacity: 0;
	}
	25% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}
/*03*/
.main-title-area::before {
	animation: lineAnim 3s cubic-bezier(.97, 0, .73, 1) .3s both;
}
@media (max-width: 640px) {
	.main-title-area::before {
		animation: lineAnim-sp 3s forwards linear;
	}
}
@keyframes lineAnim {
	0% {
		height: 0;
	}
	50% {
		height: 0;
	}
	65% {
		height: 81px;
	}
	100% {
		height: 81px;
	}
}
@keyframes lineAnim-sp {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
}
/*04*/
main::before,
.topic-path,
.contents-area {
	animation: fadeIn 4.5s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	50% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}




/*contents-area
=============================*/
.contents-area {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto 100px;
	padding: 0 30px;
	box-sizing: border-box;
}
@media (max-width: 1200px) {
	.contents-area {
		max-width: inherit;
		padding: 0 calc(30 / 1200 * 100vw);
	}
}
@media (max-width: 940px) {
	.contents-area {
		padding: 0 calc(30 / 940 * 100vw);
	}
}
@media (max-width: 768px) {
	.contents-area {
		padding: 0 calc(30 / 768 * 100vw);
	}
}
@media (max-width: 640px) {
	.contents-area {
		padding: 0 calc(30 / 640 * 100vw);
		padding-top: calc(120 / 640 * 100vw);
	}
}
.contents-area h2,
.contents-area h3,
.contents-area h4,
.contents-area h5 {
	font-weight: normal;
	color: #fff;
}


/*H2*/
.contents-title, .contents-area h2 {
	padding-top: 10px;
	padding-right: 30px;
	padding-left: 0px;
	padding-bottom: 10px;
	border-bottom: 1px solid #917e3c;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 30px;
}
@media (max-width: 640px) {
	.contents-title, .contents-area h2 {
		padding: calc(26 / 640 * 100vw) 0 calc(26 / 640 * 100vw) calc(30 / 640 * 100vw);
		font-size: calc(40 / 640 * 100vw);
		line-height: 1.5;
		margin-bottom: calc(78 / 640 * 100vw);
	}
}


/*H3*/
.contents-subtitle, .contents-area h3 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 20px;
border-bottom: 1px solid #fff;
	 display: inline-block;
	padding-bottom: 0;
}
.contents-title + .contents-subtitle, .contents-area h3 {
	margin-top: 40px;
}
@media (max-width: 640px) {
	.contents-subtitle, .contents-area h3 {
		font-size: calc(31.5 / 640 * 100vw);
		line-height: 1.7;
		margin: 0 0 20px 0;
		padding-left: 0;
		padding-bottom: 0;
		border-bottom: 1px solid #fff;
	}
	/*.contents-title + .contents-subtitle, .contents-area h3 {
		margin-top: calc(-30 / 640 * 100vw);
	}*/
}


/*本文*/
.contents-area .desc-col, .contents-area {
	font-size: 16px;
	line-height: 2;
	text-align: justify;
	margin-bottom: 30px;
}
.contents-area .desc-col p + p {
	padding-top: 2em;
}
@media (max-width: 640px) {
	.contents-area .desc-col, .contents-area {
		font-size: calc(26 / 640 * 100vw);
	}
}

.left-img-col img{
	width: 50%;
	margin: 0 auto 15px 0;
	display: block;
}


@media (max-width: 640px) {
	.left-img-col img{
	width: 90%;
	margin: 10px auto;
	display: block;
}

}


/*block-2cols*/
.block-2cols {
	width: 100%;
	display: flex;
	margin-bottom: 100px;
}
.block-2cols .ph-col {
	width: 550px;
	height: calc(550px / 16 * 9);
}
.block-2cols .desc-col {
	margin-top: -0.5em;
}
.block-2cols .ph-col.left-col + .desc-col {
	padding-left: 2.6em;
}
.block-2cols .ph-col.right-col + .desc-col {
	padding-right: 2.6em;
}
.block-2cols .ph-col + .desc-col {
	width: calc(100% - 550px);
}
@media (max-width: 1200px) {
	.block-2cols .ph-col {
		width: calc(520 / 1200 * 100vw);
	}
	.block-2cols .ph-col + .desc-col {
		width: calc(100% - calc(520 / 1200 * 100vw));
	}
}
@media (max-width: 940px) {
	.block-2cols .ph-col {
		width: calc(380 / 940 * 100vw);
	}
	.block-2cols .ph-col + .desc-col {
		width: calc(100% - calc(380 / 940 * 100vw));
	}
}
@media (max-width: 768px) {
	.block-2cols {
		display: block;
	}
	.block-2cols .ph-col {
		width: 100%;
		height: auto;
	}
	.block-2cols .ph-col img {
		width: 100%;
		height: auto;
	}
	.block-2cols .ph-col.left-col + .desc-col,
	.block-2cols .ph-col.right-col + .desc-col {
		padding: 2.6em 0 0 0;
		width: 100%;
	}
}
@media (max-width: 640px) {
	.block-2cols {
		margin-bottom: calc(100 / 640 * 100vw);
	}
}


/*block-1cols*/
.block-1cols {
	margin-bottom: 80px;
}
.contents-title + .block-1cols {
	margin-top: 86px;
}
.block-1cols .desc-col {
	margin-top: 70px;
}
@media (max-width: 640px) {
	.block-1cols {
		margin-bottom: calc(80 / 640 * 100vw);
	}
	.contents-title + .block-1cols {
		margin-top: calc(86 / 640 * 100vw);
	}
	.block-1cols .desc-col {
		margin-top: calc(70 / 640 * 100vw);
	}
}


/*list-2-cols*/
.list-2-cols {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 60px;
}
.list-2-cols .list-item {
	width: 550px;
	margin-bottom: 16px;
	position: relative;
	background-color: #f2f2f0;/*f2f2f0*/
}
.list-2-cols .ph-col {
	padding-bottom: 10px;
	position: relative;
}
.list-2-cols .zoom-img {
	width: 550px;
	height: 310px;
	overflow: hidden;
}
.list-2-cols .zoom-img img {
	width: 550px;
	height: 310px;
	object-fit: cover;
	transition: all 0.4s ease-in-out;
	transform: scale(1);
}
.list-2-cols a:hover .zoom-img img {
	transform: scale(1.05);
}
.list-2-cols .caption-col {
	width: 400px;
	padding: 26px 14px 0;
	box-sizing: border-box;
	background-color: #f2f2f0;
	font-size: 22px;
	line-height: 1.3;
	font-family: 'Noto Serif JP', serif;
	position: absolute;
	left: 0;
	top: 265px;
}
.list-2-cols .list-item a {
	display: block;
	margin-bottom: 60px;
}
@media (max-width: 1200px) {
	.list-2-cols .list-item {
		width: calc(550 / 1200 * 100vw);
	}
	.list-2-cols .zoom-img,
	.list-2-cols .zoom-img img {
		width: calc(550 / 1200 * 100vw);
		height: calc(310 / 1200 * 100vw);
	}
	.list-2-cols .caption-col {
		width: calc(400 / 1200 * 100vw);
		top: calc(265 / 1200 * 100vw);
	}
}
@media (max-width: 940px) {
	.list-2-cols .list-item {
		width: calc(420 / 940 * 100vw);
	}
	.list-2-cols .zoom-img,
	.list-2-cols .zoom-img img {
		width: calc(420 / 940 * 100vw);
		height: calc(240 / 940 * 100vw);
	}
	.list-2-cols .caption-col {
		width: calc(290 / 940 * 100vw);
		top: calc(204 / 940 * 100vw);
	}
}
@media (max-width: 768px) {
	.list-2-cols {
		display: block;
	}
	.contents-title + .list-2-cols {
		padding-top: calc(30 / 768 * 100vw);
	}
	.list-2-cols .list-item {
		width: 100%;
	}
	.list-2-cols .zoom-img,
	.list-2-cols .zoom-img img {
		width: 100%;
		height: calc(440 / 768 * 100vw);
	}
	.list-2-cols .caption-col {
		width: calc(520 / 768 * 100vw);
		top: calc(380 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		font-size: calc(22 / 768 * 100vw);
	}
}
@media (max-width: 640px) {
	.list-2-cols + .contents-title {
		margin-top: calc(-100 / 640 * 100vw);
	}
	.list-2-cols .ph-col {
		padding-bottom: 0;
	}
	.list-2-cols .zoom-img,
	.list-2-cols .zoom-img img {
		width: 100%;
		height: calc(360 / 640 * 100vw);
	}
	.list-2-cols .caption-col {
		width: calc(340 / 640 * 100vw);
		top: calc(300 / 640 * 100vw);
		padding: calc(20 / 640 * 100vw) calc(10 / 640 * 100vw) calc(10 / 640 * 100vw);
		font-size: calc(26 / 640 * 100vw);
	}
}



/*table*/
table.des {
	width: 100%;
	border: 1px solid #bfbdb7!important;
	border-collapse: collapse;
	margin-bottom: 100px!important;
}
table.des th {
	width: 450px;
	padding: 30px 20px!important;
	box-sizing: border-box;
	border: 1px solid #bfbdb7!important;
	font-weight: normal;
	text-align: left;
	background-color: #eaeae5!important;
}
table.des td {
	padding: 30px 20px!important;
	border: 1px solid #bfbdb7!important;
	background-color: #f2f2f0!important;
}
@media (max-width: 1200px) {
	table.des th {
		width: calc(450 / 1200 * 100vw);
	}
}
@media (max-width: 940px) {
	table.des {
		margin-bottom: calc(100 / 940 * 100vw)!important;
	}
	table.des th {
		width: calc(300 / 940 * 100vw);
	}
}
@media (max-width: 640px) {
	table.des {
		margin-bottom: calc(76 / 640 * 100vw)!important;
	}
	table.des th, table.des td {
		width: 100%;
		display: block;
		padding: calc(37 / 640 * 100vw) calc(20 / 640 * 100vw)!important;
		font-size: calc(26 / 640 * 100vw);
		line-height: 1;
	}
}



/*gallery-area*/
.gallery-area ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}



/*3こ並び最後左寄せ対策*/
.gallery-area ul::after {
	content: "";
	display: block;
	width: 370px;
}
.gallery-item {
	width: 370px;
	margin-bottom: 20px;
}
.gallery-item a {
	display: block;
}
.gallery-item p {
	padding: 1em 0;
	line-height: 2;
	color: #917e3b;
	text-align: justify;
}
@media (max-width: 1200px) {
	.gallery-area ul::after,
	.gallery-item {
		width: calc(350 / 1200 * 100vw);
	}
}
@media (max-width: 940px) {
	.gallery-area ul::after {
		width: 0;
	}
	.gallery-item {
		width: calc(370 / 940 * 100vw);
		margin-bottom: calc(30 / 940 * 100vw);
	}
}
@media (max-width: 768px) {
	.gallery-item {
		width: calc(320 / 768 * 100vw);
		margin-bottom: calc(30 / 768 * 100vw);
	}
	.gallery-item p {
		padding: 1.5em 0;
	}
}
@media (max-width: 640px) {
	.gallery-item {
		width: calc(260 / 640 * 100vw);
		margin-bottom: calc(40 / 640 * 100vw);
	}
	.gallery-item p {
		font-size: calc(22 / 640 * 100vw);
		line-height: 1.7;
		padding: 1em 0;
	}
}


#category {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#category::after {
	content: "";
	display: block;
	width: 30%;
}
#category li {
	width: 30%;
	margin: 0 0 4%;
}
#category li .gradation-btn {
	height: 72px;
}


.news .topics-col {
  flex: 0 1 882px
}
.news .topics-col > li {
  line-height: 1.5;
  margin-bottom: 2em
}
.news .cat-date {
  flex: 0 1 320px;
  display: inline-flex;
  justify-content: space-between;
}
.news .cat-date span {
  white-space: nowrap;
  display: inline-block
}
.news .cat {
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.14em;
  color: var(--light-color);
  white-space: nowrap;
  margin-right: 2em;
}
.news .date {
  white-space: nowrap;
  width: 7.5em;
  font-size: 15px;
  font-weight: 500;
}
.news .topic {
  flex: 1 1 480px;
  min-width: 200px;
  font-size: 15px;
  line-height: 1.5;
  padding-right: 3em;
}
.news .topic a {
  transition: color .3s ease
}
.news .topic a:hover {
  color: #9d8c56
}

@media (max-width: 640px) {
	#category {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 3vw;
	}
	#category::after {
		display: none;
	}
	#category li {
		width: 48%;
	}
	#category li .gradation-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		height: calc(80/640*100vw);
	}
	#category li .gradation-btn.color1 {
		color: #fff;
		background-color: #887944;
	}
	#category li.checked .gradation-btn.color1 {
		background-color: #68614f;
	}
	.news .flex-box {
		flex-direction: column;
	}
	.news .topics-col {
		margin-top: calc(70/640*100vw);
	}
	.news .topics-col > li {
		margin-bottom: 2.25em
	}
	.news .cat-date {
		margin-bottom: .75em;
		flex: auto;
		justify-content: flex-start;
	}
	.news .cat {
		font-size: calc(20/640*100vw);
	}
	.news .date {
		font-size: calc(22/640*100vw);
	}
	.news .topic {
		font-size: calc(26/640*100vw);
		flex: auto;
		padding: 0;
	}
}


.main_img {
	text-align: center;
	margin-bottom: 80px;
}
.main_img img {
	margin: 0 auto;
}
.access {
	margin-top: 100px;
}
.access .access_map {
	margin: 20px 0 40px;
}
.access .access_map iframe {
	width: 100%;
	height: 450px;
}
@media (max-width: 640px) {
	.main_img {
		margin-bottom: calc(78 / 640 * 100vw);
	}
	.access {
		margin-top: calc(76 / 640 * 100vw);
	}
	.access .access_map iframe {
		width: 100%;
		height: 120vw;
	}
}


.media-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.media-list li {
	width: 330px;
	max-width: 30%;
	margin-bottom: 50px;
}
.media-photo {
	margin-bottom: 26px;
}
.media-item {
	text-align: justify;
}
.media-date,
.media-title,
.media-desc {
	padding: 0 3px;
}
.media-date {
	font-size: 14px;
	color: #e0d093;
	margin-bottom: 20px;
}
.media-title {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 28px;
}
.media-desc {
	font-size: 14px;
	line-height: 2;
}


@media (max-width: 768px) {
	.media-list li {
		width: 47%;
		max-width: 47%;
		margin-bottom: 8vw;
	}
	.media-photo {
		margin-bottom: calc(26 / 768 * 100vw);
	}
	.media-item {
		text-align: justify;
	}
	.media-date,
	.media-title,
	.media-desc {
		padding: 0 3px;
	}
	.media-date {
		font-size: calc(12 / 768 * 100vw);
		color: #e0d093;
		margin-bottom: calc(20 / 768 * 100vw);
	}
	.media-title {
		font-size: calc(18 / 768 * 100vw);
		line-height: 1.8;
		margin-bottom: calc(20 / 768 * 100vw);
	}
	.media-desc {
		font-size: calc(14 / 768 * 100vw);
		line-height: 1.95;
	}
}
@media (max-width: 640px) {
	.media-photo {
		margin-bottom: calc(28 / 640 * 100vw);
	}
	.media-date {
		font-size: calc(18 / 640 * 100vw);
		margin-bottom: calc(24 / 640 * 100vw);
	}
	.media-title {
		font-size: calc(24 / 640 * 100vw);
		margin-bottom: calc(30 / 640 * 100vw);
	}
	.media-desc {
		font-size: calc(19 / 640 * 100vw);
	}
}
