@charset "UTF-8";

/* main-visual */
.main-visual {
	min-width: 1170px;
	width: 100%;
	position: relative;
	margin-top: 64px;
}
.main-visual img {
	width: 100%;
}
.main-visual .top-menu {
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
	width: 1170px;
	margin: auto;
	display: flex;
	justify-content: space-evenly;
	background-color: rgba(255,255,255,0.80);
}
.main-visual .top-menu a {
	position: relative;
	display: inline-block;
	padding: 20px;
	font-size: 2.0rem;
	text-decoration: none;
	color: #333333;
}
.main-visual .top-menu a:before {
	content: url("../img/list01.svg");
	display: inline-block;
	width: 16px;
	position: absolute;
	left: 0;
}

@media only screen and (max-width: 1025px) {
	.main-visual {
		min-width: 100%;
		margin-top: 0;
	}
}

@media only screen and (max-width: 768px) {
	.main-visual .top-menu {
		display: none;
		position: static;
		width: 100%;
		margin: auto;
		/* display: flex; */
		flex-wrap: wrap;
		justify-content: space-evenly;
	}
	.main-visual .top-menu li {
		width: 50%;
		text-align: center;
	}
	.main-visual .top-menu a {
		padding: 5px 20px;
		font-size: 1.6rem;
	}
	.main-visual .top-menu a:before {
		width: 12px;
		position: absolute;
		left: 5px;
	}
}
.content .more {
	display: block;
	border: #B71C1C 1px solid;
	padding: 20px 0;
	width: 370px;
	margin: 60px auto;
	color: #B71C1C;
	text-align: center;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
	border-radius: 2.5em;
	background: #FFFFFF;
}
.content .more::before{
    content: "";
    position: absolute;
    right: 22px;
    top: 33px;
    width: 12px;
    height: 1px;
    background: #B71C1C;
}
.content .more::after{
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    border-top: 2px solid #B71C1C;
    border-right: 2px solid #B71C1C;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 31px;
    right: 20px;
}
.content .more:hover {
	color: #FFFFFF;
	background: #B71C1C;
}
.content .more:hover:before {
    background: #FFFFFF;
}
.content .more:hover:after {
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
}
@media only screen and (max-width: 768px) {
	.content .more {
		width: 80%;
		margin: 20px auto;
	}
}
.navi-list {
	padding: 60px 0 30px;
	background: #EFEBE2;
}
.navi-list a {
	color: #333333;
	font-size: 1.8rem;
	text-decoration: none;
}
.navi-list ul {
	width: 1170px;
	margin: auto;
	/* display: flex; */
	/* flex-wrap: wrap; */
	/* justify-content: space-between; */
	display: grid;
}
.navi-list .columns--2 {
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.navi-list .columns--3 {
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.navi-list .columns--4 {
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.navi-list ul li {
	width: 100%;
	background: #fff;
}
.navi-list ul li img {
	width: 100%;
}
.navi-list dl {
	background: #FFFFFF;
}
.navi-list dd {
	padding: 10px 20px 20px 45px;
	position: relative;
}
.navi-list dd::before{
    content: "";
    position: absolute;
    left: 20px;
    top: 25px;
    width: 12px;
    height: 1px;
    background: #B71C1C;
}
.navi-list dd::after{
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    border-top: 2px solid #B71C1C;
    border-right: 2px solid #B71C1C;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 23px;
    left: 29px;
}
@media only screen and (max-width: 768px) {
	.navi-list a {
		font-size: 1.6rem;
	}
	.navi-list ul {
		width: 100%;
	}
	.navi-list .columns--2,
	.navi-list .columns--3 {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
	.navi-list .columns--4 {
		grid-template-columns: repeat(2, 1fr);	
	}
	/* .navi-list ul li {
		width: calc(100% / 2 - 4px);
		margin: 2px;
	} */
	.navi-list dd::before{
		top: 22px;
	}
	.navi-list dd::after{
		top: 20px;
	}
}

.photo-gallery {
	box-sizing: border-box;
	height: 1280px;
	font-family: 'Noto Sans JP';
	background: url(../img/index/bg01.png) no-repeat;
	background-size:auto 100%;
	background-position: center center;
}
.photo-gallery h2 {
	width: 406px;
	margin: 0 auto;
	padding: 55px 0;
	text-align: center;
	font-size: 2.0rem;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 20px;
}
.photo-gallery .photo-slider li {
	box-sizing: border-box;
	padding: 40px;
	width: 560px;
	height: 600px;
	background: #FFFFFF;
	margin: 0 70px;
}
.photo-gallery .photo-slider li a {
	width: 100%;
	height: 100px;
	text-decoration: none;
	color: inherit;
	outline:none
}
.photo-gallery .photo-slider li img {
	width: 100%;
}
.photo-gallery .photo-slider li dt {
	font-size: 5.6rem;
	font-family: 'Playfair Display', serif;
	color: #B71C1C;
	margin: 10px;
}
.photo-gallery .photo-slider li dt span {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.0rem;
}
.photo-gallery .photo-slider li dd {
	font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
	.photo-gallery {
		height: auto;
		background-size:auto 100%;
		background-position: center center;
		padding-bottom: 40px;
	}
	.photo-gallery h2 {
		width: 325px;
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.photo-gallery .photo-slider li {
		box-sizing: border-box;
		/*padding: 0;*/
		/*width: auto;*/
		height: auto;
		background: #FFFFFF;
		/*margin: 0;*/
	}
	.photo-gallery .photo-slider li img {
		width: 100%;
	}
	.photo-gallery .photo-slider li dd {
		padding: 10px 10px 40px 10px;
	}
}

.vr {
	box-sizing: border-box;
	font-family: 'Noto Sans JP';
}
.vr h2 {
	width: 406px;
	margin: 0 auto;
	padding: 55px 0;
	text-align: center;
	font-size: 2.0rem;
	font-family: 'Noto Serif JP', serif;
	margin-bottom: 20px;
}
.vr .photo-slider li {
	box-sizing: border-box;
	padding: 40px;
	width: 560px;
	height: 600px;
	background: #FFFFFF;
	margin: 0 70px;
}
.vr .photo-slider li img {
	width: 100%;
}
.vr .photo-slider li dt {
	font-size: 5.6rem;
	font-family: 'Playfair Display', serif;
	color: #B71C1C;
	margin: 10px;
}
.vr .photo-slider li dt span {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.0rem;
}
.vr .photo-slider li dd {
	font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
	.vr {
		height: auto;
		background-size:auto 100%;
		background-position: center center;
		padding-bottom: 40px;
	}
	.vr h2 {
		width: 325px;
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.vr .photo-slider li {
		box-sizing: border-box;
		padding: 0;
		width: auto;
		height: auto;
		background: #FFFFFF;
		margin: 0;
	}
	.vr .photo-slider li img {
		width: 100%;
	}
	.vr .photo-slider li dd {
		padding: 10px 10px 40px 10px;
	}
}
@media only screen and (max-width: 426px){
    .photo-gallery .photo-slider li {
        padding:15px;
        margin:30px;
    } 
}