/*
Last Updated: 2024-08
Author:kaminaka
*/

/*----------------------------------------
	物件ページ
----------------------------------------*/
.pagenavi {
	background-color: #24282f;
	color: #666;
	line-height:2.5;
	font-size:1rem;
	padding-left: 10px;
	box-sizing: border-box;
}

.pagenavi a{
	color: #666;
}
.head_left{
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
}
.head_left h1{padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;}

.text_whtie{
	color: #fff;
}

.text_black{
	color: #000;
}
.gray_text{
	color:#424242;
}

/*----------------------------------------
	レイアウト
----------------------------------------*/
.abs{
	position: absolute;
}
.rela{
	position: relative;
}
.frame{
	max-width: 1350px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.inner_frame {
	max-width: 1050px;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
}
.inner_frame_s {
	max-width: 850px;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
}
.main_frame {
	padding-left:  20px;
	padding-right: 20px;
	margin-right: auto;
	margin-left: auto;
	max-width: 1200px;
	box-sizing: border-box;
}

.sp_none{ display:block; }
.pc_none{ display:none; }

@media print, screen and ( max-width:1060px) {
	.inner_frame_s {
		width: 100%;
		padding-right: 2.5%;
		padding-left: 2.5%;
		box-sizing: border-box;
	}

}/*END*/



.text_center{
	text-align: center;
}
@media screen and (max-width: 599px){
	.text_center{
		text-align: left;
	}
	.sp_none{ display:none; }
	.pc_none{ display:block; }

}/*END*/







/*----------------------------------------
	contents
----------------------------------------*/

p{
	font-family:'游ゴシック体','Yu Gothic',YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	letter-spacing: 1.2px;
	line-height: 2.0em;
	font-weight:500;
	font-feature-settings: "palt";
}
img{
	height: auto;
}
.yugo{
	font-family:'游ゴシック体','Yu Gothic',YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.meiryo{
	font-family:'メイリオ',Meiryo,'游ゴシック体','Yu Gothic',YuGothic,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}

.palt{
	font-feature-settings: "palt";
}

/* grid,flex */
.dis_flex{
	display: flex;
}
.flexbox{
	display: flex;
}

@media screen and (max-width: 599px) {
	.flexbox{
		flex-direction: column;
		row-gap: 30px;
	}
}
.flex_wrap{
	flex-wrap: wrap;
}
.al_center{
	align-items: center;
}
.al_end{
	align-items: flex-end;
}
.al_s_end{
	align-self: flex-end;
}
.jsc_sb{
	justify-content: space-between;
}
.jsc_center{
	justify-content: center;
}
.grid_two_auto,
.grid_two,
.grid_three,
.grid_four{
	display: grid;
	column-gap: 3.5%;
	row-gap: 30px;
}
.grid_two_auto{
	grid-template-columns: repeat(2,auto);
}
.grid_two{
	grid-template-columns: repeat(2,1fr);
}
.grid_three{
	grid-template-columns: repeat(3,1fr);
}
.grid_four{
	grid-template-columns: repeat(4,1fr);
}

@media screen and (max-width: 599px) {
	.grid_two_auto,
	.grid_two,
	.grid_three{
		grid-template-columns: repeat(1,1fr);
	}
	.sp_grid_two,
	.grid_four{
		grid-template-columns: repeat(2,1fr);
	}
	.sp_grid_three{
		grid-template-columns: repeat(3,1fr);
	}
	.sp_grid_two.grid_two_auto{
		grid-template-columns: repeat(2,auto);
	}
}
.flex_two{
	display: flex;
	justify-content: space-between;
}
.reverse{
	flex-direction: row-reverse;
}
.flex_two > div{
	width: 47.5%;
}
@media screen and (max-width: 599px) {
	.flex_two,
	.reverse{
		flex-direction: column;
		row-gap: 30px;
	}
	.flex_two > div{
		width: 100%;
	}
	.sp_dis_contents{
		display: contents;
	}
}
.sp_archive_link_layout{
	display: flex;
	flex-direction: column-reverse;
	position: relative;
}
@media screen and (max-width: 599px) {
	.sp_archive_link_layout{
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	.sp_archive_link_layout_text{
		width: 55%;
	}
	.sp_archive_link_layout_img{
		width: 42%;
	}
}
.c_gap_0{
	column-gap: 0%;
}
.c_gap_1{
	column-gap: 1%;
}
.c_gap_3{
	column-gap: 3%;
}
.c_gap_5{
	column-gap: 5%;
}
.c_gap_7{
	column-gap: 7%;
}
.c_gap_10{
	column-gap: 10%;
}
.row_gap_0{
	row-gap: 0px;
}
.row_gap_60{
	row-gap: 60px;
}
.row_gap_100{
	row-gap: 100px;
}
.gap_0{
	gap: 0px;
}
.gap_5{
	gap: 5px;
}
.gap_10{
	gap: 10px;
}
@media screen and (max-width: 599px) {
	.row_gap_100{
		row-gap: 50px;
	}
	.sp_row_gap_150{
		row-gap: 150px;
	}
	.sp_row_gap_100{
		row-gap: 100px;
	}
	.sp_row_gap_30{
		row-gap: 30px;
	}
	.sp_row_gap_0{
		row-gap: 0;
	}
}




/*----------------------------------------
	iframe中央配置
----------------------------------------*/

/*iframe比率維持*/
.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 37% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 768px){

	.map{ padding: 75% 0 0; }

}/*END*/
.z_1{z-index: 1;}
.z_2{z-index: 2;}
.z_3{z-index: 3;}
.max_1030{
	max-width: 1030px;
}
.max_960{
	max-width: 960px;
}
.max_880{
	max-width: 880px;
}
.m_center{
	margin-inline: auto;
}
.bg01{
	background-color: #f5f213;
}
.bg02{
	background-color: #e9ebf7;
}
.bg03{
	background-color: #00074c;
}
.bg_img{
	background-image: url(./images/bg.jpg);
	background-size: contain;
	background-position: top center;
	background-repeat: repeat-x;
	background-color: #00074c;
}
.land_bg_img{
	background-image: url(./images/land_bg.jpg);
	background-size: contain;
	background-position: top center;
	background-repeat: repeat-x;
	background-color: #00074c;
}
.bg_img_lineup{
	background-image: url(./images/lineup_bg.png);
	background-position: bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
/* concept */
.concept_deco02,
.intro_deco01{
	margin-left: clamp(-100px, calc((100vw - 1160 * 1px)) / -2 , -0px);
}
.concept_deco01{
	right: 5%;
	bottom: 0;
}
/* intro */
.intro_bg{
	background-image: url(./images/intro_bg.jpg);
	background-repeat: no-repeat;
	background-position: left bottom;
}
/* lineup */
.lineup_ttl_deco01{
	width: calc(107 / 1160 * 100%);
	left: 15%;
	bottom: 0;
}
.lineup_ttl_deco02{
	width: calc(98 / 1160 * 100%);
	right: 15%;
	bottom: 0;
}
/* plan */
.plan_panel {
	display: none;
	text-align: center;
}
.plan_panel.active {
	display: block;
}
.plan_tab_area{
	display: flex;
	justify-content: space-between;
	column-gap: 5px;
}
.plan_tab_icon{
	top: 0;
	left: 50%;
	translate: -50% 0;
	transition: 0.3s ease-in;
	z-index: 0;
	display: inline-block;
}
.plan_deco01{
	width: calc(188 / 1160 * 100%);
	top: 50%;
	right: 5%;
	translate: 0 -25%;
}

.active .plan_tab_icon{
	translate: -50% -100%;
	transition: 0.3s cubic-bezier(0.2,0.96,0.81,1.8);
}

.location_list > div{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #dddada;
	column-gap: 10px;
}
.location_list > div:first-of-type{
	border-top: 1px solid #dddada;
}
.location_list dt,
.location_list dd{
	padding: 1em 0.5em;
	font-size: clamp(1.4rem,1.875vw,1.6rem);
}
.location_deco01{
	width: calc(239 / 1160 * 100%);
	right: 0%;
	top: 50%;
	translate: 0 -10%;
}
/* outline */
.outlline_list > div{
	display: grid;
	grid-template-columns: 30% 1fr;
	border-bottom: 1px solid #d3d3d3;
}
@media screen and (max-width: 599px) {
	.outlline_list > div{
		grid-template-columns: 1fr;
	}
}
.outlline_list > div:first-of-type{
	border-top: 1px solid #d3d3d3;
}
.outlline_list dt,
.outlline_list dd{
	padding: 1em 1.5em;
	font-size: clamp(1.4rem,1.875vw,1.6rem);
	line-height: 1.4;
}
.outlline_list dt{
	background-color: #cbcde5;
}
.outlline_list dd{
	background-color: #fff;
}

.comming {
  position: absolute; /* 既存セクションに重ねる */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6); /* 半透明の黒幕 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 4; /* 手前に表示 */
}

.comming_text {
  color: #fff;
  font-size: 7rem;
  letter-spacing: 0.1em;
  text-align: center;
  font-weight: 600;
}