@charset "utf-8";

.pageTop{
	/* scroll-margin-top: 0; */
	@media (width <= 767px) {/* SP */
		overflow: hidden;
	}
	.kv{
		position: relative;
		@media (width > 767px) {/* PC */
			height: 90rem;
		}
		@media (width <= 767px) {/* SP */
			padding-bottom: 2rem;
		}
		.waveWrap {
			width: 100%;
			height: 30rem; /* 300px相当 */
			overflow: hidden;
			position: absolute;
			left: 0;
			top: 27rem;
			svg {
				display: block;
				width: 100%;
				height: 100%;
			}
			svg, svg * { pointer-events: none; }
			@media (width <= 767px) {/* SP */
				top: 65rem;
			}
		}

		.kv__cnt{
			padding-top: 12rem;
			position: relative;
			margin: 0 auto;
			
			@media (width > 767px) {/* PC */
				width: 144rem;
				margin-bottom: 5.5rem;
			}
			@media (width <= 767px) {/* SP */
				padding-top: 6rem;
				margin-bottom: 7rem;
			}
		}
		.kv__imgBlock{
			overflow: hidden;
			background: #fff;
			position: relative;
			display: flex;
			@media (width > 767px) {/* PC */
				width: 108rem;
				margin-left: auto;
			}
			@media (width <= 767px) {/* SP */
				flex-direction: column-reverse;
				width: 32.7rem;
				margin-left: auto;
				&:after{
					background: linear-gradient(90deg, #737373 -202.29%, rgba(115, 115, 115, 0.00) 73.24%);
					content: '';
					position: absolute;
					left: 0;
					top: 0;
					height: 100%;
					width: 15.3rem;
					z-index: 1;
				}
			}

			.imgSlide {
				overflow: hidden;
				position: relative;
				width: 54rem;
				height: 66rem;
				@media (width <= 767px) {/* SP */
					width: 100%;
					&.-A{
						height: 28.2rem;
					}
					&.-B{
						height: 30.4rem;
					}
				}
			}
			
			.imgSlide img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: auto;
				opacity: 0;
				transition: opacity 1.5s ease-in-out;
				z-index: 0;
			}
			
			.imgSlide img.is-active {
				opacity: 1;
				z-index: 1;
			}

			.imgBlockTtl{
				-webkit-font-smoothing: antialiased;
				position: absolute;
				font-family: var(--ff-josefin);
				color: #fff;
				white-space: nowrap;
				line-height: 1;
				font-weight: 600;
				letter-spacing: .03em;
				font-size: 7.9rem;
				z-index: 2;

				@media (width > 767px) {/* PC */
					bottom: -1rem;
					left: 0;
					line-height: 1;
					width: 100%;
					text-align: center;
				}
				@media (width <= 767px) {/* SP */
					transform-origin: left bottom;
					transform: rotate(90deg);
					font-size: 4.2rem;
					left: 0;
					top: -4rem;
					letter-spacing: .04em;
				}
			}
		}
		.kv__txtBlock{
			
			@media (width > 767px) {/* PC */
				position: absolute;
				left: 4rem;
        bottom: 5.5rem;
				z-index: 3;
			}
			@media (width <= 767px) {/* SP */
				padding: 7.5rem 0 0 3.3rem;
			}
			.copy{
				font-family: var(--ff-yugo);
				font-weight: 700;
				letter-spacing: .18em;
				line-height: 2;
				font-size: 3.0rem;
				margin-bottom: 8rem;
				@media (width <= 767px) {/* SP */
					font-size: 2.6rem;
					margin-bottom: 2.5rem;
				}
			}
			.txt{
				letter-spacing: .14em;
				font-weight: 400;
				line-height: 2.4;
				font-size: 1.4rem;
			}
		}

		.kvScrl{
			display: flex;
			align-items: center;
			position: absolute;
			
			color: #D77850;
			font-family: var(--ff-josefin);
			transform: rotate(90deg);
			transform-origin: center bottom;
			letter-spacing: .03em;
			
			font-weight: 600;
			line-height: 100%; /* 14px */

			font-size: 1.4rem;
			gap: 1.8rem;
			
			top: 48rem;
      left: -15rem;

			&:after{
				display: block;
				content: '';
				background: #D77850;
				height: 1px;
				width: 6.5rem;
			}
			@media (width <= 767px) {/* SP */
				font-size: 1.2rem;
				top: 55.5rem;
				left: -6.2rem;
				gap: .5rem;
				letter-spacing: .0em;
			}
		}
		.c-logoMarqWrp{
			border: none;
		}
	}

	.introBlock{
		position: relative;
		overflow: hidden;
		background: url(../images/home/intro-bg.webp) center top;
		.introBlock__in{
			
			position: relative;
			margin: 0 auto;
			@media (width > 767px) {/* PC */
				box-sizing: border-box;
				width: 144rem;
				height: 157rem;
				padding-top: 20.0rem;
			}
		}
		.introBlock__head{
			position: relative;
			z-index: 2;
			margin-left: 8rem;
			@media (width <= 767px) {/* SP */
				margin-left: 4rem;
				padding-top: 8rem;
			}
			.txtE{
				color: #ED9672;
				font-family:var(--ff-josefin);
				font-size: 1.8rem;
				font-weight: 600;
				line-height: 100%; /* 18px */
				letter-spacing: 0.04em;
				margin-bottom: 3rem;
				@media (width <= 767px) {/* SP */
					font-size: 1.4rem;
					padding-left: 1rem;
					margin-bottom: 2rem;
				}
			}
			.txtJ{
				font-family: var(--ff-tsukumin);
				font-weight: 300;
				line-height: 180%; /* 68.4px */
				letter-spacing: 0.18em;
				font-size: 3.8rem;
				@media (width <= 767px) {/* SP */
					font-size: 2.6rem;
				}
			}
			.obj{
				position: absolute;
				top: -6rem;
				width: 9.9rem;
				left: -9.5rem;
				@media (width <= 767px) {/* SP */
					top: 2rem;
					width: 7.8rem;
					left: -4.5rem;
				}
			}
		}
		.introBlock__txtarea{
			position: relative;
			z-index: 2;
			display: flex;
			flex-direction: column;
			gap: 4rem;
			font-size: 1.6rem;
			font-weight: 400;
			line-height: 240%; /* 38.4px */
			letter-spacing: .14em;
			margin: 0 auto;
			@media (width > 767px) {/* PC */
				width: 33.4rem;
				margin-top: 12rem;
			}
			@media (width <= 767px) {/* SP */
				margin-left: 2rem;
				font-size: 1.5rem;
				gap: 2.4rem;
			}
		}
		.wave{
			position: absolute;
			top: 26rem;
			width: 100%;
		}
		.introBlock__imgBlock{
			pointer-events: none;
			position: relative;
			width: 100%;
			z-index: 1;
			@media (width > 767px) {/* PC */
				position: absolute;
				top: 0;
				right: 0;
				height: 100%;
			}
			img{
				position: absolute;
			}
			&.imgBlock1{
				@media (width <= 767px) {/* SP */
					height: 71.5rem;
				}
			}
			&.imgBlock2{
				@media (width <= 767px) {/* SP */
					height: 63rem;
				}
			}
			.img1{
				@media (width > 767px) {/* PC */
					width: 17.7rem;
					right: 28rem;
					top: 11.5rem;
				}
				@media (width <= 767px) {/* SP */
					width: 13.8rem;
					right: 0;
					top: 15rem;
					border-radius: .6rem 0 0 .6rem;
				}
			}
			.img2{
				z-index: 1;
				@media (width > 767px) {/* PC */
					width: 38.3rem;
					right: 0;
          top: 42rem;
				}
				@media (width <= 767px) {/* SP */
					width:19.6rem;
					left: 0;
					top: 5.5rem;
					
					border-radius: 0 .6rem .6rem 0;
				}
			}
			.map{
				@media (width > 767px) {/* PC */
					width: 89rem;
					right: -23rem;
					top: 69rem;
				}
				@media (width <= 767px) {/* SP */
					width: 47.6rem;
					max-width: none;
					top: 24rem;
					left: -4.5rem;
				}
			}
			.img3{
				@media (width > 767px) {/* PC */
					width: 20.9rem;
					top: 54.5rem;
					left: 5.5rem;
				}
				@media (width <= 767px) {/* SP */
					left: 3rem;
					top: 32rem;
					width: 16.7rem;
				}
			}
			.img4{
				@media (width > 767px) {/* PC */
					width: 41.6rem;
					top: 91rem;
					left: -1rem;
				}
				@media (width <= 767px) {/* SP */
					border-radius: .6rem 0 0 .6rem;
					top: 5.5rem;
          right: 0;
					width: 27.6rem;
				}
			}
			.img5{
				@media (width > 767px) {/* PC */
					width: 21.9rem;
					top: 135rem;
          left: 29.5rem;
				}
				@media (width <= 767px) {/* SP */
					z-index: 1;
					top: 46.5rem;
          right: 3rem;
					width: 17.5rem;
				}
			}
			.obj-kamome-1{
				@media (width > 767px) {/* PC */
					top: 121rem;
          left: 35rem;
					width: 12.3rem;
				}
				@media (width <= 767px) {/* SP */
					top: 66rem;
          right: 0;
					width: 8.1rem;
				}
			}
			.obj-kamome-2{
				@media (width > 767px) {/* PC */
					top: 80rem;
					right: 34rem;
					width: 12.3rem;
				}
				@media (width <= 767px) {/* SP */
					top: 12rem;
					left: 2rem;
					width: 8.1rem;
				}
			}
			.obj-mount{
				@media (width > 767px) {/* PC */
					top: 36rem;
					right: -4rem;
					width: 15rem;
				}
				@media (width <= 767px) {/* SP */
					top: 2rem;
					right: -2rem;
					width: 12rem;
				}
			}
			.obj-sun{
				@media (width > 767px) {/* PC */
					top: 152rem;
					left: 21rem;
					width: 10rem;
				}
				@media (width <= 767px) {/* SP */
					top: 44rem;
					right: -2rem;
					width: 7.8rem;
				}
			}
		}
		
		.introBlock__bottomImg{
			position: relative;
			.txtMarq{
				color: #fff;
				-webkit-font-smoothing: antialiased;
				font-family: var(--ff-josefin);
				position: absolute;
				top: 50%;
				left: 0%;
				transform: translateY(-50%);
				font-weight: 600;
				line-height: 100%; /* 95px */
				letter-spacing: 0.23em;
				font-size: 9.5rem;
				white-space: nowrap;
				display: flex;
				flex-wrap: nowrap;
				margin-top: 2.5rem;
				@media (width <= 767px) {/* SP */
					font-size: 5rem;
					margin-top: -2.5rem;
				}
				p{
					padding-right: .5em;
					animation: marquee-topTxt 30s linear infinite;
				}
			}
		}
	}
	/* .introBlock */
	
	.secWrpSm{
		background: url(../images/home/secwrp-bg.webp) top center;
		section{
			@media (width > 767px) {/* PC */
				display: flex;
			}
			@media (width <= 767px) {/* SP */
				background-position: top center;
				padding:8rem 0;
			}
			.secHead{
				background-position: top center;
				box-sizing: border-box;
				@media (width > 767px) {/* PC */
					width: 44rem;
					height: 90rem;
					padding: 12rem 0 0 8rem;
				}
				@media (width <= 767px) {/* SP */
					padding: 0 4.8rem 7rem;
				}
				.txtTag{
					letter-spacing: .08em;
					line-height: 1;
					font-size: 1.3rem;
					margin-bottom: 2.4rem;
					@media (width <= 767px) {/* SP */
						margin-bottom: 1rem;
					}
					span{
						display: inline-block;
						padding: .4rem;
						background: #000;
						color: #fff;
					}
					
				}
				.txtTtl{
					font-family: var(--ff-josefin);
					-webkit-font-smoothing: antialiased;
					font-weight: 600;
					line-height: 1.3;
					letter-spacing: .05em;
					font-size: 5rem;
					@media (width <= 767px) {/* SP */
						font-size: 4rem;
					}
				}
			}
			.secCnt{
				@media (width > 767px) {/* PC */
					width:calc(100% - 44rem);
					padding-top: 22rem;
				}
				@media (width <= 767px) {/* SP */
					margin: 0 1.6rem;
					background:#fff;
					padding-bottom: 12rem;
				}
				.secCnt__in{
					position: relative;
					margin: 0 auto;
					@media (width > 767px) {/* PC */
						display: flex;
						justify-content: space-between;
						width:100rem;
					}
				}
				.txtBlock{
					position: relative;
					@media (width > 767px) {/* PC */
						width: 39.7rem;
						padding-top: 9rem;
					}
					@media (width <= 767px) {/* SP */
						margin-left: 3.3rem;
						width: 26.3rem;
						padding: 5.5rem 0 0;
					}
					.copy{
						position: absolute;
						img{
							width: 100%;
						}
					}
					.ttl{
						font-family: var(--ff-tsukumin);
						letter-spacing: .15em;
						font-size: 3rem;
						font-weight: 300;
						line-height: 180%; /* 54px */
						@media (width <= 767px) {/* SP */
							font-size: 2.2rem;
						}
					}
					.txt{
						letter-spacing: .14em;
						font-weight: 400;
						font-size: 1.6rem;
						
						line-height: 2;
						margin-top: 3rem;
						@media (width <= 767px) {/* SP */
							font-size: 1.5rem;
							line-height: 2.4;
							margin-top: 2.5rem;
						}
					}
					.btn{
						display: flex;
						justify-content: flex-start;
						margin-top: 5.6rem;
						a{
							font-family: var(--ff-josefin);
							line-height: 1;
							display: flex;
							gap: 1.3rem;
							padding-bottom: .4rem;
							border-bottom: solid 1px #222;
							@media (width <= 767px) {/* SP */
								font-size: 1.6rem;
							}
							&::after{
								content: '';
								background: url(../images/common/arw-blk.svg) center center /100% auto no-repeat;
								width: .9rem;
								height: 1.1rem;
							}
						}
					}
				}
			}
		}
	}

	.storySec{
		@media (width <= 767px) {/* SP */
			background: url(../images/home/story-bg.webp);
		}
		.secHead{
			@media (width > 767px) {/* PC */
				background: url(../images/home/story-bg.webp);
			}
		}
		.secCnt{
			.imgBlock{
				@media (width > 767px) {/* PC */
					width: 34rem;
					margin-left: 11rem;
				}
				@media (width <= 767px) {/* SP */
					width:26.3rem;
					margin: 0 auto;
					img{
						position: relative;
						top: -4rem;
					}
				}
				img{
					width: 100%;
				}
				
			}
			.txtBlock{
				@media (width > 767px) {/* PC */
					margin-right: 5rem;
				}
				.copy{
					left: -5.5rem;
					top: 1.5rem;
					width: 15.5rem;
					@media (width <= 767px) {/* SP */
						top: -.7rem;
            left: -1rem;
						width: 12.2rem;
					}
				}
			}
		}
		.obj-1{
			position: absolute;
			left: 5rem;
			top: -7rem;
			width: 12.2rem;
			z-index: 1;
		}
		.obj-2{
			position: absolute;
			right: -2rem;
      top: 2rem;
			width: 15.2rem;
			@media (width <= 767px) {/* SP */
				width: 11.0rem;
				right: 0rem;
				top: -14rem;
			}
		}
		.obj-3{
			position: absolute;
			
			right: 11rem;
			top: -3rem;
			width: 5.2rem;
			@media (width <= 767px) {/* SP */
				right: 9rem;
        top: -18.5rem;
			}
		}
		.copyEn{
			position: absolute;
			right: -3rem;
			bottom: -18rem;
			width: 61rem;
			@media (width <= 767px) {/* SP */
				width: 30.5rem;
				bottom: -15rem;
				right: -1rem;
			}
		}
	}
	.mapSec{
		@media (width <= 767px) {/* SP */
			background: url(../images/home/map-bg.webp);
		}
		.secHead{
			@media (width > 767px) {/* PC */
				background: url(../images/home/map-bg.webp);
			}
		}
		.secCnt{
			.secCnt__in{
				@media (width > 767px) {/* PC */
					flex-direction: row-reverse;
				}
			}
			.imgBlock{
				@media (width > 767px) {/* PC */
					width: 52.5rem;
					margin-right: -2rem;
					margin-top: -1rem;
				}
				@media (width <= 767px) {/* SP */
					width:31.7rem;
					margin: 0 auto;
					img{
						position: relative;
						top: -4rem;
            left: -0.5rem;
					}
				}
				img{
					width: 100%;
				}
				
			}
			.txtBlock{
				@media (width > 767px) {/* PC */
					margin-left: 6rem;
				}
				.copy{
					left: -8.5rem;
					top: 0.5rem;
					width: 17rem;
					@media (width <= 767px) {/* SP */
						width: 13.6rem;
						top: -1rem;
						left: -1rem;
					}
				}
			}
		}

		.obj-1{
			position: absolute;
			top: -24rem;
			left: 9rem;
			width: 21.1rem;
			@media (width <= 767px) {/* SP */
				width: 12.2rem;
				left: auto;
				right: -2rem;
				top: -12rem;
			}
		}
		.obj-2{
			position: absolute;
			right: 57rem;
			top: 1rem;
			width: 5.2rem;
			@media (width <= 767px) {/* SP */
				right: 2rem;
				top: -21.5rem;
				width: 5.8rem;
			}
		}
		.copyEn{
			position: absolute;
			left: 3rem;
      bottom: -31rem;
			width: 61rem;
			@media (width <= 767px) {/* SP */
				left: auto;
				width: 30.5rem;
				bottom: -17rem;
        right: -1.0rem;
			}
		}
	}

	.newsSec{
		padding: 26rem 0;
		@media (width <= 767px) {/* SP */
			padding: 8rem 3.2rem 6rem;
		}
		.newsSec__cnt{
			position: relative;
			margin: 0 auto;
			@media (width > 767px) {/* PC */
				display: flex;
				box-sizing: border-box;
				width: 128rem;
				padding-left: 17.8rem;
			}
		}
		.obj-1{
			position: absolute;
			top: -5.8rem;
			left: 2rem;
			width: 12.3rem;
		}
		.obj-2{
			position: absolute;
			top: 38.5rem;
      left: 9.3rem;
			width: 8rem;
			@media (width <= 767px) {/* SP */
				top: 1.5rem;
				left: auto;
				width: 7.5rem;
				right: 2.5rem;
			}
		}

		.newsSec__ttl{
			color: #ED9672;
			font-family: var(--ff-josefin);
			font-weight: 600;
			line-height: 1.3;
			letter-spacing: .05em;
			font-size: 5rem;
			@media (width > 767px) {/* PC */
				position: absolute;
				left: 9.5rem;
				top: 0;
				transform: rotate(90deg);
				transform-origin: top left;
			}
			@media (width <= 767px) {/* SP */
				font-size:4rem;
				margin-bottom: 3.5rem;
			}
		}
		.newsTh{
			.newsTh__img{
				img{
					width: 100%;
				}
			}
			.newsTh__txtarea{
				font-size: 1.4rem;
			}
			.newsTh__date{
				letter-spacing: .03em;
				font-size: 1.3rem;
				line-height: 1;
				.date{
					font-family: var(--ff-josefin);
					font-size: 1.4rem;
					margin-right: .4rem;
				}
			}
			.newsTh__copy{
				letter-spacing: .14em;
				line-height: 2.4;
			}

		}
		.newsSec__topTh{
			@media (width > 767px) {/* PC */
				width: 38rem;
				.newsTh__txtarea{
					margin: 3.5rem .5rem 0 .5rem;
				}
				.newsTh__copy{
					margin-top: 1.5rem;
				}
			}
			@media (width <= 767px) {/* SP */
				margin-bottom: 6rem;
				.newsTh__img{
					height: 21.5rem;
					margin-bottom: 2.5rem;
					img{
						object-fit: cover;
						height: 100%;
					}
				}
				.newsTh__date{
					margin-bottom: 0.5rem;
				}
				.newsTh__copy{
					overflow: hidden;
					text-overflow: ellipsis;
					display: -webkit-box; 
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 2;
					line-height: 2;
				}
			}
		}
		.newsSec__list{
			display: flex;
			flex-direction: column;
			gap: 2.1rem;
			@media (width > 767px) {/* PC */
				width: 65.8rem;
				margin-left: 6.4rem;
				gap: 2.3rem;
			}
			li{
				padding-bottom: 2.1rem;
				border-bottom: solid 1px #CDCDCD;
				@media (width > 767px) {/* PC */
					padding-bottom: 2.3rem;
					padding-left: .8rem;
				}
			}
			.newsTh{
				display: flex;
				@media (width <= 767px) {/* SP */
					align-items: flex-start;
					justify-content: space-between;
				}
				.newsTh__img{
					@media (width > 767px) {/* PC */
						width: 13.8rem;
						margin-right: 2.7rem;
					}
					@media (width <= 767px) {/* SP */
						width: 11.8rem;
						height: 11.8rem;
						img{
							object-fit: cover;
							width: 100%;
							height: 100%;
						}
					}
				}
				.newsTh__txtarea{
					@media (width > 767px) {/* PC */
						width: 44.6rem;
						padding-top: .7rem;
					}
					@media (width <= 767px) {/* SP */
						width: 17rem;
					}
					.newsTh__copy{
						margin-top: 1rem;
						@media (width <= 767px) {/* SP */
							overflow: hidden;
							text-overflow: ellipsis;
							display: -webkit-box; 
							-webkit-box-orient: vertical;
							-webkit-line-clamp: 3;

							line-height: 2.2;
							font-size: 1.4rem;
						}
					}
				}
			}
		}
		
	}

	.planSec{
		position: relative;
		background: url(../images/home/plan-bg.webp);
		padding: 22.5rem 0 28rem;
		@media (width <= 767px) {/* SP */
			padding: 7.5rem 3.2rem 26rem;
		}
		.wave{
			position: absolute;
			left: 0;
			width: 100%;
			top: 51rem;
		}
		.planSec__cnt{
			position: relative;
			display: flex;
			margin: 0 auto;
			@media (width > 767px) {/* PC */
				justify-content: space-between;
				box-sizing: border-box;
				
				padding-right: 10rem;
				width: 128rem;
			}
		}
		.planSec__img{
			@media (width > 767px) {/* PC */
				width: 58.3rem;
				margin-left: 5.8rem;
			}
			@media (width <= 767px) {/* SP */
				width: 31.1rem;
				margin: 3rem 0;
			}
			img{
				width: 100%;
			}
		}
		.planSec__txtarea{
			.txtTag{
				letter-spacing: .08em;
				line-height: 1;
				font-size: 1.3rem;
				margin-bottom: 2.4rem;
				@media (width <= 767px) {/* SP */
					margin-bottom: 1rem;
				}
				span{
					display: inline-block;
					padding: .4rem;
					background: #000;
					color: #fff;
				}
			}
			.txtTtl{
				font-family: var(--ff-josefin);
				-webkit-font-smoothing: antialiased;
				font-weight: 600;
				line-height: 1.3;
				letter-spacing: .05em;
				font-size: 5rem;
				@media (width <= 767px) {/* SP */
					font-size: 4rem;
				}
			}

			.txtCopy{
				font-family: var(--ff-tsukumin);
				letter-spacing: .15em;
				font-size: 3rem;
				font-weight: 300;
				line-height: 1.8;

				margin-top: 4rem;
				@media (width <= 767px) {/* SP */
					font-size: 2.2rem;
				}
			}
			.txt{
				font-size: 1.6rem;
				letter-spacing: .15em;
				line-height: 2;
				

				margin-top: 3.5rem;
				@media (width > 767px) {/* PC */
					width: 40rem;
				}
				@media (width <= 767px) {/* SP */
					font-size: 1.5rem;
					line-height: 2.4;
					margin-top: 2.7rem;
				}
			}
			.btn{
				font-family: var(--ff-josefin);
				line-height: 1;
				font-size: 1.6rem;
				display: flex;
				

				margin-top: 6.3rem;
				padding-right: 3rem;
				@media (width > 767px) {/* PC */
					justify-content: flex-end;
				}
				@media (width <= 767px) {/* SP */
					margin-top: 5.3rem;
				}
				a{
					display: flex;
					gap: 1.3rem;
					padding-bottom: .4rem;
					border-bottom: solid 1px #222;
					&::after{
						content: '';
						background: url(../images/common/arw-blk.svg) center center /100% auto no-repeat;
						width: .9rem;
						height: 1.1rem;
					}
				}
			}
		}
		.copy{
			position: absolute;
			top: 4rem;
			right: 14.5rem;
			width: 15.4rem;
			@media (width <= 767px) {/* SP */
				top: -6rem;
				right: -1.5rem;
			}
			img{
				width: 100%;
			}
		}
		.copyEn{
			position: absolute;
			width: 52rem;
			left: -3rem;
			top: 48rem;
			@media (width <= 767px) {/* SP */
				top: auto;
				left: auto;
				bottom: -14rem;
				right: -3rem;
				width: 30.8rem;
			}
			img{
				width: 100%;
			}
		}
		.obj-1{
			position: absolute;
			width: 16.5rem;
			top: -9rem;
			left: 50%;
			margin-left: 20rem;
		}
		.obj-2{
			position: absolute;
			width: 15.2rem;
			right: 4rem;
      top: 9rem;
			@media (width <= 767px) {/* SP */
				width: 10.6rem;
				right: 6rem;
				top: 1.5rem;
			}
		}
		.obj-3{
			position: absolute;
			width: 8.3rem;
			top: 42rem;
			right: 28.5rem;
			@media (width <= 767px) {/* SP */
				top: auto;
				right: auto;
				bottom: -17.5rem;
				left: -1rem;
			}
		}
	}

	.hotelSec{
		display: block;
		position: relative;
		.wave{
			position: absolute;
			left: 0;
			width: 100%;
			top: 22rem;
			@media (width <= 767px) {/* SP */
				top: 3rem;
			}
		}
		.obj-kamome{
			position: absolute;
			left: 50%;
			width: 18rem;
			top: -11.5rem;
			@media (width > 767px) {/* PC */
				margin-left: 21rem;
			}
			@media (width <= 767px) {/* SP */
				width: 12.3rem;
				top: -6.5rem;
				right: 4rem;
			}
		}
		.hotelSec__topWave{
			position: absolute;
			top: 0;
			transform: translateY(-100%);
			width: 100%;
			img{
				width: 100%;
			}
		}
		.hotelSec__head{
			text-align: center;
			padding: 11.5rem 0 8rem;
			@media (width <= 767px) {/* SP */
				position: relative;
				padding: 5rem 0 4.5rem;
			}
			.txt1{
				font-family: var(--ff-josefin);
				color:  #ED9672;
				letter-spacing: .05em;
				font-weight: 600;
				line-height: 1;
				font-size: 5rem;
				@media (width <= 767px) {/* SP */
					font-size: 4rem;
					line-height: 1.3;
				}
			}
			.txt2{
				font-family:var(--ff-tsukumin);
				font-weight: 300;
				line-height: 180%; /* 54px */
				letter-spacing: 0.14em;
				font-size: 3rem;
				
        margin-top: 4.5rem;
				@media (width <= 767px) {/* SP */
					margin-top: 3.2rem;
					font-size: 2.2rem;
				}
			}
			.txt3{
				
				font-weight: 400;
				line-height: 200%; /* 32px */
				letter-spacing: .14em;
				font-size: 1.6rem;

				margin-top: 2rem;
				@media (width <= 767px) {/* SP */
					font-size: 1.5rem;
					margin: 1.5rem auto 0;
					width: 31.1rem;
					line-height: 2.4;
				}
			}
		}
		.hotelSec__cnt{
			position: relative;
			background: url(../images/home/hotel-bg.webp) center top;
		}
		.hotelSec__cntIn{
			z-index: 1;
			position: relative;
			margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
			
			@media (width > 767px) {/* PC */
				justify-content: space-between;
				gap: 4.8rem 0;
				width: 128rem;
			}
			@media (width <= 767px) {/* SP */
				flex-direction: column;
				width: 34.3rem;
				gap: 2.1rem;
				padding-bottom: 15rem;
			}
			.obj-1{
				position: absolute;
				top: -7.3rem;
				left: -5.8rem;
				width: 16.8rem;
				@media (width <= 767px) {/* SP */
					width: 7.8rem;
					top: -5rem;
          left: -2.8rem;
				}
			}
			.obj-2{
				position: absolute;
				right: -11rem;
				top: 53rem;
				width: 15.2rem;
			}
			.copyEn{
				position: absolute;
				right: -9.4rem;
        bottom: -5rem;

				width: 66.5rem;
				@media (width <= 767px) {/* SP */
					width: 30.7rem;
					right: -1rem;
					bottom: 1rem;
				}
				img{
					width: 100%;
				}
			}
		}
		.hotelItem{
			position: relative;
			@media (width > 767px) {/* PC */
				width: 62rem;
			}
			.hotelItem__num{
				font-family: var(--ff-parlare);
				color: #ED9672;
				position: absolute;
				transform: rotate(-11deg);
				
				font-weight: 400;
				font-size: 4rem;
				z-index: 1;

				top: -3.4rem;
        right: 1rem;
				@media (width <= 767px) {/* SP */
					font-size: 2rem;
					top: -1.5rem;
					right: 1.5rem;
				}
			}
			.hotelItem__in{
				background: #fff;
				display: flex;

			}
			.hotelItem__img{
				width: 31rem;
				height: 28rem;
				@media (width <= 767px) {/* SP */
					width: 17.2rem;
					height: 17.2rem;
					overflow: hidden;
					img{
						object-fit: cover;
						width: 100%;
						height: 100%;
					}
				}
				img{
					width: 100%;
				}
			}
			.hotelItem__txtarea{
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				@media (width > 767px) {/* PC */
					width: 31rem;
				}
				@media (width <= 767px) {/* SP */
					width: 50%;
				}
			}
			.hotelItem__ico{
				img{
					width: 4rem;
					@media (width <= 767px) {/* SP */
						width:2.8rem;
					}
				}
			}
			.hotelItem__ttl{
				font-family: var(--ff-josefin);
				line-height: 1;
				font-weight: 600;
				letter-spacing: .03em;
				font-size: 1.6rem;

				margin-top: 1rem;
				@media (width <= 767px) {/* SP */
					font-size: 1.3rem;
				}
			}
			.hotelItem__txt{
				font-family: var(--ff-tsukumin);
				text-align: center;
				letter-spacing: .14em;
				line-height: 1.7;
				font-size: 1.8rem;

				margin-top: 2.5rem;
				@media (width <= 767px) {/* SP */
					font-size: 1.3rem;
					margin-top: 1.8rem;
				}
			}
		}
		.c-pageBv{
			margin-top: -37rem;
			@media (width <= 767px) {/* SP */
				margin-top: -22rem;
			}
		}
	}
	@media (width > 767px) {/* PC */
	}
	@media (width <= 767px) {/* SP */
	}

}

@keyframes marquee-topTxt {
	from {
		transform: translateX(0%);
	}
	to {
		transform: translateX(-100%);
	}
}