@charset "utf-8";


/*PC*/
@media print, screen and (min-width: 769px) {

main { background: #eceae0; }
header { background: #eceae0; }


/* head
--------------------------------------------*/
.head { display: none; }




/* txtbox
--------------------------------------------*/
.txtbox { position: relative; width: 80%; margin: 0 auto 50px; padding-top: 120px; }

.txtbox h2 { position: relative; font-size: 4rem; margin-bottom: 10px; padding-left: 20px; }
.txtbox h2 img { position: absolute; top: 23px; left: 0; width: 14px; padding-right: 10px; }
.txtbox p { font-size: 1.4rem; margin-bottom: 50px; }




/* side
--------------------------------------------*/
.flex_wrap {
position: relative;
width: 80%;
margin: 120px auto 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
}

.flex_wrap .side { width: 180px; }
.flex_wrap .side h4 {
margin: 0 0 15px;
padding: 2px 30px;
background: #7f474b;
border: 1px solid #7f474b;
border-radius: 0px 50px 50px 0;
color: #f8f8f4;
box-sizing: border-box;
text-align: center;
}

.flex_wrap .side .category { margin: 0 0 30px; }
.flex_wrap .side .category ul li { width: 120px; margin: 0 auto 10px; }
.flex_wrap .side .category ul li a {
font-size: 1.4rem;
padding: 2px 10px;
color: #fff;
display: block;
box-sizing: border-box;
text-align: center;
}
.flex_wrap .side .category ul li a.garden { background: #38664b; }
.flex_wrap .side .category ul li a.studio { background: #3a90ad; }
.flex_wrap .side .category ul li a.cafe { background: #c03f28; }
.flex_wrap .side .category ul li a.shop { background: #b66f9a; }
.flex_wrap .side .category ul li a.play { background: #d38f0b; }
.flex_wrap .side .category ul li a.other { background: #929292; }

.flex_wrap .side .new { margin: 0 0 40px; }
.flex_wrap .side .new dl {
border-bottom: 1px solid #2c2321;
padding-bottom: 10px;
margin-bottom: 20px;
}
.flex_wrap .side .new dl dt { margin: 0 0 5px 0; font-size: 1.2rem; color: #7f474b; }
.flex_wrap .side .new dl dd {
font-size: 1.4rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
height: calc(1.6em * 1);
}

.flex_wrap .side .archive { margin: 0 0 30px; }
.flex_wrap .side .archive ul li.year { margin: 0 0 3px; color: #7f474b; }
.flex_wrap .side .archive ul.months { display: flex; flex-wrap: wrap; justify-content: space-between; }
.flex_wrap .side .archive ul.months li {
width: calc(100% / 6);
margin: 0 0 3px;
padding: 0 5px;
box-sizing: border-box;
}
.flex_wrap .side .archive ul.months li a { border-bottom: 1px solid #2c2321; }




/* 一覧
--------------------------------------------*/
.flex_wrap .list { width: calc(100% - 250px); margin-bottom: 100px; }
.flex_wrap .list ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: relative;
}
.flex_wrap .list ul::after {
content: '';
display: block;
width: 32%;
}
.list ul li { width: 32%; margin-bottom: 30px; }
.list ul li .img {
position: relative;
overflow: hidden;
aspect-ratio: 4 / 3;   /* ★ 4:3固定 */
width: 100%;
margin-bottom: 20px;
}
.list ul li .img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.list ul li p { display: flex; flex-wrap: wrap; justify-content: space-between; }
.list ul li p span { width: fit-content; }
.list ul li p span.ja {
font-size: 1.2rem;
margin-right: 10px;
padding: 2px 5px;
color: #fff;
display: inline-block;
box-sizing: border-box;
text-align: center;
}
.list ul li p span.en { font-size: 1.2rem; }

.list ul li p span.garden { background: #38664b; }
.list ul li p span.studio { background: #3a90ad; }
.list ul li p span.cafe { background: #c03f28; }
.list ul li p span.shop { background: #b66f9a; }
.list ul li p span.play { background: #997a4c; }
.list ul li p span.experience { background: #433b3b; }

.list ul li p.txt {
font-size: 1.4rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
height: calc(1.6em * 2);
margin-top: 10px;
}

.list ul li.none { width: 100%; text-align: center; }

.list .btn button {
position: relative;
display: block;
width: fit-content;
margin: 40px auto 0;
padding: 15px 80px;
background: #7f474b;
border: 1px solid #7f474b;
border-radius: 0px 50px 50px 0;
color: #f8f8f4;
}

/* 非表示制御（アクセシブルに） */
.list ul li[hidden] { display: none; }




/* 詳細
--------------------------------------------*/
.flex_wrap .content { width: calc(100% - 250px); }

.flex_wrap .content h2 { font-size: 4rem; margin-bottom: 10px; }

.flex_wrap .content time { display: block; margin-bottom: 20px; }
.flex_wrap .content time span.ja {
margin-right: 10px;
padding: 2px 5px;
color: #fff;
display: inline-block;
box-sizing: border-box;
text-align: center;
}
.flex_wrap .content time span.en { padding: 2px 8px; }

.flex_wrap .content time span.garden { background: #38664b; }
.flex_wrap .content time span.studio { background: #3a90ad; }
.flex_wrap .content time span.cafe { background: #c03f28; }
.flex_wrap .content time span.shop { background: #b66f9a; }
.flex_wrap .content time span.play { background: #997a4c; }
.flex_wrap .content time span.experience { background: #433b3b; }

.flex_wrap .content figure { margin-bottom: 20px; }
.flex_wrap .content figure img { border-radius: 20px; }

.flex_wrap .content p { font-size: 1.4rem; line-height: 1.8; margin-bottom: 30px; }



.news { margin: 80px 0 0; }





}



















/*sp*/
@media only screen and (max-width: 768px) {

main { background: #eceae0; }
header { background: #eceae0; }


/* head
--------------------------------------------*/
.head { display: none; }




/* txtbox
--------------------------------------------*/
.txtbox { position: relative; width: 90%; margin: 50px auto 0; }

.txtbox h2 { position: relative; font-size: 2.5rem; margin-bottom: 10px; padding-left: 20px; }
.txtbox h2 img { position: absolute; top: 10px; left: 0; width: 14px; padding-right: 10px; }
.txtbox p { margin-bottom: 20px; }




/* side
--------------------------------------------*/
.flex_wrap {
position: relative;
width: 90%;
margin: 50px auto 0;
}

.flex_wrap .side { margin-bottom: 40px; }
.flex_wrap .side h4 {
margin: 0 0 15px;
padding: 2px 10px;
background: #7f474b;
border: 1px solid #7f474b;
border-radius: 0px 50px 50px 0;
font-size: 1.2rem;
color: #f8f8f4;
box-sizing: border-box;
text-align: center;
}

.flex_wrap .side .category { margin: 0 0 20px; }
.flex_wrap .side .category ul { display: flex; flex-wrap: wrap; }
.flex_wrap .side .category ul li { width: fit-content; margin: 0 5px 10px; }
.flex_wrap .side .category ul li a {
font-size: 1.2rem;
padding: 2px 5px;
color: #fff;
display: block;
box-sizing: border-box;
text-align: center;
}
.flex_wrap .side .category ul li a.garden { background: #38664b; }
.flex_wrap .side .category ul li a.studio { background: #3a90ad; }
.flex_wrap .side .category ul li a.cafe { background: #c03f28; }
.flex_wrap .side .category ul li a.shop { background: #b66f9a; }
.flex_wrap .side .category ul li a.play { background: #d38f0b; }
.flex_wrap .side .category ul li a.other { background: #929292; }

.flex_wrap .side .new { margin: 0 0 30px; }
.flex_wrap .side .new dl {
border-bottom: 1px solid #2c2321;
padding-bottom: 10px;
margin-bottom: 20px;
}
.flex_wrap .side .new dl dt { margin: 0 0 5px 0; font-size: 1.2rem; color: #7f474b; }
.flex_wrap .side .new dl dd {
font-size: 1.2rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
height: calc(1.6em * 1);
}

.flex_wrap .side .archive { margin: 0; }
.flex_wrap .side .archive ul li.year { margin: 0 0 3px; color: #7f474b; }
.flex_wrap .side .archive ul.months { display: flex; flex-wrap: wrap; justify-content: space-between; }
.flex_wrap .side .archive ul.months li {
width: calc(100% / 6);
margin: 0 0 8px;
padding: 0 5px;
box-sizing: border-box;
}
.flex_wrap .side .archive ul.months li a { border-bottom: 1px solid #2c2321; }



/* 一覧
--------------------------------------------*/
.flex_wrap .list { margin-bottom: 40px; }
.flex_wrap .list ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.list ul li { width: 48%; margin-bottom: 20px; }
.list ul li .img {
position: relative;
overflow: hidden;
aspect-ratio: 4 / 3;   /* ★ 4:3固定 */
width: 100%;
margin-bottom: 20px;
}
.list ul li .img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.list ul li p span.ja {
font-size: 1.2rem;
margin-bottom: 3px;
padding: 2px 5px;
color: #fff;
display: inline-block;
box-sizing: border-box;
text-align: center;
}
.list ul li p span.en { font-size: 1.2rem; display: block; }

.list ul li p span.garden { background: #38664b; }
.list ul li p span.studio { background: #3a90ad; }
.list ul li p span.cafe { background: #c03f28; }
.list ul li p span.shop { background: #b66f9a; }
.list ul li p span.play { background: #997a4c; }
.list ul li p span.experience { background: #433b3b; }

.list ul li p.txt {
font-size: 1.2rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
height: calc(1.6em * 2);
margin-top: 10px;
}

.list ul li.none { width: 100%; text-align: center; }

.list .btn button {
position: relative;
display: block;
width: fit-content;
margin: 40px auto 0;
padding: 15px 80px;
background: #7f474b;
border: 1px solid #7f474b;
border-radius: 0px 50px 50px 0;
color: #f8f8f4;
}

/* 非表示制御（アクセシブルに） */
.list ul li[hidden] { display: none; }




/* 詳細
--------------------------------------------*/
.flex_wrap .content { margin-bottom: 40px; }

.flex_wrap .content h2 { font-size: 2.5rem; margin-bottom: 10px; }

.flex_wrap .content time { display: block; margin-bottom: 20px; }
.flex_wrap .content time span.ja {
margin-right: 10px;
padding: 2px 5px;
font-size: 1.2rem;
color: #fff;
display: inline-block;
box-sizing: border-box;
text-align: center;
}
.flex_wrap .content time span.en { font-size: 1.2rem; padding: 2px 8px; }

.flex_wrap .content time span.garden { background: #38664b; }
.flex_wrap .content time span.studio { background: #3a90ad; }
.flex_wrap .content time span.cafe { background: #c03f28; }
.flex_wrap .content time span.shop { background: #b66f9a; }
.flex_wrap .content time span.play { background: #997a4c; }
.flex_wrap .content time span.experience { background: #433b3b; }

.flex_wrap .content figure { margin-bottom: 20px; }
.flex_wrap .content figure img { border-radius: 10px; }

.flex_wrap .content p { line-height: 1.8; margin-bottom: 30px; }



.news { margin: 0; padding: 0 5% 50px; }





}