@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

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

	parallax

-----------------------------------*/
#contents {
	position: relative;
	width: 100%;
	padding-top: calc(100vh - 135px);
}
#contents #mainvisual {
	position: fixed;
	top: 135px;
	left: 0;
}
#contents #mainWrap {
	position: relative;
	z-index: 998;
	background: #FFF;
}
@media screen and (max-width: 1000px) {
	#contents {
		padding-top: calc(100vh - 160px);
	}
	#contents #mainvisual {
		top: 85px;
	}
}
/*-----------------------------------

	popupBanner

-----------------------------------*/
#popupBanner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	background: rgba(0, 0, 0, 0.55);
}
#popupBanner .popup-content {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: max-content;
    margin: 0 auto;
}
#popupBanner .popup-content-wrapper {
    position: relative;
}
#popupBanner .popup-content a {
	width: 531px;
}
#popupBanner .popup-content button {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	outline: none;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}
#popupBanner .popup-content .popup-close {
	cursor: pointer;
	width: 28px;
	height: 78px;
	position: absolute;
	top: 0;
    right: -28px;
	z-index: 1;
}
#popupBanner a:hover {
	opacity: 0.9;
}
@media screen and (max-width: 640px) {
	#popupBanner .popup-content .popup-close {
		width: 18px;
		height: 52px;
	    right: -17px;
	}
	#popupBanner .popup-content a {
		width: 320px;
	}
}
@media screen and (max-width: 350px) {
	#popupBanner .popup-content a {
		width: 280px;
	}
}
/*-----------------------------------

	mainvisual

-----------------------------------*/
#mainvisual {
	width: 100%;
}
#mainvisual .mv_image {
	position: relative;
}
#mainvisual .mv_image .image {
	width: 100%;
	height: calc(100vh - 135px);
	object-fit: cover;
}
#mainvisual .mv_image .scroll {
	position:absolute;
	left:50%;
	bottom:20px;
	height:50px;
}
#mainvisual .mv_image .scroll span {
	width: 42px;
	position: absolute;
	left:-20px;
	top: -20px;
}
#mainvisual .mv_image .scroll::after{
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 45px;
	background: #ffffff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}
@keyframes pathmove{
	0%{
	  height:0;
	  top:0;
	  opacity: 0;
	}
	30%{
	  height:30px;
	  opacity: 1;
	}
	100%{
	  height:0;
	  top:50px;
	  opacity: 0;
	}
}
@media screen and (max-width: 1000px) {
	#mainvisual .mv_image .image {
		height: calc(100vh - 160px);
	}
}

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

	top_info

-----------------------------------*/
#top_info {
	background: #293855;
	display: flex;
	justify-content: center;
	padding: 20px 0;
}
#top_info div {
	padding: 1.5px 25px;
	display: flex;
	align-items: center;
}
#top_info div:not(:last-child) {
	border-right: 1px solid #FFF;
}
#top_info .box01 img {
	width: 186px;
}
#top_info .box02 img {
	width: 237px;
}
#top_info .box03 img {
	width: 321px;
}
#top_info .box04 img {
	width: 196px;
}
@media screen and (max-width: 640px) {
	#top_info {
		flex-direction: column;
		align-items: center;
		padding: 0;
	}
	#top_info div {
		padding: 15px;
		justify-content: center;
		width: 90%;
	}
	#top_info div:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid #FFF;
	}
	#top_info .box02 {
		padding: 12px 15px;
	}
	#top_info .box03,
	#top_info .box04 {
		padding: 17px 15px;
	}
	#top_info .box01 img {
		width: 130px;
	}
	#top_info .box02 img {
		width: 166px;
	}
	#top_info .box03 img {
		width: 225px;
	}
	#top_info .box04 img {
		width: 166px;
	}
}

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

	intro_block

-----------------------------------*/
#intro_block {
	padding: 30px 0 0;
}
#intro_block h2 {
	max-width: 1020px;
	padding: 0 20px;
	margin: 0 auto 33px;
	position: relative;
	z-index: 1;
}
#intro_block h3 {
	max-width: 997px;
	padding: 0 20px;
	margin: 0 auto 51px;
}
/* modelroom_new */
#intro_block .modelroom_new {
	margin-top: -9.86vw;
	margin-bottom: 12px;
	position: relative;
	z-index: 0;
}
#intro_block .modelroom_new img {
	width: 100%;
}
/* online */
#intro_block .online {
	margin-bottom: 12px;
}
#intro_block .online img {
	width: 100%;
}
/* summer_vacation */
#intro_block .summer_vacation {
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	width: 95%;
	max-width: 1322px;
	margin: 0 auto 38px;
}
#intro_block .summer_vacation h3 {
	font-size: 24px;
	font-weight: 300;
	letter-spacing: 0.025em;
	color: #ffffff;
	background: #2f997e;
	padding: 11px 20px;
}
#intro_block .summer_vacation h3 .txt {
	font-size: 18px;
	margin-right: 15px;
}
#intro_block .summer_vacation h3 .sm {
	display: inline-block;
	font-size: 15px;
	transform: translateY(-2px);
}
#intro_block .summer_vacation p {
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0;
	color: #211613;
	background: #e3e5e9;
	padding: 13px 20px;
}
#intro_block .modelroom {
	margin-bottom: 12px;
}
#intro_block .modelroom h3 {
	max-width: 460px;
	margin: 0 auto 33px;
}
#intro_block .link_box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px 27px;
}
#intro_block .link_box a {
	display: block;
	font-weight: 500;
	background: #FFFFFF;
	text-align: center;
	width: calc((100% - 27px) / 2);
}
#intro_block .link_box a img {
	width: 100%;
}
@media screen and (max-width: 640px) {
	#intro_block {
		padding: 20px 0 0;
	}
	#intro_block h2 {
		padding: 0;
		width: max(49.34vw, 185px);
		max-width: initial;
		margin: 0 auto 23px;
	}
	#intro_block h3 {
		width: max(72.54vw, 273px);
		max-width: initial;
		margin: 0 auto 21px;
	}
	#intro_block .modelroom_new {
		margin-top: -14.67vw;
		margin-bottom: 10px;
	}
	#intro_block .online {
		margin-bottom: 10px;
	}
	#intro_block .summer_vacation {
		width: 100%;
		padding: 0 20px;
		margin: 0 auto 11px;
	}
	#intro_block .summer_vacation h3 {
		font-size: 19px;
		line-height: 1.7;
		padding: 12.2px 20px;
	}
	#intro_block .summer_vacation h3 .txt {
		display: block;
		font-size: 15px;
		margin-right: 0;
	}
	#intro_block .summer_vacation h3 .sm {
		font-size: 13px;
	}
	#intro_block .summer_vacation p {
		font-size: 14px;
		text-align: left;	
		line-height: 1.57;
		letter-spacing: -0.05em;
		padding: 19px 22px;
	}
	#intro_block .modelroom {
		background: none;
		margin-bottom: 10px;
	}
	#intro_block .modelroom h3 {
		max-width: 276px;
		margin: 0 auto 21px;
	}
	#intro_block .link_box {
		gap: 9px 29px;
	}
	#intro_block .link_box a {
		width: 100%;
	}
}
/*-----------------------------------

	gw_block

-----------------------------------*/
#gw_block {
	padding: 0 0 35px;
}

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

	banner_ftype_block

-----------------------------------*/
#banner_ftype_block {
	margin-bottom: 17px;
}
@media screen and (max-width: 640px) {
	#banner_ftype_block {
		margin-bottom: 10px;
	}	
}
/*-----------------------------------

	closed_block

-----------------------------------*/
#closed_block {
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
	margin: 0 0 62px;
	background: #e3e5e9;
}
#closed_block h2 {
	font-size: 24px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 0.025em;
	text-align: center;
	color: #ffffff;
	background: #840102;
	padding: 10.25px 0;
	max-width: initial;
	margin: 0;
}
#closed_block p {
	font-size: 15px;
	font-weight: 300;
	line-height: 1.74;
	letter-spacing: 0.025em;
	color: #221714;
	padding: 21px 10px;
}
@media screen and (max-width: 640px) {
	#closed_block {
		width: 88%;
		margin: 0 auto 28px;
	}
	#closed_block h2 {
		font-size: 14px;
		width: 100%;
		padding: 10px 10px 12px;
	}
	#closed_block p {
		font-size: 12px;
		text-align: justify;
		letter-spacing: 0;
		padding: 12px 28.5px 16px;
	}
}
/*-----------------------------------

	parking_block

-----------------------------------*/
#parking_block {
	padding: 0 0 22px;
}
#parking_block p {
	font-size: 13px;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
	font-weight: 400;
	line-height: 1.58;
	letter-spacing: 0;
	margin-top: 6px;
}
@media screen and (max-width: 640px) {
	#parking_block {
		padding: 0 0 30px;
	}	
	#parking_block p {
		font-size: 12px;
		line-height: 1.5;
		letter-spacing: 0.025em;
		margin-top: 8px;
	}
}
/*-----------------------------------

	banner_compact_block

-----------------------------------*/
#banner_compact_block {
	margin-bottom: 17px;
}
@media screen and (max-width: 640px) {
	#banner_compact_block {
		margin-bottom: 10px;
	}
}
/*-----------------------------------

	banner_top_block

-----------------------------------*/
#banner_top_block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 17px;
	margin: 24px 0;
}
#banner_top_block a {
	display: block;
	width: 100%;
}
#banner_top_block a img {
	width: 100%;
}
@media screen and (max-width: 640px) {
	#banner_top_block {
		gap: 10px;
		margin: 0;
	}
}
/*-----------------------------------

	price_block

-----------------------------------*/
#price_block {
	background: #293754;
	padding: 20px 0;
	margin-bottom: 17px;
	position: relative;
}
#price_block::after {
	content: "";
	width: 100%;
	height: 1px;
	background: rgb(194,162,117);
	background: linear-gradient(90deg, rgba(194,162,117,1) 0%, rgba(248,240,219,1) 50%, rgba(194,162,117,1) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}
#price_block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}
#price_block ul li {
	max-width: 380px;
	width: calc((100% - 30px) / 2);
}
@media screen and (max-width: 640px) {
	#price_block {
		margin-bottom: 10px;
	}
	#price_block ul {
		max-width: 420px;
		width: 100%;
		margin: 0 auto;
		gap: 15px;
	}
	#price_block ul li {
		max-width: none;
		width: 100%;
	}
}
/*-----------------------------------

	support_block

-----------------------------------*/
#support_block {
	padding: 14px 0 19.5px;
}
@media screen and (max-width: 640px) {
	#support_block {
		padding: 13px 0 12.6px;
	}
	}
/*-----------------------------------

	ftype_block

-----------------------------------*/
#ftype_block {
	background: #3e3a39;
	padding: 0 0 129px;
}
#ftype_block .top_img {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 44px;
	overflow: hidden;
}
#ftype_block .top_img img {
	transform: scale(1.001);
}
#ftype_block .detail h2 {
	font-size: 41px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	text-align: center;
	line-height: 2.44;
	letter-spacing: -0.025em;
	color: #ffffff;
	max-width: 719px;
	margin: 0 auto 57px;
}
#ftype_block .detail h2 span {
	display: block;
	position: relative;
}
#ftype_block .detail h2 span::after {
	content: '';
	display: block;
	background: rgba(255, 255, 255, 0.8);
	width: 100%;
	height: 1px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#ftype_block .detail .detail_wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 50px 94px;
}
#ftype_block .detail .floor_box {
	width: 40.5%;
	margin-top: -10px;
}
#ftype_block .detail .floor_box .ttl_img {
	margin-bottom: 61px;
}
#ftype_block .detail .floor_box .floor_img {
	display: block;
	width: 100%;
	max-width: 348px;
	margin: 0 19px 0 auto;
}
#ftype_block .detail .detail_box {
	width: 50.6%;
}
#ftype_block .detail .detail_wrap .txt_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 0;
	margin-bottom: 46px;
}
#ftype_block .detail .detail_box .txt_box {
	width: calc((100% - 13px) / 2);
	
}
#ftype_block .detail .detail_box .txt_box:first-of-type {
	width: 100%;
}
#ftype_block .detail .detail_box #ftype_video_box {
	overflow: hidden;
	margin-bottom: 26px;
	position: relative;
}
#ftype_block .detail .detail_box #ftype_video_box video {
	width: 100%;
	transform: scale(1.003);
}
#ftype_block .detail .detail_box #ftype_video_box .play_ftype_btn {
	display: block;
	margin: auto;
	position: absolute;
	inset: 0;
	z-index: 1;
	cursor: pointer;
}
#ftype_block .detail .detail_box #ftype_video_box .play_ftype_btn.none {
	display: none;
}
#ftype_block .detail .detail_box .detail_btn {
	display: block;
	font-weight: 500;
	color: #FFFFFF;
	text-align: center;
	background: linear-gradient(90deg,rgba(128, 0, 0, 1) 0%, rgba(167, 0, 14, 1) 50%, rgba(128, 0, 0, 1) 100%);
	max-width: 399px;
	padding: 7px 0;
	margin: 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 640px) {
	#ftype_block {
		padding: 0 0 36px;
	}
	#ftype_block .top_img {
		margin: 0 calc(50% - 50vw) 8px;
	}
	#ftype_block .detail .detail_wrap {
		flex-wrap: wrap;
	}
	#ftype_block .detail .floor_box,
	#ftype_block .detail .detail_box {
		width: 100%;
	}
	#ftype_block .detail h2 {
		font-size: 21px;
		line-height: 2.67;
		margin-bottom: 42px;
	}
	#ftype_block .detail .floor_box .ttl_img {
		width:90.2%;
		margin-bottom: 42px;
	}
	#ftype_block .detail .floor_box .floor_img {
		width: 68%;
		margin: 0 auto;
	}
	#ftype_block .detail .detail_wrap .txt_wrap {
		margin-bottom: 30px;
	}
	#ftype_block .detail .detail_box .txt_box {
		width: calc((100% - 10px) / 2);
	}
	#ftype_block .detail .detail_box #ftype_video_box {
		margin-bottom: 14px;
	}
	#ftype_block .detail .detail_box #ftype_video_box .play_ftype_btn {
		display: none;
	}
	#ftype_block .detail .detail_box .detail_btn {
		font-size: 11px;
		max-width: 264px;
		padding: 5px 0;
	}
}
/*-----------------------------------

	atype_block

-----------------------------------*/
#atype_block {
	background: linear-gradient(90deg,rgba(123, 128, 128, 0.63) 0%, rgba(255, 255, 255, 0.63) 33%, rgba(255, 255, 255, 0.63) 62%, rgba(123, 128, 128, 0.63) 100%);
	padding: 0 0 52px;
}
#atype_block .contents_inner {
	max-width: 1171px;
}
#atype_block .top_img {
	width: 100vw;
	margin: 0 calc(50% - 50vw) 40px;
}
#atype_block .detail h2 {
	font-size: 41px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	text-align: center;
	line-height: 2.44;
	letter-spacing: -0.025em;
	color: #293855;
	max-width: 680px;
	margin: 0 auto 38px;
}
#atype_block .detail h2 span {
	display: block;
	position: relative;
}
#atype_block .detail h2 span::after {
	content: '';
	display: block;
	background: rgba(41, 56, 85, 0.8);
	width: 100%;
	height: 1px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#atype_block .detail .detail_wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 50px 41px;
}
#atype_block .detail .floor_box {
	width: 50.6%;
	margin-top: 34px;
}
#atype_block .detail .floor_box .ttl_img {
	margin-bottom: 154px;
}
#atype_block .detail .floor_box .floor_img {
	display: block;
	width: 100%;
	max-width: 538px;
	margin: 0 auto 171px;
}
#atype_block .detail .detail_box {
	width: 50.6%;
}
#atype_block .detail .detail_box .txt_top_wrap {
	margin-bottom: 23px;
}
#atype_block .detail .detail_box .txt_top_wrap .att_txt {
	font-size: 13px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: 0.05em;
	margin: 15px 0 0 39px;
}
#atype_block .detail .detail_wrap .txt_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 0;
	margin-bottom: 46px;
}
#atype_block .detail .detail_wrap .txt_wrap h3 {
	font-size: 37px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	letter-spacing: 0;
	color: #293855;
	width: 100%;
	border-bottom: 1px solid rgba(41, 56, 85, 0.6);
	margin-bottom: 14px;
}
#atype_block .detail .detail_box .txt_box {
	width: calc((100% - 14px) / 2);
}
#atype_block .detail .detail_btn {
	display: block;
	font-weight: 500;
	color: #FFFFFF;
	text-align: center;
	background: linear-gradient(90deg,rgba(128, 0, 0, 1) 0%, rgba(167, 0, 14, 1) 50%, rgba(128, 0, 0, 1) 100%);
	max-width: 399px;
	padding: 7px 0;
	margin: 0 auto;
	border: 1px solid rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 640px) {
	#atype_block {
		padding: 0 0 36px;
	}
	#atype_block .top_img {
		margin: 0 calc(50% - 50vw) 6px;
	}
	#atype_block .detail .detail_wrap {
		flex-wrap: wrap;
		gap: 37px 41px;
	}
	#atype_block .detail .floor_box,
	#atype_block .detail .detail_box {
		width: 100%;
	}
	#atype_block .detail .floor_box {
		margin-top: 0;
	}
	#atype_block .detail h2 {
		font-size: 21px;
		line-height: 2.67;
		margin-bottom: 15px;
	}
	#atype_block .detail .floor_box .ttl_img {
		width: 100vw;
		max-width: initial;
		margin: 0 calc(50% - 50vw) 31px;
	}
	#atype_block .detail .floor_box .floor_img {
		width: 98.2%;
		margin: 0 auto 31px;
	}
	#atype_block .detail .detail_box .txt_top_wrap {
		margin-bottom: 28px;
	}
	#atype_block .detail .detail_box .txt_top_wrap .detail_top_img {
		width: 100vw;
		max-width: initial;
		margin: 0 calc(50% - 50vw);
	}
	#atype_block .detail .detail_box .txt_top_wrap .att_txt {
		font-size: 10px;
		line-height: 1.6;
		margin: 10px 0 0 0;
	}
	#atype_block .detail .detail_wrap .txt_wrap {
		gap: 10px 0;
		margin-bottom: 30px;
	}
	#atype_block .detail .detail_wrap .txt_wrap h3 {
		font-size: 23px;
		letter-spacing: -0.025em;
		margin-bottom: 9px;
	}
	#atype_block .detail .detail_box .txt_box {
		width: calc((100% - 10px) / 2);
	}
	#atype_block .detail .detail_btn {
		font-size: 11px;
		max-width: 264px;
		padding: 5px 0;
	}
}
/*-----------------------------------

	newtrad_block

-----------------------------------*/
#newtrad_block {
	padding: 79px 0 40vw;
	background: url(../img/index/sky_bg.png) no-repeat center bottom/cover;
	position: relative;
	z-index: 0;
}
#newtrad_block .building_box {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
}
#newtrad_block .building_box::after {
	content: "";
	display: block;
	background: url(../img/index/building_caption.png) no-repeat center /87px;
	width: 87px;
	height: 15px;
	position: absolute;
	right: 22px;
	bottom: 20px;
}
#newtrad_block .building_box img.pc {
	display: block;
}
#newtrad_block .building_box img.sp {
	display: none;
}
#newtrad_block h2 {
	max-width: 650px;
	width: 80%;
	padding-bottom: 20px;
	margin: 0 auto 30px;
}
#newtrad_block h2 img {
	display: block;
	width: 54.7%;
	margin: 0 auto;
}
#newtrad_block .copy {
	font-size: 36px;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 76px;
}
#newtrad_block p {
	text-align: center;
}
#newtrad_block .movie,
#newtrad_block .yt_box {
	max-width: 672px;
	width: 70%;
	margin: 0 auto;
	position: relative;
}
#newtrad_block .yt_box iframe {
	width: 100%;
}
#newtrad_block .yt_box p {
	font-size: 13px;
	letter-spacing: 0;
	margin-top: 4px;
	margin-bottom: 0;
}
#newtrad_block .movie video {
	width: 100%;
	cursor: pointer;
}
#newtrad_block .movie .play_btn {
	display: block;
	margin: auto;
	position: absolute;
	inset: 0;
	transform: translateY(-10px);
	cursor: pointer;
	z-index: 1;
}
#newtrad_block .movie .play_btn.none {
	display: none;
}
@media screen and (max-width: 640px) {
	#newtrad_block {
	    background: url(../img/index/sp/sky_bg.png) no-repeat center bottom 15px / cover;
		padding: 13.4vw 0 67vw;
	}
	#newtrad_block::after {
		height: 40px;
		background: url(../img/index/newtrad_topbar.png) center center/25px;
	}
	#newtrad_block .building_box::after {
		background: url(../img/index/building_caption.png) no-repeat center /58px;
		width: 58px;
		height: 10px;
		position: absolute;
		right: 11px;
		bottom: 10px;	
	}
	#newtrad_block .building_box img.pc {
		display: none;
	}	
	#newtrad_block .building_box img.sp {
		display: block;
	}	
	#newtrad_block h2 {
		width: 100%;
		padding-bottom: 0;
		margin: 0 auto 27px;
	}
	#newtrad_block h2 img {
		width: 55%;
	}
	#newtrad_block .copy {
		font-size: 22px;
		margin-bottom: 32px;
	}
	#newtrad_block p {
		font-size: 10px;
		letter-spacing: 0.025em;
	}
	#newtrad_block .movie,
	#newtrad_block .yt_box {
		width: 100%;
	}
	#newtrad_block .yt_box iframe {
		height: max(58.2vw, 218px);
	}
	#newtrad_block .yt_box p {
		font-size: 11px;
		margin-top: 0;
	}
	#newtrad_block .movie .play_btn {
		display: none;
	}
}

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

	plan_block

-----------------------------------*/
#plan_block {
	padding: 60px 0 108px;
}
#plan_block h2 {
	max-width: 940px;
	margin: 0 auto 70px;
}
#plan_block p {
	text-align: center;
	margin-bottom: 55px;
}
#plan_block ul {
	max-width: 830px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 35px;
}
#plan_block ul li {
	width: 397px;
}
#plan_block ul li.vr a {
	position: relative;
	z-index: 1;
}
#plan_block ul li.vr a.c_btn::before {
	content: "";
	display: block;
	background: url(../img/common/360_vr_icon.svg) no-repeat center / cover;
	width: 73px;
	height: 19px;
	position: absolute;
	top: 5px;
	right: 6px;
}
#plan_block ul li.vr a.vr_btn {
	top: -2px;
	z-index: 0;
}
@media screen and (max-width: 640px) {
	#plan_block {
		padding: 30px 0 60px;
	}
	#plan_block h2 {
		width: 82.7%;
		margin-bottom: 27px;
	}
	#plan_block h2 span {
		font-size: 10px;
		font-family: "Noto Serif JP", serif;
		font-weight: 500;
		line-height: 1.6;
		text-align: center;
		margin-top: 16px;
	}
	#plan_block h2 span {
		font-size: 16px;
	}
	#plan_block ul {
		flex-direction: column;
		gap: 20px;
	}
	#plan_block ul li {
		width: 100%;
	}
	#plan_block ul li:nth-of-type(1) img.sp {
		margin-bottom: 2px;
	}
	#plan_block ul li.vr a.c_btn:before {
		width: 60px;
		height: 16px;	
	}
}

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

	haseko_block

-----------------------------------*/
#haseko_block {
	color: #ffffff;
	background: url(../img/index/haseko_bg.jpg) no-repeat center / cover;
	padding: 136px 0 146px;
}
#haseko_block h2 {
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 43px;
}
#haseko_block h3 {
	max-width: 314px;
	margin: 0 auto 71px;
}
#haseko_block p {
	font-size: 18px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	line-height: 2;
	letter-spacing: 0.05em;
	text-align: justify;
	max-width: 740px;
	margin: 0 auto 71px;
}
#haseko_block a:hover {
	opacity: 0.9;
}
@media screen and (max-width: 640px) {
	#haseko_block {
		background: url(../img/index/sp/haseko_bg.jpg) no-repeat center / cover;
		padding: 24px 0 47px;
	}
	#haseko_block h2 {
		font-size: 22px;
		margin-bottom: 22px;
	}
	#haseko_block h3 {
		max-width: 229px;
		margin-bottom: 33px;
	}
	#haseko_block p {
		font-size: 12px;
		margin-bottom: 33px;
	}
	#haseko_block .img_box {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
}

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

	special_block

-----------------------------------*/
#special_block {
	background: linear-gradient(90deg,rgba(123, 128, 128, 0.63) 0%, rgba(255, 255, 255, 0.63) 33%, rgba(255, 255, 255, 0.63) 62%, rgba(123, 128, 128, 0.63) 100%);
	padding: 52px 0 60px;
	position: relative;
}
#special_block h2 {
	max-width: 560px;
	margin: 0 auto 50px;
}
#special_block .copy {
	font-size: 21px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.1em;
	margin-bottom: 49px;
}
#special_block ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 20px 27px;
	width: 100%;
	max-width: 940px;
	margin: 0 auto;
}
#special_block ul li {
	width: calc((100% - 27px) / 2);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
#special_block ul li:has(iframe) {
	height: min(24.4vw, 257px);
}
#special_block ul li video,
#special_block ul li iframe {
	width: 100%;
	height: 100%;
}
#special_block ul li .spc_play_btn_1,
#special_block ul li .spc_play_btn_2 {
	display: block;
	margin: auto;
	position: absolute;
	inset: 0;
	transform: translateY(28px);
	z-index: 1;
	cursor: pointer;
}
#special_block ul li .spc_play_btn_1.trans,
#special_block ul li .spc_play_btn_2.trans {
	transform: translateY(-2px);
}
#special_block ul li .spc_play_btn_1.none,
#special_block ul li .spc_play_btn_2.none {
	display: none;
}
@media screen and (max-width: 640px) {
	#special_block {
		padding: 40px 0 15px;
	}
	#special_block .contents_inner {
		max-width: 100%;
	}
	#special_block h2 {
		width: 77%;
		margin: 0 auto 23px;
	}
	#special_block ul {
		gap: 15px;
		width: 100vw;
		height: auto;
		max-height: initial;
		margin: 0 calc(50% - 50vw);
	}
	#special_block ul li {
		width: 100%;
		height: 100% !important;
	}
	#special_block ul li iframe {
		height: 56.5vw;
	}
	#special_block ul li #special_video1.bg {
		background: url(../img/index/sp/special_img_01.jpg) no-repeat center top -5px / 100% auto;
	}
	#special_block ul li #special_video2.bg {
		background: url(../img/index/sp/special_img_02.jpg) no-repeat center top -5px / 100% auto;
	}
	#special_block ul li .spc_play_btn_1,
	#special_block ul li .spc_play_btn_2 {
		display: none;
	}
}

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

	menu_block

-----------------------------------*/
#menu_block {
	padding: 32px 0 120px;
}
#menu_block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 2px;
}
#menu_block ul li {
	width: calc((100% - 2px) / 2);
	position: relative;
}
#menu_block ul li::before {
	position: absolute;
	bottom: 0;
	right: 15px;
}
#menu_block ul li:nth-child(1)::before {
	content: url(../img/index/menu_caption_02.svg);
}
#menu_block ul li:nth-child(2)::before {
	content: url(../img/index/menu_caption_03.svg);
}
#menu_block ul li:nth-child(3)::before {
	content: url(../img/index/menu_caption_04.svg);
}
#menu_block ul li:nth-child(4)::before {
	content: url(../img/index/menu_caption_05.svg);
}
#menu_block ul li:nth-child(5)::before {
	content: url(../img/index/menu_caption_05.svg);
}
#menu_block ul li:nth-child(6)::before {
	content: url(../img/index/menu_caption_08.svg);
	width: 87px;
}
#menu_block ul li:nth-child(7)::before {
	content: url(../img/index/menu_caption_07.svg);
	width: 39px;
}
#menu_block ul li:nth-child(8)::before {
	content: url(../img/index/menu_caption_06.svg);
}
#menu_block p {
    margin-top: 40px;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 0;
    font-weight: 500;
}
@media screen and (max-width: 1050px) {
}
@media screen and (max-width: 840px) {
	#menu_block ul {
		gap: 10px 2px;
	}
}
@media screen and (max-width: 640px) {
	#menu_block {
		padding: 0 0 50px;
	}
	#menu_block ul {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		gap: 0;
	}
	#menu_block ul li {
		width: 100%;
	}
}

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

	

-----------------------------------*/
@media screen and (max-width: 1050px) {
}
@media screen and (max-width: 640px) {
}

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

	

-----------------------------------*/
@media screen and (max-width: 1050px) {
}
@media screen and (max-width: 640px) {
}

