@charset "utf-8";
.bg01:before {
    z-index: -1;
}
.foot_caption { color: #414548;}
.w1000 { max-width: 1000px;}
.w1400 { max-width: 1430px;}
.headline {
	font-size: 4rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	margin-bottom: 20px;
}
/* .block_head .inner { max-width: 1000px;} */
.block_head .cont { display: flex;}
.block_head .desc {
	padding: 0 10px 0 18.5%;
	width: 51.5%;
    width: 100%;
}
.block_head .img { width: 48.5%;}
.block_head .img img { width: 100%;}
.block_head .img figure {
	margin: 0 calc(-1 * (100vw - 970px) / 2 - 8px) 0 0;
	width: calc(100% + (100vw - 970px) / 2 - 8px);
}
.block_head .ttl {
	color: #47b9d7;
	font-size: 2.6rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	margin: 0 0 30px;
}
.bg02 .block_head .ttl {
    color: #374152;
}
.block_head .txt {
	font-size: 1.4rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}
.block_head .txt_note {
    font-size: 1.2rem;
    margin-top: 10px;
}
.block_head .txt_note .lg:nth-child(1){ margin-right: 10px;}
.block_head .txt_note .lg { font-size: 150%;}
.block_head.reverse .cont { flex-direction: row-reverse;}
.block_head.reverse .img figure {
	margin: 0 0 0 calc(-1 * (100vw - 1170px) / 2);
	width: calc(100% + (100vw - 1170px) / 2);
}
.block_head.reverse .ttl {
    color: #374152;
    margin: 10% 0 20px;
}
.block_head.reverse .headline { 
    text-align: right;
    margin: 0 -80px 0 0;
}
.block_head.reverse .desc { 
    padding: 0 0 0 10%;
    width: auto;
    flex: 1;
}
.block_head.reverse .txt_note { text-align: right;}
.block_head.block_evolv .headline {
    font-size: 5rem;
    margin-left: -160px;
}
.block_head.block_evolv .ttl { margin: 0 0 30px;}
.block_head.block_evolv .txt {
    font-size: 1.5rem;
    line-height: 2.4;
}
.block_head.block_evolv .desc {
    padding: 0 15px 0 0;
    width: 56.5%;
}
.block_head.block_evolv .img figure {
    margin: 0;
	/* margin: 0 calc(-1 * (100vw - 970px) / 2 - 8px) 0 0; */
	width: calc(100% + (100vw - 1170px) / 2 - 8px);
}
.block_head.block_evolv .img_full { margin-top: 165px;}
.block_head.block_evolv .img_full img { width: 100%;}
.block_head.block_evolv .img_full figure {
    margin: 0 calc(-1 * (100vw - 970px) / 2 - 8px) 0 0;
	width: calc(100% + (100vw - 970px) / 2 - 8px);
}
@media only screen and (max-width: 1500px) {
    .block_head.block_evolv .headline { margin-left: 0;}
}
@media only screen and (max-width: 1200px) {
}
@media only screen and (max-width: 1200px) {
    .block_head.reverse .headline { margin: 0;}
    .block_head.block_evolv .cont { margin-right: 0;}
    .block_head.block_evolv .headline {
        font-size: 5rem;
        margin-left: 0;
    }
    .block_head.reverse .img figure {
        margin: 0 0 0 -15px;
        width: calc(100% + 15px);
    }
    .block_head.block_evolv .img figure {
       width: calc(100% + 15px);
    }
}
@media only screen and (max-width: 1024px) {
    .block_head .txt_note {
        font-size: 1rem;
        letter-spacing: 0;
    }
    .block_head.block_evolv .ttl { margin: 0 0 40px;}
}
@media only screen and (max-width: 1000px) {
	.block_head .img figure {
		margin: 0 -15px 0 0;
		width: calc(100% + 15px);
	}
    .block_head.reverse .img figure {
        margin: 0 0 0 -15px;
        width: calc(100% + 15px);
    }
	.block_head .ttl { margin: 10px 0 20px;}
    .block_head.block_evolv .img_full figure {
        margin: 0 -15px 0 0;
        width: calc(100% + 15px);
    }
    .headline {
        font-size: 3rem;
    }
}
@media only screen and (max-width: 1024px) {
	.block_head .ttl {
		font-size: 1.8rem;
		margin: 0 0 10px;
	}
	.block_head .txt {
		font-size: 1.2rem;
		letter-spacing: 0.01em;
	}
    .block_head .desc { padding: 0 10px 0 10%;}
    .block_head.reverse .desc { padding: 0 0 0 30px;}
    .block_head.reverse .ttl { margin: 20px 0 10px;}
    .block_head.block_evolv .img_full { margin-top: 80px;}
    .block_head.block_evolv .headline {
        font-size: 4.2rem;
        letter-spacing: 0.01em;
    }
    .block_head.block_evolv .txt { font-size: 1.4rem;}
   
}
@media only screen and (max-width: 767px) {
	.notes { letter-spacing: 0.05em;}
	.headline {
		font-size: 2.4rem;
		text-align: center;
		margin-bottom: 10px;
	}
	.block_head .cont { display: block;}
    .block_head.reverse .desc,
	.block_head .desc {
		text-align: center;
		margin-bottom: 20px;
		padding: 0;
		width: 100%;
	}
	.block_head .img { width: 100%;}
    .block_head.reverse .img figure,
    .block_head .img figure { 
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-right: -15px;
    }
	.block_head.reverse .headline { text-align: center;}
    .block_head.reverse .ttl { margin: 0 0 10px;}
    .block_head.reverse .headline { margin: 0 0 10px;}
    .block_head.block_evolv .headline {
        font-size: 3rem;
        margin-bottom: 10px;
    }
    .block_head.block_evolv .desc {
        padding: 0;
        width: 100%;
    }
    .block_head.block_evolv .txt { font-size: 1.2rem;}
    .block_head.block_evolv .ttl { margin: 0 0 10px;}
    .block_head .txt_note,
    .block_head.reverse .txt_note {
        text-align: left;
        margin-top: 10px;
    }
    .block_head.block_evolv .img figure {
        width: calc(100% + 30px);
        margin-left: -15px;
    }
}
.sec_location {
    padding: 100px 0 200px;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.sec_location .block_head { margin: 0 0 90px; }
@media only screen and (max-width: 1024px) {
    .sec_location { padding: 100px 0 100px!important;}
}
@media only screen and (max-width: 767px) {
    .sec_location { padding: 60px 0 60px!important;}
    .block_head.block_evolv .img_full { margin-top: 60px;}
    .block_head.block_evolv .img_full figure {
        margin: 0 -15px;
        width: calc(100% + 30px);
    }
    .sec_location .block_head {
        margin: 0 0 40px;
    }
}

/* .sec_shopping */
.sec_shopping  { padding: 150px 0 85px;}
.sec_location .headline span:nth-child(10) { font-family: "Noto Serif JP", serif;}
.head_sub {
    font-size: 3rem;
    letter-spacing: 0.06em;
    margin-bottom: 35px;
    padding-left: 10px;
}
.item_cont { margin-top: 10px;}
.item_cont .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin: 0 15px 5px 0;
}
.item_cont .ttl .sm { font-size: 78%;}
.item_cont .txt {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    line-height: 1;
}
.item_cont .sub {
    font-size: 1.4rem;
    letter-spacing: 0.01em;
}
.item_cont .txt .lg { font-size: 150%;}
.location_block { margin-top: 115px;}
.location_block + .location_block { margin-top: 100px;}
.location_list.row [class^="col"]:nth-child(n + 4) { margin-top: 60px;}
.location_list_large.row [class^="col"]:nth-child(n + 3) { margin-top: 60px;}
@media screen and (max-width: 1024px) {
    .sec_shopping  { padding-bottom: 1px !important;}
    .location_block { margin-top: 80px;}
    .item_cont .ttl {
        font-size: 1.4rem;
        letter-spacing: 0.01em;
    }
    .item_cont .txt {
        font-size: 1rem;
        letter-spacing: 0.01em;
        margin: 0 0 5px;
    }
    .item_cont .sub {
        font-size: 1.2rem;
        letter-spacing: 0.01em;
    }
    .location_block + .location_block { margin-top: 80px;}
    .head_sub { margin-bottom: 20px;}
}
@media screen and (max-width: 767px) {
    .head_sub {
        font-size: 2rem;
        padding-left: 0;
        margin-bottom: 10px;
    }
    .location_block { margin-top: 40px;}
    .location_list.row { margin: 0 -5px;}
    .location_list.row [class^="col"]{ padding: 0 5px;}
    .location_list.row [class^="col"]:nth-child(n + 3) { margin-top: 30px;}
    .location_block + .location_block { margin-top: 40px;}

}
.sec_park { padding: 185px 0 195px;}
.sec_childcare { padding: 160px 0 150px;}
.sec_information {
    padding: 185px 0 185px;
    position: relative;
}
.sec_information .headline {
    margin-bottom: 55px;
    padding-left: 10px;
}
.sec_information .box_white {
    background-color: #ffffff;
    color: #333333;
    margin-top: 100px;
    padding: 60px 6% 15px;
}
.loclist-title {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
}
.belx-list li {
    border-bottom: 1px dotted #333333;
    padding: 5px 0;
    overflow: hidden;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
}
.belx-list li dt { float: left;}
.belx-list li dd { float: right;}
@media only screen and (max-width: 1024px) {
    .sec_information { padding: 100px 0 100px;}
    .sec_information .headline { margin-bottom: 40px;}
    .sec_information .box_white { margin-top: 60px;}
}
@media only screen and (max-width: 1000px) {
    .sec_information .headline .ttl_en { margin-bottom: 70px !important;}
    .sec_information .box_white { padding: 40px 15px 0;}
    .loclist-title { font-size: 1.6rem;}
    .life_block .wrap-head { max-width: 100%;}
    .belx-list li {
        font-size: 1.2rem;
        letter-spacing: -0.01em;
    }
}
@media only screen and (max-width: 767px) {
    .sec_information { padding: 60px 0;}
    .sec_information .headline { margin-bottom: 30px;}
    .sec_information .headline .ttl_en { margin-bottom: 0px !important;}
    .sec_information .box_white { margin-top: 40px;}
    .belx-list-wrap .mb50 { margin-bottom: 30px;}
    .loclist-title { font-size: 1.4rem;}
    .belx-list li { font-size: 1rem;}
}

.sec_evolving .block_head {
	margin: 0;
}
.bg_city {
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    z-index: -1;
}
.evolution_block {
    border-left: 1px solid #a7a7a7;
    padding-left: 15px;
    margin-top: 145px;
}
.evolution_block .block {
    padding-left: 30px;
}
.evolution_block .ttl_en {
    line-height: 1;
    color: #47b9d7;
    font-size: 1.6rem;
    margin: 0 0 15px;
    letter-spacing: 0.05em;
}
.evolution_block .text01 {
    font-size: 1.6rem;
	font-size: 2rem;
    letter-spacing: 0.1em;
    line-height: 2.2;
    margin: 0 0 7px;
}
.evolution_block .text02 {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin: 0 0 30px;
}
.evolution_block .box {
    display: grid;
    grid-template-columns: 52% auto;
    gap: 40px;
}
.evolution_block .capt {
    font-size: 1rem;
    letter-spacing: 0.01em;
    line-height: 1.6;
    margin-top: 7px;
}
.evolution_block .list {
    width: auto;
    max-width: 340px;
}
.evolution_block .list .item + .item {
    margin-top: 40px;
}
.evolution_block .list .times {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 0 0 10px;
}
.evolution_block .list .lbl {
    background: #D4D1B7;
    background: linear-gradient(90deg, rgba(212, 209, 183, 1) 0%, rgba(240, 237, 230, 1) 19%, rgba(212, 209, 183, 1) 31%, rgba(240, 237, 230, 1) 45%, rgba(212, 209, 183, 1) 63%, rgba(240, 237, 230, 1) 81%, rgba(212, 209, 183, 1) 91%, rgba(240, 237, 230, 1) 100%);
    color: #2c3340;
    font-size: 1.4rem;
    letter-spacing: 0;
    padding: 4px 10px;
    margin:  0 0 15px;
}
.evolution_block .list .lbl.fs_dec {
	font-size: 1.36rem;
	letter-spacing: 0.001rem;
}
.evolution_block .list .txt {
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    line-height: 1.8;
}
@media screen and (max-width: 1000px) {
    .evolution_block {
        margin-top: 75px;
    }
    .evolution_block .block {
        padding-left: 15px;
    }
    .evolution_block .text01 {
        font-size: 1.4rem;
		font-size: 1.6rem;
        letter-spacing: 0.05em;
    }
    .evolution_block .text02 {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
    }
    .evolution_block .list .lbl {
        font-size: 1.2rem;
    }
    .evolution_block .list .lbl.fs_dec {
        font-size: 1.16rem;
    }
    .evolution_block .list .times {
        font-size: 1.2rem;
    }
    .evolution_block .list .txt {
        font-size: 1.1rem;
        letter-spacing: 0.01em;
    }
    .evolution_block .capt {
        letter-spacing: 0;
    }
}
@media screen and (max-width: 767px) {
    .bg_city {
        width: 90%;
        opacity: 0.6;
    }
    .sec_evolving .block_head {
        margin: 0 !important;
    }
    .evolution_block .text02 {
        letter-spacing: 0.01em;
    }
    .evolution_block .box {
        grid-template-columns: auto;
        gap: 30px;
    }
    .evolution_block .list .item + .item {
        margin-top: 30px;
    }
}

.sec_shopping .block_head {
    margin-bottom: 120px;
}
.shop_head {
    margin: 0 0 80px;
    padding-left: 120px;
}
.shop_head .en {
    color: #4b94aa;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.7;
    margin: 0 0 10px;
}
.shop_head .jp {
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    line-height: 1.3;
}
.gap40 {
    margin: 0 -40px;
}
.gap40 .item_shop {
    padding: 0 40px;
}
.list_shopping .item_shop {
    margin-bottom: 100px;
}
.list_shopping02 {
    padding-left: 120px;
}
.list_shopping .item_shopfull {
    margin-bottom: 0;
}
.list_shopping .item_small {
    margin-bottom: 60px;
}
.item_shop .shop_head {
    margin: 0 0 30px;
    padding: 0;
}
.item_shop .image {
    display: grid;
    grid-template-columns: 120px auto;
    gap: 0;
    align-items: flex-end;
}
.item_small .image {
    grid-template-columns: 100px auto;
    padding-left: 20px;
}
.item_small .item_cont {
    padding-left: 20px;
}
.item_shop .image .info {
    text-align: center;
    padding-right: 10px;
    padding-bottom: 10px;
}
.item_shop .image .info .en {
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: left;
}
.item_shop .image .info .en .small {
    font-size: 63%;
}
.item_shop .image .info .en .medium {
	font-size: 81%;
	letter-spacing: -0.02em;
}
.item_shop .image .info .num {
    display: inline-block;
    font-size: 8rem;
    letter-spacing: 0.05em;
    line-height: 1;
    position: relative;
    padding-bottom: 15px;
}
.item_shop .image .info .num .sub {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.6rem;
    letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
    .item_shop .image {
        grid-template-columns: 90px auto;
    }
    .item_small .image {
        grid-template-columns: 70px auto;
    }
    .list_shopping02 {
        padding-left: 0;
    }
    .shop_head .jp {
        font-size: 1.7rem;
        letter-spacing: 0;
    }
    .shop_head .en {
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 1000px) {
    .gap40 {
        margin: 0 -15px;
    }
    .gap40 .item_shop {
        padding: 0 15px;
    }
    .item_cont .ttl {
        margin-right: 7px;
    }
    .shop_head {
        margin: 0 0 50px;
        padding-left: 90px;
    }
    .shop_head .en {
        margin: 0 0 5px;
    }
}
@media screen and (max-width: 767px) {
    .sec_shopping .block_head {
        margin-bottom: 40px;
    }
    .item_shop .image {
        grid-template-columns: 70px auto;
    }
    .shop_head {
        margin: 0 0 30px;
        padding-left: 0;
        text-align: center;
    }
    .list_shopping .item_shop {
        margin-bottom: 30px;
    }
    .item_small .image {
        padding-left: 0;
    }
    .item_small .item_cont {
        padding-left: 0;
    }
    .item_cont .ttl {
        display: block;
        margin-right: 0;
        letter-spacing: -0.01em;
    }
}