@charset "UTF-8";

@media screen and (max-width: 1199px){

img{
max-width: 100%;
height: auto;
width /***/:auto;
}

.pc{display:none !important;}
.sp{display:block !important;}



/****************************************

	ヘッダー

*****************************************/
header {}
#header {
	width: 100%;
	margin: 0 auto;
	height: 110px;
}
.header__inner {
	width: 280px;
	margin: 0 auto;
}

.header__logo {
	padding: 15px 0 10px 0;
}



/****************************************

	フッター

*****************************************/
#pagetop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	font-size: 77%;
	z-index: 9999;
}
#pagetop a {
	background-image: url("../pagetop.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100%;
	display: block;
	width: 40px;
	height: 40px;
}


.footer {
	background: #f1f9f3;
	color: #2c2c2c;
	padding: 110px 0 0 0;
	text-align: center;
}
.footer__inner {
	max-width: 100%;
	margin: 0 15px;
}


.footer__linkbox {}
.footer__link {
	display: block;
	text-decoration: none;
	padding: 20px 0 60px 0;
	border-top: 1px solid #005e55;
	color: #382422;
	font-size: 20px;
	line-height: 1.5;
	transition: opacity 0.3s;
}
.footer__link:nth-of-type(3n) {
	margin: 0;
}
.footer__link:hover {
	opacity: 0.7;
	color: #005e55;
}
.footer__link span {
	display: block;
	font-size: 16px;
	margin-bottom: 0.3em;
}

.footer__logo {
	text-align: center;
	padding: 20px 0 40px 0;
	max-width: 280px;
	margin: 0 auto;
}



.footer__copyright {
	background-image: url("../../common/footer_bg01.png");
	background-repeat: repeat;
	background-position: left top;
	text-align: center;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.1;
	padding: 15px 0 15px 0;
}




/****************************************

	スクロールをしたら要素を動かす系

*****************************************/
/* fadeUp */
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ふわっ（上から）*/
.fadeDown{
	animation-name: fadeDownAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeDownAnime{
	from {
		opacity: 0;
		transform: translateY(-100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger,
.fadeDownAnime{
	opacity: 0;
}



/****************************************

	home

*****************************************/
#top {}


.top-visual {
	margin: 0 auto;
	width: 100%;
}
.vimeo-wrapper {
	position: relative;
	width: 100%;
	padding-top: 44.33%; /* 665 ÷ 1500 × 100 ≒ 高さ比率 */
	overflow: hidden;
}
.vimeo-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}



.top-oazo {
	background: #FFFFFF;
	background-image: url("../../img/oazo-bg01.png"),url("../../img/oazo-bg02-sp.png");
	background-repeat: repeat-x,no-repeat;
	background-position: center bottom,center top;
	background-size: auto 45vw,100%;
	padding: 15vw 0 160px 0;
}
.top-oazo__inner {
	margin: 0 15px;
}


.top-oazo__tree {
	position: relative;
}
.top-oazo__tree img {
	width: 90vw;
	height: auto;
	margin: -4.333333333333334vw 0 0 0;
}


.top-oazo__btn01 {
	left: 4vw;
	bottom: 35vw;
	position: absolute;
}
.top-oazo__btn01 img {
	width: auto;
	height: 28vw;
}

.top-oazo__btn02 {
	left: 33vw;
	bottom: 48vw;
	position: absolute;
}
.top-oazo__btn02 img {
	width: auto;
	height: 28vw;
}

.top-oazo__btn03 {
	right: 4vw;
	bottom: 33vw;
	position: absolute;
}
.top-oazo__btn03 img {
	width: auto;
	height: 28vw;
}

.top-oazo__btn04 {
	left: 4vw;
	bottom: 75vw;
	position: absolute;
}
.top-oazo__btn04 img {
	width: auto;
	height: 28vw;
}

.top-oazo__btn05 {
	left: 35vw;
	bottom: 85vw;
	position: absolute;
}
.top-oazo__btn05 img {
	width: auto;
	height: 28vw;
}

.top-oazo__btn06 {
	right: 1vw;
	bottom: 73vw;
	position: absolute;
}
.top-oazo__btn06 img {
	width: auto;
	height: 28vw;
}



@keyframes kakukaku1 {
	0% {transform: translate(0px, 0px) rotate(0deg);}
	5% {transform: translate(0px, 2px) rotate(3deg);}
	10% {transform: translate(0px, 0px) rotate(-3deg);}
	15% {transform: translate(3px, 0px) rotate(3deg);}
	20% {transform: translate(0px, 0px) rotate(0deg);}
	100% {transform: translate(0px, 0px) rotate(0deg);}
}
.top-oazo__btn01 {
	animation: kakukaku1 2.5s infinite;
}

@keyframes kakukaku2 {
	0% {transform: translate(0, 0) rotate(0deg);}
	4% {transform: translate(-3px, 1px) rotate(-2deg);}
	9% {transform: translate(2px, -2px) rotate(3deg);}
	14% {transform: translate(-1px, 1px) rotate(-3deg);}
	20% {transform: translate(0, 0) rotate(0deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
.top-oazo__btn02 {
	animation: kakukaku2 2.6s infinite;
	animation-delay: 0.2s;
}

@keyframes kakukaku3 {
	0% {transform: translate(0, 0) rotate(0deg);}
	6% {transform: translate(0, 1px) rotate(1.5deg);}
	12% {transform: translate(0, -1px) rotate(-1.5deg);}
	18% {transform: translate(1px, 0) rotate(2deg);}
	24% {transform: translate(0, 0) rotate(0deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
.top-oazo__btn03 {
	animation: kakukaku3 2.7s infinite;
	animation-delay: 0.4s;
}

@keyframes kakukaku4 {
	0% {transform: translate(0, 0) rotate(0deg);}
	5% {transform: translate(4px, -1px) rotate(4deg);}
	10% {transform: translate(-3px, 1px) rotate(-4deg);}
	15% {transform: translate(2px, 2px) rotate(3deg);}
	20% {transform: translate(0, 0) rotate(0deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
.top-oazo__btn04 {
	animation: kakukaku4 3.0s infinite;
	animation-delay: 0.3s;
}

@keyframes kakukaku5 {
	0% {transform: translate(0, 0) rotate(0deg);}
	5% {transform: translate(1px, 1px) rotate(5deg);}
	10% {transform: translate(-1px, 0) rotate(-4deg);}
	15% {transform: translate(0, -1px) rotate(3deg);}
	20% {transform: translate(0, 0) rotate(0deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
.top-oazo__btn05 {
	animation: kakukaku5 2.8s infinite;
	animation-delay: 0.1s;
}

@keyframes kakukaku6 {
	0% {transform: translate(0, 0) rotate(0deg);}
	5% {transform: translate(-2px, 2px) rotate(-2deg);}
	10% {transform: translate(3px, -1px) rotate(2.5deg);}
	15% {transform: translate(-2px, -2px) rotate(-1.5deg);}
	20% {transform: translate(0, 0) rotate(0deg);}
	100% {transform: translate(0, 0) rotate(0deg);}
}
.top-oazo__btn06 {
	animation: kakukaku6 3.1s infinite;
	animation-delay: 0.6s;
}




.top-oazo__catch {
	width: fit-content;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: stretch;
	align-items: stretch;
	padding: 50px 0 30vw 0;
}
.top-oazo__catch--logo {
	width: 19vw;
	margin: 0 20px 0 0;
}
.top-oazo__catch--txt {
	color: #382422;
	font-size: 5.8vw;
	font-weight: 400;
	line-height: 4.4;
	letter-spacing: 0.1em;
	margin: -8px 0 0 0;
}



.top-about {
	background: #FFFFFF;
}
.top-about__inner {
	margin: 0 15px;
}

.top-about__title {
	text-align: center;
	margin: 0 auto 40px auto;
	border-bottom: 1px solid #afa7a6;
	padding: 60px 0 15px 0;
}
.top-about__title img {
	max-width: 15vw;
}
.top-about__subtitle {
	text-align: center;
	padding: 0 0 30px 0;
}
.top-about__subtitle img {
	max-width: 50vw;
}
.top-about__txt {
	text-align: center;
	color: #382422;
	font-size: 16px;
	font-weight: 400;
	line-height: 2.3;
}




.top-about-sec01 {
	background: #FFFFFF;
	background-image: url("../../img/about-bg01.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
}
.top-about-sec01__inner {
	width: fit-content;
	margin: 0 15px;
	padding: 25vw 0 6vw 0;
}

.top-about-sec01__image {
	text-align: center;
}
.top-about-sec01__catch {
	text-align: center;
	max-width: 70vw;
	margin: 30px auto 0 auto;
}



.top-about-sec02 {
	background: #FFFFFF;
	background-image: url("../../img/about-bg02.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100%;
}
.top-about-sec02__inner {
	width: fit-content;
	margin: 0 15px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 40px 0 6vw 0;
}

.top-about-sec02__catch {
	width: 20%;
}
.top-about-sec02__image {
	width: 80%;
	margin: 30px 0 0 15px;
}


.top-about-sec02__inner02 {
	width: fit-content;
	margin: 0 15px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.top-about-sec02__image02 {
	width: 80%;
	margin: 30px 15px 0 0;
}
.top-about-sec02__catch02 {
	width: 20%;
}




.top-about-sec03 {
	background: #FFFFFF;
	background-image: url("../../img/about-bg03.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 50vw;
}
.top-about-sec03__logo {
	width: fit-content;
	margin: 0 auto;
	padding: 15vw 15px 5vw 15px;
}



.top-state {
	width: 100%;
}
.top-state img {
	width: 100%;
	height: auto;
	display: block;
}



.top-banner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	width: 100%;
	margin: 0 auto;
}

.top-banner-item a {
	display: block;
	transition: transform 0.3s ease;
}

.top-banner-item a:hover {
	transform: scale(1.05);
}

.top-banner-item img {
	display: block;
	width: 100%;
	height: auto;
}

.item01 { grid-column: 1; grid-row: 1; }
.item03 { grid-column: 2; grid-row: 1 / span 2; }
.item02 { grid-column: 1; grid-row: 2; }
.item04 { grid-column: 1; grid-row: 3 / span 2; }
.item05 { grid-column: 2; grid-row: 3; }
.item06 { grid-column: 2; grid-row: 4; }
.item07 { grid-column: 1; grid-row: 5; }
.item08 { grid-column: 2; grid-row: 5; }


.top-banner {
	display: flex;
	flex-direction: column;
}



/****************************************

	以下レスポンシブ　記述終了用　削除禁止

*****************************************/
}
