@charset "utf-8";

:root {
	--green-color: rgba(87, 140, 52, 1);
	--green-sub-color: #39661B;
	--green-sub02-color: #D3DACE;
	--blue-color: rgba(51, 132, 183, 1);
	--orange-color: rgba(243, 146, 32, 1);
	--red--color: #BE3017;
	--border-color: #D3D3D3;
	--border02-color: #BDBDBD;
	--bg-color: #F3F1EF;
	--bg02-color: #E9E5E1;
}
.green {
	color: var(--green-color);
}
.blue {
	color: var(--blue-color);
}
.orange {
	color: var(--orange-color);
}

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }

/* 英字用フォント */
.f_mont { font-family: "Montserrat", sans-serif; }
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*===========
inview
===========*/

.inview {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
}
.inview.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* ズレ表示用sample */
.works_list .parts:nth-child(2) {
  transition-delay: .2s;
}
.works_list .parts:nth-child(3) {
  transition-delay: .4s;
}

/*bound text animetions*/
.js_ttl {
	opacity: 0;
  }
  
  /* h1全体が出現 */
  .js_ttl.show {
	opacity: 1;
	transition: opacity 0.2s;
  }
  
  /* 各文字の初期状態 */
  .js_ttl span.char {
	display: inline-block;
	opacity: 0;
	transform: translateY(40px);
  }
  
  /* バウンドアニメ */
  .js_ttl.show span.char {
	animation: bounceIn 0.7s ease-out forwards;
  }
  
  @keyframes bounceIn {
	0% {
	  opacity: 0;
	  transform: translateY(40px);
	}
	60% {
	  opacity: 1;
	  transform: translateY(-20px);
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  /* 初期状態：非表示 */
  .js_ttl02 {
	opacity: 0;
  }
  
  .js_ttl02.show {
	opacity: 1;
	transition: opacity 0.2s;
  }
  
  /* 行の初期状態 */
  .js_ttl02 .line {
	display: inline-block;
	opacity: 0;
	transform: translateY(40px);
  }
  
  /* 行ごとのバウンド */
  .js_ttl02.show .line {
	animation: lineBounce 0.7s ease-out forwards;
  }
  
  @keyframes lineBounce {
	0% {
	  opacity: 0;
	  transform: translateY(40px);
	}
	60% {
	  opacity: 1;
	  transform: translateY(-20px);
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	}
  }
  
  /* 1行目・2行目の表示タイミング */
  .js_ttl02.show .line:nth-of-type(1) {
	animation-delay: 0s;
  }
  
  .js_ttl02.show .line:nth-of-type(2) {
	animation-delay: 0.3s;
  }

/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.h_menu, #sp_global_nav { display: none; }

	.inner_980 {
		margin: 0 auto;
		width: 980px;
		max-width: 98%;
	}
	.inner_1200 {
		margin: 0 auto;
		width: 1200px;
		max-width: 95%;
	}

	.ttl_jp {
		font-size: 4.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
	}
	.ttl_jp span {
		font-weight: 700;
	}
	.txt {
		font-size: 2rem;
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	/*btn01*/
	.btn01 a {
		display: block;
		position: relative;
		padding: 2.3rem 0;
		width: 100%;
		color: #fff;
		font-size: 2.4rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
		border-radius: 180px;
		background-color: var(--green-color);
		border: 2px solid var(--green-color);
	}
	.btn01 a::before,
	.btn01 a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.btn01 a::after {
		right: 3.4rem;
		width: 1.3rem;
		height: 1.5rem;
		background: url(../../images/src/common/triangle_white.svg) no-repeat right center / 100%;
	}
	.btn01 a::before {
		left: 1.4rem;
	}

	/* TOP page
	---------------------- */
	.top_mv {
		padding-left: max(5.15625%, 4rem);
		padding-right: 5.05208333%;
	}
	.top_mv > .flex {
		align-items: center;
	}
	.top_mv .left_col {
		/*width: 38.93%;*/
		width: 66rem;
	}
	.top_mv .right_img {
		width: 56.26%;
		/*width: 97rem;*/
	}
	.top_mv .right_img img {
		width: 100%;
		border-radius: 2rem;
	}
	.top_mv .js_ttl02 {
		font-size: 8rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		line-height: 1.2;
		text-align: center;
	}
	.top_mv .js_ttl02 span {
		font-weight: 500;
	}
	.top_mv .js_ttl02 span .green {
		font-weight: 700;
	}
	.top_mv .green {
		font-size: 10rem;
		font-weight: 700;
	}
	.top_mv .fs98 {
		font-size: 9.8rem;
		font-weight: 500;
		letter-spacing: 0;
	}
	.top_mv h1.mv_txt,
	.top_mv .mv_txt {
		margin: 1.8rem auto 5.5rem;
		font-size: 2.2rem;
		font-weight: 500;
		line-height: 1.93;
		letter-spacing: 0.04em;
		text-align: center;
	}
	.top_mv ul {
		gap: 0 2.4rem;
	}
	.top_mv ul li {
		flex: 1;
	}
	.top_mv ul li a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 2rem;
		width: 100%;
		aspect-ratio: 1 / 1;   /* ← これが超重要 */
		height: auto;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.04em;
		text-align: center;
		border-radius: 50%;
		border: 2.217px solid var(--green-color);
		background-color: #fff;
	}
	.top_mv ul li a::before,
	.top_mv ul li a::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		transition: .7s;
	}
	.top_mv ul li a::before {
		top: -2.5rem;
		width: 7.6rem;
		height: 7.6rem;
		background: url(../../images/src/top/mv_ico01.svg) no-repeat center top / 100%;
	}
	.top_mv ul li:nth-of-type(2) a::before {
		background-image: url(../../images/src/top/mv_ico02.svg);
	}
	.top_mv ul li:nth-of-type(3) a::before {
		background-image: url(../../images/src/top/mv_ico03.svg);
	}
	.top_mv ul li a::after {
		bottom: 2.6rem;
		width: 3.8rem;
		height: 3.8rem;
		background: url(../../images/src/common/arrow_green_tri.svg) no-repeat center bottom / 100%;
	}

	.top_sec01 {
		position: relative;
		margin-bottom: 13.4rem;
	}
	.wave01 {
		position: absolute;
		top: -23rem;
		z-index: -1;
		width: 100%;
		left: 0;
		right: 0;
		margin: auto;
	}
	.wave01 img {
		width: 100%;
	}
	.top_sec01 .sec01_wrap {
		padding-top: 10rem;
		margin: 0 auto;
		width: 90%;
		max-width: 1726px;
	}
	.top_sec01 .sec01_wrap .ttl_jp {
		margin-top: 0.5rem;
		color: #fff;
	}
	.top_sec01 .sec01_wrap .txt {
		margin: 1.8rem auto 4rem;
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
	}
	.top_sec01 .sec01_wrap .feature_list {
		gap: 0 6.5rem;
	}
	.top_sec01 .sec01_wrap .feature_list .parts {
		flex: 1;
		border-radius: 10px;
		background-color: #fff;
		overflow: hidden;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .textarea {
		padding: 2.5rem 4rem 4.9rem;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .textarea .ttl {
		font-size: 3.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .textarea .ttl i {
		margin-right: 2.5rem;
	}
	.top_sec01 .sec01_wrap .feature_list .parts:first-of-type .textarea .ttl i {
		margin-right: 1.5rem;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .textarea .txt {
		margin: 1.1rem auto 0;
		color: #000;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.63;
	}
	.top_sec02 {
		margin: 0 auto 8.2rem;
		max-width: 90%;
		max-width: 1454px;
		gap: 0 9.5rem;
		justify-content: left;
	}
	.top_sec02 .flex {
		align-items: center;
		justify-content: center;
		gap: 0 8.5rem;
	}
	.top_sec02 .ttl_img {
		margin: -0.5rem 0 1rem 0.6rem;
		text-align: center;
	}
	.top_sec02 .ttl_jp {
		margin-bottom: 4rem;
	}
	.top_sec02 .left_col {
		margin-left: 1rem;
		width: 73.8rem;
	}
	.top_sec02 .left_col img {
		border-radius: 14px;
	}
	.top_sec02 .right_col {
		width: 62rem;
	}
	.top_sec02 .right_col .ttl {
		margin-bottom: 3rem;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
		letter-spacing: 0.04em;
	}
	.top_sec02 .right_col .quate_txt {
		margin-bottom: 1.5rem;
		font-size: 3.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec02 .right_col .quate_txt span {
		position: relative;
		padding-right: 2rem;
		display: inline-block;
		font-weight: 700;
	}
	.top_sec02 .right_col .quate_txt span::before,
	.top_sec02 .right_col .quate_txt span::after {
		content: '';
		position: absolute;
		width: 2.6rem;
		height: 1.9rem;
	}
	.top_sec02 .right_col .quate_txt span::before {
		top: 0;
		left: -2.5rem;
		background: url(../../images/src/common/quote01.svg) no-repeat left top / 100%;
	}
	.top_sec02 .right_col .quate_txt span::after {
		bottom: 0;
		right: -0.8rem;
		background: url(../../images/src/common/quote02.svg) no-repeat left top / 100%;
	}
	.top_sec02 .right_col .txt {
		width: 58.8rem;
		font-size: 2.2rem;
		line-height: 1.72;
	}
	
	.top_sec02 .right_col .btn01 {
		margin-top: 5rem;
		width: 39.6rem;
	}
	.top_sec02 .right_col .btn01 a {
		padding-left: 2rem;
	}
	.top_sec02 .right_col .btn01 a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/top/mv_ico01_hv.svg) no-repeat left top / 100%;
	}
	.swiper01 {
		overflow: hidden;
	}
	.swiper01 .swiper-wrapper {
		transition-timing-function: linear;
	}
	.swiper01 .swiper-slide img {
		border-radius: 10px;
	}
	.top_sec02_price {
		padding: 8rem 0 10rem;
		text-align: center;
	}
	.top_sec02_price .ttl {
		padding: 1.3rem 0 3.5rem;
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.btn_price {
		margin: 4.2rem auto 5.2rem;
		width: 67.8rem;
	}	
	.btn_price a {
		position: relative;
		display: block;
		padding: 4.5rem 0;
		width: 100%;
		color: var(--green-color);
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
		border-radius: 10px;
		border: 2px solid var(--green-sub02-color);
		background-color: #fff;
		cursor: pointer;
	}
	.btn_price a::before {
		content: '';
		position: absolute;
		left: 3rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 7.8rem;
		height: 7.8rem;
		background: url(../../images/src/top/ico_price_hv.svg) no-repeat left center / 100%;
	}
	
	.btn_price a::after {
		content: '';
		position: absolute;
		right: 3.4rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1.8rem;
		height: 2rem;
		background: url(../../images/src/common/triangle_green.svg) no-repeat right center / 100%;
	}
	.top_sec02_price .btn01 {
		margin: 0 auto;
		width: 39.6rem;
	}
	.top_sec02_price .btn01 a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/top/ico_price02.svg) no-repeat left center / 100%;
	}


	
	.top_sec03 {
		margin: 0 7rem 8.8rem;
		padding: 8.8rem 0 9.3rem;
		border-radius: 20px;
		background: url(../../images/src/top/sec03_bg01.webp) no-repeat center top / cover;
	}
	.top_sec03 .ttl_jp {
		color: #fff;
	}
	.top_sec03 .sub_ttl {
		margin: 1.5rem 0 6.1rem;
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
		letter-spacing: 0.04em;
		text-align: center;
	}
	.top_sec03 .step_list {
		margin-bottom: 6rem;
		gap: 0 2.1rem;
	}
	.top_sec03 .step_list .parts {
		position: relative;
		flex: 1;
		padding: 0 2.6rem 2.6rem;
		border-radius: 10px;
		background-color: #fff;
	}
	.top_sec03 .step_list .parts::after {
		content: '';
		position: absolute;
		top: 16.3rem;
		right: -1.5rem;
		width: 2.5rem;
		height: 4.3rem;
		background: url(../../images/src/common/triangle_white02.svg) no-repeat right top / 100%;
	}
	.top_sec03 .step_list .parts:last-of-type::after {
		display: none;
	}
	.top_sec03 .step_list .parts .ico {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: -3.4rem auto 0;
		width: 9.1rem;
		height: 9.1rem;
		text-align: center;
		border-radius: 50%;
		background-color: #fff;
		width: 40%;
		aspect-ratio: 1 / 1;
		height: auto;
	}
	.top_sec03 .step_list .parts:last-of-type .ico {
		padding-left: 0.6vw;
	}
	.top_sec03 .step_list .parts .step {
		margin-top: -0.4rem;
		color: var(--green-color);
		font-size: 2.6rem;
		font-weight: 600;
		text-align: center;
		letter-spacing: 0.04em;
	}
	.top_sec03 .step_list .parts .step span {
		font-size: 3.4rem;
		font-weight: 600;
	}
	.top_sec03 .step_list .parts .ttl {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 1.4rem 0;
		height: 7.6rem;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: 0.04em;
		text-align: center;
	}
	.top_sec03 .bnr {
		margin: 0 auto;
		max-width: 1040px;
		width: 85%;
	}
	.top_sec03 .btn01 {
		margin: 5.1rem auto 0;
		width: 38.4rem;
	}
	.top_sec03 .btn01 a {
		color: var(--green-color);
		background-color: #fff;
	}
	.top_sec03 .btn01 a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/top/ico_step.svg) no-repeat right center / 100%;
	}
	.top_sec03 .btn01 a::after {
		background: url(../../images/src/common/triangle_green.svg) no-repeat right center / 100%;
	}
	.top_sec04 .ttl_img {
		margin: -0.5rem 0 1rem 0.5rem;
	}
	.top_sec04 .ttl_jp {
		text-align: center;
	}
	.top_sec04 .subtxt_box {
		margin: 1.3rem 0 3.8rem;
		align-items: end;
	}
	.top_sec04 .subtxt_box .sub_txt {
		margin-bottom: 4rem;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
		letter-spacing: 0.04em;
	}
	.top_sec04 .cate {
		gap: 0 1rem;
		justify-content: center;
	}
	.top_sec04 .cate p a,
	.top_sec04 .news_list .cate .cate_ico,
	#news .cate p a {
		display: block;
		position: relative;
		padding: 1.1rem 3.5rem 1.5rem 5.4rem;
		color: var(--green-color);
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		border: 2px solid var(--green-color);
		border-radius: 180px;
		background-color: #fff;
	}
	.top_sec04 .cate .recreation a,
	#news .cate .recreation a {
		padding: 1.1rem 2.5rem 1.5rem 6.2rem;
	}
	.top_sec04 .cate .media a,
	#news .cate .media a {
		padding: 1.1rem 2.5rem 1.5rem 6.2rem;
	}
	.top_sec04 .cate p a::before,
	.top_sec04 .news_list .cate .cate_ico::before,
	#news .cate p a::before {
		content: '';
		position: absolute;
		left: 1.8rem;
		top: 0;
		bottom: 0;
		margin: auto;
		background: no-repeat left center / 100%;
	}
	.top_sec04 .cate .recreation a::before,
	.top_sec04 .news_list .cate .recreation::before,
	#news .cate .recreation a::before {
		width: 3.9rem;
		height: 3.9rem;
		background-image: url(../../images/src/top/news_cate01.svg);
	}
	.top_sec04 .cate .event a::before,
	.top_sec04 .news_list .cate .event::before,
	#news .cate .event a::before {
		left: 2.5rem;
		width: 2.3rem;
		height: 2.8rem;
		background-image: url(../../images/src/top/news_cate02.svg);
	}
	.top_sec04 .cate .event a::before,
	#news .cate .event a::before {
		left: 2rem;
	}
	.top_sec04 .cate .meal a::before,
	.top_sec04 .news_list .cate .meal::before,
	#news .cate .meal a::before {
		width: 3.7rem;
		height: 3.7rem;
		background-image: url(../../images/src/top/news_cate03.svg);
	}
	.top_sec04 .cate .meal a::before,
	#news .cate .meal a::before {
		left: 1rem;
	}
	.top_sec04 .cate .all a::before,
	.top_sec04 .news_list .cate .all::before,
	#news .cate .all a::before {
		width: 2.5rem;
		height: 1.7rem;
		background-image: url(../../images/src/top/news_cate04.svg);
	}
	.top_sec04 .cate .all a::before,
	#news .cate .all a::before {
		left: 2rem;
	}
	.top_sec04 .cate .facility a::before,
	.top_sec04 .news_list .cate .facility::before,
	#news .cate .facility a::before {
		width: 2.5rem;
		height: 2.5rem;
		background-image: url(../../images/src/top/news_cate05.svg);
	}
	.top_sec04 .cate .facility a::before,
	#news .cate .facility a::before {
		left: 3rem;
	}
	.top_sec04 .cate .media a::before,
	.top_sec04 .news_list .cate .media::before,
	#news .cate .media a::before {
		width: 3rem;
		height: 3rem;
		background-image: url(../../images/src/top/news_cate06.svg);
	}
	.top_sec04 .parts .cate .media a::before,
	.top_sec04 .parts .cate .media::before{
		width: 2rem;
		height: 2rem;
	}
	.top_sec04 .cate .media a::before,
	#news .cate .media a::before {
		left: 2.2rem;
	}
	.top_sec04 .news_list {
		margin-top: 3.6rem;
		justify-content: left;
		gap: 0 4.2rem;
	}
	.top_sec04 .news_list .parts {
		/*width: 37.2rem;*/
		width: 31%;
	}
	.top_sec04 .news_list .parts a {
		display: flex;
		flex-direction: column;
	}
	.top_sec04 .news_list .parts .img {
		margin-bottom: 1.8rem;
	}
	.top_sec04 .news_list .parts .img img {
		border-radius: 10px;
		width: 100%;
		height: 240px;
	}
	.top_sec04 .news_list .parts .cate {
		margin-bottom: 1.1rem;
		justify-content: left;
		align-items: center;
	}
	.top_sec04 .news_list .parts .cate .date {
		color: var(--green-color);
		font-size: 1.8rem;
		font-weight: 600;
		letter-spacing: 0.04em;
	}
	.top_sec04 .news_list .parts .cate .cate_ico {
		padding: 0.5rem 1.7rem 0.5rem 4.1rem;
		line-height: 1;
	}
	.top_sec04 .news_list .parts .cate .recreation::before {
		left: 1.3rem;
		width: 2rem;
		height: 2rem;
	}
	.top_sec04 .news_list .parts .cate .event::before {
		left: 1.7rem;
		width: 1.5rem;
		height: 1.9rem;
	}
	.top_sec04 .news_list .parts .cate .meal::before {
		left: 1.2rem;
		width: 2.1rem;
		height: 2.1rem;
	}
	.top_sec04 .news_list .parts .ttl {
		margin-bottom: 1.4rem;
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: 0.04em;
		min-height: 7.6rem;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.top_sec04 .news_list .parts .txt {
		padding-top: 2.2rem;
		border-top: 3px dotted var(--border02-color);
		line-height: 1.7;
	}
	.top_sec04 .btn01,
	.navigation .btn01 {
		margin: 5rem auto 0;
		width: 31.4rem;
	}
	.top_sec04 .btn01 a::before,
	.navigation .btn01 a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/top/ico_more.svg) no-repeat left center / 100%;
	}

	
	.top_sec05 {
		padding: 16.6rem 0 13rem;
		background: url(../../images/src/top/wave_bg.svg) no-repeat center top;
		background-size: 100% auto;
	}
	.top_sec05 .ttl_jp {
		margin: 1rem 0;
	}
	.top_sec05 .sub_ttl {
		margin-top: 1.6rem;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.38;
		letter-spacing: 0.04em;
	}
	.top_sec05 .voice_list {
		margin-top: 4.2rem;
		gap: 0 4.2rem;
	}
	.top_sec05 .voice_list .parts {
		flex: 1;
		padding: 3rem;
		border-radius: 20px;
		background-color: #fff;
	}	
	.top_sec05 .voice_list .parts .img img {
		width: 100%;
		height: 33.8rem;
		border-radius: 10px;
	}
	.top_sec05 .voice_list .parts .ttl {
		margin: 2.2rem 0 1.3rem;
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec05 .voice_list .parts .txt {
		margin-bottom: 3rem;
	}
	.top_sec05 .voice_list .parts .voice_bx {
		justify-content: left;
		align-items: center;
		gap: 0;
	}
	.top_sec05 .voice_list .parts .voice_bx .voice_name {
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec05 .voice_list .parts .voice_bx .voice_period {
		padding: 0 1.5rem;
		border: 2px solid var(--green-color);
		border-radius: 7px;
		color: var(--green-color);
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec06 {
		padding-bottom: 13.7rem;
		align-items:end;
	}
	.top_sec06 .left_col {
		width: 488px;
	}
	.top_sec06 .left_col .quate_txt {
		position: relative;
		display: inline-block;
		font-size: 4.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec06 .left_col .quate_txt span{
		position: relative;
		padding-right: 3rem;
	}
	.top_sec06 .left_col .quate_txt::before,
	.top_sec06 .left_col .quate_txt span::after {
		content: '';
		position: absolute;
		width: 2.6rem;
		height: 1.9rem;
		background: no-repeat left top / 100%;
	}
	.top_sec06 .left_col .quate_txt::before {
		top: -0.6rem;
		left: -2.5rem;
		background-image: url(../../images/src/common/quote01.svg);
	}
	.top_sec06 .left_col .quate_txt span::after {
		bottom: -0.1rem;
		right: 0rem;
		background-image: url(../../images/src/common/quote02.svg);
	}
	.top_sec06 .left_col .txt {
		margin: 1.8rem 0 3.4rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.58;
		letter-spacing: 0.04em;
	}
	.top_sec06 .left_col .img img {
		border-radius: 10px;
	}
	.top_sec06 .right_col {
		width: 630px;
	}
	.top_sec06 .right_col a {
		position: relative;
		padding: 3.5rem 0 3.9rem;
		width: 100%;
		justify-content: left;
		gap: 0 5.7rem;
		border-top: 3px dotted var(--border02-color);
	}
	.top_sec06 .right_col a:last-of-type {
		border-bottom: 3px dotted var(--border02-color);
	}
	.top_sec06 .right_col a::after {
		content: '';
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.4rem;
		height: 3.4rem;
		background: url(../../images/src/common/arrow_green02.svg) no-repeat right center / 100%;
	}
	.top_sec06 .right_col .ttl_bx .en {
		color: var(--green-color);
		font-size: 1.8rem;
		font-weight: 600;
		letter-spacing: 0.04em;
	}
	.top_sec06 .right_col .ttl_bx .ttl {
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.top_sec06 .right_col .txt {
		width: 37.6rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.63;
		letter-spacing: 0.04em;
	}
	.top_sec06 .right_col .ttl_bx .ttl,
	.top_sec06 .right_col .ttl_bx .txt,
	.top_sec06 .right_col a::after {
		transition: .7s;
	}
	.top_access {
		padding: 8rem 0 11rem;
		background-color: #fff;
	}

/*-------------------------------

  下層汎用
	
------------------------------*/
	.mv_inner {
		padding-left: max(5.15625%, 4rem);
		padding-right: 5.36458333%;
	}
	.mv_inner .left_col {
		width: 55rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.mv_inner .left_col .ttl_jp {
		margin-bottom: 1.1rem;
		font-size: 5.4rem;
		text-align: left;
	}
	.mv_inner .left_col .txt {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.58;
	}
	.mv_inner .img {
		/*width: 105.4rem;*/
		width: 61.9%;
	}
	.mv_inner .img img {
		border-radius: 20px;
	}

	/* パンくず */
	.breadcrumbs {
		position: relative;
		padding-left: max(5.15625%, 4rem);
		color: #fff;
	}
	.breadcrumbs::after {
		content: '';
		position: absolute;
		top: -14.7rem;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		height: 104rem;
		background: url(../../images/src/common/wave.svg) no-repeat center top / 100%;
		z-index: -1;
	}
	.breadcrumbs > * {
		margin-right: 0.5rem;
	}
	.breadcrumbs span {
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.63;
		letter-spacing: 0.04em;
	}
	.breadcrumbs a {
		text-decoration: underline;
		text-decoration-color: white;
		text-decoration-thickness: 1px;
	}
	.breadcrumbs a span {
		font-weight: 400;
	}
	.breadcrumbs img {
		vertical-align: inherit;
		width: 1.3rem;
	}
	.caution {
		position: relative;
		margin-bottom: 4rem;
		padding-left: 5rem;
		color: var(--red--color);
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1.31;
		letter-spacing: 0.04em;
	}
	.caution::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.7rem;
		height: 3.3rem;
		background: url(../../images/src/common/caution.svg) no-repeat left center / 100%;
	}

	.wp-pagenavi {
		display: flex;
		margin: 9rem auto 11rem;
		text-align: center;
		justify-content: center;
		gap: 0 2.2rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		display: block;
		width: 4rem;
		font-size: 2.2rem;
		font-weight: 700;
		transition: .7s;
	}
	.wp-pagenavi .current {
		color: #fff;
		aspect-ratio: 1/1;
		border-radius: 50%;
		background-color: var(--green-color);
	}
	.navigation {
		margin: 5rem auto 11rem;
		align-items: center;
	}
	.navigation .prev,
	.navigation .next {
		width: 15.5rem;
	}
	.navigation .prev a,
	.navigation .next a {
		position: relative;
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.navigation .prev a {
		padding-left: 5.4rem;
	}
	.navigation .next a {
		padding-right: 5.4rem;
	}
	.navigation .prev a::after,
	.navigation .next a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.8rem;
		height: 3.8rem;
	}
	.navigation .prev a::after {
		left: 0;
		background: url(../../images/src/common/arrow_green03.svg) no-repeat right center / 100%;
	}
	.navigation .next a::after {
		right: 0;
		background: url(../../images/src/common/arrow_green02.svg) no-repeat right center / 100%;
	}
	.navigation .back {
		margin-top: 0;
	}
	
	h2 {
		font-size: 4.6rem;
		font-weight: 700;
	}

	/* ポップアップ用 */
	.popup{
		position: fixed;
		inset: 0;
		z-index: 10000;
		display: none;
	}
	.popup.is-active{
		display: block;
	} 
	.popup__bg{
		position:absolute;
		inset:0;
		background: rgba(0,0,0,.6);
	} 
	.popup__inner{
		position:relative;
		height:100%;
		display:flex;
		justify-content:center;
		align-items:center;
	} 
	.popup__content {
		position: relative;
		border-radius: 20px;
		background:#fff;
		max-width: 95%;
	}	
	
	.popup__content .popup__close {
		position: absolute;
		top: -5.8rem;
		right: 0;
		border: none;
		background: none;
	}
	.popup__content .ico {
		position: absolute;
		top: -5.7rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 12.9rem;
	}
	.popup__content .ico img {
		width: 100%;
	}
	.popup__content .popup_block {
		position: relative;
		max-width:1200px;
		width: auto;
		padding: 4rem 5rem 5rem;
		z-index: 10;
	}
	.popup__content .result {
		max-width: 100%;
		width: 1200px;
	}
	.popup__content h2 {
		color: var(--green-color); 
		font-size: 4.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
	}
	.popup__content .price_bx {
		margin-top: 2.4rem;
		padding: 3.8rem 5rem 4.8rem;
		border-radius: 20px;
		background-color: var(--bg-color);
	}
	.popup__content .price_bx .ttl {
		margin-bottom: 1.4rem;
		font-size: 2.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.popup__content .price_bx select {
		padding: 1.5rem 3rem;
		width: 100%;
		font-size: 2.6rem;
		font-weight: 400;
		border-radius: 10px;
		border-color: var(--border02-color);
	}
	.popup__content .price_bx .kome {
		margin: 1.8rem 0 4rem 2rem;
		font-size: 2rem;
		font-weight: 400;
		line-height: 1.8;
		letter-spacing: 0.04em;
		text-indent: -2rem;
	}
	.popup__content .simu_btn {
		position: relative;
		display: block;
		margin: 0 auto;
		padding: 2.1rem 0 2.8rem;
		width: 41.6rem;
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
		border-radius: 180px;
		background-color: var(--green-color);
		border: 2px solid var(--green-color);
	}
	.popup__content .simu_btn::after {
		content: '';
		position: absolute;
		right: 3.3rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1.3rem;
		height: 1.5rem;
		background: url(../../images/src/common/triangle_white.svg) no-repeat right center / 100%;
	}
	/* 結果画面 */
	.popup__content #result_block .popup_block {
		padding: 4rem 3rem 2rem;
	}
	.popup__content .result_bx {
		padding: 2rem;
	}
	.popup__content .result_bx .ttl {
		margin-bottom: 2.8rem;
		text-align: center;
	}
	.popup__content .result_bx .ttl .green {
		font-size: 3.6rem;
		font-weight: 700;
	}
	.popup__content .result_bx .pricebx {
		justify-content: center;
		gap: 3.3rem;
	}
	.popup__content .result_bx table {
		position: relative;
		width: 19rem;
	}
	.popup__content .result_bx table::after {
		position: absolute;
		content: '';
		right: -15%;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 2.5rem;
		height: 2.5rem;
		background: url(../../images/src/price/plus.svg) no-repeat right center / 100%;
	}
	.popup__content .result_bx table:nth-of-type(4)::after {
		display: none;
	}
	.popup__content .result_bx table.total::after {
		left: -15%;
		right: auto;
		background: url(../../images/src/price/equal.svg) no-repeat right center / 100%;
	}
	.popup__content .result_bx table th,
	.popup__content .result_bx table td {
		display: block;
		padding: 1.6rem 0;
		font-size: 2.2rem;
		font-weight: 500;
		vertical-align: middle;
		text-align: center;
		border: 0.1rem solid var(--border02-color);
		background-color: #fff;
	}
	.popup__content .result_bx table th {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 13rem;
		border-bottom: 0;
	}
	.popup__content .result_bx table.total th,
	.popup__content .result_bx table.total td {
		background-color: #FAEE02;
	}
	
	
	.popup__content .result_bx table td span {
		font-size: 3.2rem;
		font-weight: 500;
	}
	.popup__content .result_bx table.total td span {
		font-weight: 700;
	}
	.popup__content .cta_sec {
		padding: 4.4rem 5rem;
		border-radius: 0 0 20px 20px;
	}
	.popup__content .cta_sec .cta_txt {
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.54;
		letter-spacing: 0.04em;
	}
	.popup__content .cta_sec .flex {
		justify-content: center;
		align-items: center;
		gap: 0 2rem;
	}
	.popup__content .cta_sec .btn01 {
		width: 29.6rem;
	}
	.popup__content .cta_sec .btn01 a {
		display: flex;
		align-items: center;
		padding: 0 0 0 8.5rem;
		height: 8.6rem;
		color: var(--green-color);
		text-align: left;
		line-height: 1;
		background-color: #fff;
	}
	.popup__content .cta_sec .btn01 a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/common/cta_ico01.svg) no-repeat left center / 100%;
	}
	.popup__content .cta_sec .btn01.tel a::before {
		width: 5.8rem;
		height: 5.8rem;
		background: url(../../images/src/common/cta_ico03.svg) no-repeat left center / 100%;
	}
	.popup__content .cta_sec .btn01 a::after {
		background-image: url(../../images/src/common/triangle_green.svg);
	}
	.popup__content .cta_sec .btn01.tel a::after {
		display: none;
	}
	
	#not4 {
		margin-top: 5rem;
		padding: 10rem 0;
		position: relative;
		z-index: 1;
		background-color: var(--bg-color);
	}
	#not4 .btn01 {
		margin: 6rem auto 0;
		width: 39.6rem;
	}

/*-------------------------------

  Information 施設案内

------------------------------*/
	#info .sec01 {
		padding: 10.2rem 0 12.6rem;
		background-color: var(--green-color);
	}
	#info h2 {
		position: relative;
	}
	#info h2::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2rem;
		margin: auto;
		width: 9rem;
		height: 0.4rem;
		background-color: var(--green-color);
	}
	#info .sec01 .flex {
		align-items: center;
		justify-content: space-around;
	}
	#info .sec01 .left_col {
		width: 68%;
		color: #fff;
	}
	#info .sec01 .left_col h2 {
		margin-bottom: 5rem;
	}
	#info .sec01 .left_col h2::after {
		background-color: #fff;
		right: auto;
	}
	#info .sec01 .left_col .txt {
		font-size: 2.2rem;
		line-height: 1.72;
	}
	#info .sec01 .left_col .txt + .txt {
		margin-top: 2rem;
	}
	#info .sec01 .right_col {
		max-width: 34.9rem;
		width: 32%;
		color: #fff;
	}
	#info .sec01 .right_col .txt01 {
		margin-top: 1.4rem;
		font-size: 2.2rem;
		font-weight: 500;
	}
	#info .sec01 .right_col .txt02 {
		font-size: 2.2rem;
		font-weight: 500;
	}
	#info .sec01 .right_col .txt02 span {
		font-size: 3rem;
		font-weight: 700;
	}
	#info .sec02 {
		position: relative;
		padding: 8.2rem 0 11rem;
		background-color: #fff;
		z-index: 1;
	}
	#info .sec02 h2 {
		margin-bottom: 5rem;
		color: var(--green-color);
	}
	#info .sec02 .txt {
		font-weight: 500;
	}
	#info .sec02 .about_bx {
		margin-top: 5rem;
		align-items: stretch;
	}
	#info .sec02 .about_bx .img {
		width: 47.5%;
	}
	#info .sec02 .about_bx .img img {
		border-radius: 10px;
		width: 100%;
	}
	#info .sec02 .about_bx .right_col {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 50%;
	}
	#info .sec02 .about_bx .right_col dl {
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 1;
		position: relative;
		padding: 2.1rem 0 1.8rem 8.5rem;
		border-radius: 10px;
		border: 2px solid var(--green-color);
		background-color: #fff;
		letter-spacing: 0.04em;
	}
	#info .sec02 .about_bx .right_col dl + dl {
		margin-top: 2rem;
	}
	#info .sec02 .about_bx .right_col dl::before {
		content: '';
		position: absolute;
		left: 3.2rem;
		top: 0;
		bottom: 0;
		margin: auto;
		background: no-repeat left center / 100%;
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(1)::before {
		width: 3.1rem;
		height: 3.1rem;
		background-image: url(../../images/src/info/ico01.svg);
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(2)::before {
		left: 3.4rem;
		width: 2.7rem;
		height: 3.4rem;
		background-image: url(../../images/src/info/ico02.svg);
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(3)::before {
		width: 3.1rem;
		height: 3.1rem;
		background-image: url(../../images/src/info/ico03.svg);
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(4)::before {
		left: 3rem;
		width: 3.4rem;
		height: 3.7rem;
		background-image: url(../../images/src/info/ico04.svg);
	}
	#info .sec02 .about_bx .right_col dl dt {
		color: var(--green-color);
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.58;
	}
	#info .sec02 .about_bx .right_col dl dd {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.72;
	}
	#info .sec03 {
		padding: 8rem 0 6rem;
	}
	#info .sec03 h2 {
		margin-bottom: 6rem;
		color: var(--green-color);
	}
	#info .sec03 .txt {
		font-weight: 500;
	}
	#info .sec03 .room_bx {
		margin: 5rem auto 8rem;
		padding-bottom: 9rem;
		border-bottom: 3px dotted var(--border02-color);
		gap: 0 6rem;
	}
	#info .sec03 .room_bx .left_col,
	#info .sec03 .room_bx .right_col {
		flex: 1;
	}
	#info .sec03 .room_bx h3 {
		margin-bottom: 2.4rem;
		padding-left: 1.6rem;
		border-left: 0.4rem solid var(--green-color);
		color: var(--green-color);
		font-size: 3.4rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.04em;
	}
	#info .sec03 .room_bx .txt {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.72;
	}
	#info .sec03 .room_bx table {
		margin-top: 4rem;
		border: 1px solid var(--border02-color);
	}
	#info .sec03 .room_bx table tr {
		border-bottom: 1px solid var(--border02-color);
	}
	#info .sec03 .room_bx table th {
		padding: 2.7rem 0;
		width: 12.8rem;
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		vertical-align: middle;
		text-align: center;
		background-color: var(--bg02-color);
	}
	#info .sec03 .room_bx table td {
		padding: 2.7rem 3.3rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.72;
		letter-spacing: 0.04em;
		background-color: #fff;
	}
	#info .sec03 .room_bx .img {
		padding: 6.3rem 8rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
	}
	#info .sec03 .space_bx {
		margin-top: 4rem;
		gap: 0 3.3rem;
	}
	#info .sec03 .space_bx .parts {
		flex: 1;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
		overflow: hidden;
	}
	#info .sec03 .space_bx .parts .img img {
		width: 100%;
	}
	#info .sec03 .space_bx .parts .ttl {
		padding: 2.6rem 3rem 1.1rem;
		color: var(--green-color);
		font-size: 3rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	#info .sec03 .space_bx .parts .txt {
		padding: 0 3rem 3rem;
		font-size: 2.2rem;
		font-weight: 400;
	}
	#info .top_sec05 h2::after {
		display: none;
	}
	#access {
		margin-bottom: 11rem;
	}
	#access h2 {
		color: var(--green-color);
		margin-bottom: 5rem;
	}
	#access .txt {
		font-size: 2.2rem;
		font-weight: 500;
	}
	#access .flex {
		margin-top: 5.4rem;
	}
	#access iframe {
		width: 69.15%;
		aspect-ratio: 830 / 424;
	}
	#access .right_col {
		display: flex;
		flex-direction: column;
		width: 25.5%;
	}
	#access .right_col .ttl {
		margin-bottom: 3rem;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.58;
		letter-spacing: 0.04em;
	}
	
	#access .right_col .txt {
		font-weight: 400;
		line-height: 1.58;
	}
	#access .right_col .btn01 {
		margin-top: auto;
	}
	#access .right_col .btn01 a {
		padding: 1rem 0 1.2rem 3rem;
		font-size: 2.2rem;
		text-align: left;
	}
	#access .right_col .btn01 a::after {
		right: 2.7rem;
	}


/*-------------------------------

  Price 料金案内

------------------------------*/
	#price .sec01 {
		padding: 10.2rem 0 14rem;
		background-color: var(--green-color);
	}
	#price .sec01 .txt {
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
	}
	#price .sec02 {
		position: relative;
		padding: 9rem 0 10rem;
		background-color: #fff;
		z-index: 1;
	}
	#price h2 {
		margin-bottom: 5rem;
		position: relative;
		color: var(--green-color);
		text-align: center;
	}
	#price h2::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2rem;
		margin: auto;
		width: 9rem;
		height: 0.4rem;
		background-color: var(--green-color);
	}
	#price h2 span {
		font-size: 2.2rem;
		font-weight: 700;
	}
	#price .sec02 .txt {
		margin-bottom: 5rem;
		font-size: 2.2rem;
		font-weight: 500;
		line-height: 1.72;
		letter-spacing: 0.04em;
	}
	#price .sec02 .col {
		margin-bottom: 1rem;
		align-items: end;
		gap: 0 0.9rem;
	}
	#price .sec02 .col_body {
		margin-bottom: 1rem;
		align-items: stretch;
		gap: 0 0.9rem;
	}
	#price .sec02 .cell_head_ttl {
		margin-right: 0.9rem;
		padding: 3.5rem 0;
		width: 24.6rem;
		text-align: center;
		background-color: var(--green-color);
		clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
	}
	#price .sec02 .cell_head_ttl p {
		margin-left: -1rem;
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.04em;
	}
	#price .sec02 .cell_head_parts,
	#price .sec02 .cell_body_parts {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: space-around;
	}
	#price .sec02 .cell_head_parts {
		position: relative;
		padding: 2rem 0 1.6rem;
		height: 14rem;
		border-radius: 4px;
		background-color: #EAF4E3;
		gap: 0.8rem 0;
	}
	#price .sec02 .cell_head_parts::after {
		content: '';
		position: absolute;
		right: -1.7rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 2.5rem;
		height: 2.5rem;
		background: url(../../images/src/price/plus.svg) no-repeat right center / 100%;
		z-index: 1;
	}
	#price .sec02 .cell_head_parts:nth-of-type(4)::after {
		height: 1.3rem;
		background-image: url(../../images/src/price/equal.svg);
	}
	#price .sec02 .cell_head_parts.ttl_total::after {
		display: none;
	}
	#price .sec02 .cell_head_parts i {
		display: flex;
		align-items: center;
		height: 4.3rem;
	}
	#price .sec02 .cell_head_parts p {
		color: var(--green-color);
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.18;
		letter-spacing: 0.04em;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1;
	}
	#price .sec02 .cell_body_ttl {
		margin-right: 0.9rem;
		padding: 1.5rem 0 1.7rem;
		width: 24.6rem;
		text-align: center;
		padding: 2px; 
		background: var(--green-color);
		clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
	}
	#price .sec02 .cell_body_ttl__in {
		height: 100%;
		background-color: #fff;
		padding: 1.5rem 0 1.7rem;
		text-align: center;
		clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
		transition: .7s;
	}
	
	#price .sec02 .cell_body_ttl p {
		margin-left: -1rem;
		color: var(--green-color);
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.33;
		letter-spacing: 0.04em;
	}
	#price .sec02 .cell_body_parts {
		border: 1px solid var(--border02-color);
		transition: .7s;
		border-radius: 0.4rem;
	}
	#price .sec02 .cell_body_parts p {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.36;
		letter-spacing: 0.04em;
	}
	#price .sec02 .cell_body_parts.total {
		background: var(--green-color);
		color: #fff;
	}
	#price .sec02 .cell_body_parts.total p {
		font-family: Zen Kaku Gothic New;
		font-weight: 700;
		font-style: Bold;
		font-size: 2.8rem;
		line-height: 30px;
		letter-spacing: 4%;
		text-align: center;
	}
	#price .sec02 ul {
		margin-top: 4.2rem;
	}
	#price .sec02 ul li {
		position: relative;
		padding-left: 2.1rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 2;
		letter-spacing: 0.04em;
	}
	#price .sec02 ul li::before {
		content: '';
		position: absolute;
		top: 1.8rem;
		left: 0;
		width: 1.2rem;
		height: 1.2rem;
		border-radius: 50%;
		background-color: var(--green-color);
	}
	#price .sec03 {
		padding: 9rem 0 11.8rem;
	}
	#price .sec03 h2 {
		line-height: 0.73;
	}
	#price .sec03 h2::after {
		bottom: -3rem;
	}
	#price .sec03 .txt {
		margin-bottom: 5.7rem;
		font-size: 2.2rem;
		font-weight: 500;
	}
	#price .sec03 .block {
		margin-bottom: 2.2rem;
		gap: 0 2.7rem;
	}
	#price .sec03 .block .parts {
		flex: 1;
		padding: 3rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
		display: flex;
		flex-direction: column;
	}
	#price .sec03 .block.flex:last-child {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	#price .sec03 .block .bx {
	}
	#price .sec03 .block .parts.pts05,
	#price .sec03 .block .parts.pts06 {
		padding-bottom: 2.6rem;
	}
	#price .sec03 .block .parts.pts05 {
		margin-bottom: 2.8rem;
	}
	#price .sec03 .block .parts .ico {
		margin-bottom: 1.6rem;
		text-align: center;
	}
	#price .sec03 .block .parts .ttl {
		margin-bottom: 1.2rem;
		color: var(--green-color);
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: 0.04em;
		text-align: center;
	}
	#price .sec03 .block .parts.pts01 .price,
	#price .sec03 .block .parts.pts02 .price,
	#price .sec03 .block .parts.pts03 .price {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 10.2rem;
	}
	#price .sec03 .block .parts .price p {
		color: var(--green-color);
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.35;
		letter-spacing: 0.04em;
		text-align: center;
	}
	#price .sec03 .block .parts .price span {
		font-size: 4.2rem;
		font-weight: 600;
		line-height: 1.19;
	}
	#price .sec03 .block .parts .txt {
		margin: 3.4rem 0 0;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.63;
		letter-spacing: 0.04em;
	}
	

	#price .sec03 .right_col .txt {
		font-size: 2.2rem;
		line-height: 1.72;
		margin-top: 7rem;
		padding: 3.6rem 4rem 5rem;
		border-radius: 10px;
		background-color: #fff;
	}
/*-------------------------------

  Step 入居案内

------------------------------*/
	#step h2 {
		position: relative;
		margin-bottom: 5rem;
	}
	#step h2::after {
		content: '';
		position: absolute;
		bottom: -2rem;
		left: 0;
		right: 0;
		margin: auto;
		width: 9rem;
		height: 0.4rem;
		background-color: var(--green-color);
	}
	#step .sec01 {
		padding: 10.2rem 0 10rem;
		color: #fff;
		background-color: var(--green-color);
	}
	#step .sec01 h2::after {
		background-color: #fff;
	}
	#step .sec01 .txt {
		margin-bottom: 5rem;
		font-size: 2.2rem;
		font-weight: 500;
		line-height: 1.72;
	}
	
	#step .sec01 .flex {
		margin-bottom: 2.6rem;
		gap: 0 2rem;
		justify-content: center;
	} 
	#step .sec01 .parts {
		position: relative;
		display: flex;
		flex: 1;
		justify-content: center;
		color: #000;
	}
	
	#step .sec01 .parts .img {
		position: relative;
		z-index: 1;
	}
	#step .sec01 .parts .bx {
		margin-left: -2.1rem;
		padding: 4.5rem 4rem;
		/*width: 50.5rem;*/
		width: 86%;
		border-radius: 10px;
		background-color: #fff;
	}
	#step .sec01 .parts .bx p {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.72;
		letter-spacing: 0.04em;
	}
	#step .sec01 .parts .bx .ttl {
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.46;
	}
	#step .sec01 .kome {
		margin-left: 1rem;
		text-indent: -1rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 2;
		letter-spacing: 0.04em;
	}
	#step .sec02 {
		position: relative;
		padding: 8rem 0 10rem;
		background-color: var(--bg-color);
		z-index: 1;
	}
	#step .sec02 .txt {
		margin-bottom: 5rem;
		font-size: 2.2rem;
		font-weight: 500;
	}
	#step .sec02 .flow_parts {
		position: relative;
		padding: 2rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
		align-items: stretch;
		justify-content: left;
	}
	#step .sec02 .flow_parts::after {
		content: '';
		position: absolute;
		bottom: -5.4rem;
		left: 0;
		right: 0;
		margin: auto;
		width: 5.5rem;
		height: 3rem;
		background: url(../../images/src/step/triangle.svg) no-repeat center bottom / 100%;
	}
	#step .sec02 .flow_parts:last-of-type::after {
		display: none;
	}
	#step .sec02 .flow_parts + .flow_parts {
		margin-top: 6.6rem;
	}
	#step .sec02 .flow_parts .align_c {
		align-items: center;
	}
	#step .sec02 .flow_parts .ico {
		width: 11.9rem;
		text-align: center;
	}

	#step .sec02 .flow_parts .txtbx {
		margin-left: 4rem;
		width: 58.8rem;
	}
	#step .sec02 .flow_parts .txtbx .f_mont {
		color: var(--green-color);
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	#step .sec02 .flow_parts .txtbx .f_mont .num {
		font-size: 3rem;
		font-weight: 700;
	}
	#step .sec02 .flow_parts .txtbx .ttl {
		margin: 0.7rem 0 1rem;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.04em;
	}
	#step .sec02 .flow_parts .txtbx .txt {
		margin-bottom: 0;
		font-weight: 400;
		line-height: 1.63;
	}
	#step .sec02 .flow_parts .check_bx {
		display: flex;
		align-items: center;
		margin-left: auto;
		padding: 4.4rem 3rem;
		width: 35.4rem;
		border-radius: 10px;
		background-color: var(--bg-color);
	}
	#step .sec02 .flow_parts ul li {
		position: relative;
		padding-left: 3.3rem;
		font-size: 2.2rem;
		font-weight: 700;
	}
	#step .sec02 .flow_parts ul li::before {
		content: '';
		position: absolute;
		left: 0;
		top: 1rem;
		width: 2.4rem;
		height: 1.8rem;
		background: url(../../images/src/common/check.svg) no-repeat left top / 100%;
	}
	
	#step .sec02 .flow_parts ul li + li {
		margin-top: 1.5rem;
	}
	#step .sec03 {
		padding: 8rem 0 10rem;
		background-color: #fff;
	}
	#step .sec03 .txt {
		margin-bottom: 4rem;
		font-size: 2.2rem;
		font-weight: 500;
/*		font-weight: 700; */
	}
	#step .sec03 .list_bx {
		margin-bottom: 4rem;
		gap: 0 6rem;
	}
	#step .sec03 .parts {
		position: relative;
		display: flex;
		flex-direction: column;
		flex: 1;
		padding: 2.7rem 2rem 2rem;
		border-radius: 10px;
		background-color: var(--green-color);
	}
	#step .sec03 .parts::after {
		content: '';
		position: absolute;
		right: -4.7rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.2rem;
		height: 3.2rem;
		background: url(../../images/src/price/plus.svg) no-repeat right center / 100%;
	}
	#step .sec03 .parts:last-of-type::after {
		display: none;
	}
	#step .sec03 .parts .ttl {
		margin-bottom: 2.3rem;
		color: #fff;
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
	}
	#step .sec03 .parts .white_bx {
		flex: 1;
		padding: 1.4rem 0.4rem 2.4rem 2.2rem ;
		border-radius: 10px;
		background-color: #fff;
	}
	#step .sec03 .parts .white_bx li {
		position: relative;
		padding-left: 2.2rem;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: 0.04em;
	}
	#step .sec03 .parts .white_bx li::before {
		content: '';
		position: absolute;
		left: 0;
		top: 1.8rem;
		width: 1.2rem;
		height: 1.2rem;
		border-radius: 50%;
		background-color: var(--green-color);
	}
	#step .sec03 .parts .white_bx li + li {
		margin-top: 1rem;
	}
	#step .sec03 .green_bx {
		position: relative;
		padding: 4rem 5rem;
		border-radius: 10px;
		border: 2px solid var(--green-color);
		background-color: #fff;
	}
	#step .sec03 .green_bx::before {
		content: "";
		position: absolute;
		top: -2.8rem;            /* 高さそのまま */
		right: 15.7rem;
		border-style: solid;
		border-width: 0 2.3rem 2.8rem 2.3rem;  /* 横46 / 高さ28 */
		border-color: transparent transparent var(--green-color) transparent;
	}
	#step .sec03 .green_bx::after {
		content: "";
		position: absolute;
		top: -2.4rem;            /* 2px下 */
		right: calc(15.7rem + 0.3rem);
		border-style: solid;
		border-width: 0 2rem 2.5rem 2rem;  /* 横42 / 高さ26 */
		border-color: transparent transparent #fff transparent;
	}
	#step .sec03 .green_bx .ttl {
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 1.61;
		letter-spacing: 0.04em;
	}
	#step .sec03 .green_bx .txt {
		margin-bottom: 0;
		font-weight: 400;
	}
	#step .sec03 .green_bx .btn {
		width: 38.8rem;
	}
	#step .sec03 .green_bx .btn a {
		display: block;
		padding: 2.2rem 0 2.4rem 7.5rem;
		width: 100%;
		position: relative;
		font-size: 2.2rem;
		font-weight: 400;
		letter-spacing: 0.04em;
		border-radius: 6px;
		border: 3px solid var(--border02-color);
		background-color: #fff;
	}
	#step .sec03 .green_bx .btn a::before,
	#step .sec03 .green_bx .btn a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#step .sec03 .green_bx .btn a::before {
		left: 3rem;
		width: 2.7rem;
		height: 3.6rem;
		background: url(../../images/src/step/pdf01.svg) no-repeat left center / 100%;
	}
	#step .sec03 .green_bx .btn a::after {
		right: 3.3rem;
		width: 2.4rem;
		height: 2.4rem;
		background: url(../../images/src/step/dl01.svg) no-repeat left center / 100%;
	}
	#step .sec04 {
		padding: 8rem 0 10rem;
	}
	#step .sec04 .txt {
		margin-bottom: 5rem;
		font-size: 2.2rem;
		font-weight: 500;
	}
	#step .sec04 dl {
		padding: 4.3rem 4rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
		cursor: pointer;
	}
	#step .sec04 dl + dl {
		margin-top: 3rem;
	}
	#step .sec04 dl dt,
	#step .sec04 dl dd {
		position: relative;
		padding-left: 8.6rem;
		letter-spacing: 0.04em;
	}
	#step .sec04 dl dt {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 2.58;
	}
	#step .sec04 dl dd {
		display: none;
		margin-top: 2rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.72;
	}
	#step .sec04 dl dt::before,
	#step .sec04 dl dt::after,
	#step .sec04 dl dd::before {
		position: absolute;
		font-family: "Montserrat", sans-serif;
		font-weight: 600;
		line-height: 1;
	}
	#step .sec04 dl dt::before {
		content: 'Q';
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		color: #fff;
		font-size: 3.4rem;
		text-align: center;
		width: 6.8rem;
		height: 6.8rem;
		border-radius: 50%;
		background-color: var(--green-color);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#step .sec04 dl dd::before{
		content: 'A.';
		top: 0;
		left: 3.8rem;
		color: var(--green-color);
		font-size: 3.6rem;
	}
	#step .sec04 dl dt::after {
		content: '';
		right: 4rem;
		top: 1.5rem;
		width: 2.8rem;
		height: 2.8rem;
		background: url(../../images/src/price/plus.svg) no-repeat right top / 100%;
		transition: .7s;
	}
	#step .sec04 dl.active dt::after {
		content: '';
		right: 4rem;
		top: 2.5rem;
		width: 2.8rem;
		height: 0.5rem;
		background: url(../../images/src/step/minus.svg) no-repeat right top / 100%;
	}

/*-------------------------------

  Company 法人概要

------------------------------*/
	#company h2 {
		position: relative;
		margin-bottom: 6.8rem;
	}
	#company h2::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2rem;
		margin: auto;
		width: 9rem;
		height: 0.4rem;
		background-color: var(--green-color);
	}
	#company .sec01 {
		padding: 10.2rem 0 18.4rem;
		color: #fff;
		background: url(../../images/src/company/sec01_bg.png) var(--green-color) no-repeat center top 13.4rem / 100%;
	}
	#company .sec01 h2::after {
		background-color: #fff;
	}
	#company .sec01 .ttl {
		font-size: 6.2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
	}
	#company .sec01 .ttl .kako {
		vertical-align: super;
	}
	#company .sec01 .ttl .fs78 {
		font-size: 7.8rem;
		font-weight: 700;
	}
	#company .sec01 .txt {
		margin: 2rem 0 3.2rem;
		font-size: 2.4rem;
		font-weight: 500;
		line-height: 1.75;
	}
	#company .sec01 .white_bx {
		margin: 0 auto;
		padding: 0.2rem;
		width: 75.6rem;
		border-radius: 7px;
		background-color: #fff;
	}
	#company .sec01 .white_bx p {
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.66;
		letter-spacing: 0.04em;
	}
	#company .sec02 {
		position: relative;
		padding: 8rem 0 10rem;
		background-color: var(--bg-color);
		z-index: 1;
	}
	#company .sec02 h2 {
		margin-bottom: 5rem;
	}
	#company .sec02 h3 {
		margin-bottom: 3rem;
		border-left: 0.4rem solid var(--green-color);
		padding-left: 1.6rem;
		color: var(--green-color);
		font-size: 3.4rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.04em;
	}
	#company .sec02 .txt {
		font-size: 2.2rem;
		font-weight: 500;
	}
	#company .sec02 .about_block {
		margin-top: 5rem;
		margin-bottom: 9rem;
	}
	#company .sec02 .left_col {
		/*width: 52rem;*/
		width: 43.3%;
	}
	#company .sec02 .right_col {
		/* width: 60rem;*/
		width: 50%;
	}
	#company .sec02 .left_col table tr {
		border-top: 1px solid  var(--border02-color);
		border-bottom: 1px solid  var(--border02-color);
	}
	#company .sec02 .left_col table th,
	#company .sec02 .left_col table td {
		padding: 2.8rem 0;
		font-size: 2.2rem;
	}
	#company .sec02 .left_col table th {
		font-weight: 700;
	}
	#company .sec02 .left_col table td {
		font-weight: 400;
	}
	#company .sec02 .right_col .parts {
		position: relative;
		padding: 2rem 2rem 2rem 3rem;
		clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%, 0 15%);
		background-color: var(--border02-color);
		align-items: center;
	}
	#company .sec02 .right_col .parts::after {
		content: '';
		position: absolute;
		left: 0.1rem;
		top: 0.1rem;
		width: calc(100% - 0.2rem);
		height: calc(100% - 0.2rem);
		clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%, 0 15%);
		background-color: #fff;
		z-index: -1;
	}
	#company .sec02 .right_col .parts + .parts {
		margin-top: 1.9rem;
	}
	#company .sec02 .right_col .parts .txtbx {
		width: 33rem;
	}
	#company .sec02 .right_col .parts .txtbx .ico_ttl {
		position: relative;
		margin-bottom: 1.4rem;
		padding-left: 4.5rem;
		font-size: 2.4rem;
		font-weight: 700;
	}
	#company .sec02 .right_col .parts .txtbx .ico_ttl::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		background: no-repeat left center / 100%;
	}
	#company .sec02 .right_col .parts .txtbx .ico01::before {
		width: 2.7rem;
		height: 2.7rem;
		background-image: url(../../images/src/top/sec01_ico02.svg);
	}
	#company .sec02 .right_col .parts .txtbx .ico02::before {
		width: 2.8rem;
		height: 3.2rem;
		background-image: url(../../images/src/top/sec01_ico03.svg);
	}
	#company .sec02 .right_col .parts .txtbx .ico03::before {
		width: 3.6rem;
		height: 3.6rem;
		background-image: url(../../images/src/top/sec01_ico01.svg);
	}
	#company .sec02 .right_col .parts .txtbx .ico04::before {
		width: 3.5rem;
		height: 2.7rem;
		background-image: url(../../images/src/company/sec02_ico04.svg);
	}
	#company .sec02 .right_col .parts .txtbx .txt {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 1.63;
		letter-spacing: 0.04em;
	}
	#company .sec02 .right_col .parts .img {
		width: 20.8rem;
	}
	#company .sec02 ul {
		margin: 3rem auto 9rem;
		gap: 1.8rem 0;
	}
	#company .sec02 ul li {
		width: 32.3%;
	}
	#company .sec02 ul li a {
		display: block;
		padding: 2.2rem 0 2.2rem 7.5rem;
		width: 100%;
		position: relative;
		font-size: 2.2rem;
		font-weight: 400;
		letter-spacing: 0.04em;
		border-radius: 6px;
		border: 3px solid var(--border02-color);
		background-color: #fff;
	}
	#company .sec02 ul li a::before,
	#company .sec02 ul li a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#company .sec02 ul li a::before {
		left: 3rem;
		width: 2.7rem;
		height: 3.6rem;
		background: url(../../images/src/step/pdf01.svg) no-repeat left center / 100%;
	}
	#company .sec02 ul li a::after {
		right: 3.3rem;
		width: 2.4rem;
		height: 2.4rem;
		background: url(../../images/src/step/dl01.svg) no-repeat left center / 100%;
	}
	#company .sec02 .block {
		padding: 6rem 6rem 4rem;
		gap: 0 3rem;
		background-color: #fff;
	}
	#company .sec02 .block .parts {
		position: relative;
		flex: 1;
		padding: 0 2rem 3.4rem;
		border-radius: 10px;
		border: 2px solid var(--green-color);
	}
	#company .sec02 .block .parts .ttl {
		margin: -2rem auto 2.3rem;
		text-align: center;
	}
	#company .sec02 .block .parts .ttl p {
		display: inline-block;
		padding: 0.7rem 3.4rem;
		color: #fff;
		font-size: 2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
		border-radius: 180px;
		background-color: var(--green-color);
	}
	#company .sec02 .block .parts .num {
		margin-bottom: 1rem;
		font-size: 2.8rem;
		font-weight: 700;
		text-align: center;
	}
	#company .sec02 .block .parts .num span {
		font-size: 5.4rem;
		font-weight: 600;
	}
	#company .sec02 .block .parts .txt {
		font-size: 2rem;
		font-weight: 400;
		line-height: 1;
		text-align: center;
	}

	#company #access {
		margin: 0;
		padding: 8rem 0 10rem;
		background-color: #fff;
	}


/*-------------------------------

  News 新着情報

------------------------------*/
	#news .sec01 {
		padding: 10.2rem 0 8rem;
		background-color: var(--green-color);
	}
	#news .news_cate {
		margin: 0 auto;
		width: 85.6rem;
		gap: 2rem;
		justify-content: center;
	}
	#news .news_cate p {
		width: 27.2rem;
	}
	#news .top_sec04 {
		position: relative;
		z-index: 1;
		padding: 8rem 0 9rem;
		background-color: var(--bg-color);
	} 
	#news .cate a {
		padding: 1.4rem 3.5rem 1.8rem 5.4rem;
		font-size: 2.2rem;
		text-align: center;
	}
	#news .sec01 .cate p a {
		color: #fff;
		border: 2px solid #fff;
		background-color: var(--green-color);
	}
	#news .sec01 .cate .current a {
		color: var(--green-color);
		background-color: #fff;
	}

	#news .cate .event a::before {
		left: 2.6rem;
	}
	#news .cate .meal a::before {
		left: 2.7rem;
	}
	#news .cate .recreation a::before { background-image: url(../../images/src/top/news_cate01_hv.svg); }
	#news .cate .event a::before { background-image: url(../../images/src/top/news_cate02_hv.svg); }
	#news .cate .meal a::before { background-image: url(../../images/src/top/news_cate03_hv.svg); }
	#news .cate .all a::before { background-image: url(../../images/src/top/news_cate04_hv.svg); }
	#news .cate .facility a::before { background-image: url(../../images/src/top/news_cate05_hv.svg); }
	#news .cate .media a::before { background-image: url(../../images/src/top/news_cate06_hv.svg); }


	#news .cate .current.recreation a::before { background-image: url(../../images/src/top/news_cate01.svg); }
	#news .cate .current.event a::before { background-image: url(../../images/src/top/news_cate02.svg); }
	#news .cate .current.meal a::before { background-image: url(../../images/src/top/news_cate03.svg); }
	#news .cate .current.all a::before { background-image: url(../../images/src/top/news_cate04.svg); }
	#news .cate .current.facility a::before { background-image: url(../../images/src/top/news_cate05.svg); }
	#news .cate .current.media a::before { background-image: url(../../images/src/top/news_cate06.svg); }


	#news .cate .recreation a {
		padding-right: 2rem;
	}
	#news .news_list {
		margin-top: 8rem;
		gap: 6rem 4.2rem;
	}

	/* 詳細 */
	
	#news.detail {
		background-color: var(--bg-color);
	}
	#news.detail article {
		position: relative;
		background: linear-gradient(to bottom, var(--green-color) 0, var(--green-color) 30%, var(--bg-color) 30%, var(--bg-color) 100%);
	}
	#news.detail article::after {
		content: '';
		position: absolute;
		top: 28%;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		height: 242px;
		background: url(../../images/src/news/wave.svg) no-repeat top center / 100%;
		z-index: 0;
	}
	#news .detail_block {
		position: relative;
		z-index: 1;
		margin-top: 6.4rem;
		padding: 6rem 8rem 10rem;
		border-radius: 20px;
		background-color: #fff;
	}
	#news .detail_block .detail_ttl {
		margin-bottom: 3.2rem;
	}
	#news .detail_block .detail_ttl .cate {
		align-items: center;
		justify-content: left;
		margin-bottom: 1.3rem;
		gap: 0 1.2rem;
	}
	#news .detail_block .detail_ttl .cate .date {
		color: var(--green-color);
		font-size: 1.8rem;
		font-weight: 600;
		letter-spacing: 0.04em;
	}
	#news .detail_block .detail_ttl .cate .cat_bx {
		border-radius: 180px;
		background-color: #fff;
		/*border: 2px solid var(--green-color);*/
	}
	#news .detail_block .detail_ttl .cate .cat_bx a {
		display: block;
		position: relative;
		padding: 0.1rem 1.7rem 0.1rem 4.1rem;
		color: var(--green-color);
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	#news .detail_block .detail_ttl .cate .cat_bx a::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		background: no-repeat left center / 100%;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.recreation a::before {
		left: 1.2rem;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/src/top/news_cate01.svg);
	}
	#news .detail_block .detail_ttl .cate .cat_bx.event a::before {
		left: 1.2rem;
		width: 1.7rem;
		height: 1.9rem;
		background-image: url(../../images/src/top/news_cate02.svg);
	}
	#news .detail_block .detail_ttl .cate .cat_bx.meal a::before {
		left: 1.2rem;
		width: 1.6rem;
		height: 1.8rem;
		background-image: url(../../images/src/top/news_cate03.svg);
	}
	#news .detail_block .detail_ttl .cate .cat_bx.facility a::before {
		left: 1.2rem;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/src/top/news_cate05.svg);
	}
	#news .detail_block .detail_ttl .cate .cat_bx.media a::before {
		left: 1.2rem;
		width: 2rem;
		height: 2rem;
		background-image: url(../../images/src/top/news_cate06.svg);
	}
	#news .detail_block .detail_ttl h2 {
		font-size: 4rem;	
		font-weight: 700;
		line-height: 1.55;
		letter-spacing: 0.04em;
	}
	
	#news .detail_block .img {
		margin-bottom: 5.6rem;
		text-align: center;
	}
	#news .detail_block .img img {
		border-radius: 10px;
		max-height: 671px;
	}
	
/*-------------------------------

  Contact お問い合わせ

------------------------------*/
	#contact .sec01 {
		padding: 10.2rem 0 10rem;
		background-color: var(--green-color);
	}
	#contact .sec01 .ttl_bx {
		margin-bottom: 6.4rem;
		color: #fff;
		text-align: center;
	}
	#contact h2 {
		position: relative;
		margin-bottom: 5rem;
		letter-spacing: 0.04em;
	}
	#contact h2::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2rem;
		margin: auto;
		width: 9rem;
		height: 0.4rem;
		background-color: #fff;
	}
	#contact .error {
		color: #BF2B2B;
		font-weight: bold;
		font-size: 1.6rem;
	}
	#contact .sec01 .ttl_bx .txt {
		font-size: 2.2rem;
		line-height: 1.72;
	}
	#contact .sec01 .flex {
		margin-bottom: 4rem;
		gap: 0 4rem;
	}
	#contact .sec01 .parts {
		position: relative;
		padding: 4rem;
		border-radius: 10px;
		background-color: #fff;
	}
	#contact .sec01 .flex .parts {
		flex: 1;
		padding: 4.4rem 4rem 4rem;
	}
	#contact .sec01 .flex .parts .ico {
		position: absolute;
		top: -4rem;
		left: 0;
		right: 0;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: baseline;
		width: 9.1rem;
		height: 9.1rem;
		text-align: center;
		border-radius: 50%;
		background-color: #fff;
	}
	#contact .sec01 .parts .ttl {
		margin-bottom: 2.4rem;
		color: var(--green-color);
		font-size: 3.8rem;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
	}
	#contact .sec01 .parts .txt {
		font-size: 2.2rem;
		line-height: 1.63;
		text-align: center;
	}
	#contact .sec01 .parts .tel {
		margin: 2rem auto 0.4rem;
		text-align: center;
	}
	#contact .sec01 .parts .tel a {
		color: var(--green-color);
		font-size: 5.2rem;
		font-weight: 600;
		letter-spacing: 0.04rem;
	}
	#contact .sec01 .parts .top_bdr {
		margin-top: 3.4rem;
		padding-top: 2.2rem;
		border-top: 3px dotted var(--border02-color);
	}
	#contact .sec01 .parts .btn01 {
		margin: 2.7rem auto 4rem;
		width: 45rem;
	}
	#contact .sec01 .parts .btn01 a::before {
		width: 6.2rem;
		height: 6.2rem;
		background: url(../../images/src/common/cta_ico01_hv.svg) no-repeat left center / 100%;
	}
	#contact .sec01 .parts .btn01 a::after {
		transform: rotate(90deg);
	}
	#contact .sec01 .parts ul {
		margin: 1.6rem 0 1rem;
		justify-content: center;
		gap: 0 4rem;
	}
	#contact .sec01 .parts ul li {
		position: relative;
		padding-left: 3.8rem;
		font-size: 2.2rem;
		font-weight: 400;
		letter-spacing: 0.04em;
	}
	#contact .sec01 .parts ul li::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3rem;
		height: 3rem;
		background: url(../../images/src/contact/check.svg) no-repeat left center / 100%;
	}
	#contact .sec02 {
		padding: 7rem 0 10rem;
		background: #F5F5F5;
	}
	#contact .sec02 h2::after {
		background-color: var(--green-color);
	}
	#contact .sec02 table {
		margin: 5rem 0 7rem;
	}
	#contact .sec02 table tr {
		border-top: 1px solid var(--border02-color);
		border-bottom: 1px solid var(--border02-color);
	}
	#contact .sec02 table tr th {
		padding: 3.6rem 9rem 3.6rem 2.8rem;
		/*width: 42.5rem;*/
		width: 35.5%;
		vertical-align: middle;
	}
	#contact .sec02 table tr th p {
		display: flex;
		justify-content: space-between;
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	#contact .sec02 .hissu {
		padding: 0 1.3rem;
		color: #fff;
		font-size: 2rem;
		font-weight: 700;
		border-radius: 7px;
		background-color: #BF2B2B;
	}
	#contact .sec02 table tr td {
		padding: 3.6rem 1.1rem 3.6rem 0;
		/*width: 73.8rem;*/
	}
	#contact .sec02 table tr td {
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 2.32;
		letter-spacing: 0.04em;
	}
	#contact .sec02 table tr td input[type="text"] {
		box-sizing: border-box;
		padding: 1.5rem 3rem;
		width: 100%;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		font-size: 2.2rem;
		font-weight: 400;
	}
	
	#contact .sec02 table tr td input.text01 {
		margin-left: auto;
		width: 21rem;
	}
	#contact .sec02 table tr td input.text02 {
		width: 94%;
	}
	#contact .sec02 table tr td .textfx {
		justify-content: start;
	}
	#contact .sec02 table tr td .textfx > p {
		width: 10rem;
		font-size: 2.2rem;
		font-weight: 700;
	}
	#contact .sec02 table tr td .textfx .bx {
		margin-left: auto;
		margin-left: 1rem;
	}
	#contact .sec02 table tr td .textfx .bx p {
		padding-right: 1rem;
		width: 6rem;
		font-size: 2.2rem;
		font-weight: 700;
	}
	
	#contact .sec02 table tr td textarea {
		padding: 2rem 3rem;
		box-sizing: border-box;
		width: 100%;
		height: 31.4rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		font-size: 2.2rem;
	}
	#contact .sec02 .checkfx {
		width: 60rem;
		justify-content: left;
		gap: 1.8rem 0;
	}
	#contact .sec02 .checkfx .checkblock {
		width: 20rem;
	}

	.checkblock input[type="radio"],
	.checkblock input[type="checkbox"] {
		display: none;
	  }
	  
	  .checkblock label {
		position: relative;
		padding-left: 36px;
		cursor: pointer;
		line-height: 24px;
	  }
	  /* ===== 共通：外枠 ===== */
	.checkblock label::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 2.4rem;
		height: 2.4rem;
		border: 1px solid var(--border02-color);
		background-color: #fff;
		transform: translateY(-50%);
		box-sizing: border-box;
	}
	/* ===== ラジオボタン ===== */
	.checkblock input[type="radio"] + label::before {
		border-radius: 50%;
	}
  
	.checkblock input[type="radio"] + label::after {
		content: "";
		position: absolute;
		left: 0.5rem;
		top: 50%;
		width: 1.4rem;
		height: 1.4rem;
		background: var(--green-color);
		border-radius: 50%;
		transform: translateY(-50%) scale(0);
		transition: 0.2s ease;
	}
  
	.checkblock input[type="radio"]:checked + label::after {
		transform: translateY(-50%) scale(1);
	}
  /* ===== チェックボックス ===== */
	.checkblock input[type="checkbox"] + label::before {
		border-radius: 4px; /* 四角 */
	}
  
	.checkblock input[type="checkbox"] + label::after {
		content: "";
		position: absolute;
		left: 0.6rem;
		top: 50%;
		width: 1.1rem;
		height: 0.6rem;
		border-left: 3px solid var(--green-color);
		border-bottom: 3px solid var(--green-color);
		transform: translateY(-60%) rotate(-45deg) scale(0);
		transition: 0.2s ease;
	}
	
	.checkblock input[type="checkbox"]:checked + label::after {
		transform: translateY(-60%) rotate(-45deg) scale(1);
	}


	#contact .check .checkblock {
		display: block;
		font-size: 2.2rem;
		text-align: center;
	}
	#contact .check .checkblock label {
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	
	#contact .privacy {
		margin-bottom: 6rem;
		padding: 4rem 5rem;
		border-radius: 10px;
		border: 1px solid var(--border02-color);
		background-color: #fff;
	}
	#contact .privacy .ttl {
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.82;
		letter-spacing: 0.04em;
	}
	#contact .privacy .txt {
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}
	#contact .privacy ol{
		list-style-type: none;
	}
	  
	#contact .privacy ol li {
		position: relative;
		counter-increment: number;
		padding-left: 4.2rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 2;
		letter-spacing: 0.04em;
	}
	#contact .privacy ol li::before {
		position: absolute;
		top: -0.2rem;
		left: 0;
		content: counter(number, decimal-leading-zero)'.';
		padding-right: 0.9rem;
		color: var(--green-color);
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	
	#contact .privacy .check {
		margin-top: 3.8rem;
		padding: 1.1rem 0;
		background-color: #EAF4E3;
	}
	#contact .input_btn_list {
		margin: 0 auto;
		justify-content: center;
		gap: 0 3rem;
	}
	
	#contact .input_btn_list input {
		padding: 2.2rem 0;
		width: 31.4rem;
		color: #fff;
		font-size: 2.4rem;
		text-align: left;
		border-radius: 180px;
		cursor: pointer;
		
		font-family: Zen Kaku Gothic New;
		font-weight: 700;
	}
	#contact .input_btn_list .ct_send input {
		padding-left: 5.5rem;
		border: 1px solid var(--green-color);
		background-color: var(--green-color);
	}
	#contact .input_btn_list .ct_back input {
		padding-left: 8.5rem;
		border: 1px solid #5c5c5c;
		background-color: #5c5c5c;
	}
	
	#contact .input_btn_list .ct_send,
	#contact .input_btn_list .ct_back {
		position: relative;
	}
	#contact .input_btn_list .ct_send input#sendform {
		padding-left: 0;
		text-align: center;
	}
	#contact .input_btn_list .ct_send::after,
	#contact .input_btn_list .ct_back::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1.3rem;
		height: 1.5rem;
	}
	#contact .input_btn_list .ct_send::after {
		right: 4rem;
		background: url(../../images/src/common/triangle_white.svg) no-repeat right center / 100%;
	}
	#contact .input_btn_list .ct_back::after {
		left: 4rem;
		transform: rotate(180deg);
		background: url(../../images/src/common/triangle_white.svg) no-repeat right center / 100%;
	}
	#contact .kome {
		margin-top: 4.5rem;
		font-size: 2.2rem;
		font-weight: 400;
		line-height: 2;
		letter-spacing: 0.04em;
		text-align: center;
	}
	
	#contact table .kome {
		margin-top: 0;
		text-align: left;
	}
}

@media screen and (min-width:1921px) {
	.top_mv .left_col {
		width: 42.93%;
	}
	.top_mv .right_img {
		width: 56.26%;
	}
	.top_mv ul li {
		flex: none;
		width: 20.3rem;
	}
}
@media screen and (max-width:1700px) {
	.top_mv ul li a {
		padding-bottom: 0;
	}
	.top_mv ul li a::after {
		bottom: 1rem;
	}
}
@media screen and (max-width:1440px) {
	.top_mv {
		padding-left: 3rem;
		padding-right: 3rem;
	}
}


/*小さめ画面 */
@media screen and (max-width:1280px) {
}

/*タブレット */
@media screen and (max-width:1180px) {
	
	.top_sec06 .left_col {
		width: 40.666%;
	}
	.top_sec06 .right_col {
		width: 52.5%;
	}
}
@media screen and (max-width:1080px) {
	#price .sec02 .cell_head_parts i {
		justify-content: center;
	}
	#price .sec02 .cell_head_parts i img {
		width: 80%;
	}
}
@media screen and (max-width:840px) {
	#price .sec02 .cell_head_parts i img {
		width: 60%;
	}
}

/*SP用*/
@media screen and (max-width:828px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	
	.inner_1200,
	.inner_980 {
		margin: 0 auto;
		width: auto;
		max-width: initial;
	}
	.ttl_jp {
		font-size: 7.729vw;
	}
	.txt {
		font-size: 4.106vw;
		line-height: 1.5;
	}
	

	/*btn01*/
	.btn01 a {
		padding: 5.556vw 0 6.28vw;
		color: #fff;
		font-size: 4.589vw;
		border-radius: 32.609vw;
		border: 0;
	}
	.btn01 a::after {
		right: 4.952vw;
		width: 2.778vw;
		height: 3.4vw;
	}
	.btn01 a::before {
		left: 2.415vw;
	}

	/* TOP page
	---------------------- */
	.top_mv {
		padding: 0 4.831vw;
	}
	.top_mv > .flex {
		align-items: center;
	}
	.top_mv .left_col {
		width: 100%;
	}
	.top_mv .right_img {
		margin-top: -6.039vw;
		width: 100%;
	}
	.top_mv .right_img img {
		width: 100%;
		border-radius: 2.415vw;
	}
	.top_mv .js_ttl02 {
		font-size: 12.002vw;
		font-weight: 500;
		line-height: 1.2;
	}
	.top_mv .js_ttl02 span {
		font-weight: 500;
	}
	.top_mv .js_ttl02 span .green {
		font-weight: 700;
	}
	.top_mv .green {
		font-size: 14.702vw;
		font-weight: 700;
	}
	.top_mv .fs98 {
		font-size: 14.702vw;
	}
	.top_mv h1.mv_txt,
	.top_mv .mv_txt {
		margin: 2.174vw 0 8.696vw;
		font-size: 4.589vw;
		line-height: 1.63;
		text-align: left;
	}
	.top_mv ul {
		gap: 0 1.812vw;
	}
	.top_mv ul li {
		flex: 1;
	}
	.top_mv ul li a {
		padding-bottom: 0;
		width: 100%;
		font-size: 4.348vw;
		line-height: 1.22;
		border-width: 0.5vw;
	}
	.top_mv ul li a::before {
		top: -4.1vw;
		width: 12.802vw;
		height: 12.802vw;
	}
	.top_mv ul li a::after {
		bottom: 2.415vw;
		width: 5.556vw;
		height: 5.556vw;
	}

	.top_sec01 {
		margin-bottom: 12.802vw;
	}
	.wave01 {
		top: -28.44vw;
	}
	.wave01 img {
		width: 100%;
	}
	.top_sec01 .sec01_wrap {
		padding-top: 11.111vw;
		margin: 0 4.831vw;
		width: auto;
		max-width: initial;
	}
	.top_sec01 .sec01_wrap .ttl_img {
		margin: 0 auto;
		width: 20.773vw;
	}
	.top_sec01 .sec01_wrap .ttl_jp {
		margin-top: 0.604vw;
	}
	.top_sec01 .sec01_wrap .txt {
		margin: 2.174vw 0 6.039vw;
		font-size: 4.831vw;
		line-height: 1.4;
	}
	.top_sec01 .sec01_wrap .feature_list {
		gap: 0;
	}
	.top_sec01 .sec01_wrap .feature_list .parts {
		flex: auto;
		padding: 4.831vw;
		width: 100%;
		border-radius: 1.689vw;
	}
	.top_sec01 .sec01_wrap .feature_list .parts + .parts {
		margin-top: 4.831vw;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .img {
		width: 41.425vw;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .img img {
		border-radius: 1.691vw;
	}
	.top_sec01 .sec01_wrap .feature_list .parts  .ttl {
		width: 34.541vw;
		font-size: 5.556vw;
		font-weight: 700;
		letter-spacing: 0.04em;
		text-align: center;
        white-space: nowrap;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .ttl i {
		display: block;
		margin: 0 auto;
	}
	.top_sec01 .sec01_wrap .feature_list .parts:nth-of-type(1) .ttl i { width: 7.488vw; }
	.top_sec01 .sec01_wrap .feature_list .parts:nth-of-type(2) .ttl i { width: 5.556vw; }
	.top_sec01 .sec01_wrap .feature_list .parts:nth-of-type(3) .ttl i { width: 6.28vw; }

	.top_sec01 .sec01_wrap .feature_list .parts .textarea {
		padding: 0;
	}
	.top_sec01 .sec01_wrap .feature_list .parts .textarea .txt {
		margin-top: 3.14vw;
		font-size: 4.348vw;
		line-height: 1.44;
	}
	.top_sec02 {
		margin: 0 4.831vw 9.662vw;
		width: auto;
		max-width: initial;
		gap: 0;
	}
	.top_sec02 .ttl_img {
		margin: 0 auto;
		width: 27.536vw;
		text-align: center;
	}
	.top_sec02 .ttl_jp {
		margin-bottom: 6.039vw;
	}
	.top_sec02 .left_col {
		margin: 0 0 4.831vw;
		width: 100%;
	}
	.top_sec02 .left_col img {
		border-radius: 1.691vw;
	}
	.top_sec02 .right_col {
		width: 100%;
	}
	.top_sec02 .right_col .quate_txt {
		margin-bottom: 2.899vw;
		font-size: 6.763vw;
	}
	.top_sec02 .right_col .quate_txt span {
		padding-right: 3.865vw;
	}
	.top_sec02 .right_col .quate_txt span::before,
	.top_sec02 .right_col .quate_txt span::after {
		width: 3.865vw;
		height: 2.778vw;
	}
	.top_sec02 .right_col .quate_txt span::before {
		left: -3vw;
	}
	.top_sec02 .right_col .quate_txt span::after {
		right: -0.4vw;
	}
	.top_sec02 .right_col .txt {
		width: auto;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	
	.top_sec02 .right_col .btn01 {
		margin: 6.039vw auto 0;
		width: 75.845vw;
	}
	.top_sec02 .right_col .btn01 a {
		padding-left: 5.435vw;
	}
	.top_sec02 .right_col .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}
	.swiper01 .swiper-slide img {
		border-radius: 1.685vw;
	}
	.top_sec02_price {
		padding: 10.87vw 4.831vw 14.493vw;
		text-align: center;
	}
	.top_sec02_price .ttl_img {
		margin: 0 auto;
		width: 11.353vw;
	}
	.top_sec02_price .ttl {
		padding: 2.174vw 0 6.039vw;
		font-size: 4.831vw;
	}
	.top_sec02_price .txt {
		text-align: left;
	}
	.btn_price {
		margin: 6.039vw 0 8.454vw;
		width: 100%;
	}	
	.btn_price a {
		padding: 16.667vw 0 3.865vw;
		font-size: 5.314vw;
		border-radius: 1.332vw;
		border-width: 0.799vw;
	}
	.btn_price a::before {
		left: 0;
		right: 0;
		top: 3.623vw;
		bottom: auto;
		width: 12.56vw;
		height: 12.56vw;
	}
	.btn_price a::after {
		content: '';
		position: absolute;
		right: 1.329vw;
		top: auto;
		bottom: 1.329vw;
		width: 4.227vw;
		height: 4.227vw;
		background: url(../../images/src/top/price_tri.svg) no-repeat right bottom / 100%;
	}
	.top_sec02_price .btn01 {
		margin: 0 auto;
		width: 75.845vw;
	}
	.top_sec02_price .btn01 a {
		padding-left: 5vw;
	}
	.top_sec02_price .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}


	.top_sec03 {
		margin: 0 2.415vw 12.802vw;
		padding: 10.386vw 3.623vw 13.285vw;
		border-radius: 2.415vw;
		background-image: url(../../images/src/top/sp/sec03_bg01.webp);
	}
	.top_sec03 .ttl_img {
		margin: 0 auto;
		width: 10.749vw;
	}
	.top_sec03 .sub_ttl {
		margin: 2.174vw 0 7.729vw;
		font-size: 4.831vw;
		line-height: 1.4;
	}
	.top_sec03 .step_list {
		margin-bottom: 9.662vw;
		gap: 7.367vw 0;
	}
	.top_sec03 .step_list .parts {
		flex: auto;
		width: 100%;
		margin-left: 5.797vw;
		padding: 4.589vw 4.831vw 6.522vw 11.957vw;
		border-radius: 1.208vw;
	}
	.top_sec03 .step_list .parts::after {
		top: auto;
		bottom: -5.435vw;
		right: 0;
		left: 0;
		margin: 0 auto;
		width: 10.628vw;
		height: 5.435vw;
		background: url(../../images/src/common/sp/triangle_white02.svg) no-repeat right top / 100%;
	}
	.top_sec03 .step_list .parts .ico {
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		left: -5.797vw;
		width: 16.787vw;
		height: 16.787vw;
	}
	/*.top_sec03 .step_list .parts:nth-of-type(1) .ico img {width: 7.367vw;}
	.top_sec03 .step_list .parts:nth-of-type(2) .ico img {width: 9.541vw;}
	.top_sec03 .step_list .parts:nth-of-type(3) .ico img {width: 8.937vw;}
	.top_sec03 .step_list .parts:nth-of-type(4) .ico img {width: 8.213vw;}*/
	.top_sec03 .step_list .parts:last-of-type .ico {
		padding-left: 0;
	}
	.top_sec03 .step_list .parts .step {
		margin-top: 0;
		font-size: 4.831vw;
		text-align: left;
	}
	.top_sec03 .step_list .parts .step span {
		font-size: 5.797vw;
	}
	.top_sec03 .step_list .parts .ttl {
		display: block;
		margin: 1.932vw 0 2.415vw;
		height: auto;
		font-size: 5.072vw;
		line-height: 0.9;
		text-align: left;
	}
	.top_sec03 .bnr {
		margin: 0 auto;
		max-width: initial;
		width: auto;
	}
	.top_sec03 .btn01 {
		margin: 8.454vw auto 0;
		width: 75.845vw;
	}
	.top_sec03 .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}
	.top_sec04 {
		margin: 0;
	}
	.top_sec04 .ttl_img {
		margin: 0 auto;
		width: 12.077vw;
	}
	.top_sec04 .ttl_jp {
		text-align: center;
	}
	.top_sec04 .subtxt_box {
		display: block;
		margin: 2.174vw 0 6.039vw;
	}
	.top_sec04 .subtxt_box .sub_txt {
		margin-bottom: 4.831vw;
		font-size: 4.831vw;
		line-height: 1.4;
	}
	.top_sec04 .cate {
		justify-content: center;
		gap: 2.415vw 1.028vw;
	}
	.top_sec04 .cate p a,
	.top_sec04 .news_list .cate .cate_ico,
	#news .cate p a {
		padding: 0.966vw 3.865vw 1.208vw 10.99vw;
		font-size: 3.865vw;
		line-height: 2;
		border-width: 0.431vw;
		border-radius: 38.778vw;
	}
	.top_sec04 .cate .all a {
		padding: 0.966vw 3.865vw 1.208vw 10.145vw;
	}
	.top_sec04 .cate .media a {
		padding: 0.966vw 3.865vw 1.208vw 10.99vw;
	}
	.top_sec04 .cate .recreation a {
		padding: 0.966vw 3.865vw 1.208vw 10.99vw;
	}
	.top_sec04 .cate p a::before,
	.top_sec04 .news_list .cate .cate_ico::before,
	#news .cate p a::before {
		left: 2.536vw;
	}
	.top_sec04 .cate .all a::before,
	.top_sec04 .news_list .cate .all::before,
	#news .cate .all a::before {
		left: 3.382vw;
		width: 4.348vw;
		height: 2.899vw;
	}
	#news .cate .media a::before,
	.top_sec04 .cate .media a::before {
		left: 3.623vw;
		width: 5.072vw;
		height: 5.072vw;

	}
	.top_sec04 .news_list .cate .media::before {
		left: 2.623vw;
		width: 4.072vw;
		height: 4.072vw;
	}
	.top_sec04 .cate .recreation a::before,
	.top_sec04 .news_list .cate .recreation::before,
	#news .cate .recreation a::before {
		width: 7.609vw;
		height: 7.609vw;
	}
	.top_sec04 .cate .event a::before,
	.top_sec04 .news_list .cate .event::before,
	#news .cate .event a::before {
		left: 5.072vw;
		width: 4.106vw;
		height: 4.831vw;
	}
	.top_sec04 .cate .event a::before,
	#news .cate .event a::before {
		left: 5.072vw;
	}
	.top_sec04 .cate .meal a::before,
	.top_sec04 .news_list .cate .meal::before,
	#news .cate .meal a::before {
		width: 6.28vw;
		height: 6.28vw;
	}
	.top_sec04 .cate .meal a::before,
	#news .cate .meal a::before {
		left: 3.382vw;
	}
	.top_sec04 .news_list {
		margin: 6.039vw 4.831vw 0;
		gap: 9.179vw 0;
	}
	.top_sec04 .news_list .parts {
		flex: auto;
		width: 100%;
	}
	.top_sec04 .news_list .parts .img {
		margin-bottom: 3.623vw;
	}
	.top_sec04 .news_list .parts .img img {
		border-radius: 1.208vw;
		height: 58.213vw;
	}
	.top_sec04 .news_list .parts .cate {
		margin-bottom: 2.174vw;
	}
	.top_sec04 .news_list .parts .cate .date {
		font-size: 3.865vw;
	}
	.top_sec04 .news_list .parts .cate .cate_ico {
		padding: 1.812vw 4.348vw 1.691vw 7.662vw;
	}
	.top_sec04 .news_list .parts .cate .recreation::before {
		left: 2.415vw;
		width: 4.348vw;
		height: 4.348vw;
	}
	.top_sec04 .news_list .parts .cate .event::before {
		left: 3.415vw;
		width: 3vw;
		height: 4.348vw;
	}
	.top_sec04 .news_list .parts .cate .meal::before {
		left: 2.415vw;
		width: 4.348vw;
		height: 4.348vw;
	}
	.top_sec04 .news_list .parts .ttl {
		margin-bottom: 2.657vw;
		font-size: 5.072vw;
		line-height: 1.42;
		min-height: initial;
	}
	.top_sec04 .news_list .parts .txt {
		padding-top: 3.14vw;
		border-top-width: 0.362vw;
		line-height: 1.52;
	}
	.top_sec04 .btn01,
	.navigation .btn01 {
		margin: 7.246vw auto 0;
		width: 57.729vw;
	}
	.top_sec04 .btn01 a::before,
	.navigation .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}

	
	.top_sec05 {
		margin-top: 9.662vw;
		padding: 16.425vw 4.831vw 10.87vw;
		background-image: url(../../images/src/top/sp/wave_bg.svg);
	}
	.top_sec05 .ttl_img {
		margin: 0 auto;
		width: 12.923vw;
	}
	.top_sec05 .ttl_jp {
		margin: 0.483vw 0 0;
	}
	.top_sec05 .sub_ttl {
		margin-top: 2.174vw;
		font-size: 4.831vw;
		line-height: 1.4;
	}
	.top_sec05 .voice_list {
		margin-top: 6.039vw;
		gap: 6.039vw 0;
	}
	.top_sec05 .voice_list .parts {
		flex: auto;
		padding: 3.744vw 3.623vw 5.797vw;
		border-radius: 3.115vw;
	}	
	.top_sec05 .voice_list .parts .img img {
		height: 53.865vw;
		border-radius: 1.557vw;
	}
	.top_sec05 .voice_list .parts .ttl {
		margin: 3.14vw 0 2.053vw;
		font-size: 5.314vw;
	}
	.top_sec05 .voice_list .parts .txt {
		margin-bottom: 5.193vw;
	}
	.top_sec05 .voice_list .parts .voice_bx .voice_name {
		font-size: 4.348vw;
	}
	.top_sec05 .voice_list .parts .voice_bx .voice_period {
		padding: 0 1.932vw;
		border-width: 0.311vw;
		border-radius: 1.09vw;
		font-size: 4.106vw;
	}
	.top_sec06 {
		padding: 0 4.831vw 14.493vw;
	}
	.top_sec06 .left_col {
		width: 100%;
	}
	.top_sec06 .left_col .quate_txt {
		font-size: 6.763vw;
	}
	.top_sec06 .left_col .quate_txt span {
		padding-right: 4vw;
	}
	.top_sec06 .left_col .quate_txt::before,
	.top_sec06 .left_col .quate_txt span::after {
		width: 4.106vw;
		height: 3.019vw;
	}
	.top_sec06 .left_col .quate_txt::before {
		top: -0.362vw;
		left: -2.415vw;
	}
	.top_sec06 .left_col .quate_txt span::after {
		bottom: -0.022vw;
		right: 0;
	}
	.top_sec06 .left_col .txt {
		margin: 3.14vw 0 7.246vw;
		font-size: 4.589vw;
		line-height: 1;
		white-space: nowrap;
	}
	.top_sec06 .left_col .img img {
		border-radius: 1.849vw;
	}
	.top_sec06 .right_col {
		margin-top: 8.454vw;
		width: 100%;
	}
	.top_sec06 .right_col a {
		display: block;
		padding: 4.106vw 15.338vw 4.589vw 0;
		width: 100%;
		border-top-width: 0.362vw;
	}
	.top_sec06 .right_col a:last-of-type {
		border-bottom-width: 0.362vw;
	}
	.top_sec06 .right_col a::after {
		width: 6.039vw;
		height: 6.039vw;
	}
	.top_sec06 .right_col .ttl_bx .en {
		font-size: 3.865vw;
	}
	.top_sec06 .right_col .ttl_bx .ttl {
		margin: 0 0 1.087vw;
		font-size: 5.314vw;
	}
	.top_sec06 .right_col .txt {
		width: auto;
		font-size: 4.348vw;
		line-height: 1.5;
	}
	.top_sec06 .right_col .ttl_bx .ttl,
	.top_sec06 .right_col .ttl_bx .txt,
	.top_sec06 .right_col a::after {
		transition: .7s;
	}
	
	.top_access {
		margin: 0;
		padding: 9.662vw 0 13.285vw;
	}
	.top_access #access {
		padding-bottom: 0;
		margin-top: -20vw;
		padding-top: 20vw;
	}
/*-------------------------------

  下層汎用
	
------------------------------*/
	.mv_inner {
		padding: 0 4.831vw;
	}
	.mv_inner .left_col {
		width: 100%;
	}
	.mv_inner .left_col .ttl_jp {
		margin-bottom: 1.449vw;
		font-size: 8.696vw;
	}
	.mv_inner .left_col .txt {
		font-size: 4.589vw;
		line-height: 1.42;
	}
	.mv_inner .img {
		margin-top: 6.039vw;
		width: 100%;
	}
	.mv_inner .img img {
		border-radius: 2.415vw;
	}

	/* パンくず */
	.breadcrumbs {
		padding: 3.865vw 0 0 4.831vw;
	}
	.breadcrumbs::after {
		top: -21.86vw;
		height: 48.188vw;
		background-image: url(../../images/src/common/sp/wave.svg);
	}
	.breadcrumbs > * {
		margin-right: 3rem;
	}
	.breadcrumbs span {
		font-size: 4.348vw;
	}
	.breadcrumbs img {
		width: 2.778vw;
		vertical-align: inherit;
	}
	.caution {
		position: relative;
		margin-bottom: 4rem;
		padding-left: 5rem;
		color: var(--red--color);
		font-size: 3.2rem;
		font-weight: 700;
		line-height: 1.31;
		letter-spacing: 0.04em;
	}
	.caution::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.7rem;
		height: 3.3rem;
		background: url(../../images/src/common/caution.svg) no-repeat left center / 100%;
	}

	.wp-pagenavi {
		margin: 12.077vw auto 12.077vw;
		gap: 0 20px;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		width: 7.246vw;
		font-size: 4.348vw;
	}
	.navigation {
		position: relative;
		margin: 7.246vw 4.831vw 48.309vw;
	}
	.navigation .prev,
	.navigation .next {
		width: 27.295vw;
	}
	.navigation .prev a,
	.navigation .next a {
		font-size: 4.348vw;
	}
	.navigation .prev a {
		padding-left: 9.179vw;
	}
	.navigation .next a {
		padding-right: 9.179vw;
	}
	.navigation .prev a::after,
	.navigation .next a::after {
		width: 7.246vw;
		height: 7.246vw;
	}
	.navigation .btn01 {
		position: absolute;
		top: 13.768vw;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	h2 {
		font-size: 7.246vw;
	}
	/* ポップアップ用 */
	.popup__inner {
		top: 14vw;
	}
	.popup__content {
		margin: 0 4.831vw;
		max-width: initial;
		width: 100%;
		border-radius: 2.529vw;
	}
	.popup__content .popup__close {
		top: -7.367vw;
	}
	.popup__content .popup__close img {
		width: 6.039vw;
	}
	.popup__content .ico {
		top: -7.246vw;
		width: 16.304vw;
	}
	.popup__content .ico img {
		width: 100%;
	}
	.popup__content .result {
		height: 100vh;
		overflow: scroll;
	}
	.popup__content .popup_block,
	.popup__content #result_block .popup_block {
		padding: 4.831vw 4.831vw 6.039vw;
	}
	.popup__content h2 {
		font-size: 7.005vw;
		line-height: 1.27;
	}
	.popup__content .price_bx {
		margin-top: 2.536vw;
		padding: 4.348vw 4.831vw 4.831vw;
		border-radius: 2.529vw;
	}
	.popup__content .price_bx .ttl {
		margin-bottom: 1.329vw;
		font-size: 4.831vw;
	}
	.popup__content .price_bx select {
		padding: 2.415vw 4.227vw;
		font-size: 4.348vw;
		border-radius: 1.265vw;
	}
	
	.popup__content .price_bx .kome {
		margin: 2.295vw 0 3.623vw 4.106vw;
		font-size: 4.106vw;
		font-weight: 400;
		line-height: 1.47;
		text-indent: -4.106vw;
	}
		
	.popup__content .simu_btn {
		padding: 5.556vw 0 5.918vw;
		width: 100%;
		font-size: 4.589vw;
		border-radius: 32.609vw;
	}
	.popup__content .simu_btn::after {
		right: 4.348vw;
		width: 2.415vw;
		height: 2.778vw;
	}
		
	/* 結果画面 */
	.popup__content .result_bx .ttl {
		margin-bottom: 2.536vw;
	}
	.popup__content .result_bx .ttl .green {
		font-size: 6.039vw;
	}
	.popup__content .result_bx .pricebx {
		justify-content: center;
		gap: 2.899vw 0;
	}
	.popup__content .result_bx table {
		position: relative;
		width: 100%;
	}
	.popup__content .result_bx table::after {
		left: 0;
		right: 0;
		top: auto;
		bottom: -4vw;
		width: 5.314vw;
		height: 5.314vw;
		z-index: 1;
	}
	.popup__content .result_bx table:nth-of-type(4)::after {
		display: none;
	}
	.popup__content .result_bx table.total::after {
		display: none;
	}
	.popup__content .result_bx table th,
	.popup__content .result_bx table td {
		display: table-cell;
		padding: 2.831vw 3.019vw;
		font-size: 4.348vw;
	}
	.popup__content .result_bx table td span {
		font-size: 5.797vw;
	}
	.popup__content .result_bx table th {
		line-height: 1.22;
		width: 41.063vw;
		text-align: left;
		border-bottom: 0.1rem solid var(--border02-color);
	}
	.popup__content .result {
		width: auto;
	}
	.popup__content .cta_sec {
		padding: 8.454vw 4.831vw 26vw;
		border-radius: 0 0 2.415vw 2.415vw;
	}
	.popup__content .cta_sec .cta_txt {
		margin-bottom: 6.522vw;
		font-size: 4.589vw;
		line-height: 1.47;
	}
	.popup__content .cta_sec .flex {
		display: block;
	}
	.popup__content .cta_sec .btn01 {
		width: 100%;
	}
	.popup__content .cta_sec .btn01 a {
		padding: 0 0 0 18.478vw;
		height: 18.116vw;
	}
	.popup__content .cta_sec .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}
	.popup__content .cta_sec .btn01.tel {
		margin-top: 4.831vw;
	}
	.popup__content .cta_sec .btn01.tel a::before {
		width: 13.285vw;
		height: 13.285vw;
	}
	.popup__content .cta_sec .btn01.tel a::after {
		display: block;
	}
	

	#not4 {
		margin-top: 7.246vw;
		padding: 9.662vw 0 12.077vw;
	}
	#not4 .btn01 {
		margin: 7.246vw auto 0;
		width: 80.676vw;
	}


/*-------------------------------

Information 施設案内

------------------------------*/

	#info .sec01 {
		padding: 10.87vw 4.831vw 12.077vw;
	}
	#info h2::after {
		bottom: -2.657vw;
		width: 9rem;
		height: 0.483vw;
	}
	#info .sec01 .left_col,
	#info .sec01 .right_col {
		width: 100%;
		max-width: initial;
	}
	#info .sec01 .left_col h2 {
		margin-bottom: 7.488vw;
	}
	#info .sec01 .left_col .txt {
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#info .sec01 .left_col .txt + .txt {
		margin-top: 4vw;
	}
	#info .sec01 .right_col .img {
		margin: 5.797vw auto 0;
		width: 52.295vw;
	}
	#info .sec01 .right_col .txt01 {
		margin-top: 3.019vw;
		font-size: 4.348vw;
	}
	#info .sec01 .right_col .txt02 {
		font-size: 4.348vw;
	}
	#info .sec01 .right_col .txt02 span {
		font-size: 5.314vw;
	}
	#info .sec02 {
		padding: 10.87vw 4.831vw 12.077vw;
	}
	#info h2::after {
		bottom: -2.415vw;
		width: 10.87vw;
		height: 0.483vw;
	}
	#info .sec02 h2 {
		margin-bottom: 6.039vw;
	}
	#info .sec02 .about_bx {
		margin-top: 6.039vw;
	}
	#info .sec02 .about_bx .img {
		width: 100%;
	}
	#info .sec02 .about_bx .img img {
		border-radius: 1.208vw;
	}
	#info .sec02 .about_bx .right_col {
		margin-top: 3.623vw;
		width: 100%;
		gap: 3.14vw 0;
	}
	#info .sec02 .about_bx .right_col dl {
		padding: 4.831vw 16.787vw;
		border-radius: 1.208vw;
	}
	#info .sec02 .about_bx .right_col dl + dl {
		margin-top: 2rem;
	}
	#info .sec02 .about_bx .right_col dl::before {
		left: 6.039vw;
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(1)::before {
		width: 5.918vw;
		height: 5.918vw;
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(2)::before {
		left: 6.039vw;
		width: 5.35vw;
		height: 7vw;
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(3)::before {
		width: 5.918vw;
		height: 5.918vw;
	}
	#info .sec02 .about_bx .right_col dl:nth-of-type(4)::before {
		left: 6.039vw;
		width: 6.28vw;
		height: 7.005vw;
	}
	#info .sec02 .about_bx .right_col dl dt {
		font-size: 4.831vw;
		line-height: 1.2;
	}
	#info .sec02 .about_bx .right_col dl dd {
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#info .sec03 {
		padding: 9.662vw 4.831vw 12.077vw;
	}
	#info .sec03 h2 {
		margin-bottom: 6.039vw;
	}
	#info .sec03 .room_bx {
		margin: 7.246vw 0 9.662vw;
		padding-bottom: 10.87vw;
		gap: 9.662vw 0;
	}
	#info .sec03 .room_bx .left_col,
	#info .sec03 .room_bx .right_col {
		flex: none;
		width: 100%;
	}
	#info .sec03 .room_bx h3 {
		margin-bottom: 3.623vw;
		padding-left: 2.415vw;
		border-left-width: 0.725vw;
		font-size: 5.797vw;
	}
	#info .sec03 .room_bx .txt {
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#info .sec03 .room_bx table {
		margin-top: 4.952vw;
	}
	#info .sec03 .room_bx table th {
		padding: 3.623vw 0;
		width: 20.531vw;
		font-size: 4.348vw;
	}
	#info .sec03 .room_bx table td {
		padding: 3.623vw 4.831vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#info .sec03 .room_bx .img {
		padding: 3.986vw 5.193vw 1.691vw 6.28vw;
		border-radius: 1.208vw;
		border-width: 0.121vw;
	}
	#info .sec03 .space_bx {
		margin-top: 6.039vw;
		gap: 3.623vw 0;
	}
	#info .sec03 .space_bx .parts {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding: 2.415vw 2.415vw 4.348vw 4.831vw;
		flex: none;
		width: 100%;
		border-radius: 1.208vw;
		border-width: 0.121vw;
	}
	#info .sec03 .space_bx .parts .img {
		order: 2;
	}
	#info .sec03 .space_bx .parts .img img {
		border-radius: 1.208vw;
		width: 45.652vw;
	}
	#info .sec03 .space_bx .parts .ttl {
		order: 1;
		padding: 0;
		font-size: 5.314vw;
	}
	#info .sec03 .space_bx .parts .txt {
		order: 3;
		width: 100%;
		padding: 3.623vw 0 0;
		font-size: 4.348vw;
	}
	#access {
		margin-bottom: 13.406vw;
		padding: 0 4.831vw;
	}
	#access h2 {
		margin-bottom: 6.039vw;
	}
	#access .txt {
		font-size: 4.348vw;
	}
	#access .flex {
		margin-top: 5.4rem;
	}
	#access iframe {
		width: 100%;
		aspect-ratio: 187 / 173;
	}
	#access .right_col {
		margin-top: 3.623vw;
		width: 100%;
	}
	#access .right_col .ttl {
		margin-bottom: 2.657vw;
		font-size: 5.314vw;
		line-height: 1.54;
	}

	#access .right_col .txt {
		line-height: 1.55;
	}
	#access .right_col .btn01 {
		margin: 4.831vw auto 0;
		width: 80.676vw;
	}
	#access .right_col .btn01 a {
		padding: 3.744vw 0 4.106vw;
		font-size: 4.589vw;
		text-align: center;
	}
	#access .right_col .btn01 a::after {
		right: 5.556vw;
	}

	/*-------------------------------

	Price 料金案内

	------------------------------*/
	#price .sec01 {
		padding: 10.87vw 4.831vw 12.077vw;
	}
	#price .sec01 .txt {
		font-size: 4.831vw;
		line-height: 1.6;
	}
	#price .sec01 .btn_price {
		margin-bottom: 0;
	}
	#price .sec02 {
		position: relative;
		padding: 9.662vw 0 9.662vw 4.831vw;
	}
	#price h2 {
		margin-bottom: 6.039vw;
	}
	#price h2::after {
		bottom: -2.415vw;
		width: 10.87vw;
		height: 0.483vw;
	}
	#price h2 span {
		font-size: 4.589vw;
	}
	#price .sec02 .txt {
		margin-bottom: 6.039vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	.scroll-hint-icon {
		top: 10%;
		transform: scale(2); 
	  }
	#price .sec02 .scroll {
		overflow: scroll;
	}
	#price .sec02 .scroll .table {
		padding-right: 4.831vw;
		width: 225.628vw;
	}
	#price .sec02 .col {
		margin-bottom: 2.415vw;
		gap: 0 2.415vw;
	}
	#price .sec02 .col_body {
		margin-bottom: 2.415vw;
		align-items: stretch;
		gap: 0 2.415vw;
	}
	#price .sec02 .cell_head_ttl {
		margin-right: 0;
		padding: 5.314vw 0;
		width: 36.715vw;
	}
	#price .sec02 .cell_head_ttl p {
		margin-left: -3vw;
		font-size: 4.348vw;
	}
	#price .sec02 .cell_head_parts {
		flex-direction: row;
		padding: 2.657vw 0 2.657vw 4.106vw;
		height: 16.546vw;
		border-radius: 0.483vw;
		gap: 2.415vw 0;
		flex: none;
		width: 43.063vw;
	}
	#price .sec02 .cell_head_parts p.pleft {
		padding-left: 3vw;
	}
	#price .sec02 .cell_head_parts.ttl_total {
		padding: 2.657vw 4.106vw;
	}
	#price .sec02 .cell_head_parts.ttl_total p {
		margin-left: 0;
	}
	#price .sec02 .cell_head_parts.n3 {
		padding: 2.657vw 0 2.657vw 2.657vw;

	}
	#price .sec02 .cell_head_parts::after {
		right: -3.55vw;
		width:4.227vw;
		height: 4.227vw;
	}
	#price .sec02 .cell_head_parts:nth-of-type(4)::after {
		height: 1.691vw;
	}
	#price .sec02 .cell_head_parts i {
		height: auto;
	}
	#price .sec02 .cell_head_parts i img {
		height: 100%;
	}
	#price .sec02 .cell_head_parts p {
		margin-left: 1.812vw;
		font-size: 4.348vw;
		line-height: 1.27;
		justify-content: left;
	}
	#price .sec02 .cell_head_parts.ttl_total p {
		justify-content: center;

	}
	#price .sec02 .cell_body_ttl {
		margin-right: 0;
		padding: 2px;
		width: 36.715vw;
	}
	#price .sec02 .cell_body_ttl__in {
		padding: 2.415vw 0 3.019vw;
	}
	#price .sec02 .cell_body_ttl p {
		margin-left: -3vw;
		font-size: 4.348vw;
		line-height: 1.27;
	}
	#price .sec02 .cell_body_parts {
		border-radius: 0.483vw;
	}
	#price .sec02 .cell_body_parts p {
		font-size: 4.348vw;
		line-height: 1.27;
	}
	#price .sec02 .cell_body_parts.total p {
		font-size: 4.348vw;
	}
	#price .sec02 ul {
		margin-top: 4.831vw;
	}
	#price .sec02 ul li {
		padding-left: 4.227vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#price .sec02 ul li::before {
		top: 2.5vw;
		width: 1.932vw;
		height: 1.932vw;
	}
	#price .sec03 {
		padding: 10.87vw 0 13.285vw;
	}
	#price .sec03 h2 {
		line-height: 1;
	}
	#price .sec03 h2::after {
		bottom: -3vw;
	}
	#price .sec03 .txt {
		margin-bottom: 6.039vw;
		font-size: 4.348vw;
	}
	#price .sec03 .block {
		margin: 0 2.415vw;
		gap: 2.657vw 2.415vw;
	}
	#price .sec03 .block .parts {
		flex: none;
		width: 46.377vw;
		padding: 4.106vw;
		border-radius: 1.208vw;
	}
	#price .sec03 .block.flex.b_pc {
		display: none;
	}
	#price .sec03 .block .parts.pts05,
	#price .sec03 .block .parts.pts06 {
		padding-bottom: 4.469vw;
	}
	#price .sec03 .block .parts.pts05 {
		margin-bottom: 0;
	}
	#price .sec03 .block .parts .ico {
		margin-bottom: 2.295vw;
		height: 11.111vw;
	}
	#price .sec03 .block .parts .ico img {
		height: 100%;
	}
	
	#price .sec03 .block .parts.pts01 .ico img {
		width: 8.696vw;
	}
	#price .sec03 .block .parts.pts02 .ico img {
		width: 6.401vw;
	}
	#price .sec03 .block .parts.pts03 .ico img {
		width: 5.193vw;
	}
	#price .sec03 .block .parts.pts04 .ico img {
		width: 7.729vw;
	}
	#price .sec03 .block .parts.pts05 .ico img {
		width: 12.56vw;
	}
	#price .sec03 .block .parts.pts06 .ico img {
		width: 7.005vw;
	}
	#price .sec03 .block .parts.pts07 .ico img {
		width: 7.126vw;
	}
	#price .sec03 .block .parts .ttl {
		margin-bottom: 3.14vw;
		font-size: 5.072vw;
	}
	#price .sec03 .block .parts.pts01 .price,
	#price .sec03 .block .parts.pts02 .price,
	#price .sec03 .block .parts.pts03 .price {
		height: auto;
	}
	#price .sec03 .block .parts .price p {
		font-size: 5.072vw;
	}
	#price .sec03 .block .parts .price span {
		font-size: 6.763vw;
		line-height: 1.14;
	}
	#price .sec03 .block .parts .txt {
		margin: 2.053vw 0 0;
		font-size: 4.106vw;
		line-height: 1.52;
	}

	/*-------------------------------

	Step 入居案内

	------------------------------*/
	#step h2 {
		margin-bottom: 6.039vw;
	}
	#step h2::after {
		bottom: -2.415vw;
		width: 10.87vw;
		height: 0.483vw;
	}
	#step .sec01 {
		padding: 10.87vw 4.831vw 13.527vw;
	}
	#step .sec01 .txt {
		margin-bottom: 6.039vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}

	#step .sec01 .flex {
		margin-bottom: 3.623vw;
		gap: 4.831vw 0;
	} 
	#step .sec01 .parts {
		width: 100%;
		flex: none;
	}
	#step .sec01 .parts .img {
		width: 16.304vw;
	}
	#step .sec01 .parts .bx {
		margin-left: -3.261vw;
		padding: 3.831vw 1vw 3.986vw 5.28vw;
		width: 77.295vw;
		border-radius: 1.208vw;
	}
	#step .sec01 .parts .bx p {
		font-size: 4vw;
		line-height: 1.55;
	}
	#step .sec01 .parts .bx .ttl {
		font-size: 4.831vw;
		line-height: 1.2;
	}
	#step .sec01 .kome {
		margin-left: 4.348vw;
		text-indent: -4.348vw;
		font-size: 4.348vw;
		line-height: 1.55;
		text-align: left;
	}
	#step .sec02 {
		padding: 9.662vw 4.831vw 10.507vw;
	}
	#step .sec02 .txt {
		margin-bottom: 6.039vw;
		font-size: 4.348vw;
	}
	#step .sec02 .flow_parts {
		padding: 4.831vw;
		border-radius: 1.208vw;
	}
	#step .sec02 .flow_parts::after {
		bottom: -8.575vw;
		width: 8.937vw;
		height: 4.952vw;
	}
	#step .sec02 .flow_parts:last-of-type::after {
		display: none;
	}
	#step .sec02 .flow_parts + .flow_parts {
		margin-top: 10.5vw;
	}
	#step .sec02 .flow_parts .align_c {
		margin-bottom: 2.295vw;
		width: 100%;
	}
	#step .sec02 .flow_parts .ico {
		order: 2;
		width: 20.169vw;
	}
	
	#step .sec02 .flow_parts:nth-of-type(2) .ico img { width: 14.614vw; }
	#step .sec02 .flow_parts:nth-of-type(3) .ico img { width: 10.628vw; }
	#step .sec02 .flow_parts:nth-of-type(4) .ico img { width: 16.546vw; }

	#step .sec02 .flow_parts .txtbx {
		order: 1;
		margin-left: 0;
		width: 65%;
	}
	#step .sec02 .flow_parts .txtbx .f_mont {
		font-size: 4.348vw;
	}
	#step .sec02 .flow_parts .txtbx .f_mont .num {
		font-size: 5.314vw;
	}
	#step .sec02 .flow_parts .txtbx .ttl {
		margin: 1.087vw 0 0;
		font-size: 5.314vw;
		line-height: 1.36;
	}
	#step .sec02 .flow_parts .txt {
		margin-bottom: 3.623vw;
		font-size: 4.348vw;
		font-weight: 400;
		line-height: 1.55;
	}
	#step .sec02 .flow_parts .check_bx {
		padding: 3.623vw 03.623vw 4.106vw;
		width: 100%;
		border-radius: 1.208vw;
	}
	#step .sec02 .flow_parts ul li {
		padding-left: 6.401vw;
		font-size: 4.348vw;
	}
	#step .sec02 .flow_parts ul li::before {
		top: 1.208vw;
		width: 4.106vw;
		height: 3.14vw;
	}
	#step .sec02 .flow_parts ul li + li {
		margin-top: 1.812vw;
	}

	#step .sec03 {
		padding: 9.662vw 4.831vw 12.077vw;
	}
	#step .sec03 .txt {
		margin-bottom: 5.556vw;
		font-size: 4.348vw;
	}
	#step .sec03 .list_bx {
		margin-bottom: 6.039vw;
		gap: 10.87vw 0;
	}
	#step .sec03 .parts {
		width: 100%;
		flex: none;
		padding: 4.831vw 3.623vw 3.623vw;
		border-radius: 1.208vw;
	}
	#step .sec03 .parts::after {
		right: 0;
		left: 0;
		top: auto;
		bottom: -9vw;
		width: 7.005vw;
		height: 7.005vw;
	}
	#step .sec03 .parts .ttl {
		margin-bottom: 4.106vw;
		font-size: 5.072vw;
	}
	#step .sec03 .parts .white_bx {
		flex: none;
		padding: 3.623vw;
		border-radius: 1.208vw;
		width: 100%;
	}
	#step .sec03 .parts .white_bx li {
		padding-left: 3.744vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#step .sec03 .parts .white_bx li::before {
		top: 2.415vw;
		width: 2.174vw;
		height: 2.174vw;
	}
	#step .sec03 .parts .white_bx li + li {
		margin-top: 1.208vw;
	}
	#step .sec03 .green_bx {
		padding: 6.039vw 4.831vw;
		border-radius: 1.208vw;
		border-width: 0.483vw;
	}
	#step .sec03 .green_bx::before,
	#step .sec03 .green_bx::after {
		display: none;
	}
	#step .sec03 .green_bx .ttl {
		margin-bottom: 2.174vw;
		font-size: 5.072vw;
		line-height: 1;
	}
	#step .sec03 .green_bx .btn {
		margin-top: 3vw;
		width: 100%;
	}
	#step .sec03 .green_bx .btn a {
		padding: 3.986vw 0 4.469vw 14.493vw;
		font-size: 4.348vw;
		border-radius: 1.313vw;
		border-width: 0.362vw;
		background-color: #fff;
	}
	#step .sec03 .green_bx .btn a::before {
		left: 6.039vw;
		width: 5.072vw;
		height: 6.763vw;
	}
	#step .sec03 .green_bx .btn a::after {
		right: 6.039vw;
		width: 4.831vw;
		height: 4.831vw;
	}
	#step .sec04 {
		padding: 9.662vw 4.831vw 12.077vw;
	}
	#step .sec04 .txt {
		margin-bottom: 6.039vw;
		font-size: 4.348vw;
	}
	#step .sec04 dl {
		padding: 4.469vw 3.623vw;
		border-radius: 1.208vw;
	}
	#step .sec04 dl + dl {
		margin-top: 3.623vw;
	}
	#step .sec04 dl dt,
	#step .sec04 dl dd {
		padding-left: 12.923vw;
	}
	#step .sec04 dl dt {
		display: flex;
		align-items: center;
		min-height: 10vw;
		padding-right: 11vw;
		font-size: 4.589vw;
		line-height: 1.47;
	}
	#step .sec04 dl dd {
		margin-top: 2.657vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#step .sec04 dl dt::before {
		font-size: 5.797vw;
		width: 10.628vw;
		height: 10.628vw;
	}
	#step .sec04 dl dd::before{
		left: 4.952vw;
		font-size: 6.039vw;
	}
	#step .sec04 dl dt::after {
		top: 0;
		bottom: 0;
		margin: auto 0;
		right: 3.382vw;
		width: 5.314vw;
		height: 5.314vw;
		transition: none;
	}
	#step .sec04 dl.active dt::after {
		top: 3vw;
		right: 3.382vw;
		width: 5.314vw;
		height: 5.314vw;
	}

/*-------------------------------

  Company 法人概要

------------------------------*/
	#company h2 {
		margin-bottom: 8.454vw;
	}
	#company h2::after {
		bottom: -2.415vw;
		width: 10.87vw;
		height: 0.483vw;
	}
	#company .sec01 {
		position: relative;
		padding: 10.87vw 0 7.246vw;
		background: var(--green-color);
		z-index: 1;
	}
	#company .sec01::after {
		content: '';
		position: absolute;
		right: 1.691vw;
		top: 40.005vw;
		width: 51.691vw;
		height: 32.246vw;
		background: url(../../images/src/company/sp/sec01_bg.webp) no-repeat right top / 100%;
		z-index: -1;
	}
	#company .sec01 .ttl {
		font-size: 7.971vw;
	}
	#company .sec01 .ttl .fs78 {
		font-size: 10.024vw;
	}
	#company .sec01 .txt {
		margin: 2.415vw 4.831vw 4.106vw;
		font-size: 4.589vw;
		line-height: 1.63;
		text-align: left;
	}
	#company .sec01 .white_bx {
		margin: 0 4.831vw;
		padding: 3.261vw 4.106vw;
		width: auto;
		border-radius: 0.845vw;
	}
	#company .sec01 .white_bx p {
		font-size: 4.589vw;
		line-height: 1.52;
	}
	#company .sec01 .img {
		margin: 6.039vw 4.831vw 0;
		width: auto;
	}
	#company .sec02 {
		padding: 12.319vw 4.831vw;
	}
	#company .sec02 h2 {
		margin-bottom: 6.039vw;
	}
	#company .sec02 h3 {
		margin-bottom: 4.831vw;
		border-left-width: 0.725vw;
		padding-left: 2.415vw ;
		font-size: 5.797vw;
	}
	#company .sec02 .txt {
		font-size: 4.348vw;
	}
	#company .sec02 .about_block {
		margin-top: 4.831vw;
		margin-bottom: 10.507vw;
	}
	#company .sec02 .left_col {
		margin-bottom: 9.662vw;
	}
	#company .sec02 .left_col,
	#company .sec02 .right_col {
		width: 100%;
	}
	#company .sec02 .left_col table th,
	#company .sec02 .left_col table td {
		display: block;
		width: 100%;
		font-size: 4.348vw;
	}
	#company .sec02 .left_col table th {
		padding: 5.556vw 0 1.5vw;
	}
	#company .sec02 .left_col table td {
		padding: 0 0 5.556vw;
	}

	#company .sec02 .right_col .parts {
		padding: 2.415vw 2.415vw 4.831vw 4.831vw;
	}
	#company .sec02 .right_col .parts::after {
		left: 0.121vw;
		top: 0.121vw;
		width: calc(100% - 0.242vw);
		height: calc(100% - 0.242vw);
	}
	#company .sec02 .right_col .parts + .parts {
		margin-top: 3.623vw;
	}
	#company .sec02 .right_col .parts .txtbx {
		width: 39.13vw;
	}
	#company .sec02 .right_col .parts .txtbx .ico_ttl {
		margin-bottom: 0;
		padding-left: 0;
		font-size: 4.831vw;
		text-align: center;
	}
	#company .sec02 .right_col .parts .txtbx .ico_ttl::before {
		display: block;
		position: relative;
		top: 0;
		bottom: auto;
		margin: auto;
	}
	#company .sec02 .right_col .parts .txtbx .ico01::before {
		width: 5.193vw;
		height: 5.193vw;
	}
	#company .sec02 .right_col .parts .txtbx .ico02::before {
		width: 5.193vw;
		height: 5.797vw;
	}
	#company .sec02 .right_col .parts .txtbx .ico03::before {
		width: 6.763vw;
		height: 6.763vw;
	}
	#company .sec02 .right_col .parts .txtbx .ico04::before {
		width: 6.643vw;
		height: 5.193vw;
	}
	#company .sec02 .right_col .parts .txt {
		font-size: 4.348vw;
		font-weight: 400;
		line-height: 1.55;
	}
	#company .sec02 .right_col .parts .img {
		margin-bottom: 3.623vw;
		width: 39.13vw;
	}
	#company .sec02 ul {
		margin: 4.831vw 0 9.662vw;
		gap: 3.623vw 0;
	}
	#company .sec02 ul li {
		width: 100%;
	}
	#company .sec02 ul li a {
		display: block;
		padding: 3.623vw 0 3.623vw 16.304vw;
		font-size: 4.831vw;
		border-radius: 1.478vw;
		border-width: 0.362vw;
	}
	#company .sec02 ul li a::before {
		left: 6.763vw;
		width: 5.797vw;
		height: 7.729vw;
	}
	#company .sec02 ul li a::after {
		right: 6.763vw;
		width: 5.556vw;
		height: 5.556vw;
	}
	#company .sec02 .block {
		padding: 8.454vw 4.831vw 6.039vw;
		gap: 8.092vw 0;
	}
	#company .sec02 .block .parts {
		display: flex;
		flex: none;
		width: 100%;
		padding: 7.488vw 4.831vw 4.831vw;
		border-radius: 1.208vw;
		border-width: 0.362vw;
		justify-content: space-between;
		align-items: center;
	}
	#company .sec02 .block .parts .ttl {
		position: absolute;
		top: -3.623vw ;
		left: 0;
		right: 0;
		margin: auto; 
		width: 38.164vw;
	}
	#company .sec02 .block .parts .ttl p {
		display: block;
		width: 100%;
		padding: 1.208vw 0;
		font-size: 4.106vw;
		border-radius: 21.739vw;
	}
	#company .sec02 .block .parts .num {
		margin-bottom: 1rem;
		font-size: 5.072vw;
	}
	#company .sec02 .block .parts .num span {
		font-size: 11.715vw;
	}
	#company .sec02 .block .parts .txt {
		width: 54.589vw;
		font-size: 4.106vw;
		line-height: 1.47;
		text-align: left;
	}

	#company #access {
		margin: 0;
		padding: 9.662vw 4.831vw 13.285vw;
	}
/*-------------------------------

  News 新着情報

------------------------------*/
	#news .sec01 {
		padding: 10.87vw 4.831vw;
	}
	#news .news_cate {
		width: 100%;
		gap: 3.382vw 0;
		justify-content: space-between;
	}
	#news .news_cate p {
		width: 43.478vw;
	}
	#news .cate p a {
		padding: 2.415vw 0 !important;
		font-size: 3.865vw;
		border-width: 0.362vw;
	}
	#news .cate .event a::before {
		left: 5.072vw;
	}
	#news .cate .meal a::before {
		left: 5.072vw;
	}
	#news .cate .recreation a {
		padding: 2.415vw 0 2.415vw 5.5vw !important;
		letter-spacing: -0.13em;
	}
	#news .top_sec04 {
		padding: 10.87vw 4.831vw;
	} 
	#news .news_list {
		margin: 0;
		gap: 9.662vw 0;
	}
	#news .news_list .parts {
		width: 100%;
	}
	#news .news_list .parts a {
		flex-direction: initial;
		flex-wrap: wrap;
		align-items: center;
		justify-content: left;
		gap: 0 5.193vw;
	}
	#news .news_list .parts a .cate {
		display: block;
		width: 43vw;
	}
	#news .news_list .parts a .cate .date {
		margin-bottom: 1.932vw;
	}
	#news .top_sec04 .news_list .parts .cate .cate_ico {
		display: inline-block;
		padding: 0.966vw 3.623vw 1.208vw 7.99vw;
	}
	#news .top_sec04 .news_list .parts .cate .recreation {
		letter-spacing: -0.13em;
	}
	#news .news_list .parts a .img {
		width: 40.338vw;
	}
	#news .news_list .parts a .img img {
		height: 25.966vw;
	}
	#news .news_list .parts a .bx {
		width: 100%;
	}

	/* 詳細 */
	#news.detail {
		position: relative;
	}

	#news.detail article::after {
		height: 37.077vw;
		background: url(../../images/src/news/wavesp.svg) no-repeat left top / 100%;
	}
	#news .detail_block {
		margin: 7.662vw 4.831vw 7.246vw;
		padding: 7.246vw 4.831vw 9.662vw;
		border-radius: 1.208vw;
	}
	#news .detail_block .detail_ttl {
		margin-bottom: 3.623vw;
	}
	#news .detail_block .detail_ttl .cate {
		margin-bottom: 1.932vw;
		gap: 0 3.623vw;
	}
	#news .detail_block .detail_ttl .cate .date {
		font-size: 3.865vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx {
		border-radius: 38.775vw;
		border-width: 0.3vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx a {
		padding: 0 3.865vw 0 8.816vw !important;
		font-size: 3.865vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx a::before {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		background: no-repeat left center / 100%;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.recreation a::before {
		left: 1vw;
		width: 6.609vw;
		height: 6.609vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.event a::before {
		left: 3vw;
		width: 3.106vw;
		height: 3.831vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.meal a::before {
		left: 3vw;
		width: 5.28vw;
		height: 5.28vw;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.facility a::before {
		left: 1.2rem;
		width: 2rem;
		height: 2rem;
	}
	#news .detail_block .detail_ttl .cate .cat_bx.media a::before {
		left: 2.6vw;
		width: 4.072vw;
		height: 4.072vw;
	}
	#news .detail_block .detail_ttl h2 {
		font-size: 6.522vw;
		line-height: 1.48;
	}

	#news .detail_block .img {
		margin-bottom: 6.039vw;
	}
	#news .detail_block .img img {
		border-radius: 1.208vw;
	}

	#news .detail_block .img img {
		max-height: 52.053vw;
	}
/*-------------------------------

  Contact お問い合わせ

------------------------------*/
	#contact .sec01 {
		padding: 10.87vw 4.831vw 13.285vw;
	}
	#contact .sec01.complete {
		padding: 10.87vw 4.831vw 0;
	}
	#contact .sec01 .ttl_bx {
		margin-bottom: 12.56vw;
	}
	#contact h2 {
		margin-bottom: 6.039vw;
	}
	#contact h2::after {
		bottom: -2.415vw;
		width: 10.87vw;
		height: 0.483vw;
	}
	#contact .error {
		font-size: 6rem;
	}
	#contact .sec01 .ttl_bx .txt {
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#contact .sec01 .flex {
		margin-bottom: 7.246vw;
		gap: 11.594vw 0;
	}
	#contact .sec01 .parts {
		position: relative;
		padding: 7.246vw 4.831vw;
		border-radius: 1.208vw;
	}
	#contact .sec01 .flex .parts {
		flex: none;
		width: 100%;
		padding: 9.058vw 4.831vw 8.213vw;
	}
	#contact .sec01 .flex .parts .ico {
		top: -6.763vw;
		width: 14.493vw;
		height: 14.493vw;
	}
	#contact .sec01 .parts .ttl {
		margin-bottom: 5.193vw;
		font-size: 6.28vw;
	}
	#contact .sec01 .parts .txt {
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#contact .sec01 .parts .tel {
		margin: 4.56vw auto 0;
	}
	#contact .sec01 .parts .tel a {
		font-size: 8.696vw;
	}
	#contact .sec01 .parts .top_bdr {
		margin-top: 5.314vw;
		padding-top: 2.899vw;
		border-top-width: 0.725vw;
	}
	#contact .sec01 .parts .btn01 {
		margin: 4.831vw auto 0;
		width: 80.676vw;
	}
	#contact .sec01 .parts .btn01 a::before {
		width: 13.285vw;
		height: 13.285vw;
	}
	#contact .sec01 .parts ul {
		margin: 3.261vw auto 0;
		width: 54.348vw;
		gap: 3.14vw 0;
		justify-content: left;
	}
	#contact .sec01 .parts ul li {
		padding-left: 7.246vw;
		font-size: 4.348vw;
	}
	#contact .sec01 .parts ul li::before {
		width: 5.556vw;
		height: 5.556vw;
	}
	#contact .sec02 {
		padding: 10.87vw 4.831vw 13.285vw;
	}
	#contact .sec02 table {
		margin: 9.662vw 0 10.87vw;
	}
	#contact .sec02 table tr.sp_bx {
		border-bottom: 0;
	}
	#contact .sec02 table tr.sp_bx02 {
		border-top: 0;
	}
	#contact .sec02 table tr th {
		display: block;
		padding: 3.382vw 0 6.039vw;
		width: 100%;
	}
	#contact .sec02 table tr th p {
		justify-content: left;
		align-items: center;
		font-size: 4.589vw;
		gap: 0 3.382vw;
	}
	#contact .sec02 .hissu {
		display: flex;
		justify-content: center;
		padding: 0;
		width: 9.662vw;
		height: 4.831vw;
		font-size: 3.14vw;
		border-radius: 0.999vw;
	}
	#contact .sec02 table tr td {
		display: block;
		padding: 0 0 7.85vw;
		width: 100%;
		font-size: 4.589vw;
		line-height: 1.47;
		}
	#contact .sec02 table tr td input[type="text"] {
		padding: 3.865vw 4.831vw;
		border-radius: 1.208vw;
		font-size: 4.348vw;
	}
	
	#contact .sec02 table tr td input.text01 {
		margin-left: auto;
		width: 25.725vw;
	}
	#contact .sec02 table tr td input.text02 {
		width: 94%;
	}
	#contact .sec02 table tr td .textfx > p {
		width: 100%;
		font-size: 4.348vw;
	}
	#contact .sec02 table tr td .textfx {
		margin-left : 12.077vw;
		justify-content: left;
	}
	#contact .sec02 table tr.sp_bx02 td .textfx {
		padding-top: 4.831vw;
		border-top: 1px solid var(--border02-color);
	}
	#contact .sec02 table tr td .textfx .bx {
		margin-top: 2.174vw;
		margin-left: 1rem;
		align-items: center;
	}
	#contact .sec02 table tr td .textfx .bx p {
		padding-right: 1.2vw;
		width: 11vw;
		font-size: 4.348vw;
		font-weight: 700;
	}

	#contact .sec02 table tr td textarea {
		padding: 2.415vw 3.623vw;
		width: 100%;
		height: 37.44vw;
		border-radius: 1.208vw;
		font-size: 4.348vw;
	}
	#contact .sec02 .checkfx {
		width: 100%;
		gap: 4.831vw 0;
	}
	#contact .sec02 .checkfx .checkblock {
		width: 42.754vw;
	}
	
	.checkblock label {
		padding-left: 8.333vw;
		line-height: 2.899vw;
	}
	/* ===== 共通：外枠 ===== */
	.checkblock label::before {
		width: 6.28vw;
		height: 6.28vw;
		background-color: #fff;
	}
	/* ===== ラジオボタン ===== */
	.checkblock input[type="radio"] + label::after {
		left: 1.4vw;
		width: 3.5vw;
		height: 3.5vw;
	}

	/* ===== チェックボックス ===== */
	.check .checkblock label::before {
		width: 6.039vw;
		height: 6.039vw;
	}
	.checkblock input[type="checkbox"] + label::before {
		border-radius: 0; /* 四角 */
	}

	.checkblock input[type="checkbox"] + label::after {
		left: 1vw;
		width: 2.7vw;
		height: 1.5vw;
	}


	#contact .check .checkblock {
		display: block;
		font-size: 4.348vw;
		text-align: left;
	}
	#contact .check .checkblock label {
		font-weight: 700;
		letter-spacing: 0.04em;
	}

	#contact .privacy {
		margin-bottom: 8.454vw;
		padding: 7.246vw 4.831vw;
		border-radius: 1.208vw;
	}
	#contact .privacy .ttl {
		margin-bottom: 1.932vw;
		font-size: 5.072vw;
		line-height: 1.21;
	}
	#contact .privacy .txt {
		margin-bottom: 4.831vw;
		font-size: 4.348vw;
	}
	#contact .privacy ol li {
		padding-left: 7.609vw;
		font-size: 4.348vw;
		line-height: 1.55;
	}
	#contact .privacy ol li + li {
		margin-top: 3.623vw;
	}
	#contact .privacy ol li::before {
		top: -0.3vw;
		padding-right: 0;
		font-size: 4.831vw;
	}

	#contact .privacy .check {
		margin-top: 6.039vw;
		border-radius: 1.208vw;
		padding: 4.227vw 0 4.227vw 3.623vw;
	}
	#contact .input_btn_list {
		justify-content: center;
		gap: 3.623vw 0;
	}

	#contact .input_btn_list input {
		padding: 4.71vw 0 5.556vw;
		width: 80.676vw;
		font-size: 4.589vw;
		text-align: center;
		border-radius: 32.609vw;
	}
	#contact .input_btn_list .ct_send input {
		padding-left: 0;
	}
	#contact .input_btn_list .ct_back input {
		padding-left: 0;
	}

	#contact .input_btn_list .ct_send::after,
	#contact .input_btn_list .ct_back::after {
		width: 2.415vw;
		height: 2.778vw;
	}
	#contact .input_btn_list .ct_send::after {
		right: 4.952vw;
	}
	#contact .input_btn_list .ct_back::after {
		left: 4.952vw;
	}
	#contact .kome {
		margin-top: 4.831vw;
		margin-left: 4.348vw;
		text-indent: -4.348vw;
		font-size: 4.348vw;
		line-height: 1.55;
		text-align: left;
	}
	#contact table .kome {
		margin-top: 1vw;
	}



}


/* pcのみのhoverアクションはここ */
@media (hover: hover) and (pointer: fine) {
	.btn_price a:hover {
		color: #fff;
		background-color: var(--green-color);
	}
	.btn_price a:hover::before {
		background-image: url(../../images/src/top/ico_price.svg);
	}
	.btn_price a:hover::after {
		background-image: url(../../images/src/common/triangle_white.svg);
	}
	.btn01 a:hover {
		color: var(--green-color);
		background-color: #fff;
	}
	.btn01 a:hover::after {
		background-image: url(../../images/src/common/triangle_green.svg);
	}
	.top_mv ul li a:hover {
		color: #fff;
		border-color: #fff;
		background-color: var(--green-color);
	}
	.top_mv ul li a:hover::before {
		background-image: url(../../images/src/top/mv_ico01_hv.svg);
	}
	.top_mv ul li:nth-of-type(2) a:hover::before {
		background-image: url(../../images/src/top/mv_ico02_hv.svg);
	}
	.top_mv ul li:nth-of-type(3) a:hover::before {
		background-image: url(../../images/src/top/mv_ico03_hv.svg);
	}
	.top_mv ul li a:hover::after {
		background-image: url(../../images/src/common/arrow_white_tri.svg);
	}
	.top_sec02 .right_col .btn01 a:hover::before {
		background-image: url(../../images/src/top/mv_ico01.svg);
	}
	.top_sec02_price .btn01 a:hover::before {
		background: url(../../images/src/top/ico_price02_hv.svg) no-repeat left center / 100%;
	}
	.top_sec03 .btn01 a:hover {
		color: #fff;
		border-color: #fff;
		background-color: var(--green-color);
	}
	.top_sec03 .btn01 a:hover::before {
		background: url(../../images/src/top/ico_step_hv.svg) no-repeat left center / 100%;
	}
	.top_sec03 .btn01 a:hover::after {
		background-image: url(../../images/src/common/triangle_white.svg);
	}
	.top_sec04 .cate a:hover {
		color: #fff;
		background-color: var(--green-color);
	}
	.top_sec04 .cate .all a:hover::before {
		background-image: url(../../images/src/top/news_cate04_hv.svg);
	}
	.top_sec04 .cate .media a:hover::before {
		background-image: url(../../images/src/top/news_cate06_hv.svg);
	}
	.top_sec04 .cate .recreation a:hover::before {
		background-image: url(../../images/src/top/news_cate01_hv.svg);
	}
	.top_sec04 .cate .event a:hover::before {
		background-image: url(../../images/src/top/news_cate02_hv.svg);
	}
	.top_sec04 .cate .meal a:hover::before {
		background-image: url(../../images/src/top/news_cate03_hv.svg);
	}
	.top_sec04 .btn01 a:hover::before,
	.navigation .btn01 a:hover::before {
		background-image: url(../../images/src/top/ico_more_hv.svg);
	}
	
	.top_sec06 .right_col a:hover .ttl,
	.top_sec06 .right_col a:hover .txt {
		color: var(--green-color);
	}
	.top_sec06 .right_col a:hover::after {
		background-image: url(../../images/src/common/arrow_white02.svg);
	}	
	
	.wp-pagenavi a:hover {
		color: #fff;
		aspect-ratio: 1/1;
		border-radius: 50%;
		background-color: var(--green-color);
	}
	.navigation .prev a:hover,
	.navigation .next a:hover {
		color: var(--green-color);
	}
	#price .col_body:hover .cell_body_ttl__in,
	#price .col_body:hover .cell_body_parts:not(.total) {
		background-color: #EAF4E3;
	}
	
	#step .sec03 .green_bx .btn a:hover,
	#company .sec02 ul li a:hover {
		color: #fff;
		font-weight: 700;
		border-color: #BF2B2B;
		background-color: #BF2B2B;
	}
	#step .sec03 .green_bx .btn a:hover::before,
	#company .sec02 ul li a:hover::before {
		background: url(../../images/src/step/pdf01_hv.svg) no-repeat left center / 100%;
	}
	#step .sec03 .green_bx .btn a:hover::after,
	#company .sec02 ul li a:hover::after {
		background: url(../../images/src/step/dl01_hv.svg) no-repeat left center / 100%;
	}
	#news .cate p a:hover {
		color: var(--green-color);
		background-color: #fff;
	}
	#news .cate .recreation a:hover::before { background-image: url(../../images/src/top/news_cate01.svg); }
	#news .cate .event a:hover::before { background-image: url(../../images/src/top/news_cate02.svg); }
	#news .cate .meal a:hover::before { background-image: url(../../images/src/top/news_cate03.svg); }
	#news .cate .all a:hover::before { background-image: url(../../images/src/top/news_cate04.svg); }
	#news .cate .facility a:hover::before { background-image: url(../../images/src/top/news_cate05.svg); }
	#news .cate .media a:hover::before { background-image: url(../../images/src/top/news_cate06.svg); }

	#contact .sec01 .parts .btn01 a:hover::before {
		background-image: url(../../images/src/common/cta_ico01.svg);
	}
	.popup__content .simu_btn:hover {
		color: var(--green-color);
		background-color: #fff;
	}
	.popup__content .simu_btn:hover::after {
		background: url(../../images/src/common/triangle_green.svg) no-repeat right center / 100%;
	}
	.popup__content .cta_sec .btn01:not(.tel) a:hover {
		color: #fff;
		background-color: var(--green-color);
		border: 2px solid #fff;
	}
	.popup__content .cta_sec .btn01:not(.tel) a:hover::before {
		background: url(../../images/src/common/cta_ico01_hv.svg) no-repeat left center / 100%;
	}
	.popup__content .cta_sec .btn01:not(.tel) a:hover::after {
		background-image: url(../../images/src/common/triangle_white.svg);
	}
/*
	.popup__content .cta_sec .btn01.tel a:hover::before {
		background: url(../../images/src/common/cta_ico03_hv.svg) no-repeat left center / 100%;
	}
*/

}
  
 /*IE11用に以下のコードも追加*/
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
}



/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}