@charset "UTF-8";

/****************************************

	セッティング

*****************************************/
html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption,
tbody, tfoot, thead, table, label, tr, th, td,
figure{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	list-style:none;
}

img {
	vertical-align: bottom;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: "Zen Kaku Gothic New", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #382422;
	font-size: 16px;
	line-height: 1.6;
	background: #FFFFFF;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}

a {color:#1a0dab; text-decoration:underline;}
a:hover {color:#1a0dab; text-decoration:none;}

a:link {
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-ms-transition: all 0.5s ease;
	transition: opacity 0.5s ease-out;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
			-o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

::selection {
	background: #005e55;
	color: #ffffff;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after{
	content:"";
	display:block;
	overflow:hidden;
}
.clearfix:after{
	clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix{
	zoom:1;
}



/****************************************

	サイズ調整

*****************************************/
.taL {text-align:left !important;}
.taC {text-align:center !important;}
.taR {text-align:right !important;}
.uLine {text-decoration: underline !important;}
.vaTop {vertical-align: top !important;}
.vaMid {vertical-align: middle !important;}
.vaBot {vertical-align: bottom !important;}

.mt05{margin-top:5px !important;}		.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}		.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}		.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}		.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}		.mt50{margin-top:50px !important;}

.mb05{margin-bottom:5px !important;}	.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}	.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}	.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}	.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}	.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}	.mb60{margin-bottom:60px !important;}
.mb65{margin-bottom:65px !important;}	.mb70{margin-bottom:70px !important;}
.mb75{margin-bottom:75px !important;}	.mb80{margin-bottom:80px !important;}
.mb85{margin-bottom:85px !important;}	.mb90{margin-bottom:90px !important;}
.mb95{margin-bottom:95px !important;}	.mb100{margin-bottom:100px !important;}

.ml05{margin-left:5px !important;}		.ml10{margin-left:10px !important;}
.ml15{margin-left:15px !important;}		.ml20{margin-left:20px !important;}
.ml25{margin-left:25px !important;}		.ml30{margin-left:30px !important;}
.ml35{margin-left:35px !important;}		.ml40{margin-left:40px !important;}
.ml45{margin-left:45px !important;}		.ml50{margin-left:50px !important;}

.mr05{margin-right:5px !important;}		.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}	.mr20{margin-right:20px !important;}
.mr25{margin-right:25px !important;}	.mr30{margin-right:30px !important;}
.mr35{margin-right:35px !important;}	.mr40{margin-right:40px !important;}
.mr45{margin-right:45px !important;}	.mr50{margin-right:50px !important;}

.pt05{padding-top:5px !important;}		.pt10{padding-top:10px !important;}
.pt15{padding-top:15px !important;}		.pt20{padding-top:20px !important;}
.pt25{padding-top:25px !important;}		.pt30{padding-top:30px !important;}
.pt35{padding-top:35px !important;}		.pt40{padding-top:40px !important;}
.pt45{padding-top:45px !important;}		.pt50{padding-top:50px !important;}
.pt65{padding-top:65px !important;}

.pb05{padding-bottom:5px !important;}	.pb10{padding-bottom:10px !important;}
.pb15{padding-bottom:15px !important;}	.pb20{padding-bottom:20px !important;}
.pb25{padding-bottom:25px !important;}	.pb30{padding-bottom:30px !important;}
.pb35{padding-bottom:35px !important;}	.pb40{padding-bottom:40px !important;}
.pb45{padding-bottom:45px !important;}	.pb50{padding-bottom:50px !important;}

.pl05{padding-left:5px !important;}		.pl10{padding-left:10px !important;}
.pl15{padding-left:15px !important;}	.pl20{padding-left:20px !important;}
.pl25{padding-left:25px !important;}	.pl30{padding-left:30px !important;}
.pl35{padding-left:35px !important;}	.pl40{padding-left:40px !important;}
.pl45{padding-left:45px !important;}	.pl50{padding-left:50px !important;}

.pr05{padding-right:5px !important;}	.pr10{padding-right:10px !important;}
.pr15{padding-right:15px !important;}	.pr20{padding-right:20px !important;}
.pr25{padding-right:25px !important;}	.pr30{padding-right:30px !important;}
.pr35{padding-right:35px !important;}	.pr40{padding-right:40px !important;}
.pr45{padding-right:45px !important;}	.pr50{padding-right:50px !important;}

.fs10{font-size:10px !important;}		.fs11{font-size:11px !important;}
.fs12{font-size:12px !important;}		.fs13{font-size:13px !important;}
.fs14{font-size:14px !important;}		.fs15{font-size:15px !important;}
.fs16{font-size:16px !important;}		.fs17{font-size:17px !important;}
.fs18{font-size:18px !important;}		.fs19{font-size:19px !important;}
.fs20{font-size:20px !important;}
.fs30{font-size:30px !important;}

.fB{font-weight:bold !important;}
.fwN{font-weight:normal !important;}

.lh12{line-height:1.2 !important;}		.lh13{line-height:1.3 !important;}
.lh14{line-height:1.4 !important;}		.lh15{line-height:1.5 !important;}
.lh16{line-height:1.6 !important;}		.lh17{line-height:1.7 !important;}
.lh18{line-height:1.8 !important;}		.lh19{line-height:1.9 !important;}
.lh20{line-height:2.0 !important;}

.fL{float:left;}
.fR{float:right;}
.clear{clear:both;}

@media screen and (min-width: 1200px){

.pc{display:block !important;}
.sp{display:none !important;}



/****************************************

	ヘッダー

*****************************************/
header {}
#header {
	width: 100%;
	margin: 0 auto;
	height: 110px;
}

.header__inner {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.header__logo {
	padding: 10px 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: 1000px;
	margin: 0 auto;
}


.footer__linkbox {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.footer__link {
	display: block;
	text-decoration: none;
	padding: 20px 0 90px 0;
	border-top: 1px solid #005e55;
	color: #382422;
	font-size: 22px;
	line-height: 1.5;
	margin: 0 26px 0 0;
	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: 0 0 50px 0;
}



.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: #ebf4ec;
	background-image: url("../../img/oazo-bg01.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: auto 20vw;
	padding: 160px 0 160px 0;
}
.top-oazo__inner {
	width: 80%;
	margin: 0 auto;
	background: #FFFFFF;
	border-radius: 40% 40% 0px 0px;
}


.top-oazo__tree {
	width: 42.6vw;
	margin: 0 auto;
	position: relative;
}
.top-oazo__tree img {
	width: 100%;
	height: auto;
	margin: -4.333333333333334vw 0 0 0;
}


.top-oazo__btn01 {
	left: 2vw;
	bottom: 16vw;
	position: absolute;
}
.top-oazo__btn01 img {
	width: auto;
	height: 13.333333333333334vw;
}

.top-oazo__btn02 {
	left: 14.7vw;
	bottom: 22.5vw;
	position: absolute;
}
.top-oazo__btn02 img {
	width: auto;
	height: 13.333333333333334vw;
}

.top-oazo__btn03 {
	right: 2vw;
	bottom: 16vw;
	position: absolute;
}
.top-oazo__btn03 img {
	width: auto;
	height: 13.333333333333334vw;
}

.top-oazo__btn04 {
	left: 2vw;
	bottom: 35vw;
	position: absolute;
}
.top-oazo__btn04 img {
	width: auto;
	height: 13.333333333333334vw;
}

.top-oazo__btn05 {
	left: 15.5vw;
	bottom: 40vw;
	position: absolute;
}
.top-oazo__btn05 img {
	width: auto;
	height: 13.333333333333334vw;
}

.top-oazo__btn06 {
	right: 0.5vw;
	bottom: 34vw;
	position: absolute;
}
.top-oazo__btn06 img {
	width: auto;
	height: 13.333333333333334vw;
}



@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: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	padding: 80px 0 120px 0;
}
.top-oazo__catch--logo {
	margin: 0 3vw 0 0;
}
.top-oazo__catch--txt {
	color: #382422;
	font-size: 54px;
	font-weight: 400;
	line-height: 2.8;
	letter-spacing: 0.12em;
}



.top-about {
	background: #FFFFFF;
}
.top-about__inner {
	width: 1200px;
	margin: 0 auto;
}

.top-about__title {
	text-align: center;
	width: 450px;
	margin: 0 auto 40px auto;
	border-bottom: 1px solid #afa7a6;
	padding: 110px 0 15px 0;
}
.top-about__subtitle {
	text-align: center;
	padding: 0 0 60px 0;
}
.top-about__txt {
	text-align: center;
	color: #382422;
	font-size: 26px;
	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 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 25vw 0 6vw 0;
}

.top-about-sec01__image {
	margin: 0 30px 0 0;
}
.top-about-sec01__catch {
	margin: 30px 0 0 0;
}



.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 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	padding: 0 0 6vw 0;
}

.top-about-sec02__catch {
	margin: 30px 0 0 0;
}
.top-about-sec02__image {
	margin: 0 0 0 35px;
}


.top-about-sec02__inner02 {
	width: fit-content;
	margin: 0 auto;
	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 {
	margin: 0 80px 0 0;
}
.top-about-sec02__catch02 {
	margin: 30px 0 0 0;
}



.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: 5vw 0 2vw 0;
}



.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: 1000px;
	margin: 0 auto;
	padding: 0 0 185px 0;
}

.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; }




/****************************************

	以下レスポンシブ　記述終了用　削除禁止

*****************************************/
}
