/* CSS Document */
.st_contents {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}
.st_contents .fadein.is-active {
    opacity: 1;
	transition: 3.0s;
}

/* mainV */
.mainV{
    width:100%;
    margin:0 auto;
    position: relative;
}

/*イメージ*/
.mainV .images-container {
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    position: sticky;
    position: -webkit-sticky;
    top:0;
    z-index:0;
}
.mainV .images-container p {
    width:100%;
    margin: auto;
    display: block;
    visibility: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    transition: .8s !important;
    opacity: 0;
}
.mainV .images-container p img {
    width: 100%;
    height:100%;
    object-fit:cover;
    object-position: bottom;
    filter: brightness(0.8);
}
.mainV .images-container p:first-child,
.mainV .images-container p.active {
    visibility: visible;
    opacity: 1;
}
.mainV .images-container .note{
	font-size:0.8rem;
	color:#fff;
	z-index:100;
	letter-spacing:0;
	position:absolute;
	bottom:0;
	left:1em;
	top:unset;
	opacity:unset;
    transition:unset !important;
	margin:unset;
	width:fit-content;
	visibility: unset;
}


/*コンテンツ*/
.mainV .container {
    z-index:1;
    position:relative;
}
.mainV .container > div {
    color:#fff;
}
.mainV .container > div > .sub_inner{
	width:80%;
	padding:50vh 0 0 30px;
}
.mainV .container > div > .sub_inner h6{
	font-size:1rem;
}
.mainV .container > div > .sub_inner h6 span{
	font-size:130%;
}
.mainV .container > div > .sub_inner p{
	font-size:1rem;
	margin:0 0 1.5em 0;
}
.mainV .container > div:last-child {
    padding-bottom: 100vh;
}
.mainV .container > div .title_inner{
    margin:0 0 100px 0;
	margin: 0 calc(50% - 50vw);
    width: 100vw;
	height:100vh;
}
.mainV .container > div .title_inner dl{
	width:90%;
	margin:auto;
	max-width:600px;
}
.mainV .container > div .title_inner dl img{
	vertical-align:bottom;
	margin:0 0 20px 0;
}
.mainV .container > div h2 { 
    font-size: 1rem; 
	text-align:center;
	border-top:0.5px solid #fff;
	padding:10px 0 0 0;
}
.mainV .container > div h3{
    font-size:1.7rem;
	margin:0 0 1em 0
}
.mainV .container > div > p {
    margin-top: 30px;
    font-size:1rem;
}
@media screen and (max-width: 639px) {
	.mainV .container > div h2 { 
	    font-size: 3.0vw;
	}
	.mainV .container > div h3{
	    font-size:4.5vw;
	}
	.mainV .container > div > .sub_inner{
		width:90%;
	}
	.mainV .container > div > .sub_inner p{
		font-size:0.9rem;
	}
}



/* sub_cont*/
.sub_cont{
    display:flex;
    justify-content:space-between;
	background:
		linear-gradient(100deg, #40533a33 0%,#40533a33 25%,#40533a33 25%,#465c407a 50%, #374532 50%,#496340 75%,#41573b 75%, #607658 100%),
	linear-gradient(20deg, #80b271 0%,#364e2e 25%,#2e5322 25%,#40533a 50%, #2f801673 50%,#1d3717 75%,#435d3b 75%, #4a7f38 100%);
}
.sub_cont .subV{
    width:50%;
    height:100vh;
    position:sticky;
    top:0;
}
.sub_cont .subV img{
    object-fit:cover;
    width:100%;
    height:100%;
}
.sub_cont .subV .note{
	font-size:0.8rem;
	color:#fff;
	z-index:100;
	letter-spacing:0;
	position:absolute;
	bottom:0;
	left:1em;
	top:unset;
	opacity:unset;
    transition:unset !important;
	margin:unset;
	width:fit-content;
	visibility: unset;
}

.sub_cont .sub_wrap{
    width:50%;
    padding:100px 0;
}
.sub_cont .sub_wrap .sub_inner{
    width:84%;
    margin:auto;
}
.sub_cont .sub_wrap .sub_inner .sub_detail{
    margin:0 0 100px 0;
    color:#fff;
}
.sub_cont .sub_wrap .sub_inner .sub_detail:nth-of-type(3){
	margin:0 0 0 0;
}
.sub_cont .sub_wrap .sub_inner .sub_detail > img{
    width:100%;
    margin:0 0 30px 0;
	filter: drop-shadow(0 0px 10px rgb(17 26 13));
}
.sub_cont .sub_wrap .sub_inner .sub_detail h3{
    font-size:1.3rem;
    margin:0 0 1em 0;
}
.sub_cont .sub_wrap .sub_inner .sub_detail .btn{
	font-size:1rem;
	text-align:center;
	width:fit-content;
	margin:1.5em auto;
}
.sub_cont .sub_wrap .sub_inner .sub_detail .btn a{
	text-decoration:none;
	padding:0.5em 3em 0.5em 2em;
	background:#ffffff;
	border-radius:40px;
	width:100%;
	display:block;
	box-sizing:border-box;
}
@media screen and (max-width: 768px) {
	.sub_cont{
	    display:block;
	    justify-content:unset;
		background:unset;
	}
	.sub_cont .subV{
	    width:100%;
	    height:100vh;
	    position:sticky;
	    top:0;
	}
	.sub_cont .subV img{
		filter: brightness(0.7);
	}
	.sub_cont .sub_wrap{
	    width:100%;
	    padding:100px 0 100vh;
		z-index:1;
		position:relative;
	}
	.sub_cont .sub_wrap .sub_inner{
	    width:90%;
		max-width:521px;
	    margin:auto;
	}
	.sub_cont .sub_wrap .sub_inner .sub_detail{
	    border-bottom:1px solid #fff;
		padding:0 0 100px 0;
	}
	.sub_cont .sub_wrap .sub_inner .sub_detail > img{
		filter: unset;
		margin:0 0 20px 0;
	}
}
@media screen and (max-width: 599px) {
	.sub_cont .sub_wrap .sub_inner .sub_detail h3{
	    font-size:1.2rem;
	    margin:0 0 0.8em 0;
	}
}

@media screen and (max-width: 599px) {
}

@media screen and (max-width: 959px) {
}
@media screen and (max-width: 599px) {
}

/* info_cont*/
.info_cont {
	background: linear-gradient(120deg, #938773 30%, #d2c5b0 70%);
}
.info_cont .info_wrap{
    display: flex;
    justify-content: space-between;
    margin: 0 auto 0;
    width: 95%;
    max-width: 1400px;
	padding:50px 0;
}
.info_cont .info {
    width: 48%;
}
.info_cont .info .img {
}
.info_cont .info .img img{
	width:100%;
	vertical-align:bottom;
}
.info_cont .info .open {
    text-align: center;
    font-size: 1.2rem;
}
.info_cont .info .place {
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.2em;
	background:#4e4434;
	color:#fff;
	padding:0.3em 0;
}
.info_cont .info .place span{
	font-size:90%;
}
.info_cont .map {
    width: 50%;
}
.info_cont .map iframe {
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 959px) {
	.info_cont .info_wrap {
        display:block;
        justify-content: unset;
		width:90%;
		max-width:600px;
    }
    .info_cont .info {
        width: 100%;
    }
    .info_cont .info img {
        width: 100%;
    }
    .info_cont .map {
        width: 100%;
        aspect-ratio: 1 / 0.9;
    }
}

/* ---- form ------- */
.form {
    margin: 100px 0 50px;
}

.form h3 {
    font-size: 1.5rem;
}

.form h5 {
    font-size: 0.8rem;
}
