@charset "utf-8";
/*
.gnavi li:nth-child(7),
.gnavi li:nth-child(8) {
pointer-events: none
}
*/

/* 来場予約ボタン非表示 */
/*.hnavi li:nth-child(4){
display: none;
}
.footer_fix ul li:nth-child(5) {
display: none;
}*/
/* ハンバーガーボタン表示 */
@media ( max-width : 1060px ){
.hnavi li:nth-child(5) {
display: block;
opacity: 1;
visibility:visible;
}
}
/* グレーアウト .s_construction */
.s_construction {
-webkit-filter: grayscale(1);
filter: gray;
filter: grayscale(1);
cursor: default;
}
/* グロナビグレーアウト */
.gnavi li:nth-child(99) a {
opacity: 0.2;
pointer-events: none;
}

/* グロナビ NEW マーク */
.gnavi li {
  position: relative; }

.gnavi li:nth-child(9) a::after,
.gnavi li:nth-child(99) a::after,
.gnavi li:nth-child(99) a::after
{
  position: absolute;
  top: 3px;
  right: 3px;
  font-size: 11px;
  content: "NEW";
  color:#ffffff;
  background-color:#6B0608;
  padding: 1px 4px 1px 4px;
  line-height: 12px;
}


/*----------------------------------------------------
	枠
----------------------------------------------------*/
.s_waku_wrapper {
position: relative;
}
.s_waku {
position:absolute;
z-index: 4;
pointer-events: none;
border:4px solid rgba(215,199,163,1.00);
top:40px;
left:40px;
right:40px;
bottom:40px;
}
@media ( max-width : 1440px ){
.s_waku {
border:2px solid rgba(215,199,163,1.00);
top:30px;
left:30px;
right:30px;
bottom:30px;
}
}
@media ( max-width : 1024px ){
.s_waku {
border:2px solid rgba(215,199,163,1.00);
top:20px;
left:20px;
right:20px;
bottom:20px;
}
}
/*----------------------------------------------------
	共通タイトル
----------------------------------------------------*/
.s_main_title_01 {
font-size:38px;
line-height:1.3;
letter-spacing: 0.1em;
text-align: center;
font-weight:300;
}
.s_main_title_01b {
font-size:42px;
line-height:1.3;
letter-spacing: 0.1em;
text-align: center;
font-weight:300;
}
.s_main_title_01 span {
font-size:30px;
line-height:1.3;
letter-spacing: 0.1em;
text-align: center;
font-weight:300;
width:100%;
display:block;
text-align: center;
}
@media ( max-width : 768px ){
.s_main_title_01 {
font-size:5vw;
}
.s_main_title_01b {
font-size:5.2vw;
}
.s_main_title_01 span {
font-size:3.5vw;
}
}

.s_main_title_02 {
font-size:110px;
line-height:1.3;
letter-spacing: 0.01em;
font-weight:300;
color:#d7d3d1;
padding-bottom:0px;
}
.s_main_title_02 span {
font-size:60px;
line-height:1.3;
letter-spacing: 0.05em;
font-weight:300;
width:100%;
display:block;
text-align: center;
}
@media ( max-width : 1660px ){
.s_main_title_02 {
font-size:80px;
}
}
@media ( max-width : 768px ){
.s_main_title_02 {
font-size:12vw;
}
.s_main_title_02 span {
font-size:7vw;
}
}

.s_main_title_03 {
font-size:110px;
line-height:1.3;
letter-spacing: 0.01em;
font-weight:300;
color:#d7d3d1;
padding-bottom:0px;
}
.s_main_title_03 span {
font-size:60px;
line-height:1.3;
letter-spacing: 0.05em;
font-weight:300;
width:100%;
display:block;
text-align: center;
}
@media ( max-width : 1660px ){
.s_main_title_03 {
font-size:80px;
}
}
@media ( max-width : 768px ){
.s_main_title_03 {
font-size:10vw;
}
.s_main_title_03 span {
font-size:6vw;
}
}

.s_text_01 {font-size:24px; font-feature-settings: "palt";}
.s_text_01b {font-size:20px; font-feature-settings: "palt";}
.s_text_02 {font-size:22px; font-feature-settings: "palt";}
.s_text_03 {font-size:16px; font-feature-settings: "palt";}
.s_text_04 {font-size:16px; font-feature-settings: "palt";}
.s_text_05 {font-size:11px; font-feature-settings: "palt"; line-height: 1.4;}
@media ( max-width : 1660px ) {
.s_text_01 {font-size:20px;}
.s_text_01b {font-size:18px;}
.s_text_02 {font-size:18px;}
.s_text_03 {font-size:14px;}
.s_text_04 {font-size:14px;}
.s_text_05 {font-size:11px;}
}
@media ( max-width : 768px ){
.s_text_01 {font-size:3.4vw;}
.quality .s_text_01 {font-size:3.4vw; line-height: 1.4;}
.quality .s_text_01b {font-size:3.0vw; line-height: 1.4;}
.s_text_02 {font-size:3.4vw;}
.s_text_03 {font-size:2.6vw;}
.quality_04 .s_text_03 {font-size:2.2vw; line-height:1.3;}
.s_text_04 {font-size:2vw;}
.s_text_05 {font-size:1.4vw; line-height: 1.3;}
}



/*----------------------------------------------------
	共通横並びボックス
----------------------------------------------------*/
.s_col_01 {
display: flex;
justify-content:space-between;
flex-wrap:wrap;
align-items: center;
}
.s_col_01_01 {
width:50%;
}
.s_col_01_02 {
width:50%;
padding:0px 80px 0px 220px;
}
@media ( max-width : 1660px ) {
.s_col_01 {
align-items:flex-start;
}
.s_col_01_01 {
width:50%;
}
.s_col_01_02 {
width:50%;
padding:0px 60px 60px 100px;
}
.s_col_01_02_02 {
width:50%;
padding:190px 60px 60px 100px;
}
}
@media ( max-width : 768px ) {
.s_col_01_01 {
width:100%;
padding-right:80px;
}
.s_col_01_02 {
width:100%;
padding:30px 40px 30px 80px;
}
}

.s_col_02 {
display: flex;
justify-content:space-between;
flex-wrap:wrap;
align-items: center;
}
.s_col_02_01 {
width:50%;
}
.s_col_02_02 {
width:50%;
padding-top:1%;
padding-right:80px;
padding-bottom:0px;
padding-left:13%;
}
@media ( max-width : 1660px ) {
.s_col_02 {
align-items:flex-start;
}
.s_col_02_01 {
width:50%;
}
.s_col_02_02 {
width:50%;
padding:0px 60px 60px 100px;
padding-top:10%;
}
.s_col_02_03 {
padding-top:60px;
}
}
@media ( max-width : 768px ) {
.s_col_02_01 {
width:100%;
padding-left:40px;
padding-right:0px;
margin-top:-20px;
}
.s_col_02_02 {
width:100%;
padding:30px 40px 30px 80px;
}
.s_col_02_03 {
padding-top:30px;
}
}

.s_col_03 {
position: relative;
display: flex;
justify-content:center;
}
.s_col_03_01 {
width:48%;
left:15%;
top:10%;
position: absolute;
}
.s_col_03_02 {
width:40%;
padding-top:28%;
}

@media ( max-width : 1660px ) {
.s_col_03_01 {
width:52%;
left:10%;
top:10%;
position: absolute;
}
.s_col_03_02 {
width:50%;
padding-top:28%;
}
}
@media ( max-width : 768px ) {
.s_col_03_01 {
width:72%;
left:0%;
top:0%;
position: absolute;
}
.s_col_03_02 {
width:38%;
padding-top:35%;
}
.s_col_03_02_02 {
width:65%;

margin-left:15%;
}
.urbanlife .s_col_01 .s_urbanlife_02,
.s_col_03_01 .pic_caption_left_wht {
top:5px;
right:5px !important;
text-align: right;
}
.urbanlife .s_col_02 {
margin-top:-60px;
}
}

.s_col_04 {
display: flex;
justify-content:space-between;
flex-wrap:wrap;
align-items: center;
}
.s_col_04_01 {
width:35%;
}
.s_col_04_02 {
width:65%;
padding:0px 80px 0px 220px;
}
@media ( max-width : 1660px ) {
.s_col_04_01 {
width:35%;
}
.s_col_04_02 {
width:65%;
padding:0px 60px 60px 180px;
}
}
@media ( max-width : 768px ) {
.s_col_04_01 {
width:100%;
padding-left:80px;
}
.s_col_04_02 {
width:100%;
padding:30px 40px 30px 80px;
}
}





/*----------------------------------------------------
	メインビジュアル
----------------------------------------------------*/
.mv_urbanlife {
background-image: url("../images/urbanlife/0011.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_urbanlife {
background-image: url("../images/urbanlife/0011_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.mv_location {
background-image: url("../images/location/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_location {
background-image: url("../images/location/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.mv_design {
background-image: url("../images/design/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_design {
background-image: url("../images/design/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.mv_plan {
background-image: url("../images/plan/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_plan {
background-image: url("../images/plan/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
background-position: 75% center;
background-size:220%;
}
}

.mv_access {
background-image: url("../images/access/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_access {
background-image: url("../images/access/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.mv_quality {
background-image: url("../images/quality/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_quality {
background-image: url("../images/quality/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.mv_brand {
background-image: url("../images/brand/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_brand {
background-image: url("../images/brand/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}
.mv_essence {
background-image: url("../images/essence/00101.jpg");
min-height: calc( 100dvh - 60px );
background-position: center bottom;
background-size: cover;
}
@media ( max-width : 768px ){
.mv_essence {
background-image: url("../images/essence/00101_sp.jpg");
min-height: calc( 100dvh - 60px );
}
}

.cp_arrows {
  position:absolute;
  display: flex;
  height: 80px;/*画面いっぱいにする場合100vh*/
  justify-content: center;
  align-items: center;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
}
.cp_arrows .cp_arrow {/*矢印を配置するベースの設定*/
  position: absolute;
  top: 50%;/*着地点(cp_arrowsの高さの50%)*/
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 10px;
  opacity: 0;
}
.cp_arrows .cp_arrow:first-child {
  animation: arrow-move08 2s ease-in-out infinite;
}
.cp_arrows .cp_arrow:nth-child(2)  {
  animation: arrow-move08 2s 1s ease-in-out infinite;
}
.cp_arrows .cp_arrow:before,
.cp_arrows .cp_arrow:after {/*矢印全体の設定*/
  position: absolute;
  content: '';
  top: 0;
  width: 30px;
  height: 3px;
  background: #fff;
}
.cp_arrows .cp_arrow:before {/*矢印左の線の位置と傾斜*/
  left: 3px;
  transform: rotate(30deg);
}
.cp_arrows .cp_arrow:after {/*矢印左の線の位置と傾斜*/
  right: 3px;
  transform: rotate(-30deg);
}
@media ( max-width : 768px ){
.cp_arrows {
  position:absolute;
  display: flex;
  height: 30px;/*画面いっぱいにする場合100vh*/
  justify-content: center;
  align-items: center;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}
}
@keyframes arrow-move08 {
    0% { opacity: 0; top: 0%;/*スタート地点(cp_arrowsの高さの40%)*/}
   70% { opacity: 1;}
  100% { opacity: 0;}
}
/*-----トップビックバナー　メインビジュアルタイトル----*/
.s_pic_title_01 {
font-size:48px;
line-height:1.3;
letter-spacing: 0.1em;
text-align: center;
font-weight:300;
position:absolute;
top:43%;
left:0px;
right:0px;
color:#fff;
}
.s_pic_title_01 span {
font-size:24px;
line-height:1.3;
letter-spacing: 0.1em;
text-align: center;
font-weight:300;
width:100%;
display:block;
padding-top:0.5em;
}
.big_end .s_pic_title_01 {
top:30%;
}
@media ( max-width : 1024px ) {
.s_pic_title_01 {
font-size:36px;
}
.s_pic_title_01 span {
font-size:20px;
}
}
@media ( max-width : 768px ) {
.s_pic_title_01 {
font-size:7vw;
top:36%;
}
.s_pic_title_01 span {
font-size:4vw;
}
.big_end {
margin-top:50px;
}
.big_end .s_waku_wrapper .s_top_00 {
height:60vw;
}
.big_end .s_pic_title_01 {
top:18%;
}
}

.mv .s_pic_title_01 {
top:48%;
}
@media ( max-width : 1024px ) {
.mv .s_pic_title_01 {
top:43%;
}
}
@media ( max-width : 768px ) {
.mv .s_pic_title_01 {
top:43%;
}
}

.txt_color_gold {
color:#755842;
}
.txt_color_red {
color:#940518;
}

/*----------------------------------------------------
	トップページ
----------------------------------------------------*/
.s_info dl {
min-height:4em;
overflow-y: scroll;
padding-right:15px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.s_info dl dt {
font-family: 'Noto Sans JP', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
font-size:16px;
line-height:1.8;
width:16%;
margin-bottom:0.5em;
}
.s_info dl dd {
font-family: 'Noto Sans JP', Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
font-size:16px;
line-height:1.8;
width:80%;
margin-bottom:0.5em;
}
@media ( max-width : 768px ) {
.s_info dl dt {
font-size:2.2vw;
width:16%;
}
.s_info dl dd {
font-size:2.2vw;
width:80%;
}
}


.s_top_00 {
background-repeat: no-repeat;
background-position: center bottom;
background-size: cover;
position: relative;
height: auto;
width:100%;
min-height: 700px;
}
@media ( max-width : 1024px ) {
.s_top_00 {
min-height: 600px;
}
}
@media ( max-width : 768px ) {
.s_top_00 {
min-height: 280px;
}
}


.s_top_01 {
padding:140px 80px;
position: relative;
width:100%;
}
@media ( max-width : 768px ) {
.s_top_01 {
padding:40px 30px 80px;
position: relative;
}
}
.s_top_02 {
font-size:18px;
text-align: center;
line-height:3;
}
@media ( max-width : 1440px ) {
.s_top_02 {
font-size:16px;
text-align: center;
line-height:3;
}
}
@media ( max-width : 768px ) {
.s_top_02 {
font-size:2.4vw;
text-align: center;
line-height:3;
}
}
.s_top_03 {
margin-top:60px;
text-align: center;
}
@media ( max-width : 768px ) {
.s_top_03 {
margin-top:40px;
text-align: center;
}
}
.s_top_03 a:hover {
opacity: 1 !important;
}
.s_top_03w {
text-align: center;
position: absolute;
bottom:200px;
left:0px;
right:0px;
}
@media ( max-width : 768px ) {
.s_top_03w {
bottom:100px;
}
.big_end .s_waku_wrapper .s_top_00 .s_top_03w {
bottom:60px;
}
}
.s_top_03w a:hover {
opacity: 1 !important;
}

/*----------------------------------------------------
	行動提起
----------------------------------------------------*/
.kt01{
width: 100%;
background-color: #75706f;
text-align: center;
/*background-image: linear-gradient(0deg, rgba(223, 198, 124, 1), rgba(196, 160, 80, 1));*/
}
.kt01_btn{
padding: 30px 30px 10px 30px;
width: 90%;
max-width: 880px;
margin: auto;
}
.kt01a{
font-size: 40px;
font-weight: 500;
line-height: 2em;
}
.kt01b{
width: 100%;
font-size: 30px;
font-weight: 500;
text-align: center;
line-height: 2em;
}
.kt01_btnc{
color: white;
padding: 30px;
padding-top: 5px;
width: 90%;
max-width: 880px;
margin: auto;
}

/*----------------------------------------------------
	休業のお知らせ
----------------------------------------------------*/

.holiday{
text-align: center;
color: white;
font-size: 18px;
line-height: 24px;
width:100%;
max-width:900px;
border: solid 1px #E7E7E7;
padding: 1%;
margin: auto;
margin-top: 2%;
margin-bottom: 2%;
}

@media ( max-width : 768px ) {
.holiday{
color: white;
font-size: 12px;;
line-height: 1.5em;
margin-bottom: 2%;

}
}

/*----------------------------------------------------
	インフォメーション
----------------------------------------------------*/

.info_text{
line-height: 1.37em;
font-size: 0.88em;
margin-bottom: 1.5em;
}

@media ( max-width : 768px ) {
.info_text{
line-height: 1.77em;
font-size: 0.98em;
}
}

.info_text_hd{
text-align: center;
color: white;
line-height: 1.77em;
font-size: 1.13em;
margin-bottom: 1.5em;
}

@media ( max-width : 768px ) {
.info_text_hd{
line-height: 1.77em;
font-size: 0.88em;
}
}


.info_text_shin{
width: 100%;
  padding: 30px 0;
  margin: auto;
  /*border: solid 2px #fffab5;*/
  font-size: 2.6em;
  line-height: 1.66em;
  text-align: center;
  color: #fff;
  background-image: radial-gradient(circle, rgba(255, 192, 58, 0.97), rgba(224, 162, 8, 0.97) 80%);
}

@media ( max-width : 768px ) {
.info_text_shin{
font-size: 1.4em;
line-height: 1.66em;
padding: 15px 0;
margin: auto;
}
}

.info_text_shin_act{
width: 100%;
  padding: 15px 0;
  margin: auto;
  /*border: solid 2px #fffab5;*/
  font-size: 2.1em;
  font-weight: 500;
  line-height: 1.16em;
  text-align: center;
  color: #fff;
  background-image: radial-gradient(circle, rgba(255, 58, 58, 1), rgba(175, 0, 0, 1) 80%);
}

@media ( max-width : 768px ) {
.info_text_shin_act{
font-size: 1.1em;
font-weight: 500;
line-height: 1.41em;
padding: 15px 0;
margin: auto;
}
}

/*----------------------------------------------------
	光るボタン
----------------------------------------------------*/

.button {
	background: #ebf4fa;
	color: #fff;
	display: inline-block;
	overflow: hidden;
	padding: 20px;
	position: relative;
	text-decoration: none;
}
.button::after {
	animation: 4s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 100%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-25deg);
	width: 50%;
}
@keyframes shine {
	20% {
		left: 150%;
	}
	100% {
		left: 150%;
	}
}


/*----------------------------------------------------
	トップ　メリット
----------------------------------------------------*/
.s_bg_merit {
background: url("../images/top/merit_base.jpg") top center no-repeat;
background-size: cover;
}
.s_bg_merit li {
background: rgba(39,11,0,0.9);
}
.s_bg_merit li:nth-child(2n) {
background: rgba(66,33,11,0.9);
}
.s_bg_merit li img {
width:100%;
}

@media ( max-width : 768px ) {
.s_bg_merit {
background: url("../images/top/merit_base_sp.jpg") top center no-repeat;
background-size: cover;
}
.s_bg_merit li {
background: rgba(39,11,0,0.9);
}
.s_bg_merit li:nth-child(3n) {
background: rgba(66,33,11,0.9);
}
.s_bg_merit li:nth-child(4n) {
background: rgba(39,11,0,0.9);
}
}

.top_btn{
width: 88%;
max-width: 880px;
margin: 30px auto 0px;
}
.top_btn_wrapper {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
}
.top_btn {
width:80%;
margin-bottom:2em;
}


/*----------------------------------------------------
	アーバンライフ
----------------------------------------------------*/
.s_urbanlife_01 {
margin-top:-100px;
}
@media ( max-width : 768px ) {
.s_urbanlife_01 {
margin-top:-40px;
}
p.pic_caption_left_wht_noborder.s_urbanlife_02 {
right:20px;
left:auto;
bottom:50px;
}
}

/*----------------------------------------------------
	プラン
----------------------------------------------------*/
.plan_kankyo{
width: 88%;
max-width: 600px;
margin: auto;
}
.plan_btn_wrapper {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
}
.plan_btn {
width:48%;
margin-bottom:2em;
}
/*----------------------------------------------------
	ポジション
----------------------------------------------------*/
.s_position_01 {
width:100%;
max-width: 221px;
margin:0 auto;
}
@media ( max-width : 768px ) {
.s_position_01 {
width:100%;
max-width: 25%;
}
}
/*----------------------------------------------------
	デザイン
----------------------------------------------------*/
.s_design_01 {
border-right:solid 1px #ccc;
padding-right:20px;
}
.s_design_02 img {
width:100%;
}
.s_design_03 {
width:55%;
bottom:6%;
left:0;
position:absolute;
}
.s_design_04 {
width:98%;
bottom:6%;
left:0;
position:absolute;
}
@media ( max-width : 768px ) {
.s_design_01 {
border-right:none;
padding-right:0px;
}
.s_design_02 {
text-align: right;
}
.s_design_02 img {
width:80% !important;
}
}

/*----------------------------------------------------
	ソフトサービス
----------------------------------------------------*/
.s_softservice_01 {
width:40%;
position: absolute;
top:-90px;
right:5%;
z-index: 1;
}
.s_softservice_02 {
width:40%;
position: absolute;
top:-90px;
left:5%;
z-index: 1;
}
.s_softservice_04 {
width:40%;
position: absolute;
top:-90px;
right:5%;
z-index: 1;
}
@media ( max-width : 768px ) {
.s_softservice_01 {
width:48%;
position: absolute;
top:-11vw;
right:12%;
}
.s_softservice_02 {
width:48%;
position: absolute;
top:-11vw;
left:5%;
}
.s_softservice_04 {
width:48%;
position: absolute;
top:-11vw;
right:5%;
}
}

.s_softservice_03 {
width:100%;
margin:0 auto;
background: #ffffff;
border-radius: 50px;
padding:60px 180px;
}

@media ( max-width : 768px ) {
.s_softservice_03 {
border-radius: 30px;
padding:30px 20px;
}
}
/*----------------------------------------------------
	アクセス
----------------------------------------------------*/
@media (max-width: 1660px) {
.s_access01 {
    padding-top: 0%;
    padding-right: 13%;
  }
}
.s_access02 {
    padding-left: 13%;
    padding-right: 13%;
    padding-top:60px;
  }
@media (max-width: 1660px) {
  .s_access02 {
    padding-left: 100px;
    padding-right: 100px;
  }
}
@media (max-width: 768px) {
  .s_access02 {
    padding-left: 80px;
    padding-right: 60px;
    padding-top:30px;
  }
}
.airport .s_text_01 {
letter-spacing: 0;
padding:0.5em;
text-indent:-1em;
line-height: 1.4;
}
@media (max-width: 768px) {
.airport .s_text_01 {
letter-spacing: 0;
padding:0.5em;
text-indent:-1em;
line-height: 1.4;
}
.airport .caption_left_blk {
font-size:1.8ve;
}
.airport .pt30 {
padding-top:20px;
}
}
/*----------------------------------------------------
	クオリティ
----------------------------------------------------*/
.subnavi_quality li {
font-size:24px;
border-top:none;
border-left:none;
border-right:none;
border-bottom:solid 1px #d7c7a3;
/*width:19.5%;
margin-left:0.2%;
margin-right:0.2%;*/
text-align: center;
}
.subnavi_quality li a {
text-decoration: none;
display: block;
color:#d7d3d1;
text-align: center;
padding-top:1em;
padding-bottom:1em;
}
.subnavi_quality li a:hover {
background:#d7c7a3;
color:#000000;
opacity: 1;
}
.subnavi_quality li a.active {
background:#d7c7a3;
color:#000000;
opacity: 1;
}
.subnavi_quality ul {
/*display: flex;
flex-wrap: wrap;
justify-content:center;*/
padding-top:60px;
}
@media ( max-width : 768px ) {
.subnavi_quality li {
font-size:4.5vw;
border:solid 1px #d7c7a3;
width:100%;
margin-left:0%;
margin-right:0%;
border-top:none;
border-left:none;
border-right:none;
border-bottom:solid 1px #d7c7a3;
}
.subnavi_quality li:nth-child(1) {
border-top:solid 1px #d7c7a3;
border-left:none;
border-right:none;
border-bottom:solid 1px #d7c7a3;
}
}

.quality-heading {
  display: flex;
  align-items: baseline;
  margin: 0 0 1em 0;
  border: none;
}

.quality-text {
  color:#d7c7a3;
  font-size:72px;
  font-weight:normal;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  background:#fff;
  padding:5px 0 0 0;
  line-height:1;
}
@media ( max-width : 768px ) {
.quality-text {
  color:#d7c7a3;
  font-size:8vw;
  font-weight:normal;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  background:#fff;
  padding:5px 0 0 0;
  line-height:1;
}
}
.quality-line {
  flex: 1;
  height: 2px;
  background:#d7c7a3;
  margin-left: 0;
}
.quality-heading2 {
  display: flex;
  align-items: baseline;
  margin: 0 0 1em 0;
  border: none;
}

.quality-text2 {
  color:#000;
  font-size:36px;
  font-weight:normal;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  background:#fff;
  padding:5px 0 0 0;
  line-height:1;
}
@media ( max-width : 768px ) {
.quality-text2 {
  color:#000;
  font-size:4vw;
  font-weight:normal;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  background:#fff;
  padding:5px 0 0 0;
  line-height:1;
}
}
.quality-line2 {
  flex: 1;
  height: 2px;
  background:#000;
  margin-left: 0;
}

/*.quality_1st_img {
padding-left:35%;
}
@media ( max-width : 1400px ) {
.quality_1st_img {
padding-left:60px;
}
}
@media ( max-width : 1200px ) {
.quality_1st_img {
padding-left:40px;
}
}*/
.quality_1st_img {
width:100%;
max-width: 1050px;
margin:0 auto;
}
.bg_quality {
background: #d6cbb4;
padding:60px;
}
@media ( max-width : 768px ) {
.bg_quality {
background: #d6cbb4;
padding:25px;
}
}
.bg_essence01 {
background-image: url("../images/essence/0020.jpg");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
}
.bg_essence02 {
background-image: url("../images/essence/0030.jpg");
background-position: top center;
background-repeat: no-repeat;
background-size: cover;
}
@media (max-width: 768px) {
.quality .s_text_01 {
font-size: 3.2vw;
line-height: 1.5;
}
.quality .s_text_01b {
font-size: 2.6vw;
line-height: 1.5;
letter-spacing: 0.01em;
}
.quality .s_text_01b span {
font-size: 2.0vw;
line-height: 1.5;
}
.quality .s_text_03 {
font-size: 2.4vw;
line-height: 1.6;
}
}
.quality_sqtext ul {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
padding:1.5em 0;
}
.quality_sqtext ul li {
background: #d7c7a3;
padding:0.5em;
width:48%;
text-align: center !important;
font-size:18px;
}
@media ( max-width : 768px ) {
.quality_sqtext ul li {
font-size:2.5vw;
}
}
.quality_01 {
display: flex;
flex-wrap: wrap;
justify-content:flex-start;
}
.quality_01 img {
width:100%;
max-width: 200px;
margin-right:20px;
}
.s_text_06 {
font-size:24px;
background: #8e0000;
color:#fff;
text-align: center;
padding:0.2em 0.2em;
line-height: 1.4;
}
@media ( max-width : 768px ) {
.s_text_06 {
font-size:2.0vw;
letter-spacing: 0.01em;
}
}
.quality_02 {
width:80%;
margin:2em auto;
}
.quality_03 {
width:80%;
margin:2em auto;
}
@media ( max-width : 768px ) {
.quality_03 {
width:100%;
margin:2em auto;
}
}
.quality_1st_img p.pic_caption_left_wht_noborder {
padding-left:10px;
}
@media ( max-width : 768px ) {
.quality_1st_img p.pic_caption_left_wht_noborder {
padding-left:30px !important;
}
}
.quality_04 {
margin:0px auto;
text-align: left;
margin:0px 0 0 30px;
}
.quality_04 img {
width:100%;
max-width: 60%;
}
@media ( max-width : 768px ) {
.quality_04 {
margin:0px 0 0 0px;
}
}

/*----------------------------------------------------
	間取り
----------------------------------------------------*/

/* ===============================
   Plan Switch : Flat Button
================================ */

.planSwitch{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* ボタン */
.planSwitch__btn{
  appearance: none;
  border: 0;
  border-radius: 0;          /* ← フラット長方形 */
  background: #e0e0e0;       /* 非アクティブ：グレー */
  color: #333;

  display: inline-flex;
  align-items: center;
  gap: 2%;

  padding: 14px 24px;
  justify-content: center;

  font-size: 18px;
  font-weight: 700;
  line-height: 1;
width:40%;
  cursor: pointer;
  transition: background .2s, color .2s;
}
@media ( max-width : 768px ) {
.planSwitch__btn{
  appearance: none;
  border: 0;
  border-radius: 0;          /* ← フラット長方形 */
  background: #e0e0e0;       /* 非アクティブ：グレー */
  color: #333;

  display: inline-flex;
  align-items: center;
  gap: 2%;
width:48%;
  padding: 14px 12px;
  justify-content: center;

  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1;

  cursor: pointer;
  transition: background .2s, color .2s;
}
}
/* hover */
.planSwitch__btn:hover{
  background: #cfcfcf;
}

/* アクティブ */
.planSwitch__btn.is-active{
  background: #000;          /* 黒 */
  color: #fff;
}

/* 画像ラッパ */
.planSwitch__imgWrap{
  flex-basis: 100%;
  margin-top: 36px;
}

.planSwitch__imgWrap img{
  width: 100%;
  height: auto;
  display: block;
  transition: opacity .25s;
}

/* ===============================
   矢印（SVG：安定）
================================ */


.planSwitch__arrow{
  width: 15px;          /* ← 12px → 15px（＋3px） */
  height: 15px;         /* ← 12px → 15px（＋3px） */
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
  transition: transform .25s;
}

/* 非アクティブ：右向き「く」 */
.planSwitch__btn:not(.is-active) .planSwitch__arrow{
  transform: rotate(0deg);
}

/* アクティブ：下向き（＋3px下げる） */
.planSwitch__btn.is-active .planSwitch__arrow{
  transform: rotate(90deg) translateX(3px);
}


/*----------------------------------------------------
	設備仕様
----------------------------------------------------*/
.s_equipment_01 {
width:100%;
margin:0 auto;
background: #ffffff;
border-radius: 50px;
padding:0px 0px 80px;
}
@media ( max-width : 768px ) {
.s_equipment_01 {
border-radius: 30px;
padding:0px 0px 40px;
}
}
.s_equipment_01 .s_equipment_02 {
padding:20px;
border-radius: 50px 50px 0px 0px;
}
@media ( max-width : 768px ) {
.s_equipment_01 .s_equipment_02 {
padding:10px;
border-radius: 30px 30px 0px 0px;
}
}
.s_equipment_03 {
width:100%;
margin:0 auto;
padding:80px 100px 0px;
}
@media ( max-width : 768px ) {
.s_equipment_03 {
padding:40px 20px 0px;
}
}
.s_equipment_04 {
width:100%;
margin:0 auto;
background: #ffffff;
border-radius: 50px;
padding:80px 180px 80px;
}
@media ( max-width : 768px ) {
.s_equipment_04 {
border-radius: 30px;
padding:40px 20px 40px;
}
}
.s_equipment_05 {
width:100%;
margin:0 auto;
background: #ffffff;
border-radius: 50px;
padding:80px 110px 80px;
}
@media ( max-width : 768px ) {
.s_equipment_05 {
border-radius: 30px;
padding:40px 15px 40px;
}
}

.s_equipment_00 {
    display: flex;
    flex-wrap: wrap;
}
.s_equipment_00 ul {
list-style: none;
}
.s_equipment_00 li {
    flex: 1 1;
    order: -1;
    position: relative;
    min-width: 70px;
    background-color: #f9b30f;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
    list-style: none;
}
.s_equipment_00 li a {
color:#fff;
text-decoration: none;
display: block;
padding: .7em 1em;
}
.s_equipment_00 li.active {
    background-color: #e36511;
    color: #fff;
    display: block;
}
.s_equipment_00 li:hover {
    background-color:#F48800;
    color: #fff;
}
.s_equipment_00 li.active:hover {
    background-color:#F48800;
    color: #fff;
}

.s_equipment_00 li.active a::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 9px;
    background-color: #e36511;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}



/*----------------------------------------------------
	デベロッパー
----------------------------------------------------*/

.s_developer_01 {
max-width:500px;
margin:0 auto;
}
.s_developer_02 {
max-width:360px;
margin:0 auto;
}
.s_developer_03 {
max-width:350px;
margin:0 auto;
}
@media ( max-width : 768px ) {
.s_developer_01 {
max-width:100%;
}
.s_developer_02 {
max-width:70%;
}
.s_developer_03 {
max-width:70%;
}
}

/*----------------------------------------------------
	ロケーション
----------------------------------------------------*/

.s_location_01 {
position:absolute;
left:0px;
top:0px;
width:66px;
transition:all 0.3s;
background: rgba(0,0,0,.5);
padding:15px;
display: block;
z-index: 2;
}
.s_location_01:hover {
cursor: pointer;
}
.s_location_01 img {
opacity: 0.6;
}
.s_location_01:hover img {
opacity: 1;
-webkit-transform: scale(1.1);
transform: scale(1.1);
transition:all 0.5s;
}
@media ( max-width : 768px ) {
.s_location_01 {
width:15%;
padding:3%;
}
}

.s_floormap {
overflow-y: auto;
height:1000px;
border:solid 1px #dfdfdf;
position: relative;
}
@media ( max-width : 768px ) {
.s_floormap {
height:250px;
}
}

.s_location_02 {
    display: flex;
    flex-wrap: wrap;
}

.s_location_02 > label {
    flex: 1 1;
    order: -1;
    position: relative;
    min-width: 70px;
    padding: .7em 1em;
    background-color: #f9b30f;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
}

.s_location_02 label:has(:checked) {
    background-color: #e36511;
    color: #fff;
}
.s_location_02 > label:hover {
    background-color:#F48800;
    color: #fff;
}

.s_location_02 label:has(:checked)::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 18px;
    height: 9px;
    background-color: #e36511;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.s_location_02 input {
    display: none;
}

.s_location_02 > div {
    display: none;
    width: 100%;   
}
.s_location_02 > div {
animation: fadeIntab 1s ease;
}
.s_location_02 label:has(:checked) + div {
    display: block;
}
@keyframes fadeIntab {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/*----------------------------------------------------
	ブランド
----------------------------------------------------*/
.s_brand_logo {
width:100%;
max-width: 583px;
margin:0 auto;
}
@media ( max-width : 768px ) {
.s_brand_logo {
max-width: 90%;
}
}

/*----------------------------------------------------
	物件概要
----------------------------------------------------*/
.s_outline th,
.s_outline td {
border: solid 1px #cccccc;
padding:0.8em 1em;
font-size:1rem;
line-height: 1.6;
}

.s_outline table {
border-collapse:  collapse;
width:100%;
}
.s_outline table tr {
border-collapse:  collapse;
width:100%;
}
.s_outline th {
width:25%;
font-weight:normal;
background:#dfdfdf;
text-align:left;
white-space:nowrap;
}

.s_outline td {
font-weight:normal;
background:#ffffff;
}
@media ( max-width : 768px ) {
.s_outline table td {
width:100%;
}
.s_outline th,
.s_outline td {
display: block;
width:100% !important;
border-bottom:none;
border-top:none;
font-size:0.8rem;
}
colgroup col {
width:100% !important;
}
.s_outline tr:c {
border-top: solid 1px #cccccc;
}
.s_outline td:last-child {
border-bottom: solid 1px #cccccc;
}
}

/*----------------------------------------------------
	限定ページ
----------------------------------------------------*/

a.s_limited_01 {
border:solid 1px rgba(255, 255, 255, 0.5);
display: block;
box-shadow: 6px 6px rgba(255, 255, 255, 0.3);

}
/*a.s_limited_01:hover {
box-shadow: 4px 4px rgba(255, 255, 255, 0.3);
margin-left:2px;
margin-top:2px;
}*/

.s_limited_02 {
position: absolute;
top:19%;
left:0;
right:0;
text-align: center;
}

.s_planbox a {
text-decoration: none;
}
.s_plan_inner {

}
.s_plan_inner {
padding:40px;
background:#ffffff;
}
@media ( max-width : 768px ) {
.s_plan {
padding-left:10px;
padding-right:10px;
}
.s_plan_inner {
padding:10px;
}
}
@media (max-width: 1050px) {
.w1050 .s_limited_inner {
padding-left: 15px;
padding-right: 15px;
}
}

/*----------------------------------------------------
	現地案内図
----------------------------------------------------*/
.map_container {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 40px;
  border: solid 1px rgba(127,108,82,1.00);
}

.zoom_wrap {
  display: inline-block;
  touch-action: none;
  cursor: grab;
  transform-origin: top left;
  transition: transform 0.2s ease;
}

.zoom_wrap img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}

.zoom_buttons {
  position: absolute;
  bottom: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.zoom_buttons button {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
  padding: 4px 8px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
}

.zoom_buttons button:hover {
  background: rgba(0, 0, 0, 0.8);
}


@media ( max-width : 768px ) {
.zoom_buttons {
  position: absolute;
  bottom: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
}

/*----------------------------------------------------
	サブタイトル
----------------------------------------------------*/
.s_sub_title {
/*max-width: 340px;*/
width: auto;
margin:-50px auto 0 auto;
display: flex;
text-align: center;
}
.s_sub_title div {
text-align: center;
margin:0 auto;
}
.s_sub_title img {
width: auto;
max-width: 100%;
height: auto;
max-height:100px;
}
@media ( max-width : 768px ) {
.s_sub_title {
margin:-20px auto 0 auto;
}
.s_sub_title img {
max-height:50px;
}
}

a.s_page_navi_btn {
border:solid 2px #0071bc;
color:#0071bc;
text-decoration: none;
width: 100%;
display: block;
}
a.s_page_navi_btn:hover {
color:#ffffff;
text-decoration: none;
background: #0071bc;
}

.arrow {
  position: relative;
}
.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 20px;
  width: 16px;
  height: 4px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 2px 50%;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}
.plan_btn_wrapper a {
text-decoration: none !important;
}
.arrow2 {
  position: relative;
}
.arrow2::before,
.arrow2::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 20px;
  width: 16px;
  height: 4px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 2px) 50%;
}

.arrow2::before {
  transform: rotate(45deg);
}

.arrow2::after {
  transform: rotate(-45deg);
}

@media ( max-width : 768px ) {
.arrow2::before,
.arrow2::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 10px;
  width: 13px;
  height: 3px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 2px) 50%;
}
}

/*----------------------------------------------------
	目黒の本質
----------------------------------------------------*/
.essence01 {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
}
.essence01_1 {
width:32%;
}
.essence02 {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
}
.essence02_1 {
width:48%;
}
.essence03 {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
}
.essence03_1 {
width:50%;
}



