@charset "utf-8";

.SP{display:none !important;}
@media only screen and (max-width:768px){
	.PC{display:none !important;}
	.SP{display:block !important;}
}

/******************************************************************
base
******************************************************************/
@media screen and (max-width: 768px) {
	body { font-size: 0.8rem; line-height: 2; }
	body main { font-size: 0.85rem; line-height: 1.5; }
	/*Android*/
	html.android body main{ font-size: 0.7rem; line-height: 1.2; }
 }

a { color: #3865e0; text-decoration: none; }
h1, h2 { line-height: 2.1; }
h3 { line-height: 2.3; }
h4 { line-height: 2.4; }
img { max-width: 100%; height: auto; vertical-align: middle; -webkit-backface-visibility: hidden; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #B5C1CC; }
button, input, optgroup, select, textarea { color: #784e22; line-height: inherit; }

body{background:#f9f7f3;}


body {animation: fadein 2s forwards; overflow-x: hidden;}

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}


/******************************************************/
/* ローディング */
/******************************************************/

.loading {
  /*ローディング画面の縦横幅を画面いっぱいになるように指定*/
  width: 100vw;
  height: 100vh;
  /*ローディング画面の表示位置を固定*/
  position: fixed;
  top: 0;
  left: 0;
  background: #f9f7f3;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  /*ローディング画面を0.5秒かけて非表示にする*/
  transition: all 0.5s linear;
  z-index: 500;
}

/*ローディング画面を非表示にする*/
.loading.loaded {
  /*0.5秒かけてopacityを0にする*/
  opacity: 0;
  visibility: hidden;
}

.loading-text {
  color: #784e22;
  font-size: 100%;
  font-weight: 700;
  text-align: center;
  margin-top: 5px;
}

.spinner {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 3px solid #e0cfbc;
  border-left-color: #b53813; 
  /* アニメーションを1秒かけて実行 */
  animation: spinner-rotation 1s linear infinite;
}

/* アニメーションの設定 */
@keyframes spinner-rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}


/******************************************************/
/* header */
/******************************************************/
header{
	width: 100%!important;
	background: #fff;
	padding: 15px 15px 20px 20px;
	z-index: 10;
	box-sizing: border-box;
	min-height: 72px;
}

.prince_logo img{
	max-width: 130px;
}

.lang {
    position: fixed;
    z-index: 1000 !important;
    right: 80px;
    top: 16px;
}

.lang select{
    padding: 3px;
}

  
  /*SP*/
  @media screen and (max-width: 768px) {
	header{
		padding: 10px 15px 13px 12px;
		min-height: 52px;
	}

	.prince_logo img{
		max-width: 100px;
	}

	.lang {
		right: 70px;
		top: 12px;
	}

  }


/******************************************************/
/* slick */
/******************************************************/

section.main{
	position: relative;
	width: 100%;
	background-size: 100%;
	text-align: center;
	box-sizing: border-box;
  }
  
  section.main h1:not(.lower){
	position: absolute;
	z-index: 2;
	top: 47%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	filter: drop-shadow(1px 1px 4px rgba(000, 000, 000, 0.7)); 
  }

  
  section.main h1:not(.lower) img{
	width: 43vw;
	max-width: 650px;
  }

section.main h1.lower{
	position: absolute;
	z-index: 2;
	bottom: 30px;
	left: 30px;
	filter: drop-shadow(1px 1px 4px rgba(000, 000, 000, 0.7)); 
  }
  section.main h1.lower img{
	width: 26vw;
	min-width: 300px;
	max-width: 429px;
  }

section.main p.lower{
	position: absolute;
	z-index: 2;
	top: 50px;
	right: 50px;
	filter: drop-shadow(1px 1px 4px rgba(000, 000, 000, 0.7)); 
  }
  section.main p.lower img{
	width: 22vw;
	max-width: 355px;
  }




  .full div {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: calc(100dvh - 72px);
	margin: 0;
	pointer-events: none;
  }
	@media screen and (max-width: 768px) {
		.full div {
			height: calc(100dvh - 52px);
		}
	}

  .full.PC div.img01 {
	background-image: url(../img/bg_pc01.webp);
  }
  .full.PC div.img02 {
	background-image: url(../img/bg_pc02.webp);
  }
  .full.PC div.img03 {
	background-image: url(../img/bg_pc03.webp);
  }
  .full.PC div.img04 {
	background-image: url(../img/bg_pc04.webp);
  }
  .full.PC div.img05 {
	background-image: url(../img/bg_pc05.webp);
  }



  .full.SP div.img01 {
	background-image: url(../img/bg_sp01.webp);
  }
  .full.SP div.img02 {
	background-image: url(../img/bg_sp02.webp);
  }
  .full.SP div.img03 {
	background-image: url(../img/bg_sp03.webp);
  }
  .full.SP div.img04 {
	background-image: url(../img/bg_sp04.webp);
  }
  .full.SP div.img05 {
	background-image: url(../img/bg_sp05.webp);
  }




  @keyframes zoomUp {
	0% {
	  transform: scale(1);
	}
	100% {
	  transform: scale(1.15); 
	}
  }

  .add-animation {
	animation: zoomUp 10s linear 0s normal both;
  }



  
  /*SP*/
  @media screen and (max-width: 768px) {
	section.main h1:not(.lower){
	  width: 100%;
	}

	section.main h1:not(.lower) img{
		width: 80vw;
	}

	section.main h1.lower{
		bottom: 4vw;
		left: 4vw;
		}
		section.main h1.lower img{
			width: 70vw;
			min-width: auto;
		}

	section.main p.lower{
		top: 4vw;
		right: 4vw;
		}
		section.main p.lower img{
		width: 40vw;
		}

  }

/******************************************************/
/* content */
/******************************************************/
.content_wrapper{
	height: 100%;
	position: relative;
	z-index: 0!important;
}

.content{
	position: relative;
}

.content.co01{
	background: url(../img/bg_read.png) no-repeat left top;
	background-size: 100%;
}


.content.co02{
	background: url(../img/bg_cont.jpg) no-repeat left top;
	background-size: 100%;
	padding-bottom: 7vw;
}

.content.co03{
	background: url(../img/bg_cont02.png) no-repeat left top;
	background-size: 100%;
	padding: 7vw 0 7vw 0;
}



#contnt_inner{
	max-width: 1380px;
	padding: 0 70px 0 70px;
	margin: auto;
	box-sizing: border-box;
}

.read_set{
	padding: 7vw 0 8vw 0;
}


h2.h2_read{
	text-align: center;
	background: linear-gradient(5deg, #8e2b08 30%, #ad3512 50%, #bc3b14 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: min(3vw, 240%);
	font-weight: 400;
	transform: skewX(-10deg)!important;
	letter-spacing:0.15em;
}

.read{
	text-align: center;
	font-size: min(1.5vw, 120%);
	transform: skewX(-10deg)!important;
	letter-spacing:0.15em;
	margin-top: 30px;
	line-height: 250%;
}

.side_img01,.side_img02,.side_img03{
	position: absolute;
	z-index: 0;
	width: 5vw;
	max-width: 94px;
}


.side_img01{left: 0;top:40%;}
.side_img02{right: 0;top:57%;}
.side_img03{left: 0;top:71%;}


  /*SP*/
  @media screen and (max-width: 768px) {
	.read_set{
		padding: 30px 30px 35px 30px;
	}

	h2.h2_read{
		font-size:120%;
		letter-spacing:0.10em;
		line-height: 180%;
	}
	.read{
		font-size:90%;
		margin-top: 10px;
		line-height: 200%;
	}


	#contnt_inner{
		max-width: 100%;
		padding: 0 30px 0 30px;
	}

	.side_img01,.side_img02,.side_img03{display: none;}

  }



/******************************************************/
/* spot_set */
/******************************************************/

.h3_set{
	padding: 8vw 0 6vw 0;
}


h3.h3_read{
	text-align: center;
	background: linear-gradient(5deg, #8e2b08 30%, #ad3512 50%, #bc3b14 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 400;
	font-size: min(4vw, 300%);
	transform: skewX(-10deg)!important;
	line-height: 300%;
}


h3.h3_read span{
	font-size: 180%;
	font-weight: 400;
}

p.h3_txt{
	text-align: center;
	font-size: min(2vw, 150%);
}



.spot_set{
	margin-bottom: 6vw;
	display: flex;
	justify-content: space-between;
}

.spot_set:last-child{
	margin-bottom: 0;
}

/* spot_right */
.spot_right{
	margin:3vw 0 0 -50px;
	z-index: 5;
	padding: 0 20px 20px 0;
	width: 500px;
}


.spot_set.img_right .spot_right{
	margin:3vw -70px 0 0;
	z-index: 5;
	padding: 0 20px 20px 20px;
}


.spot_set.img_right .spot_right h4{
	margin:0 80px 3vw 0;
}

.spot_set.img_right .spot_right ul{
	margin:0 3vw 4vw 0;
}

.spot_right h4{
	font-size: 140%;
	margin:0 0 3vw 110px;
	transform: skewX(-10deg)!important;
	background: linear-gradient(5deg, #8e2b08 30%, #ad3512 50%, #bc3b14 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 260%;
	letter-spacing:0.15em;
	font-weight: 600;
}

.spot_right h4 span{
	display: block;
	font-size: 160%;
}


.spot_right ul{
	margin:0 0 4vw 110px;
	line-height: 250%;
}

.spot_right ul li:first-child{
	font-size: 180%;
}

.spot_right ul li:first-child span{
	font-size: 80%;
}


a.spot_panel{
	display: flex;
	background: #fff;
	transition: .3s;
	color:#591500;
	position: relative;
	padding: 40px;
	width: 100%;
	box-sizing: border-box;
}

a.spot_panel .panel_right{
	margin-left: 40px;
	text-align: center;
	width: 50%;
}

a.spot_panel .panel_right dl{
	margin-bottom: 15px;
	line-height: 140%;
}


a.spot_panel .panel_right dl.ico01 dt span{
	background: url(../img/icon01.png) no-repeat left -6px;
	padding-left: 30px;
}

a.spot_panel .panel_right dl.ico01 dd span{
	display: block;
	font-size: 80%;
}

a.spot_panel .panel_right dl.ico01 dd span:last-child{
	margin-top: 5px;
}


a.spot_panel .panel_right dl.ico02 dt span{
	background: url(../img/icon02.png) no-repeat left -5px;
	padding-left: 30px;
}

a.spot_panel .panel_right dl dt{
	border-bottom: 1px solid #b8b3a0;
	font-weight: 500;
	font-size: 110%;
	margin-bottom: 7px;
	padding-bottom: 7px;
}



a.spot_panel:hover{
	box-shadow: 0 5px 20px -5px rgba(0,0,0,.15);
	transform: translateY(-7px);
}


.readmore{
	color: #fff;
	background: #970c00;
	position: absolute;
	right: 0;
	bottom: 0;
	line-height: 100%;
	padding: 8px 18px 6px 22px;
	letter-spacing: 0;
}


.readmore span{
	display: inline-block;
	transform: skewX(-10deg)!important;
}



  /*SP*/
  @media screen and (max-width: 768px) {

	.h3_set{
		padding: 30px 0 15px 0;
	}

	h3.h3_read{
		font-size:140%;
		line-height: 300%;
	}

	p.h3_txt{
		font-size:100%;
		letter-spacing: 0.10;
		line-height: 160%;
	}
	
	.spot_set{
		margin-bottom: 30px;
		display: flex;
		flex-wrap: wrap;
		background: #fff;
	}


	.spot_set.img_right .n1{order: 0!important;}
	.spot_set.img_right .n2{order: 1!important;}

	
	/* spot_right */
	.spot_right{
		margin:0 0 0 0;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}


	.spot_set.img_right .spot_right{
		margin:0 0 0 0;
		padding:0;
	}


	.spot_set.img_right .spot_right h4{
		margin:0 0 15px 0;
	}

	.spot_set.img_right .spot_right ul{
		margin:0 0 0 0;
	}

	.spot_right h4{
		font-size: 100%;
		margin:0 0 15px 0;
		line-height: 200%;
		letter-spacing:0.10em;
		padding: 15px 20px 0 20px;
	}
	
	.spot_right h4 span{
		font-size: 140%;
	}


	.spot_right ul{
		margin:0 0 0 0;
		line-height: 200%;
		padding: 0 0 0 20px;
	}

	.spot_right ul li:first-child{
		font-size: 120%;
	}

	a.spot_panel{
		text-align: center;
		display: block;
		background:none;
		padding: 0;
		width: 100%;
	}

		a.spot_panel img{
		width: 50%;
		margin-top: -10px;
	}


	a.spot_panel .panel_right{
		justify-content: space-between;
		margin: 30px 0 0 0;
		width: 100%;
	}

	a.spot_panel .panel_right dl{
		margin-bottom: 20px;
		padding: 0 20px;
	}

	a.spot_panel .panel_right dl.ico01 dd span:last-child{
		margin-top: 0;
	}


	a.spot_panel:hover{
		box-shadow: none;
		transform: none;
	}

	.readmore{
		font-size: 120%;
		position: relative;
		width: 100%;
		padding: 14px 18px 14px 22px;
		box-sizing: border-box;
	}

  }



/******************************************************/
/* banner_area */
/******************************************************/


.h2_co03{
	text-align: center;
	transform: skewX(-10deg)!important;
	font-size: min(2.5vw, 200%);
	line-height: 150%;
}

.h2_co03 span{
	display: block;
	font-size: 70%;
}

.h2_co03_txt{
	text-align: center;
}

.banner_area{
	margin:4vw auto 4vw auto;
	text-align: center;
	display: flex;
	justify-content: space-between;
	max-width: 1130px;
}

.banner_area02{
	margin:4vw auto 1.5vw auto;
	text-align: center;
	justify-content: space-between;
}


.banner_area dl{
	margin: 0 15px 0 15px;
	font-size: 120%;
}


.banner_area dl dt{
	margin-bottom: 5px;
}



  /*SP*/
  @media screen and (max-width: 768px) {
	.banner_area{
		margin:20px auto 20px auto;
		display: block;
		max-width: 100%;
	}

	.banner_area02{
		margin:20px auto 0 auto;
	}

	.h2_co03{
		font-size:120%;
		margin: 10px 0 30px 0;
	}

	.h2_co03 span{
		font-size: 80%;
	}

	.banner_area dl{
		margin: 0 0 20px 0;
		font-size: 100%;
	}

	.banner_area dl dt{
		margin-bottom: 5px;
	}

		
	.h2_co03_txt{
		line-height: 160%;
		font-size: 80%;
		margin: 5px 0 0 0;
	}


}

/******************************************************/
/* footer */
/******************************************************/

footer{
	position: relative;
	padding: 2.5vw 0 2.5vw 0;
	background: #fff;
	text-align: center;
	letter-spacing:0;
}

.foot_fall{
	position: absolute;
	right: 10px;
	bottom:10px;
}

	/*SP*/
	@media screen and (max-width: 768px) {

		footer{
			padding:30px;
			font-size: 80%;
			line-height: 180%;
		}

		.foot_fall{
			width: 120px;
			right: 5px;
			top:-15px;
		}


		footer small{
			display: block;
			padding-top: 10px!important;
		}


	}


/******************************************************/
/* 落ち葉 */
/******************************************************/
#particles-js {
	position: absolute;
	z-index: 10;
	height: 100%;
	width: 100%;
	pointer-events: none!important;
}

/*SP*/
@media screen and (max-width: 768px) {


}

