@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Ibarra+Real+Nova:ital,wght@0,400..700;1,400..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');


html {
	background-color: #FBFAF6;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;/*"Ysabeau Office", sans-serif;*/
  font-optical-sizing: auto;
  font-style: normal;
  width: 100%; 
  height: 100%;
  color: #104C34;
  letter-spacing: 0.1em;
  line-height: 1.7em;
  overflow-x: hidden;
}


body {margin: 0px;　overflow-x: hidden;}
body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

#wrapper{width: 100%;}

ul {list-style-type: none; margin: 0; padding: 0;}
a{text-decoration: none; color: #104C34;}
img{width: 100%;}

/*ヘッダー*/
#Header{height: 80px;}
#Header.scrolled{box-shadow:0px 1px 6px 0px #ccc; background-color: #FBFAF6; height: 80px;}
#Header.scrolled .logo{width: 60px; height: 56px; top:13px;}
#Header.scrolled .nav{top: 18px;}
#Header.scrolled .drawer_open span{width:45px;}
#Header.scrolled .drawer_open span:before {bottom: 15px; width:45px;}
#Header.scrolled .drawer_open span:after {top: 15px; width:45px;}
#a02,#a04,#a05,#a06{padding-top: 100px; margin-top: -100px;}
.concept{padding-top: 80px;}

/*ナビゲーション*/

#Header{position:fixed; top: 0px; width: 100%; z-index: 3;}
.header_inn{display: grid; width: 90%; max-width: 1150px; margin: 0 auto;}
.header_inn h1{grid-column:1/2;}
#Navi{grid-column:2/3; display:none; justify-content: end; margin: 10px 0;} 
#Navi .flex{display: flex; color:  #FBFAF6;}
#Navi .flex a{color:  #FBFAF6;}
#Navi .flex li{margin: 0 14px;}
#Navi .flex li:last-child{margin:0 0 0 15px;}
#Navi .flex li::after{content: "|"; padding-left: 15px;}
#Navi .flex li:last-child::after{content:none;}
#Header.scrolled #Navi .flex a,#Header.scrolled #Navi .flex{color: #104C34;}
#Header .logo{background-image: url(../img/logo.png); width:100px; height: 95px; background-size: cover; position: fixed; top:30px;}
#Header.scrolled .logo{background-image: url(../img/logo-green.png);}

/*問い合わせボタン*/
#contact_btn {position: fixed; width: 100%; bottom: 20px; transition: background-color 0.3s ease; z-index: 3;}
#contact_btn .fixBtn{background-color:#F3FBD9; border-radius:30px; width:340px; margin: 0 auto; text-align: center; font-weight:800; font-size: 16px;}
#contact_btn.scrolled .fixBtn {background-color: #C0D404;}

.fixBtn a{display: block; width: 100%; padding:18px 0;}
#contact_btn .fixBtn:hover{background-color: #C0D404;}
#contact_btn.scrolled .fixBtn:hover{background-color: #F3FBD9;}

#h_contact_btn.pc{justify-content:end; grid-column: 1/3; display: none;}
#h_contact_btn.pc .fixBtn{background-color:#F3FBD9; padding:3px 40px; border-bottom-right-radius: 20px; font-weight:800;}
#Header.scrolled #h_contact_btn .fixBtn{background-color: #C0D404;}

#h_contact_btn.pc .fixBtn:hover{background-color: #C0D404;}
#Header.scrolled #h_contact_btn .fixBtn:hover{background-color: #F3FBD9;}
/*#Header.scrolled{background-color: #FBFAF6; padding-bottom: 20px;}*/


#fix_menu{width: 100%;}
.fix_menu_inn{display: grid; max-width: 1180px; margin: 0 auto;}

#Header .logo{z-index: 1;}
.logo{width: 100px; margin-top: 0px;}
.logo a{display: block; height: 100%;}


/*メニュー*/

#drawer_btn.scrolled span,#drawer_btn.scrolled span:before,#drawer_btn.scrolled span:after{background:#104C34;}

.drawer_hidden {display: none;}
.drawer_open {display: flex;height: 50px; width: 50px; justify-content: center;align-items: center;position: relative;z-index: 100;/* 重なり順を一番上にする */cursor: pointer;}
.drawer_open span,.drawer_open span:before,.drawer_open span:after {content: '';display: block;height: 2px;width: 45px;border-radius: 2px;background: #F0EFDF;transition: 0.5s;position: absolute;}
.drawer_open span:before {bottom: 15px;}
.drawer_open span:after {top: 15px;}
#drawer_input:checked ~ .drawer_open span {background: rgba(255, 255, 255, 0);}
#drawer_input:checked ~ .drawer_open span::before {bottom: 0;transform: rotate(45deg); background: #FBFAF6;}
#drawer_input:checked ~ .drawer_open span::after {top: 0;transform: rotate(-45deg); background: #FBFAF6;}
.nav_content {width: 100%;height: 100%; position: fixed;top: 0;left: 100%; /* メニューを画面の外に飛ばす */z-index: 99; /*background: #fff;*/ transition: 0s; color: #FBFAF6; font-family: "Ibarra Real Nova", serif;}
.nav_content a{color: #FBFAF6 !important; width: 100%; height: 30px; display: flex; justify-content: space-between;}
.nav_inn a:hover{opacity: .6;}
.nav_inn:before {content:''; background: #104C34; position: absolute; width: 100%; height: 100%; z-index: -1;}
#drawer_input:checked ~ .nav_content {left: 0;/* メニューを画面に入れる */}

#header.nomal{height: 120px; display: flex; align-items: center;}


.nav{position: fixed;top: 24px;right: 20px; z-index: 6;}
.menu{text-align: center; font-size: 14px; position:relative; z-index: 2; color:#F0EFDF; letter-spacing: 1.4px; font-family: "Ibarra Real Nova", serif; font-weight: bold;}
#drawer_input:checked ~ .menu{display: none;}
.close{display:none; text-align: center; font-size: 14px; color: #655A76; letter-spacing: 1.4px;}
#drawer_input:checked ~ .close{display: block; position: relative; z-index: 100;}

.nav_content .drawer_open span {background: rgba(255, 255, 255, 0);}
.nav_content .drawer_open span::before {bottom: 0;transform: rotate(45deg); background: #655A76;}
.nav_content .drawer_open span::after {top: 0;transform: rotate(-45deg); background: #655A76;}
.nav_content .close{display: block;}
.close_btn {position: absolute; right:30px; top:45px; display: none;}

.nav_menu_logo{padding-top:30px; width: 90%; margin: 0 auto;}
.nav_logo{width: 100px; margin:0;}
.nav_logo a{display: block; height: 100%;}
ul.nav_list{display: flex; flex-direction: column; justify-content: center;width: 80%;margin:30px auto 20px; auto;}
ul.nav_list li{display: flex; align-items: center;padding: 15px 0;border-bottom: 1px solid; justify-content:center;}

.nav_menu_box .nav_SNS{justify-content: center;}
.nav_menu_box .nav_SNS .inst{margin-right: 25px;}
.nav_menu_box #SNS{padding-top:20px;}
.triangle {
  display: inline-block;
  vertical-align: middle;
  color: #F0EFDF;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 1em;
  transform: translateX(-25%) rotate(45deg);
  bottom: -8px;
}

.triangle::before, .triangle::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}

.triangle::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.1em;
}

.triangle::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.1em;
}

a:hover .triangle{transform: rotate(135deg);}

.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

.is-menu-open #page-top_area,.is-menu-open #scroll_btn_area{display: none;}



/*メイン*/
/*main {margin-top:60px;}*/
h3 {font-size: 18px; text-decoration: underline; text-align: center; line-height: 1.6em; margin:30px 0; font-family: "Ibarra Real Nova", serif;}
h4{font-size: 32px; font-weight: 300; font-family: "Noto Sans JP", sans-serif; line-height: 1.6em; text-align: center; margin:30px 0;}

.concept{width: 85%; max-width: 1150px; margin: -80px auto 0 auto;}

/*メインビジュアル*/
.mainVisual{width: 100%; background-image: url(../img/mv_img_new.jpg);height:100vh; aspect-ratio: 360 / 667; background-size: cover; position: relative; background-position-y: 50%; background-position-x: 60%; }
#top_banner{position: absolute; color: #FBFAF6; top:35%; width: 100%;}
.top_banner_inn{max-width: 1150px; margin: 0 auto; width: 90%;}

/*test*/
/*.mainVisual {
  position: relative;
  width: 100%;
  height: 100vh;
  aspect-ratio: 360 / 667;
  overflow: hidden;
}*/

.bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}

.bg1 {
  background-image: url("../img/mv_img1.jpg");
  z-index: 1;
}

.bg2 {
  background-image: url("../img/mv_img2.jpg");
  z-index: 2;
}

.bg3 {
  background-image: url("../img/mv_img3.jpg");
  z-index: 3;
}


h2{font-size: 46px; font-weight: 200; margin: 0; font-family: "Noto Sans JP", sans-serif; line-height: 1.2em;}
.sub_ttl{font-size: 16px; margin-top:15px; font-weight: 600;}
.sub_ttl::before {content:" "; background-color:#FBFAF6;  height: 1px; width: 100px; position: absolute; display: block; bottom: 10px;}
.sub_ttl span{transform: translateX(120px); display: inline-block;}

/*news*/
.news{height: 87px; background-color:#104C34; color: #FBFAF6;}
.news ul.slick-slider{margin: 0 auto !important; padding:15px 0; width: 90%; max-width: 1150px;}
.news .slick-prev{right: 25px !important; left: inherit !important; z-index: 2;}
.news .slick-next{right: 0px !important; z-index: 2;}

.news .slick-prev:before,.news .slick-next:before{top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle;}
.news .slick-prev:before{left: 3px; width: 10px; height: 10px; border-top: 1px solid #FBFAF6; border-right: 1px solid #FBFAF6; transform: rotate(225deg); 	position: absolute;}
.news .slick-next:before{left: 3px; width: 10px; height: 10px; border-top: 1px solid #FBFAF6; border-right: 1px solid #FBFAF6; transform: rotate(45deg); 	position: absolute;}

/*コンセプト*/
.concept_img{width: 60%; margin:10px auto;}

.concept_top-img{width: 100vw; margin: 0 calc(50% - 50vw);}

/*.concept_bx{margin-top:60px;}*/
.concept_h4 {font-size: 26px;}
.concept_bx_text{margin:40px 0;}
.concept_text{margin-bottom: 50px;}

.building_conditions_p {margin-bottom: 60px;}
.popup-icon{cursor: pointer; border:none; outline: none; appearance: none; background-color:inherit; color:#104C34; font-size: 16px; font-weight: 600; box-shadow: none;　}
.popup-icon::before {content:" "; background-image:url("../img/popup-icon.png"); width: 30px;
height: 30px; background-size: contain; display: inline-block; margin-right:20px; vertical-align:top; box-shadow: none; text-decoration: none;}
.popup-icon span{text-decoration: underline;}

.popup-box#pop {
  background: #F3FBD9;
  padding: 40px;
  width: calc(90% - 80px);
  max-width: 500px;
  position: relative;
  text-align: left;
  font-size: 16px;
  display: block;
}
.pop_title{font-weight: 600; font-family: "Noto Sans JP", sans-serif; text-decoration: underline; text-align: center;}
.poptext_under{text-decoration: underline; font-weight: 600;}

/*イメージスライダー（ゾーニング）*/
/*section.images{position: relative; padding-top: 100px;}
.images_ttl{position: absolute; z-index: 1; top:50px; width: 100%;}*/
h3.sec_image{font-size: 55px; text-align: center; margin: 0; font-weight: 300; text-decoration: none;}
.images{z-index: 1; position: relative;}
.slick-next{right: 0 !important; z-index: 2;}
.slick-prev{left: 0 !important; z-index: 2;}
.zoning-main{margin:40px 0;}
figure {font-size: 14px; margin:5px 10px; font-family: "Noto Sans JP", sans-serif;}
.zoning_img{margin: 40px auto; max-width: 1155px;}

.slick-prev, .slick-next{width: 30px !important; height: 30px !important;}
.slick-prev:before, .slick-next:before{font-size: 30px !important; color: #104C34 !important;}

ul.slider-nav img,ul.housing_slider-nav img {width: 95%; margin:0 auto;}
.slider-nav .slick-slide, .housing_slider-nav .slick-slide{opacity:1 !important;}
.images_slider img,.slider-nav img,.housing_slider img,.housing_slider-nav img {
  width: 100%;
  height: auto;
  display: block;
}

.slider-nav li,.housing_slider-nav li {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.slider-nav li img,.housing_slider-nav li img {
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  aspect-ratio: 1000/750;
}


.slider-nav,.housing_slider-nav {margin-top: 10px; overflow: hidden;}

.slider-nav .slick-slide,.housing_slider-nav .slick-slide {opacity: 0.6;cursor: pointer;}

.slider-nav .slick-current,.housing_slider-nav .slick-slide {opacity: 1;}

/*.housing_slider img{width: 95%; margin:0 auto; }*/

h5{font-size: 16px; font-weight: 400; font-family: "Noto Sans JP", sans-serif; text-align: center;}
.zoning_table{width:90%; margin:40px auto; max-width:1150px;}

.grid-table {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr; /* 号地・面積・価格 */
  text-align: center;
  margin:50px 0;
}

.header,
.cell {
  padding: 16px 12px;
  border-bottom: 1px solid #104C34;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header {
  background-color: #D3DDAB;
}

.cell .area-sub {
  display: block;
  font-size: 14px;
  margin-top: 4px;
}

.grid-table .border {
  border-right: 1px solid #104C34;
  border-left: 1px solid #104C34;
}

/*ロケーション*/
.location_map_area{position: relative; z-index: -1; transform: translateY(-240px);}
.location_map {width: 100%; background-image: url(../img/chiba-map.svg); background-size: cover; -webkit-background-size:cover; height: 820px; background-position-x: calc(50% - 50px); background-position-y:bottom;/*right -30% bottom 15%;*/ background-repeat: no-repeat;}

@media screen and (max-width:420px){
.location_map {background-size: cover; -webkit-background-size:cover; background-position-x: calc(50% - 130px); background-position-y:bottom;}
}

.location_map_inn{width: 90%; margin:0 auto; position: relative; text-align: center; top:60px;}
.location_cp{font-size:28px; font-weight: 200; font-family: "Noto Sans JP", sans-serif;}
.location_subcp{font-size: 14px; font-weight: 600; margin-top: 15px;}
.location_inn {width: 90%; margin:-240px auto 0 auto;}
.location_inn h3{text-align: center;}
/*.location_h4{font-size: 45px; text-align: center;}*/
.location_h4 span{font-size: 18px; margin-right: 10px;}

.link_btn_inn{background-color: #104C34; border-radius: 25px; width: 240px; margin: 30px auto; text-align: center; font-family: "Noto Sans JP", sans-serif; padding: 13px; font-size: 16px; font-weight: 600; font-family: "Ibarra Real Nova", serif;}

.link_btn_inn a{color: #FBFAF6; display: block;}
.location_img_box{position: relative; height: 220px;width: 100vw; overflow: hidden;　left: 0;}
.location_img{display: flex; justify-content: center; width: 690px; position: absolute; left: 50%; transform: translateX(-50%);}
.location_img li{margin: 10px;}
.location_img img {width: 210px; height: 210px; border-radius: 50%;}


.location_text_img {margin: 40px auto;}

/*HOUSING-TYPE*/
.housing-t_text{margin:40px auto; width: 90%; max-width: 1150px;}
.housing-t_img{width: 90%; margin:0 auto; max-width: 1150px;}
.housing-t_img div{margin:20px 0;}
.housing_box{background-color: #FFFFFF; width: calc(90% - 80px); margin:40px auto; padding:40px; max-width:1070px;}
.housing-t_img_inn img {width: 100%; max-width: 1150px;}

/*ポップアップボタン*/
.popup-button {
  background-color: #104C34;
  color: #FBFAF6;
  font-weight: 600;
  border: none;
  border-radius: 25px;
  padding: 13px;
  margin: 40px auto;
  font-size: 16px;
  cursor: pointer;
  width: 80%;
  max-width: 240px;
  display: block;
  font-family: "Noto Sans JP", sans-serif
}

.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.popup-box {
  width: 90%;
  max-width: 1150px;
  max-height: calc(100vh - 40px); /* ウィンドウより少し小さく */
  background: #fffef9;
  padding:0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box; /* ← これ重要！paddingぶん計算されます */
	overflow: hidden; /* ← はみ出し防止 */
}

#popup-content {
	max-height: calc(100vh - 40px);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#popup-content img {
  max-width: 100%;
  max-height: calc(100vh - 40px);
  width: auto;
	height: 100%;
  object-fit: contain;
  display: block;
}

.close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 25px;
  cursor: pointer;
  color: #1b4d36;
}

.annotation {margin:40px auto;}

/*housing type ポップアップ*/
.popup_btn{margin-bottom: 130px;}

#popup-img .popup-img-box {
  background: #fff;
  padding: 20px;
  max-width: 98%;
  max-height: 95%;
  overflow: auto;
  position: relative;
}


#popup-img .popup-img-content img {
  width: auto;
	max-width: 100%;
	height: auto;
}


/*パターン*/
/*.realestateBox{background-image: url(../img/realestate-haikei.svg); width: 100%; background-size: cover; background-position-x:65%;}*/
.realestateBox{background-color: #E6ECD6; transform: translateY(-280px);}
.realestateBox_inn{transform: translateY(300px);}

.realestateBox::before{content: '';position: absolute;top: 500px; bottom: -500px; left: 0;right: 0;background-color: #E6ECD6;transform: skewY(-20deg);z-index: -1;}

.zoning_table h5{line-height: 1.9em;}
.marker {position: relative;z-index: 1; display: inline-block;}

.marker::after {
  content: '';
  position: absolute;
  left: -10px;
  bottom: -0.3em; /* 少し上に配置して文字にかぶらせる */
  width: 100%;
  height: 1.2em;
  background: #FBFAF6;
  z-index: -1;
}


/*STEP*/

.step{z-index: 2; position: relative; width: 90%; margin:80px auto;}
.step h3{font-size: 32px;}

/*.pattern_bn {width: 100%; background-image: url(../img/pattern-haikei.jpg); color: #FBFAF6; text-align: center; background-position: center; background-size: cover; padding: 60px 0; margin: 80px 0 30px 0;}*/
h3.pattern{font-size: 40px; font-weight: 300; text-decoration: none; margin: 0;}
.sub_pattern{font-size: 14px; margin:30px 0 60px 0;}
ul.pattern_list{font-size: 20px;text-align: center; margin:45px 0;}
ul.pattern_list li:after{content:"↓"; display: block; margin:10px 0;}
ul.pattern_list li:last-child:after{content:none;}

ul.realestate_slider_1{margin-bottom: 15px;}

h3.overview{font-size: 24px; text-align: center; text-decoration: none; font-weight: 400; margin-top:60px;}
.overview_item{width: 90%; margin:60px auto;}
.overview_item_inn{border-bottom: 1px solid; margin:10px 0; padding: 10px 0;}

.step_title{font-size: 21px; text-decoration: underline; font-weight: 600; text-align: center; font-family: "Noto Sans JP", sans-serif; margin-top: 80px; line-height: 1.4em;}
/*フロー図*/
.step_flow{ max-width: 1150px; margin:120px auto;}
.flow-container {
  display: flex;
  flex-direction: column;
  /*gap: 10px;*/
  align-items: stretch;
  margin:60px auto;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 18px;
}

.flow-item {
  background-color: #0e4730;
  color: white;
  text-align: center;
  padding: 20px;
  font-weight: bold;
  /*flex: 1;*/
}

.flow-description {
  color: #0e4730;
  text-align: center;
  /*padding: 16px;*/
  font-weight: bold;
}

.flow-description.line{display: grid; grid-template-columns: 1fr 1fr; min-height: 100px;}
.flow-description.line > div:first-child {
  border-right: 3px solid #0e4730;}
.fd_line_inn{padding: 16px; display: flex; justify-content: center;align-items: center;　text-align: center; flex-direction: column;}

.flow-block:nth-child(5){margin-bottom: 10px;}

.note {
  font-size: 12px;
  color: #0e4730;
  margin-top: 5px;
  font-weight: normal;
}
.fd_line_inn .note.pc{display: none;}
.fd_line_inn .note.mb{display: block;}

@media (min-width: 1065px) {
.step_title{text-align: left;}

  .flow-container {
	flex-direction: row;
	max-width: 1150px;
	  display: flex;
	  overflow: hidden;
  }

  .flow-block {
	display: flex;
	/*flex-direction: column;*/
	flex-direction: row;
	flex:inherit;
	justify-content: space-between;
	flex: 0 0 auto;
  }

  .flow-item,
  .flow-description {
	height: 208px;
	display: flex;
	align-items: center;
	justify-content: center;
  }

  .flow-description.note {
	height: auto;
	font-size: 12px;
	padding: 8px;
	line-height: 1.4;
  }
  
  .flow-description.line{grid-auto-flow:row; grid-template-columns: 1fr; min-width: 115px; flex: 1; display: grid;}
  .flow-description.line > div:first-child{border-right:none; border-top: 3px solid #0e4730; order:2;}
  .flow-description.line > div:nth-child(2){order:1;}
  .flow-block{flex-direction: row;}
  .flow-item{writing-mode: vertical-rl; flex-shrink: 0; padding: 16px;}
.flow-block:nth-child(5){margin-bottom: 0px; margin-right:10px;}
  .fd_line_inn{height: 88px; flex-direction: inherit; font-size: 16px;}
  .fd_line_inn .note.pc{display: block; padding:0 5px; max-width: 195px;}
  .fd_line_inn .note.mb{display: none;}
  .flow-description.short{max-width: 140px;}
  
  .flow-block.long-block {
	  flex-grow: 1; /* ここだけ可変（残りの幅を占める） */
	  /*min-width: 200px;*/
	}
	
	.flow-description.long {
		flex-grow: 1;
		width: 100%;
		/*min-width: 200px;*/
	  }
}

/*@media (min-width: 1080px) {
	.flow-item{min-width: 50px;}
}
@media (min-width: 1150px) {
.flow-description.long{min-width: 200px;}
}
@media (min-width: 1210px) {

}
*/
/*アクセス*/
h3.pc{display: none;}
h3.mb{display: block;}

.accessBox{width: 90%; margin: 20px auto; font-size: 16px; font-weight: 400;}
.link_btn_inn.gmap{font-family: "Noto Serif JP", serif;}
.mapBox .map iframe{width: 100%;}
.mapBox {margin:50px 0;}

/*物件概要*/
.overview_table{width:90%; margin:80px auto; max-width: 1150px;}
.ovg_header{background-color: #E6ECD6;}
.overview_title {font-size: 21px; font-family: "Noto Sans JP", sans-serif; text-align: center; font-weight: 600; margin:80px 0 40px 0;}


.ovg_header,
.ovg_cell {
  padding: 16px 12px;
  display: flex;
  align-items: center;
  box-shadow: 0px 1px #00000029 inset;
}
.none-f{display:block}
.ovg_cell.ovg_cell:last-child{box-shadow: 0px 1px #00000029 inset,0px -1px #00000029 inset;}
.ovg_cell a{text-decoration: underline; display: inline;}
.text-bold{font-weight: bold;}
.text-L{font-size: 16px;}

/*スクロールボタン*/

#scroll_btn_area {
	position: fixed;
  margin:0 auto;
  width: 100%;
  bottom: 80px;
  z-index: 5;
  letter-spacing: 1px;
  font-size: 18px;
  font-family: "Ibarra Real Nova", serif;
}

.scroll_btn_area_inn{
width: 90%;
max-width: 1150px;
margin:0 auto;
position: relative;
}

.scroll_btn {
	position: absolute;
	bottom: 0;
	right:0;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	color: #FBFAF6;
	font-weight: bold;
}

.scroll_btn::before {
  content: "";
  display: block;
  width: 1px;
  height: 80px;
  background-color: #FBFAF6; 
  position: absolute;
  bottom: 60px; 
  left: 50%;
  transform: translateX(-50%);
  transform: translateY(-80px);
  top: 0;
}

/*トップに戻るボタン*/
#page-top_area {
  position: fixed;
  margin:0 auto;
  width: 100%;
  bottom: 85px;
  z-index: 5;
  letter-spacing: 1px;
  font-size: 18px;
  font-family: "Ibarra Real Nova", serif;
}

.page-top_area_inn{
	width: 90%;
	max-width: 1150px;
	margin:0 auto;
	position: relative;
}

.page-top {
	position: absolute;
	bottom: 0;
	right:0;
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	background-color: #104C34; 
	border-radius: 50%;
	color: #FBFAF6; 
}

/*.page-top::before {
  content: "";
  display: block;
  width: 1px;
  height: 150px;
  background-color: #104C34; 
  position: absolute;
  bottom: 60px; 
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
}*/


.page-top a {
	color: #FBFAF6; 
	padding: 0;
	text-align: center;
	display: block;
}

.page-top.footer-overlap {
  color:#FBFAF6;
}

.page-top.footer-overlap::before {
  background-color: #FBFAF6; 
}


/*フッター*/
#Footer{background-color: #104C34; color: #FBFAF6; text-align: center; padding-top: 90px; padding-bottom: 60px;}
#SNS{width: 90%; margin: 0 auto; padding-top: 40px; max-width: 1150px;}
.inst,.fb{width: 45px;}
.inst{margin-right: 10px;}
.nav_SNS{display: flex; justify-content: flex-end;}
.nav_SNS a{display: block;}
.fLogo{width: 145px; margin:60px auto;}
#pp{font-size: 16px; font-weight: 600; font-family: "Ibarra Real Nova", serif;}
#copy{font-weight: 600;margin-top: 20px; font-family: "Ibarra Real Nova", serif;}

#aboutBox{border-top:1px solid; width: 90%; margin:60px auto;}
.ab_content{margin:60px 0; font-size: 13px;}
.kakomi{/*padding: 10px;*/ /*border: 1px solid;*/ display: inline-block; font-size: 16px;}
.bosoR_logo{width: 230px; margin: 30px auto;}
.speac_logo{width: 170px; margin: 30px auto;}
.bf_logo{width: 196px; margin: 30px auto;}
.bosoR_logo a,.speac_logo a{display: block;}
#pp a{color: #FBFAF6;}
.white-logo path {fill: white;}


/*フォーム*/
.c-form {max-width: 600px; margin: 0 auto;}
.c-form__item {display: flex; flex-wrap: wrap; /*justify-content: space-evenly;*/ margin-bottom: 40px;}
.c-form__input {padding: 10px;}
.c-form__label {width: 90%; padding-bottom: 10px; font-weight: 600;}
.c-form__input {width: 100%; font-size: 16px; border: solid 1px #104C34 ; border-radius: 4px;　color: #104C34;}
.c-form__input:focus-visible {outline: #104C34 auto 1px;}
.c-form__required {color: #fff; background-color: #104C34; border-radius: 4px; padding: 5px 5px; margin: 0 0 0 18px;}
textarea.c-form__input { height: 160px;}
.c-form__submit {text-align: center; margin:60px 0;}
.c-form__submit button {width:180px; font-size: 18px; font-weight: bold; color: #fff; background-color: #104C34; border: none; border-radius:40px; padding: 10px 32px; transition: 0.4s;cursor: pointer;}
.c-form__submit button:hover {color: #FBFAF6; background-color: #C0D404;}
.c-form__label span{color: #8C1C13; font-size: 0.8em;}

.contact_date{width: 100%;}
.contact_date_inn{display: flex; flex-direction: column; margin-bottom: 15px;}
.Desired-date-select {display: flex;}
.Desired-date-select .c-form__input{width:50%;}
.radio_Move-in-period{display: flex; flex-direction: column;}
.radio_inn{margin-bottom: 10px;}
.radio_Move-in-period label {
  cursor: pointer;
  padding-left: 30px;
  position: relative;
}

.radio_Move-in-period label::before,
.radio_Move-in-period label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}

.radio_Move-in-period label::before {
  background-color: #fff;
  border: 1px solid #104C34;
  height: 20px;
  width: 20px;
  left: 4px;
}

.radio_Move-in-period label::after {
  background-color: #104C34;
  opacity: 0;
  height: 16px;
  width: 16px;
  left: 7px;
}

.radio_Move-in-period input:checked +  label::after {
  opacity: 1;
}

#Move-in-period_1,#Move-in-period_2,#Move-in-period_3,#Move-in-period_4{display: none;}


.c-form__selectbox {font-size: 16px; border: solid 1px #104C34 ; border-radius: 4px;}

.selectbox{display: inline-flex; align-items: center; position: relative; margin-left:15px;}
.selectbox::after {
	position: absolute;
	right: 15px;
	width: 10px;
	height: 7px;
	background-color: #104C34;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: '';
	pointer-events: none;
}

.c-form__selectbox {
	appearance: none;
	padding: 10px calc(.8em + 30px) 10px .8em;
	border: 1px solid #104C34;
	background-color: #fff;
	color: #104C34;;
	cursor: pointer;
}

#nop.selectbox{margin-left:0;}

@media (min-width: 640px) {
	.c-form__item {flex-wrap: nowrap;}
	.c-form__label {width: 45%;}
	.c-form__input {width: 50%;}
}

/**************************************************************/
@media screen and (min-width:920px){
	
br.sp{display: none;}
html{font-size: 16px;}

#a02,#a04,#a05,#a06{padding-top: 120px; margin-top: -120px;}
.concept{padding-top: 20px; margin-top: -20px;}
	
/*お問い合わせボタン*/
#contact_btn.mb {display: none;}
#h_contact_btn.pc {display: flex;}

/*ロゴ*/
#Header.scrolled .logo{top:22px; width: 86px; height: 80px;}
#Header .logo{width: 86px; height: 80px; top:55px;}

/*ヘッダー*/
#Header.scrolled{box-shadow:0px 1px 6px 0px #ccc; background-color: #FBFAF6; height: auto;}

/*ハンバーガー*/
.nav{display: none;}
#Navi{display: flex;}

/*メインビジュアル*/
.mainVisual{aspect-ratio: 1920 / 800; height:calc(100vh - 70px);}
#top_banner{bottom: 60px; top:inherit;}
h2{font-size: 82px;}
h3{font-size: 32px;}
h4{font-size: 62px; line-height: 1.2em;}
h5{font-size: 18px;}
.sub_ttl{font-size: 32px;}

.news{height: 55px; }

/*コンセプト*/
.concept_inn{width:100%; margin: 0 auto;}
/*.concept_text{width: 620px;}
.concept{position: relative; height: 740px;}
.concept_img_area{position:absolute; top:0; right: 0; z-index: -1;}
.concept_img {width: initial;}
.concept_img.item01{width: 450px; translate: 60px;}
.concept_img.item02{width: 275px; translate: -340px;}
.concept_img.item03{width: 275px;}*/

.concept h3{margin-top: 100px;}
.concept_h4 {font-size: 37px; margin-top: 0;}
.concept_h4 .sp{display: inline;}
.concept_box{margin-top: 100px;}
.concept_bx {display: flex; justify-content: space-between; margin-bottom: 60px}
.concept_bx:first-child{flex-direction: row-reverse;}
.concept_bx_inn{width: 51%;}
.concept_bx_inn_img{width: 45%;}

/*イメージ*/
.images{max-width: 1155px; margin:80px auto;}
h3.sec_image{font-size: 108px; text-align: left;}

/*ロケーション*/
.location {margin-top:-110px; position:relative; height: 860px; z-index:-2; /*background-color: #fff;*/padding-top: 110px}
.location_cp{font-size: 50px; translate:0 -200px;}
.location_subcp{translate:0 -190px;}
.location_map{height:860px; background-position-x: -430px; background-size: cover; transition: background-position-x 0.2s ease; z-index: 1; background-position-y:calc(100% - 20px);}

@media (min-width: 1280px) {
  .location_map {background-size: 1280px auto; /* 横幅固定で拡大させない */ }
  .location_text_inn{width:460px}
}


.location_inn{position: absolute; width:100%; top: 110px; margin:0;}
.location_text{max-width:1150px; margin:0 auto; position: relative; height: 860px;}
.location_text_inn{width: 40%; position: absolute; right:5%; top:50%; transform: translateY(-50%);}
.location_h4{font-size: 50px;}
@media (min-width: 1150px) {
	.location_text_inn{right:0;}
}
@media (min-width: 1380px) {
.location_text_inn{width:515px}
.location_h4{font-size: 62px;}
}
.location_img_box{position: absolute; overflow: inherit;}
.location_img_item01 img{width: 187px; height: 187px; translate: 80px -400px;}
.location_img_item02 img{width: 240px; height: 240px; translate: -45px -840px;}
.location_img_item03 img{width: 300px; height: 300px; translate: 290px -600px;}

.location_map_area{transform: inherit; background-color: #fff;}

.location_text_img {width: 280px;}

/*パターン*/
.pattern_bn{padding: 140px 0;}
h3.pattern{font-size: 90px;}
.sub_pattern{font-size: 16px; margin:60px auto;}
ul.pattern_list{font-size: 29px;}
ul.pattern_list li:after{margin:30px 0;}
br.mb{display: none;}

/*スライダー*/
.realestate h3{margin-top: 80px;}
ul.images_slider,ul.housing_slider{width: 100%; margin:40px auto; max-width: 1000px;}
/*ul.slider-nav {width: 100vw; margin: 0 calc(50% - 50vw); max-width: max-content;} */
ul.slider-nav {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  /*padding: 0 120px; *//* centerPadding の値と一致させる */
}

@media screen and (max-width: 720px) {
  ul.slider-nav {
	padding: 0 80px; /* centerPadding: '80px' に対応 */
  }
}

/*HOUSING-TYPE*/
.housing-t_img_inn {display:flex; justify-content: space-between; width: 100%;}
/*.housing-t_photo{width: 49%; margin:20px 0;}*/
.housing-t_text {max-width: 390px;}
ul.housing_slider {margin-top:100px !important;}
.housing-t_photo img{object-fit: contain;}

/*ポップアップボタン*/
.popup_btn{width:800px; margin:0  auto 100px auto;}
.popup_btn_inn_2,.popup_btn_inn_3 { display: flex;}
.popup_btn_inn_2{justify-content: center;}
.popup-button{margin: 40px 20px;}

/*物件概要*/
.overview_area{display: flex; width: 90%; max-width: 1180px; margin:60px auto; justify-content: space-between;}
h3.overview{margin:0;}
.overview_item{max-width: 950px; margin: 0; width: 80%;}

.overview_grid-table{display: grid; grid-template-columns: 1fr 2fr;}
.ovg_header#last{box-shadow: 0px 1px #00000029 inset,0px -1px #00000029 inset;}

/*アクセス*/
.access{/*background-color: #FFFFFF;*/}
.access_area{background-color: #FFFFFF;}
.accecc_sec_inn{width: 90%; max-width: 1150px; margin:0 auto;}
.acsecc_inn{display: flex; justify-content: space-between; position: relative; padding:60px 0;}
.accessBox{width: 100%; margin:0;}
.mapBox{width: 60%; max-width: 600px; position: relative;}
.access_text_area {width: calc(40% - 20px);}
.mapBox .map{aspect-ratio: 600 / 375; width:100%; position: absolute; margin: 0; top:50%; transform: translateY(-50%);}
.mapBox .map iframe{height: 100%;}
h3.pc{display: block; margin-top: 0;}
h3.mb{display: none;}

/*フッター*/
.aboutBox_inn{display: grid; grid-template-columns: 2fr 1fr 2fr; width: 80%; margin: 0 auto; max-width:800px;}
.ab_content{text-align: left; margin:60px 0 0 0;}
.bosoR_logo{margin: 25px 0;}
.speac_logo{width: 192px; margin: 25px 0;}
.bf_logo{width: 230px; margin: 25px 0;}

/*お問い合わせ*/
.contact_date{width: 55%;}
.Desired-date-select .c-form__input{width: 65%;}

}

@media screen and (max-width:440px){
h2{font-size: 33px;}
}

@media screen and (min-width:1380px){
	.concept_h4 .sp{display: none;}
}

