@charset "utf-8";

.position-body{
	padding:0px 0 80px;

}
@media (max-width: 768px) {
.position-body{
	padding:0px 0;
	}
}
/*-----------------------------------------

緑丘のマップ

-------------------------------------------*/
.midorigaoka-map{
	margin:60px 0 0;
}
@media (max-width: 768px) {
.midorigaoka-map{
	margin:0px 0 0;
	}
}

.midorigaoka-map dt{
	text-align:center;
}
.midorigaoka-map dt img{
	max-width:80%;
}
@media (max-width: 768px) {
.midorigaoka-map dt{
	margin:0 0 -30px;
}
.midorigaoka-map dt img{
	max-width:100%;
	}
}

.midorigaoka-map dd{
	font-size:.9rem;
	margin:0px 0 0 ;
	border-top:1px solid #333;
	padding:15px 0 ;
}
@media (max-width: 768px) {
.midorigaoka-map dd{
	padding:5px 0 0 1em;
	text-indent:-1em;
	font-size:.8rem;
	line-height:1.5;
	margin:30px 0 0 ;
	}
}
.midorigaoka-map dd:before{
	content:"※";
}

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

豊中市内の説明

-------------------------------------------*/
.toyonaka-area-body{
	background:none;
	padding:80px 0 ;
}
@media (max-width: 768px) {
.toyonaka-area-body{
	padding:20px 0 ;
	}
}

.toyonaka-area-main dl{
	max-width:800px;
	margin: 0 auto 80px;
	font-size:1rem;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.toyonaka-area-main dl{
	max-width:100%;
	}
}

.toyonaka-area-main dt{
	text-align:center;
	font-size:1.5rem;
	margin:0 0 40px;
}
@media (max-width: 768px) {
.toyonaka-area-main dt{
	font-size:1.2rem;
	margin:0 0 40px;
	}
}

.toyonaka-area-main dd span{
	display:block;
	font-size:.8rem;
}
@media (max-width: 768px) {
.toyonaka-area-main dd{
	font-size:.9rem;
	}
}

.toyonaka-area-main dl sup{
	font-size:.7rem;
}
.area-comment{
	font-size:.8rem;
	margin:-3px 0 0 ;
	line-height:1.3;
}


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

緑丘地区地区計画

-------------------------------------------*/
.midorioka-area-main{
	padding:80px 0 0;
	margin:80px 0 0;
	border-top:1px solid #333;
}
@media (max-width: 768px) {
.midorioka-area-main{
	padding:40px 0 0;
	margin:40px 0 0;
	}
}
.midorioka-area-main dl{
	max-width:800px;
	margin: 0 auto 80px;
	font-size:1rem;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.midorioka-area-main dl{
	max-width:100%;
	}
}
.midorioka-area-main dt{
	text-align:center;
	font-size:1.5rem;
	margin:0 0 40px;
}
@media (max-width: 768px) {
.midorioka-area-main dt{
	font-size:1.2rem;
	}
}
@media (max-width: 768px) {
.midorioka-area-main dd{
	font-size:.9rem;
	}
}
.map-area{
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:1.5rem;
 place-content: center;
  place-items: center;
}
@media (max-width: 768px) {
.map-area{
	grid-template-columns:1fr;
	gap:1.5rem;
	}
}

.map-area table{
	font-size:.9rem;
	width:100%;
	text-align:center;
	background:#fff;
}
.map-area table caption{
	font-size:1rem;
}


.map-area table th{
	padding:.5rem;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
	text-align:center;
	background:#878787;
	color:#fff;
}
.map-area table th:last-child{
	border-right:none;
}
.map-area table td{
	padding:.5rem 0;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
}
.map-area table td.td-bg{
	background:#EEECE0;
}
.map-area table td:last-child{
	border-right:none;
}
.map-area .top-table{
	margin:0 0 30px;
}
.midorigaoka-table-text{
	font-size:1.1rem;
	margin:15px 0 5px;
}
@media (max-width: 768px) {
.midorigaoka-table-text{
	margin:30px 0 5px;
	font-size:1.15rem;
	}
}
.midorigaoka-table-list{
	font-size:.8rem;
}
.midorigaoka-table-list li{
	margin:3px 0;
	padding-left:1em;
	text-indent:-1em;
}
.midorigaoka-table-list li:before{
	content:"※";
}

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

緑丘・少路エリア

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

.shoji-area{
	padding:0px 0 80px; 
/*	border-top:1px solid #333;*/
}
@media (max-width: 768px) {
.shoji-area{
	padding:0px 0 80px;
	}
}
.romantic-area{
	border-top:1px solid #333;
	padding:120px 0 80px;
}
@media (max-width: 768px) {
.romantic-area{
	padding:80px 0 0;
	}
}
.position-title{
	font-size:2.2rem;
	font-weight:300;
	color:#640080;
	text-align:center;
}
@media (max-width: 768px) {
.position-title{
	font-size:1.4rem;
	}
}

.white-text-box {
/*	padding:2rem 1rem 2rem 2rem;
	background:rgba(255,255,255,.9);*/
	position:absolute;
	right:-1px;
	bottom:-200px;
	z-index:2;
}
.white-text-box img{
	max-width:350px;
}
@media (max-width: 768px) {
.white-text-box {
	right:-1px;
	bottom:-50px;
	}
.white-text-box img{
	max-width:195px;
	}
}


.miidori-shoji-text{
	font-size:1.5rem;
	letter-spacing:var(--spacing);
	line-height:2;
	padding:6rem 0;
	font-weight:300;
}
@media (max-width: 768px) {
.miidori-shoji-text{
	font-size:1rem;
	padding:4rem 0 4rem;
	}
}
.miidori-shoji-area-body .photo{
	display:grid;
	grid-template-columns:1fr 1fr;
	padding:0 0 0px;
	gap:2rem 1rem;
}
.miidori-shoji-area-body .photo dd{
	font-size:.9rem;
	margin:0px 0 0 ;
	}
@media (max-width: 768px) {

.miidori-shoji-area-body .photo dd{
	font-size:.8rem;
	line-height:1.3;

	}
}
/*-----------------------------------------

千里中央エリア

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

.senchu-area-main_box{
	padding:80px 0 0;
	border-top:1px solid #333;
}
.senchu-area-main_box dl{
	max-width:800px;
	margin: 0 auto 80px;
	font-size:1rem;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.senchu-area-main_box dl{
	max-width:100%;

	}
}

.senchu-area-main_box dt{
	text-align:center;
	font-size:1.5rem;
	margin:0 0 80px;
}
@media (max-width: 768px) {
.senchu-area-main_box dt{
	font-size:1.2rem;
	}
}

.senchu-area-main_text{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	padding:60px 0 60px;
	margin:100px 0 0px;
}
@media (max-width: 768px) {
.senchu-area-main_text{
	padding:40px 0 ;

	}
}
.senchu-area-main_text dl{
	margin:-40px 0 0;
	letter-spacing:var(--spacing);
}
@media (max-width: 768px) {
.senchu-area-main_text dl{
	margin:-10px 0 0;
	}
}
.senchu-area-main_text dd{
	font-size:1rem;
	max-width:800px;
	margin: 0 auto 0px;
}
@media (max-width: 768px) {
.senchu-area-main_text dd{
	max-width:100%;
	font-size:.9rem;
	}
}
.senri-photo{
	padding:0px 0;
}
@media (max-width: 768px) {
.senri-photo{
	padding:20px 0 0;
	}
}

.senri-photo .senri-sub_title{
	font-size:1.2rem;
	letter-spacing:var(--spacing);
	margin:0 0 20px;
	text-align:center;
}
@media (max-width: 768px) {
.senri-photo .senri-sub_title{
	font-size:.95rem;
	text-align:left;
	}
}
.senri-photo .photo{
	display:grid;
	grid-template-columns:1fr 1fr;
	padding:0 0 30px;
	gap:2rem 1rem;
}
@media (max-width: 768px) {
.senri-photo .photo{
	grid-template-columns:1fr;
	}
}

.senri-photo .photo dd{
	font-size:.8rem;
	letter-spacing:var(--spacing);
	margin:0px 0 0 ;
}
.senri-photo  .source-text{
	font-size:.8rem;
	letter-spacing:var(--spacing);
	margin:20px 0 0 ;
	border-top:1px solid #333;
	padding:10px 0 0;
}


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

阪急豊中エリア

-------------------------------------------*/
.hankyu-toyonaka-area-body{
	background:none;
	padding:20px 0 0;
}
.hankyutoyonaka-area-main_text{
	border-top:1px solid #333;
	padding:60px 0 40px;
	margin:80px 0 80px;
}
@media (max-width: 768px) {
.hankyutoyonaka-area-main_text{
	padding:40px 0;
	margin:0px 0 0px;
	}

}

.hankyutoyonaka-area-main_text dl{
	margin:-40px 0 60px;
	letter-spacing:var(--spacing);

}
@media (max-width: 768px) {
.hankyutoyonaka-area-main_text dl{
	margin:-10px 0 0px;
	}
}

.hankyutoyonaka-area-main_text dd{
	font-size:1rem;
	max-width:800px;
	margin: 0 auto 0px;
}
@media (max-width: 768px) {
.hankyutoyonaka-area-main_text dd{
	max-width:100%;
	font-size:.9rem;
	}
}
.hankyutoyonaka-photo{
	padding:40px 0 80px;
}
@media (max-width: 768px) {
.hankyutoyonaka-photo{
	padding:0px 0 40px;
	}
}
.hankyutoyonaka-photo .photo{
	display:grid;
	grid-template-columns:1fr 1fr;
	padding:30px 0 60px;
	gap:2rem 1rem;
	border-bottom:1px solid #333;
}

.hankyutoyonaka-photo .photo dd{
	font-size:.9rem;
	margin:0px 0 0 ;
}
@media (max-width: 768px) {
.hankyutoyonaka-photo .photo dd{
	font-size:.8rem;
	line-height:1.4;
	}
}



@keyframes reveal {
from {
	opacity: .3;
	clip-path: inset(45% 20% 45% 20%);
	}
to {
	opacity: 1;
	clip-path: inset(0% 0% 0% 0%);
	}
	}

.revealing-image {
	view-timeline-name: --revealing-image;
	view-timeline-axis: block;
	animation: linear reveal both;
	animation-timeline: --revealing-image;
	animation-range: entry 25% cover 50%;
	margin:0px 0 60px;
}

.photoArea{
  position: relative;
}
.photoArea picture::before {
  content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: #640080;
}
.photoArea picture {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.photoArea.move picture::before {
  animation: barAnime forwards 1.1s 1 ease 0.1s normal;
}
.photoArea picture img {
  opacity: 0;
  transform: scale(1.1);
}
.photoArea.move picture img {
  animation: photoAnime forwards 1.1s 1 ease 0.5s normal;
}
@keyframes barAnime{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	68% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@keyframes photoAnime{
	0% {
    opacity: 0;
    transform: scale(1.1);
  }
	50% {
    opacity: 0;
    transform: scale(1.1);
  }
	100% {
    opacity: 1;
    transform: scale(1);
  }
}


.access-notice{
	margin:15px 0;
	font-size:.9rem;
}
.access-notice li{
	padding-left:1em;
	text-indent:-1em;
}

.access-notice li::before{
	content:"※";
}
@media (max-width: 768px) {
.access-notice{
	margin:5px auto;
	font-size:.8rem;
	}
}


.sup-small{
	font-size:.7rem;
}
/*---追加---*/

.area-link{
	position:relative;
}
.area-link .areamap{
	text-align:center;
	margin:0 auto 10px;

	}
.area-link-list li{position:absolute;}

.area-link-common a{
	display:block;
	text-indent:-9999px;
	border-radius:50%;
}
.area-link-common a:hover{
	opacity:.4;
	background:rgba(255,255,255,.2);
}

.senrichuo-link{
	left:50%;
	top:225px;
}
.shoji-link{
	top:272px;
	left:32%;
}
@media (max-width: 1150px) {
.shoji-link{
	left:32%;
	}
}
.toyonaka-link{
	left:27.5%;
	top:457px;
}
@media (max-width: 1150px) {
.toyonaka-link{
	left:27%;
	}
}
.senrichuo-link a{
	width:145px;
	height:145px;

}
.shoji-link a{
	width:145px;
	height:145px;
}
.toyonaka-link a{
	width:120px;
	height:120px;
}
.anchor-goal {
  padding-top: 90px;
  margin-top: 90px;
}

@media (max-width: 1040px) {
.area-link-list,
.anchor-goal,
.sp-hidden{
	display:none;
	}
}



.area-title_body{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	padding:40px 0 40px;
	margin:0 0 40px;
}
.area-title_body .area-title_body_text{
	max-width:800px;
	margin: 20px auto;
	font-size:1rem;
}
@media (max-width: 768px) {
.area-title_body{
	text-align:center;
	padding:20px 0;
	margin:40px 0;
}
.area-title_body .area-title_body_text{
	max-width:100%;
	font-size:.9rem;
	}
}
