body {
		scroll-behavior: smooth;
}

.l-main {
		display: block;
		padding-top: 80px;
}

.l-content-inner {
		width: 900px;
		max-width: 100%;
		margin: auto;
		padding: 0 20px;
}
@media screen and (max-width: 767px) {
		.l-content-inner {
				padding: 0 6.6666666667vw;
				min-width: auto;
		}
}
.l-content-inner.m-narrow {
		width: 800px;
}

.m-ggmap {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 0;
		height: 0;
		overflow: hidden;
}
.m-ggmap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

.m-youtube {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
}
.m-youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
}

.m-link-close {
		pointer-events: none;
}

.m-blk {
		color: #564B38;
}

.m-white {
		color: #ffffff;
}

.m-bold {
		font-weight: bold;
}

.m-sup {
		font-size: 70%;
		position: relative;
		top: -0.5em;
}

.m-uline {
		display: inline-block;
		position: relative;
}
.m-uline::after {
		content: "";
		width: 100%;
		height: 1px;
		background-color: #000000;
		position: absolute;
		bottom: 4px;
		left: 0;
}

.m-en {
		font-family: "Roboto", sans-serif;
}

/* --------------------------------------------------
	anime
-------------------------------------------------- */
.c-fadeup {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
		opacity: 0;
}

.c-fadeup.js-animeOn {
		-webkit-transform: translate(0);
		        transform: translate(0);
		opacity: 1;
		-webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
		transition: opacity 1s ease, -webkit-transform 1s ease;
		transition: transform 1s ease, opacity 1s ease;
		transition: transform 1s ease, opacity 1s ease, -webkit-transform 1s ease;
}

.js-animeOn.-delay1 {
		-webkit-transition-delay: 0.5s;
		        transition-delay: 0.5s;
}
.js-animeOn.-delay2 {
		-webkit-transition-delay: 1s;
		        transition-delay: 1s;
}
.js-animeOn.-delay3 {
		-webkit-transition-delay: 1.5s;
		        transition-delay: 1.5s;
}

/*---------------- bg ------------*/
.m-bg1, body {
		background-color: #fffef7;
}

.m-bg2 {
		background-color: #F1F1EE;
}

/*------- title --------*/
.c-secttl-wrap {
		margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
		.c-secttl-wrap {
				margin-bottom: 6.6666666667vw;
		}
}

.c-secttl {
		text-align: center;
		font-weight: bold;
		font-size: 4rem;
		letter-spacing: 0.05em;
		line-height: 1.375;
		position: relative;
		padding-bottom: 0.3em;
}
@media screen and (max-width: 767px) {
		.c-secttl {
				font-size: 5.3333333333vw;
		}
}
.c-secttl::after {
		content: "";
		width: 50px;
		height: 5px;
		background-color: #009933;
		display: block;
		position: absolute;
		left: 50%;
		bottom: 0;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		border-radius: 5px;
}
@media screen and (max-width: 767px) {
		.c-secttl::after {
				width: 6.6666666667vw;
				height: 0.6666666667vw;
		}
}

.c-secttl2 {
		text-align: center;
		font-weight: bold;
		font-size: 3rem;
		position: relative;
		margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
		.c-secttl2 {
				font-size: 4.8vw;
		}
}

.c-acbtn {
		cursor: pointer;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		position: relative;
}
@media print, screen and (min-width: 768px) {
		.c-acbtn:hover {
				opacity: 0.7;
		}
}
.c-acbtn .toggle {
		position: absolute;
}
.c-acbtn .toggle::before, .c-acbtn .toggle::after {
		content: "";
		display: block;
		position: absolute;
		-webkit-transform-origin: left top;
		        transform-origin: left top;
}
.c-acbtn .toggle::after {
		-webkit-transform: rotate(90deg);
		        transform: rotate(90deg);
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
.c-acbtn.is-open .toggle::after {
		opacity: 0;
}

.c-accordion.m-bgbar .c-acbtn {
		font-size: 3rem;
		font-weight: bold;
		color: #ffffff;
		background-color: #564B38;
		border-radius: 10px;
		padding: 8px 33px 11px 40px;
		margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
		.c-accordion.m-bgbar .c-acbtn {
				font-size: 4vw;
				padding: 1.0666666667vw 4.4vw 1.4666666667vw 5.3333333333vw;
				margin-bottom: 5.3333333333vw;
		}
}
.c-accordion.m-bgbar .c-acbtn .toggle {
		right: 33px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		width: 32px;
		height: 32px;
}
@media screen and (max-width: 767px) {
		.c-accordion.m-bgbar .c-acbtn .toggle {
				right: 4.4vw;
				width: 4.2666666667vw;
				height: 4.2666666667vw;
		}
}
.c-accordion.m-bgbar .c-acbtn .toggle::before, .c-accordion.m-bgbar .c-acbtn .toggle::after {
		width: 100%;
		height: 7px;
		background-color: #FFDA5D;
		border-radius: 6px;
		left: 50%;
		top: 50%;
		-webkit-transform: translateY(-50%) translateX(-50%);
		        transform: translateY(-50%) translateX(-50%);
}
@media screen and (max-width: 767px) {
		.c-accordion.m-bgbar .c-acbtn .toggle::before, .c-accordion.m-bgbar .c-acbtn .toggle::after {
				height: 0.9333333333vw;
		}
}
.c-accordion.m-bgbar .c-acbtn .toggle::after {
		-webkit-transform: rotate(90deg) translateY(-50%) translateX(-50%);
		        transform: rotate(90deg) translateY(-50%) translateX(-50%);
}

.c-more {
		position: relative;
}
.c-more-text {
		height: 11.375em;
		padding-bottom: 1.5em;
		overflow: hidden;
		position: relative;
}

.c-morebtn {
		-webkit-transition: 0.3s opacity;
		transition: 0.3s opacity;
		background-color: #ffffff;
		width: 100%;
		text-align: center;
		font-weight: bold;
		position: absolute;
		left: 0;
		bottom: 0;
		height: 3.25em;
		padding-bottom: 1em;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
		cursor: pointer;
}
@media screen and (max-width: 767px) {
		.c-morebtn {
				font-size: 3.7333333333vw;
		}
}
.c-morebtn::after {
		content: "";
		width: 1em;
		height: 1em;
		background-image: url(../images/icn_arrow.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
		margin-left: 0.5em;
		position: relative;
		top: -0.5em;
}

.c-btn {
		margin: auto;
		width: 335px;
		height: 60px;
		max-width: 100%;
}
@media screen and (max-width: 767px) {
		.c-btn {
				width: 100%;
				height: 13.3333333333vw;
		}
}
.c-btn-link {
		background-color: #009933;
		border-radius: 30px;
		color: #ffffff;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		width: 100%;
		height: 100%;
		font-size: 1.8rem;
		font-weight: bold;
}
@media screen and (max-width: 767px) {
		.c-btn-link {
				font-size: 4vw;
				border-radius: 6.6666666667vw;
		}
}
.c-btn-link::after {
		content: "";
		background-image: url(../images/icn_link.svg);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
		width: 1em;
		height: 1em;
		margin-left: 0.5em;
}

.c-list {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 25px 25px;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
		.c-list {
				gap: 4vw 0;
				-webkit-box-pack: justify;
				    -ms-flex-pack: justify;
				        justify-content: space-between;
		}
}
.c-list .item {
		width: calc((100% - 50px) / 3);
		position: relative;
		height: 150px;
}
@media screen and (max-width: 767px) {
		.c-list .item {
				width: 48%;
		}
}
.c-list .item-thumb {
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
}
.c-list .item-thumb img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		position: absolute;
		top: 0;
		left: 0;
}
.c-list .item-thumb::after {
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.4);
		position: absolute;
		left: 0;
		top: 0;
}
.c-list .item-cnt {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		font-size: 1.8rem;
		color: #ffffff;
		text-align: center;
}
@media screen and (max-width: 767px) {
		.c-list .item-cnt {
				font-size: 4vw;
		}
}

.c-pagettl {
		position: relative;
		height: 350px;
}
@media screen and (max-width: 767px) {
		.c-pagettl {
				height: 33.3333333333vw;
		}
}
.c-pagettl__bg {
		width: 100%;
		height: 100%;
}
.c-pagettl__bg img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.c-pagettl__bg::after {
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		position: absolute;
		left: 0;
		top: 0;
}
.c-pagettl__cnt {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
}
.c-pagettl__cnt .l-content-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
}
.c-pagettl__cnt .l-content-inner > div {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.c-pagettl__logo {
		width: 60px;
		margin-right: 0.5em;
}
@media screen and (max-width: 767px) {
		.c-pagettl__logo {
				width: 8vw;
		}
}
.c-pagettl__text {
		font-size: 3rem;
		color: #ffffff;
		font-weight: bold;
		letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
		.c-pagettl__text {
				font-size: 5.3333333333vw;
		}
}

.p-mv {
		position: relative;
		height: calc(100vh - 80px);
}
@media screen and (max-width: 767px) {
		.p-mv {
				max-height: 53.3333333333vw;
		}
}
.p-mv__bg {
		width: 100%;
		height: 100%;
}
.p-mv__bg img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.p-mv__bg::after {
		content: "";
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		position: absolute;
		left: 0;
		top: 0;
}
.p-mv__cnt {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
}
.p-mv__cnt .l-content-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		height: 100%;
}
.p-mv__logo {
		width: 200px;
		margin: auto;
}
@media screen and (max-width: 767px) {
		.p-mv__logo {
				width: 13.3333333333vw;
		}
}
.p-mv__text {
		font-size: 3rem;
		color: #ffffff;
		font-weight: bold;
		letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
		.p-mv__text {
				font-size: 5.3333333333vw;
		}
}

.p-index {
		padding-top: 100px;
		padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
		.p-index {
				padding-top: 13.3333333333vw;
				padding-bottom: 13.3333333333vw;
		}
}
/*# sourceMappingURL=top.css.map */