@charset "utf-8";

/*------------------------------------------------------------
LP
------------------------------------------------------------*/
.scrollHeader #gHeader::before {
	background: rgba(255,255,255, 0);
}
.loadingLogo {
	position: absolute;
	left: 50%;
	top: 50%;
}
#main {
	color: #ffffff;
	/*font-size: 20px;*/
	/*font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/
	font-family: "游ゴシック体", "游ゴシック Medium","Yu Gothic Medium", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	letter-spacing: 2px;
	padding-bottom: 0!important;
}

#main .jp {
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#main .en {
font-family: "classico-urw", sans-serif;
/*font-family: "baskerville-urw", serif;*/
font-weight: 500;
font-style: normal;
color: #ffffff;
}
#main .num{
	font-family: roboto, sans-serif;
}

/*ヘッダーバナーを表示させる
---------------------*/
.header_banner_slider{
	z-index:10!important;
}

/*モーダル表示時に上に表示されるのを防ぐ
---------------------*/
.footer{
	z-index:1;
}


/*
@media screen and (max-width: 1200px) and (min-width: 768px) and (orientation: portrait) {
}*/

/*コンテンツ部分*/
#main .mainBox {
	/*background-color: #9fbac7;*/
  padding: 0px;
	position: relative;
	z-index: 2;
	overflow: hidden;
}




/*@media screen and (max-width: 1200px) and (min-width: 768px) and (orientation: portrait) {
}
*/



/*! pc & tb 
------------------------------------------*/
@media screen and (min-width: 768px) {



	/*all
---------------------*/
.spView {
	display: none;
}

#main img{
	width: 100%;
}
/*#main .boxTxt p{
  font-size: 15px;
	line-height: 1.9;
	letter-spacing:0;
	color: #d3cdae;
}*/
#main a{
	cursor: pointer;
}

/*parallax 固定する背景
---------------------*/
div.parallaxBg{
  height: 100vh;
}
	.parallaxBg::before {
  background: url("/photo/page/nojess/20250912/img/top_bg.jpg") no-repeat center center;/* 擬似要素に背景画像 */
  background-size: cover;/* cover指定 */
  content: "";/* 画像を表示させる為に必要*/
  display: block;/*ブロックボックスで表示*/
  position: fixed;/* 擬似要素全体を固定 */
  width: 100%;/* 横幅を画面全体 */
  height: 100vh;/* 縦幅を画面全体 */
  z-index: -1;/*背景画像になるように重ね順を-1*/
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
	max-width: 2000px;
}
	/*端末が縦長の場合*/
@media (orientation: portrait){
 	.parallaxBg::before {
  background: url("/photo/page/nojess/20250912/img/top_bg_tb.jpg") no-repeat center;/* 擬似要素に背景画像 */
	background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
	}
}
/*.parallaxBg {
  background-image: url("/photo/page/nojess/20250912/img/top_bg.jpg");
  background-attachment: fixed;←ipadでは使えない
  /*background-position: center;
	background-position: right;
  background-size: cover;
  background-repeat: no-repeat;
}*/

/*スクロール時にページ最下部の背景画像が見切れるのを防ぐ JSにも指定 start*/
.removeBg::before{
  height: 0vh!important;
}
.removeBg img{
	width: 0vw!important;
  height: 0vh!important;
}
/*スクロールするコンテンツ*/
.scrollbox {
	background-color: #ffffff;
	/*font-family: "baskerville-urw", serif;*/
	color: #ffffff;
	padding-top: 90px;
}

/*top
---------------------*/
.topBox{
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.topBox .topTtl{
	width: 35%;
	max-width: 480px;
  /*position: absolute;*/
	position: fixed;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
	opacity: 0;
	z-index: -1;
}

	/*端末が縦長の場合*/
@media (orientation: portrait){
 	.topBox .topTtl{
		/* width: 13%;
		max-width: 130px;
		position: fixed;
  	top: 25px;
  	left: 4%;
		opacity: 0;
		z-index: -1; */
	}
}
.topBox .topTtl .logo{
	width: 100%;
	margin: 0 auto;
}
	.loaded .topBox .topTtl{
		/*transform: translate(0, -80%);*/
		opacity: 1;
		transition: 1.5s 1.0s ease;/*1秒後に1.5秒かけて変化*/
		/*animation: ttlAnime 1.5s 1.0s linear;*/
	}

/*@keyframes ttlAnime{
 100%{ color: #333333; }
  50%{ color: #333333; }
   0%{ color: transparent; }
}*/


/*横幅が狭くなった時、変更*/
@media screen and (max-width: 900px) and (min-width: 768px) {
}/*@media*/



/*sec1
-----------------*/
.sec1_bg{
	width: 100%;
	margin: 0 auto;
	background: url("/photo/page/nojess/20250912/img/sec1_bg2.jpg") no-repeat bottom center #f3e7d1;
	background-size: auto;
	}
.sec1{
	max-width: 2500px;
	height: 1660px;
	margin: 0 auto;
	background: url("/photo/page/nojess/20250912/img/sec1_bg1.jpg") no-repeat top center;
	background-size: auto;
	color: #444444;
}
.sec1_inner{
	width: 760px;
	height:	1660px;
	margin: 0 auto;
}
.sec1 h2{
	text-align: center;
	line-height: 0.9;
	margin: 0 auto;
	padding: 140px 0 40px;
	color: #ffffff;
}

.sec1 .animal_box{
	width: 460px;
	margin: 0 auto;
	padding: 760px 0 150px;
}

.sec1 .ani_logo{
	width: 140px;
	margin: 0 auto;
	padding: 0 0 50px;
}
.sec1 .ani_txt{
	font-size: 15px;
	font-weight: 500;
	line-height: 2.7;
	letter-spacing: 1px;
	text-align: center;
	color: #333333;
}



/*sec2
-----------------*/
.sec2{
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 100px 0;
}

.sec2_img1, .sec2_img2, .sec2_img3{
	position: relative;
	width: calc(1000/1000*100%);
	margin: 0 auto;
}
.sec2_img_inner{
	margin: 0 auto 100px;
}

/*sec3
-----------------*/
.sec3_bg{
	/* max-width: 2000px; */
	width: 100%;
	margin: 0 auto;
	background: url("/photo/page/nojess/20250912/img/sec3_bg.jpg") repeat-x top left;
	background-size: auto;
	}
.sec3{
	width: 500px;
	height: 320px;
	margin: 0 auto;
	color: #444444;
	position: relative;
}

.sec3 .btn_box{
	width: 460px;
	margin: 0 auto;
	padding: 135px 0 0;
}

.sec3_animals1{
	position: absolute;
	width: 348px;
	top: -35px;
	left: -240px;
}
.sec3_animals2{
	position: absolute;
	width: 289px;
	bottom: -35px;
	right: -210px;
}

/*sec4
-----------------*/
.sec4_wrap{
	width: 100%;
	max-width: 1400px;
	padding: 140px 100px 100px;
	margin: 0 auto;
}
.sec4{
	position: relative;
	width: calc(1000/1000*100%);
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 0 110px;
	background: 
	url(/photo/page/nojess/20250912/img/sec_frame_top_left.png) no-repeat left top/20px,
	url("/photo/page/nojess/20250912/img/sec_frame_top_right.png") no-repeat right top/20px,url("/photo/page/nojess/20250912/img/sec_frame_btm_left.png") no-repeat left bottom/20px,url("/photo/page/nojess/20250912/img/sec_frame_btm_right.png") no-repeat right bottom/20px,#fff;
}
.sec4_ttl{
	font-size: 60px;
	font-family: mr-eaves-modern, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #817b7b;
	text-align: center;
	letter-spacing: -0.8px;
}
.sec4_catch{
	font-size: 25px;
	/*font-family: noto-sans-cjk-jp, sans-serif;*/
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: center;
	color: #817b7b;
	letter-spacing: 7px;
	line-height: 1.7;
	font-weight: 600;
	padding: 40px 0 30px;
	text-align: center;
}
.sec4_txt{
	font-size: 15px;
	font-weight: normal;
	line-height: 2.2;
	letter-spacing: 4px;
	text-align: center;
	color: #444444;
}

.sec4_step{
	width: 600px;
	margin: 40px auto 0;
}
.sec4 .step_box, .sec3 .step_box-last{
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;/*改行許可せず*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
	}

.sec4 .step_line{
		background: url(/photo/page/nojess/20250912/img/sec4_line.jpg) repeat-y 65px top;
	}
.sec4 .step_img{
	width: 130px;/*幅*/
	height: 130px;/*高さ*/
	border-radius: 50%;/*角丸*/
	background-color: #c2cda5;
	margin-bottom: 50px;
}
.sec4 .step_img-last{
	width: 130px;/*幅*/
	height: 130px;/*高さ*/
	border-radius: 50%;/*角丸*/
	background-color: #c2cda5;
	padding-bottom: 0;
}
.sec4 .step_img img, .sec4 .step_img-last img{
	width: 130px;
}

.sec4 .step_txt{
	width: 430px;
	height: 130px;
  display: flex;
	flex-wrap: wrap;/*改行許可*/
  align-items: center;
}
.step_ttl{
	width: 100%;
	font-size: 17px;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 4.5px;
	color: #817b7b;
}
.step_ani_txt{
	width: 100%;
	padding: 10px 0 15px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 2px;
	color: #555555;
}
.step_ani_link{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;/*改行許可*/
  align-items: center;
	padding: 0;
	margin: 0;
}
.step_ani_link .ani_logo{
	width: 151px;
	margin-right: 30px;
	
}
.step_ani_link .ani_btn a{
	border: 1px solid #817b7b;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 1px;
	color: #444444;
	border-radius: 7px;
	padding: 10px 24px;
	background-color: #ffffff;
}
.step_ani_link .ani_btn a:hover{
	background-color: #7f9d85;
	border: 1px solid #7f9d85;
	color: #ffffff;
	font-weight: 600;
	animation: btnAnime_step 1.5s linear;
}
@keyframes btnAnime_step{
  0%{ color: #ffffff; background-color: #ffffff;}
 50%{ color: #ffffff; background-color: #7f9d85;}
100%{ color: #ffffff; background-color: #7f9d85; opacity: 1;}
}


/*sec5
-----------------*/
.sec5_wrap{
	width: 100%;
	margin: 60px auto 0;
}
.sec5{
	margin: 0 auto;
	background: url("/photo/page/nojess/20250912/img/sec5_bg.jpg") repeat-x 0 0 #f2ecde;
	background-size: 10px 180px;
}
.sec5_img_wrap{
	width: calc(1000/1000*100%);
	max-width: 1400px;
	padding: 0 100px 0;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: center;/*中央揃え*/
}
.sec5_img{
	width: calc(280/900*100%);
	margin-bottom: calc(10/280*100%);
}
.sec5_tag{
	font-size: 20px;
	color: #817b7b;
	letter-spacing: 7px;
	text-align: center;
	font-weight: 600;
	padding: 40px 0 30px;
}
.sec5_txt{
	font-size: 15px;
	/*color: #817b7b;*/
		color: #999999;
	letter-spacing: 4px;
	text-align: center;
	font-weight: 400;
	padding-bottom: 120px;
	font-weight: 600;

}

/* 順番に現れるアニメーション*/

/*ふわっと表示*/
.sec5 .fadeUp {
animation-name:secFadeUpAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity: 0;
animation-delay: 0;
}
@keyframes secFadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(60px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}



/*sec6
-----------------*/
.sec6_wrap{
	width: 100%;
	max-width: 1400px;
	padding: 100px 100px 100px;
	margin: 0 auto;
}
.sec6{
	position: relative;
	width: calc(1000/1000*100%);
	margin: 0 auto;
	padding: 0 0 110px;
	background: 
	url(/photo/page/nojess/20250912/img/sec_frame_top_left.png) no-repeat left top/20px,
	url("/photo/page/nojess/20250912/img/sec_frame_top_right.png") no-repeat right top/20px,url("/photo/page/nojess/20250912/img/sec_frame_btm_left.png") no-repeat left bottom/20px,url("/photo/page/nojess/20250912/img/sec_frame_btm_right.png") no-repeat right bottom/20px,#fff;
}
.sec6_ttl{
	font-size: 64px;
	font-family: mr-eaves-modern, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #817b7b;
	text-align: center;
}
.sec6_catch{
	font-size: 17px;
	/*font-family: noto-sans-cjk-jp, sans-serif;*/
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: center;
	color: #817b7b;
	letter-spacing: 3px;
	line-height: 1.7;
	font-weight: 500;
	padding: 40px 0 30px;
	text-align: center;
	color: #444444;
}
.sec6_txt{
	font-size: 15px;
	font-weight: normal;
	line-height: 2.2;
	letter-spacing: 5px;
	text-align: center;
	color: #555555;
}
.sec6_txt_kifu{
	width: 320px;
	margin: 10px auto 0;
	border-top:2px solid #959595;
	border-bottom: 2px dotted #aaaaaa;
	height: 40px;
}
.sec6_txt_kingaku{
	width: 320px;
	height: 60px;
	line-height: 60px;
	margin: 0 auto;
	border-bottom: 2px solid #959595;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 7px;
}


.sec_btn_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 140px;
	}
.sec_btn_txt{
	font-size: 16px;
	text-align: center;
	color: #817b7b;
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 600;
	padding: 0 0 40px;
	line-height: 2.5;
	letter-spacing: 3px;
}
.sec_btn{
	margin: 0 auto;
	text-align: center;
}
.sec_btn a{
	display: block;;
	width: 300px;
	height: 50px;
	font-size: 14px;
	line-height: 50px;
	letter-spacing: 3px;
	color: #ffffff;
	border-radius: 7px;
	font-weight: 700;
	background-color: #767171;
	margin: 0 auto;
}
.sec_btn a:hover{
	/* background-color: #ffffff;
	color: #817b7b; */
	animation: btnAnime4 1.5s linear forwards;
}
@keyframes btnAnime4{
  0%{ color: #ffffff; background-color: #767171;}
 50%{ color: #767171; background-color: #ffffff; border: 1px solid #767171;}
100%{ color: #767171; background-color: #ffffff; border: 1px solid #767171; opacity: 1;}
}



/*viewall ボタン
---------------------*/
.allbtn_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 140px 0 160px;
	}
.viewAll a{
	display: block;
	width: 250px;
	margin: 0 auto;
	}
.viewAll .btn{
	width: 250px;
	margin: 0 auto 0;
	background-color: #767171;
	/*font-family: "Bellefair", serif;*/
	font-family: mr-eaves-modern, sans-serif;
	font-style: normal;
	font-weight: bold;
	color: #ffffff;
	text-align: center;
	line-height: 50px;
	letter-spacing: 2px;
	font-size: 18px;
	border-radius: 7px;
}
.viewAll .btn:hover{
	/* background-color: #b3c296;
	color: #ffffff; */
	animation: btnAnime2 1.0s linear forwards;
}
@keyframes btnAnime2{
  0%{ color: #ffffff; background-color: #767171;}
 50%{ color: #767171; background-color: #ffffff;}
100%{ color: #767171; background-color: #ffffff; opacity: 1;}
}


/*「＋」ボタン
-----------------*/
.modalBtn a{
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	display: block;
	line-height:1.5em;
	color: #999999;
	background-color: rgba(255, 255, 255, 0.5);
	font-size: 21px;
	font-weight: 400;
	cursor: pointer;
	text-align: center;
}
.sec1_inner .modalBtn a{
	background-color: rgba(255, 255, 255, 0.3);
}


/*ボタンの背景色＆フォントカラー個別設定
-----------------*/
.modalBtn a:hover{
	background-color: #ffffff;
	color: #aa9a77;
/*	animation: btnAnime 1.5s linear;*/
}

@keyframes btnAnime{
  0%{ opacity: 0.2}
 50%{ opacity: 0.75;}
100%{ opacity: 0.2;}
}

.sec1_inner{
	position: relative;
}
.modalBtn1-1{
	position: absolute;
	left: calc(185/760*100%);
	top: calc(290/1660*100%);
	z-index: 99;
}
.modalBtn1-2{
	position: absolute;
	left: calc(480/760*100%);
	top: calc(200/1660*100%);
	z-index: 99;
}
.modalBtn1-3{
	position: absolute;
	left: calc(630/760*100%);
	top: calc(204/1660*100%);
	z-index: 99;
}
.modalBtn1-4{
	position: absolute;
	left: calc(106/760*100%);
	top: calc(662/1660*100%);
	z-index: 99;
}
.modalBtn1-5{
	position: absolute;
	left: calc(190/760*100%);
	top: calc(590/1660*100%);
	z-index: 99;
}
.modalBtn1-6{
	position: absolute;
	left: calc(365/760*100%);
	top: calc(510/1660*100%);
	z-index: 99;
}
.modalBtn1-7{
	position: absolute;
	left: calc(370/760*100%);
	top: calc(407/1660*100%);
	z-index: 99;
}
.modalBtn1-8{
	position: absolute;
	right: calc(205/760*100%);
	top: calc(488/1660*100%);
	z-index: 99;
}
.modalBtn1-9{
	position: absolute;
	right: calc(55/760*100%);
	top: calc(460/1660*100%);
	z-index: 99;
}

.modalBtn1-10{
	position: absolute;
	left: calc(131/760*100%);
	top: calc(1100/1660*100%);
	z-index: 99;
}
.modalBtn1-11{
	position: absolute;
	left: calc(54/760*100%);
	top: calc(1344/1660*100%);
	z-index: 99;
}
.modalBtn1-12{
	position: absolute;
	right: calc(241/760*100%);
	bottom: calc(134/1660*100%);
	z-index: 99;
}


.sec2_img1{
	position: relative;
}
.modalBtn2-1{
	position: absolute;
	top: calc(187/856*100%);
	right: calc(312/1000*100%);
	z-index: 99;
}
.modalBtn2-2{
	position: absolute;
	top: calc(322/856*100%);
	left: calc(320/1000*100%);
	z-index: 99;
}
.modalBtn2-3{
	position: absolute;
	top: calc(411/856*100%);
	left: calc(469/1000*100%);
	z-index: 99;
}
.modalBtn2-4{
	position: absolute;
	top: calc(585/856*100%);
	left: calc(270/1000*100%);
	z-index: 99;
}
.modalBtn2-5{
	position: absolute;
	top: calc(708/856*100%);
	left: calc(364/1000*100%);
	z-index: 99;
}
.modalBtn2-6{
	position: absolute;
	top: calc(650/856*100%);
	right: calc(230/1000*100%);
	z-index: 99;
}


.modalBtn2-7{
	position: absolute;
	top: calc(157/750*100%);
	left: calc(532/1000*100%);
	z-index: 99;
}
.modalBtn2-8{
	position: absolute;
	top: calc(354/750*100%);
	left: calc(240/1000*100%);
	z-index: 99;
}
.modalBtn2-9{
	position: absolute;
	top: calc(550/750*100%);
	left: calc(330/1000*100%);
	z-index: 99;
}
.modalBtn2-10{
	position: absolute;
	top: calc(508/750*100%);
	right: calc(300/1000*100%);
	z-index: 99;
}
.modalBtn2-11{
	position: absolute;
	top: calc(360/750*100%);
	right: calc(253/1000*100%);
	z-index: 99;
}

.modalBtn2-12{
	position: absolute;
	top: calc(430/750*100%);
	left: calc(270/1000*100%);
	z-index: 99;
}
.modalBtn2-13{
	position: absolute;
	top: calc(310/750*100%);
	right: calc(320/1000*100%);
	z-index: 99;
}


}/*! //pc & tb */













/*! sp 
------------------------------------------*/
@media screen and (max-width: 767px) {
  .pcView {
    display: none;
  }
/*sp all
---------------------*/
	body {
  min-width: inherit;
  }

	#main {
		overflow: hidden;
	}
	#main a:hover {
		opacity: 1 !important;
	}

	#main .mainBox {
		padding-top: 60px;
	}


	.mainBox{
		padding-top: 0 !important;
	}


/*sp parallax 固定する背景
---------------------*/
div.parallaxBg{
  /*height: 92vh;*/
	height: 132.8vw;/* スマホ用メイン画像の高さに合わせる_高さ518÷横390×100 */
}

.parallaxBg {
}
	
.parallaxBg:before{
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 132.8vw;/* スマホ用メイン画像の高さに合わせる_高さ518÷横390×100 */
  background: url("/photo/page/nojess/20250912/img/top_bg_sp.jpg");
	background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -99999;
}
	/*端末が横長の場合*/
@media (orientation: landscape){
 	.parallaxBg::before {
  background: url("/photo/page/nojess/20250912/img/top_bg.jpg") no-repeat center;/* 擬似要素に背景画像 */
	background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
	}
}

/*スクロール時にページ最下部の背景画像が見切れるのを防ぐ JSにも指定 start*/
.removeBg:before{
	height: 0vh!important;
}
.removeBg img{
	width: 0vw!important;
  height: 0vh!important;
}
#gFooter{
	z-index: 100;
}
/*スクロール時にページ最下部の背景画像が見切れるのを防ぐ JSにも指定 end*/

/*スクロールして下からせり上げるコンテンツ*/
.scrollbox {
	background-color: #ffffff;
	padding-top: 15vw;
	/*padding-bottom: 20vw;*/
	/*font-family: "baskerville-urw", serif;*/
	font-weight: 500;
	font-style: normal;
}

/*sp top
---------------------*/
.topBox{
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.topBox .topTtl{
	opacity: 0;
}
.topBox .topTtl .logo{
	width: calc(500/750*100%);
	max-width: 220px;
	position: fixed;
	top: 116vw;
  	left: 50%;
  	transform: translateX(-50%);
	z-index: -1;
}

	.loaded .topBox .topTtl{
		/*transform: translate(0, -80%);*/
		opacity: 1;
		transition: 1.5s 1.0s ease;/*1秒後に1.5秒かけて変化*/
		/*animation: ttlAnime 1.5s 1.0s linear;*/
	}

/*@keyframes ttlAnime{
 100%{ color: #333333; }
  50%{ color: #333333; }
   0%{ color: transparent; }
}*/

/*sp section
---------------------*/



/*sp sec1
-----------------*/
.sec1_bg{
	width: 100%;
	margin: 0 auto;
/*	background-color: #f3e7d1;*/
	}
.sec1{

}
.sec1_inner{
	position: relative;
	margin: 0 auto;
	padding: 0;
	background-size: 100% auto;
	height: calc(2730/780*100vw);
	color: #444444;
	background-color: #f3e7d1;
}

.sec1 .animal_box{
	position: absolute;
	width: 100%;
	top: 130vw;
  	left: 50%;
  	transform: translateX(-50%);
	z-index: 99;
}
.sec1 .ani_logo{
	width: calc(200/780*100%);
	margin: 0 auto;
	padding: 0 0 calc(80/780*100vw);
}
.sec1 .ani_txt{
	width: 80%;
	margin: 0 auto;
	font-size: 3.6vw;
	font-weight: 500;
	line-height: 2.4;
	letter-spacing: 0.5vw;
	text-align: center;
	color: #333333;
}
.sec1_item1{
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
}
.sec1_item2{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
}


/*sp sec2
-----------------*/
.sec2{
	width: 92%;
	margin: 0 auto;
	padding: 8vw 0 10vw;
}

.sec2_img1, .sec2_img2{
	width: 100%;
	margin: 0 auto 15vw;
}



/*sp sec3
-----------------*/
.sec3_bg{
	width: 100%;
	margin: 5vw auto 0;
	}
.sec3{
	height: calc(550/780*100vw);
	margin: 0 auto;
	background: url("/photo/page/nojess/20250912/img/sec3_bg_sp.jpg") repeat-x 0 0;
	background-size: contain;
	color: #444444;
	position: relative;
}

.sec3 .btn_box{
	width: 100%;
	margin: 0 auto;
	padding: calc(233/780*100vw) 0 0;
}

.sec3_animals1{
	position: absolute;
	width: 100vw;
	top: calc(-51/780*100vw);
	left: 0;
}
.sec3_animals2{
	position: absolute;
	width: 100vw;
	bottom: calc(-55/780*100vw);
	right: 0;
}

/*sp sec4
-----------------*/
.sec4_wrap{
	width: 100%;
	padding-top: 30vw;
	margin: 0 auto 20vw;
}
.sec4{
	position: relative;
	width: 94%;
	margin: 0 auto;
	padding: 0;
	background: 
	url(/photo/page/nojess/20250912/img/sec_frame_top_left.png) no-repeat left top/15px,
	url("/photo/page/nojess/20250912/img/sec_frame_top_right.png") no-repeat right top/15px,url("/photo/page/nojess/20250912/img/sec_frame_btm_left.png") no-repeat left bottom/15px,url("/photo/page/nojess/20250912/img/sec_frame_btm_right.png") no-repeat right bottom/15px,#fff;
}
.sec4_ttl{
	font-size: 10vw;
	font-family: mr-eaves-modern, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #817b7b;
	text-align: center;
	line-height: 1;
	letter-spacing: -0.2vw;
}
.sec4_catch{
	font-size: 4vw;
	/*font-family: noto-sans-cjk-jp, sans-serif;*/
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: center;
	color: #817b7b;
	letter-spacing: 1.2vw;
	line-height: 1.7;
	font-weight: 600;
	padding: 12vw 0 10vw;
	text-align: center;
}
.sec4_txt{
	font-size: 3.5vw;
	font-weight: normal;
	line-height: 1.8;
	letter-spacing: 0.8vw;
	text-align: center;
	color: #444444;
}

.sec4_step{
	width: 84%;
	margin: 0 auto ;
	padding: 12vw 0 0;
}
.sec4 .step_box{
	margin: 0 auto;
	padding: 0 0 8vw;
	display: flex;
	flex-wrap: nowrap;/*改行許可せず*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
	}
.sec4 .step_box-last{
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;/*改行許可せず*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: flex-start;/*上揃え*/
	}
.sec4 .step_img{
	width: 23%;/*幅*/
	/*height: 35vw;*//*高さ*/
	border-radius: 50%;/*角丸*/
	background-color: #c2cda5;
}
.sec4 .step_img-last{
	width: 23%;/*幅*/
	/*height: 35vw;*//*高さ*/
	border-radius: 50%;/*角丸*/
	background-color: #c2cda5;
	padding-bottom: 0;
}
.sec4 .step_img img, .sec3 .step_img-last img{
	width: 100%;
}

.sec4 .step_txt{
	width: 70%;
  display: flex;
	flex-wrap: wrap;/*改行許可*/
  align-items: center;
}
.sec4 .step_line{
	background: url(/photo/page/nojess/20250912/img/sec4_line.jpg) repeat-y 11.5% top;
}
.sec4 .step_line .step_ttl{
	padding-top: 5vw;
}
.step_ttl{
	width: 100%;
	font-size: 4vw;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.8vw;
	color: #817b7b;
}
.step_ani_txt{
	width: 100%;
	padding: 5vw 0;
	font-size: 3.2vw;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.5vw;
	color: #444444;
}
.step_ani_link{
	padding-bottom: 8vw;
}
.step_ani_link .ani_logo img{
	/*width: 151px;*/
	width: 60%;
	padding-bottom: 3vw;
}
.step_ani_link .ani_btn a{
	display: block;
	width: calc(300/780*100vw);
	border: 1px solid #817b7b;
	font-size: 3vw;
	line-height: 1;
	letter-spacing: 0.4vw;
	color: #444444;
	border-radius: 7px;
	padding: 2.2vw 4.6vw;
	background-color: #ffffff;
}
.step_ani_link .ani_btn a:hover{
	/* background-color: #7f9d85;
	border: 1px solid #7f9d85;
	color: #ffffff;
	font-weight: 600; */
	animation: btnAnime_step 1.5s linear;
}
@keyframes btnAnime_step{
  0%{ color: #ffffff; background-color: #ffffff;}
 50%{ color: #ffffff; background-color: #7f9d85;}
100%{ color: #ffffff; background-color: #7f9d85; opacity: 1;}
}



/*sp sec5
-----------------*/
.sec5_wrap{
	width: 100%;
	margin: 0 auto;
}
.sec5{
	padding: 0;
	margin: 20vw auto 0;
	background: url("/photo/page/nojess/20250912/img/sec5_bg.jpg") repeat-x 0 0 #f2ecde;
	background-size: 1vw auto;
}
.sec5_img_wrap{
	width: 92vw;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: space-between;/*両端配置・アイテムの間にスペースを均等に割り付け*/
	align-items: center;/*中央揃え*/
}
.sec5_img{
	width: 30vw;
	margin-bottom: 1vw;
}
.sec5_img_wide{
	width: 61vw;
	margin-bottom: 1vw;
}
.sec5_tag{
	font-size: 4vw;
	color: #817b7b;
	letter-spacing: 1.2vw;
	text-align: center;
	font-weight: 600;
	padding: 10vw 0 7vw;
}
.sec5_txt{
	font-size: 3.2vw;
	color: #817b7b;
	letter-spacing: 0.5vw;
	text-align: center;
	font-weight: 600;
	line-height: 2.2;
	padding-bottom: 15vw;
}

/* 順番に現れるアニメーション*/
.sec5 .1{
  opacity: 0;/*スタート時は要素自体を透過0にするためのopacity:0;を指定する*/
}
/*ふわっと表示*/
.sec5 .fadeUp {
animation-name:sec01FadeUpAnime;
animation-duration:0.7s;
animation-fill-mode:forwards;
opacity: 0;
	animation-delay: 0;
}
@keyframes sec01FadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(60px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/*sp sec6
-----------------*/
.sec6_wrap{
	width: 100%;
	margin: 20vw auto 15vw;
	padding: 0;
}

.sec6{
	position: relative;
	width: 94%;
	margin: 0 auto;
	padding: 0 0 20vw;
	background: 
	url(/photo/page/nojess/20250912/img/sec_frame_top_left.png) no-repeat left top/15px,
	url("/photo/page/nojess/20250912/img/sec_frame_top_right.png") no-repeat right top/15px,url("/photo/page/nojess/20250912/img/sec_frame_btm_left.png") no-repeat left bottom/15px,url("/photo/page/nojess/20250912/img/sec_frame_btm_right.png") no-repeat right bottom/15px,#fff;
}
.sec6_ttl{
	font-size: 10vw;
	font-family: mr-eaves-modern, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #817b7b;
	text-align: center;
	letter-spacing: -0.2vw;
}


.sec6_catch{
	font-size: 4vw;
	/*font-family: noto-sans-cjk-jp, sans-serif;*/
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	text-align: center;
	color: #817b7b;
	letter-spacing: 3px;
	line-height: 1.7;
	font-weight: 600;
	padding: 10vw 0 10vw;
	text-align: center;
	color: #817b7b;
}
.sec6_txt{
	font-size: 3.8vw;
	font-weight: normal;
	letter-spacing: 5px;
	text-align: center;
	color: #444444;
}
.sec6_txt_kifu{
	width: calc(500/750*100%);
	margin: 5vw auto 0;
	padding: 0;
	border-top:2px solid #959595;
	border-bottom: 2px dotted #aaaaaa;
	height: 12vw;
	line-height: 12vw;
}
.sec6_txt_kingaku{
	width: calc(500/750*100%);
	height: 18vw;
	line-height: 18vw;
	margin: 0 auto;
	border-bottom: 2px solid #959595;
	font-size: 4vw;
	font-weight: bold;
	letter-spacing: 7px;
}


/*sp ボタン
---------------------*/
.sec_btn_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0;
	}
.sec_btn_txt{
	font-size: 3.6vw;
	text-align: center;
	color: #817b7b;
	font-family: "yu-gothic-pr6n", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 600;
	padding: 0 0 12vw;
	line-height: 2.5;
	letter-spacing: 0.1vw;
}
.sec_btn{
	margin: 0 auto;
	padding-bottom: 15vw;
	text-align: center;
}
.sec_btn a{
	width: 50%;
	max-width: 500px;
	font-size: 3.5vw;
	line-height: 1;
	letter-spacing: 0.3vw;
	color: #ffffff;
	border-radius: 4px;
	padding: 3vw 8vw;
	font-weight: 700;
	background-color: #767171;
	margin: 0 auto;
}
.sec_btn a:hover{
	background-color: #FFFFFF;
	color: #817b7b;
	animation: btnAnime3 1.5s linear;
}
@keyframes btnAnime3{
  0%{ color: #ffffff; background-color: #767171;}
 50%{ color: #767171; background-color: #FFFFFF;}
100%{ color: #767171; background-color: #FFFFFF;}
}





/*sp viewall ボタン
---------------------*/
/* .allbtn_wrap{
	width: 100%;
	margin: 0 auto;
	padding: calc(150/750*100vw) 0 calc(180/750*100vw);
	} */
.viewAll a{
	display: block;
	margin: 0 auto;
	width: 50%;
	max-width: 500px;
	margin: 0 auto;
	background-color: #767171;
	color: #ffffff;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.5vw;
	border-radius: 4px;
	padding: 3vw 0;
	font-size: 4vw;
	font-style: normal;
	font-family: mr-eaves-modern, sans-serif;
	font-weight: 500;
	font-style: normal;
}




/*sp 「＋」ボタン
-----------------*/
.modalBtn a{
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	display: block;
	line-height: 1.6em;
	color: #999999;
	background-color: rgba(255, 255, 255, 0.5);
	font-size: 15px;
	cursor: pointer;
	text-align: center;
}

/*ボタンの背景色＆フォントカラー個別設定
-----------------*/
.sec1_inner .modalBtn a{
	background-color: rgba(255, 255, 255, 0.3);
}
.modalBtn a:hover{
	background-color: #ffffff;
	color: #aa9a77;
/*	animation: btnAnime 1.5s linear;*/
}

@keyframes btnAnime{
  0%{ opacity: 0.2}
 50%{ opacity: 0.75;}
100%{ opacity: 0.2;}
}

.sec1_inner{
	position: relative;
}
.modalBtn1-1{
	position: absolute;
	left: calc(164/780*100%);
	top: calc(413/2730*100%);
	z-index: 99;
}
.modalBtn1-2{
	position: absolute;
	left: calc(500/780*100%);
	top: calc(290/2730*100%);
	z-index: 99;
}
.modalBtn1-3{
	position: absolute;
	left: calc(644/780*100%);
	top: calc(300/2730*100%);
	z-index: 99;
}
.modalBtn1-4{
	position: absolute;
	left: calc(70/780*100%);
	top: calc(820/2730*100%);
	z-index: 99;
}
.modalBtn1-5{
	position: absolute;
	left: calc(193/780*100%);
	top: calc(726/2730*100%);
	z-index: 99;
}
.modalBtn1-6{
	position: absolute;
	left: calc(325/780*100%);
	top: calc(804/2730*100%);
	z-index: 99;
}
.modalBtn1-7{
	position: absolute;
	left: calc(440/780*100%);
	top: calc(654/2730*100%);
	z-index: 99;
}
.modalBtn1-8{
	position: absolute;
	left: calc(592/780*100%);
	top: calc(740/2730*100%);
	z-index: 99;
}
.modalBtn1-9{
	position: absolute;
	left: calc(701/780*100%);
	top: calc(595/2730*100%);
	z-index: 99;
}
.modalBtn1-10{
	position: absolute;
	left: calc(271/780*100%);
	bottom: calc(777/2730*100%);
	z-index: 99;
}
.modalBtn1-11{
	position: absolute;
	left: calc(105/780*100%);
	bottom: calc(465/2730*100%);
	z-index: 99;
}
.modalBtn1-12{
	position: absolute;
	left: calc(390/780*100%);
	bottom: calc(207/2730*100%);
	z-index: 99;
}

.sec2_img1{
	position: relative;
}
.modalBtn2-1{
	position: absolute;
	left: calc(482/740*100%);
	top: calc(225/1090*100%);
	z-index: 99;
}
.modalBtn2-2{
	position: absolute;
	left: calc(180/740*100%);
	top: calc(460/1090*100%);
	z-index: 99;
}
.modalBtn2-3{
	position: absolute;
	left: calc(495/740*100%);
	top: calc(497/1090*100%);
	z-index: 99;
}
.modalBtn2-4{
	position: absolute;
	left: calc(119/740*100%);
	top: calc(733/1090*100%);
	z-index: 99;
}
.modalBtn2-5{
	position: absolute;
	left: calc(225/740*100%);
	top: calc(877/1090*100%);
	z-index: 99;
}
.modalBtn2-6{
	position: absolute;
	left: calc(622/740*100%);
	top: calc(744/1090*100%);
	z-index: 99;
}

.sec2_img2{
	position: relative;
}
.modalBtn2-7{
	position: absolute;
	left: calc(482/740*100%);
	top: calc(225/950*100%);
	z-index: 99;
}
.modalBtn2-8{
	position: absolute;
	left: calc(48/740*100%);
	top: calc(460/950*100%);
	z-index: 99;
}
.modalBtn2-9{
	position: absolute;
	left: calc(202/740*100%);
	top: calc(721/950*100%);
	z-index: 99;
}
.modalBtn2-10{
	position: absolute;
	left: calc(573/740*100%);
	top: calc(721/950*100%);
	z-index: 99;
}
.modalBtn2-11{
	position: absolute;
	left: calc(641/740*100%);
	top: calc(497/950*100%);
	z-index: 99;
}

.sec2_img3{
	position: relative;
}
.modalBtn2-12{
	position: absolute;
	left: calc(110/740*100%);
	top: calc(702/950*100%);
	z-index: 99;
}
.modalBtn2-13{
	position: absolute;
	left: calc(600/740*100%);
	top: calc(574/950*100%);
	z-index: 99;
}



}/*! //sp */










/*! all
------------------------------------------*/


/*トップへ戻るボタンの余白
---------------------*/
.whiteSpace{
	background-color: #ffffff;
	/*padding: 40px 0 0;*/
	padding: 0;
}



/*画像回転アニメーション start
=========================*/
.itemAnmTrigger {
}
.secImgWide1 .itemAnmActive{
	animation: item_anm1 4s ease-out 1;
}
.secImgWide2 .itemAnmActive{
	animation: item_anm2 3s ease-out 1;
}
.secImgWide3 .itemAnmActive{
	animation: item_anm3 3s ease-out 1;
}

@keyframes item_anm1 {
0%   {transform: scale(1.3) rotate(10deg); }
100% {transform: scale(1.) rotate(0); }
}
@keyframes item_anm2 {
0%   { transform: scale(1.2) rotate(7deg); }
100% { transform: scale(1.) rotate(0deg); }
}
@keyframes item_anm3 {
0%   {transform: scale(1.2) rotate(-7deg); }
100% {transform: scale(1.) rotate(0); }
}
.imgFrame{
	overflow: hidden;
}
.imgFrame img{
	overflow: hidden;
}

/*画像回転アニメーション end
=========================*/



/*タイトル タイピングアニメーション start
=========================*/
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on1 1s ease-out forwards; }

.line1 .eachTextAnime.appeartext span{ animation:text_anime_on1 1s ease-out forwards; }
.line2 .eachTextAnime.appeartext span{ animation:text_anime_on2 1s ease-out forwards; }
.line3 .eachTextAnime.appeartext span{ animation:text_anime_on2 1.5s ease-out forwards; }
@keyframes text_anime_on1 {
  0% {opacity:0;}
  100% {opacity:1;}
}
	@keyframes text_anime_on2 {
  0% {opacity:0;}
	50% {opacity:0;}
  100% {opacity:1;}
}
/*タイトル タイピングアニメーション end
=========================*/



/*   ふわっと表示 start
=========================*/
/* ----- effects ----- */
  .effFI, .effFIU, .effFID, .effFIR, .effFIL { opacity:0; }
  .effFI.effanm { -webkit-animation:effFI 2.5s both; animation:effFI 2.5s both; }
  .effFIU.effanm { -webkit-animation:effFIU 1.5s both; animation:effFIU 1.5s both; }
  .effFID.effanm { -webkit-animation:effFID 1.5s both; animation:effFID 1.5s both; }
  .effFIR.effanm { -webkit-animation:effFIR 1.5s both; animation:effFIR 1.5s both; }
  .effFIL.effanm { -webkit-animation:effFIL 1.5s both; animation:effFIL 1.5s both; }

/*その場でフェードイン*/
  @-webkit-keyframes effFI {0%{opacity:0}100%{opacity:1}}
  @keyframes effFI {0%{opacity:0}100%{opacity:1}}

/*下から上へフェードイン*/
  @-webkit-keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*上から下へフェードイン*/
  @-webkit-keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
/*   ふわっと表示 end
=========================*/


/*ページ読み込み時のローディングアニメーション//
=========================*/
#cover {
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /*background: #bfe037;*/
    background: #92b326;
    transition: .8s .4s ease;
    transform-origin: right center;
}
.loaded #cover {
	opacity: 1;
	visibility: visible;
	transform: rotateY(90deg);
}
#main {
	opacity: 0;
	transition: .8s .4s ease;
}
.hideCover #main {
	opacity: 1;
}
/*//ページ読み込み時のローディングアニメーション
=========================*/




