@charset "UTF-8";
.full { width: 100%;}
.inner {
	margin: auto;
	padding-right: 15px;
	padding-left: 15px;
	max-width: 1030px;
}
.dib { display: inline-block;}
.dif { display: inline-flex;}
.sec-urban {
	position: relative;
	background: url(../location/img/urban_bg.png?v=1793785998) no-repeat top center / 100% auto;
	padding: clamp(60px, 8.0321vw, 100px) 0 clamp(60px, 10.4418vw, 130px);
}
.urban-ttl {
	text-align: center;
	margin: clamp(15px, 2.4096vw, 30px) 0 clamp(20px, 3.2129vw, 40px);
}
.urban-ttl .ttl {
	font-size: clamp(24px, 3.8554vw, 48px);
	letter-spacing: 0.01em;
	margin-bottom: clamp(10px, 1.2048vw, 15px);
}
.urban-ttl .txt {
	font-size: clamp(12px, 1.2851vw, 16px);
	line-height: 2.1;
	letter-spacing: 0.01em;
}
.urban-map {
	margin: 0 auto clamp(30px, 6.4257vw, 80px);
	max-width: 620px;
}
.urban-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(35px, 6.0241vw, 75px) clamp(30px, 5.2209vw, 65px);
}
.urban-list .urban-item { position: relative;}
.urban-list .photo { position: relative;}
.urban-list .photo .img { margin-bottom: clamp(15px, 2.008vw, 25px);}
.urban-list .photo .num {
	margin: auto;
	margin: calc(-1 * clamp(70px, 6.4257vw, 80px)) auto clamp(15px, 1.2048vw, 15px);
	max-width: clamp(105px, 11.4056vw, 142px);
}
.urban-list .ttl {
	font-size: clamp(15px, 1.7671vw, 22px);
	line-height: 1.2;
	margin-bottom: 10px;
}
.urban-list .txt {
	font-size: clamp(12px, 1.4177vw, 17.65px);
	line-height: 1.4;
}
.urban-list .note {
	font-size: clamp(10px, 0.9639vw, 12px);
	line-height: 1.3;
	margin-top: clamp(10px, 1.2048vw, 15px);
}
.urban-list .txt-md {
	font-size: clamp(10px, 1.2851vw, 16px);
	line-height: 1.3;
}
.urban-list .txt-md + .txt-md { margin-top: 15px;}
.urban-list .txt-sm {
	font-size: clamp(10px, 1.2048vw, 15px);
	line-height: 1.3;
}
.urban-list .dot-list {
    padding: 0;
}
.urban-list .dot-list .dif {
	font-size: clamp(10px, 1.2048vw, 15px);
	line-height: 1.3;
	letter-spacing: 0.075em;
	text-indent: calc(-1 * clamp(10px, 1.2048vw, 15px));
	padding: 0 0 0 clamp(10px, 1.2048vw, 15px);
}
.sake-box {
	border-top: 1px solid #2a7cbf;
	border-bottom: 1px solid #2a7cbf;
	margin-top: clamp(35px, 3.6145vw, 45px);
	padding: clamp(15px, 2.008vw, 25px) 0 clamp(20px, 2.8112vw, 35px);
}
.sake-box .sake-block {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 5.2209vw, 65px);
}

.sake-box .sake-ttl {
	color: #003670;
	font-family: "UD Reimin Bold JIS2004", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HG明朝E", serif;
	font-size: clamp(17px, 1.9277vw, 24px);
	font-weight: 600;
	line-height: 1.75;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 20px;
}
.sake-box .ttl {
	font-size: clamp(15px, 1.8474vw, 23px);
	line-height: 1.5;
}
.sake-box .txt { font-size: clamp(12px, 1.4988vw, 18.66px);}
.sake-box .lbl {
	background-color: #2a7cbf;
	color: #fff;
	font-size: clamp(10px, 1.6064vw, 20px);
	letter-spacing: 0.075em;
	text-align: center;
	margin-bottom: 0;
	padding: 5px;
}
.sake-block__ttlcap {
	display : block;
	font-size : 12px;
	text-align : right;
	margin : 5px 0 20px;
}
.sake-box .ttl-square {
	position: relative;
	font-size: clamp(15px, 1.8474vw, 23px);
	line-height: 1.4;
	letter-spacing: 0.025em;
	margin-bottom: clamp(10px, 1.2048vw, 15px);
	padding-left: clamp(20px, 2.4096vw, 30px);
}
.sake-box .ttl-square::before {
	background-color: #003670;
	content: "";
	position: absolute;
	top: clamp(4px, 0.5622vw, 7px);
	left: 0;
	height: clamp(15px, 1.6064vw, 20px);
	width: clamp(15px, 1.6064vw, 20px);
}
.sake-box .landmark-block {
	display: grid;
	align-items: center;
	grid-template-columns: 61% auto;
	margin-top: clamp(20px, 2.4096vw, 30px);
	gap: 20px;
}
.sake-box .landmark-block .txt { font-size: clamp(10px, 1.2851vw, 16px);}
.osu-block .cont {
	display: grid;
	grid-template-columns: 60% auto;
	gap: 10px;
}
.tsurmai-block .cont {
	display: grid;
	grid-template-columns: 59.5% auto;
	gap: 10px clamp(10px, 2.8112vw, 35px);
}
.tsurmai-block .desc { margin-top: clamp(0px, 0.8032vw, 10px);}
@media screen and (min-width: 768px) {
	.urban-list .photo .vertical {
		-webkit-font-feature-settings: initial;
        -moz-font-feature-settings: initial;
        font-feature-settings: initial;
        writing-mode: vertical-rl;
	}
	.urban-list .photo .ttl {
		color: #fff;
		position: absolute;
		top: clamp(110px, 10.8434vw, 135px);
		left: 7.5%;
		font-size: clamp(15px, 2.3293vw, 29px);
		line-height: 1.4;
		letter-spacing: 0.1em;
	}
	.urban-list .urban-item:nth-child(4),
	.urban-list .urban-item:nth-child(1) { grid-column: 1/3;}
	.urban-list .urban-item:nth-child(4) .photo .num,
	.urban-list .urban-item:nth-child(1) .photo .num {
		position: absolute;
		top: 0;
		left: 4.5%;
		margin-top: calc(-1 * clamp(15px, 2.008vw, 25px));
	}
	.urban-list .urban-item:nth-child(4) .photo .img { margin-bottom: clamp(5px, 0.8032vw, 10px);}
	.tsurmai-block .cap-image { grid-area: 1/2/3/3;}
}
@media screen and (max-width: 767px) {
	.urban-list { grid-template-columns: 1fr;}
	.urban-list .txt { line-height: 1.6;}
	.urban-list .ttl { line-height: 1.6;}
	.urban-list .urban-item:nth-child(1) .photo .cap-image .cap {
		color: #000;
		right: auto;
		bottom: -30px;
		left: 0;
	}
	.sake-box .sake-block { grid-template-columns: 1fr;}
	.sake-box .landmark-block { 
        grid-template-columns: 57% 32%;
        align-items: initial;
    }
	.osu-block .cont { grid-template-columns: 57% auto;}
	.tsurmai-block .cont { grid-template-columns: 44.5% auto;}
	.tsurmai-block .desc { 
		grid-column: 1/3;
		margin-top: 0;
	}
}
/* sec-trend */
.sec-trend {
	background-color: #2c2741;
	overflow: hidden;
	padding: clamp(30px, 8.0321vw, 100px) 0 clamp(60px, 9.2369vw, 115px);
}
.sec-trend .linebg-ttl {
	border-bottom: 1px solid #b4955c;
	color: #b4955c;
}
.trend-ttl {
	text-align: center;
	margin: clamp(15px, 2.4096vw, 30px) 0 clamp(60px, 8.0321vw, 100px);
}
.trend-ttl .ttl {
	color: #b4955c;
	font-size: clamp(17px, 3.0522vw, 38px);
	line-height: 1.5;
}
.trend-list { color: #fff;}
.trend-list .item {
	display: flex;
	flex-wrap: wrap;
	grid-template-columns: 50% 1fr;
	gap: clamp(15px, 2.4096vw, 30px);
}
.trend-list .img { width: 52%;}
.trend-list .desc { flex: 1;}
.trend-list .topic {
	display: flex;
	position: relative;
	align-items: center;
	min-height: clamp(85px, 9.6386vw, 120px);
	margin-bottom: clamp(15px, 1.6064vw, 20px);
	padding-left: clamp(20px, 2.4096vw, 30px);
}
.trend-list .topic::before {
	background-color: #b4955c;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: clamp(7px, 0.8032vw, 10px);
}
.trend-list .topic .ttl {
	color: #b4955c;
	font-size: clamp(16px, 2.008vw, 25px);
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
.trend-list .topic .ttl .lg {
	font-size: 144%;
	line-height: 0.7;
	letter-spacing: 0;
}
.trend-list .topic .ttl .sm { font-size: 80%;}
.trend-list .topic .txt { line-height: 1.5;}
.trend-list .txt {
	font-size: clamp(12px, 1.6064vw, 20px);
	line-height: 1.7;
	letter-spacing: -0.02em;
}
.trend-list .time-list {
	color: #b4955c;
	font-size: clamp(10px, 1.6064vw, 20px);
	line-height: 1.5;
	letter-spacing: 0.01em;
	padding: 0;
}
.trend-list .time-list .time { flex: 1;}
.trend-list .img .photo { margin-left: calc(-1 * ((100vw - 1000px) / 2) + 7px);}
.trend-list .shop-block {
	position: relative;
	margin-top: clamp(10px, 1.2048vw, 15px);
}
.trend-list .img .img-sm {
	margin: clamp(10px, 1.6064vw, 20px) calc(-1 * clamp(35px, 5.6225vw, 70px)) 0 auto;
	width: 39%;
	max-width: 200px;
}
.trend-list .img .img-lg {
	margin-top: 5px;
	margin-left: -100px;
	width: 52.6%;
	max-width: 245px;
}
.trend-list .shop-block .img-lg {
	margin-top: clamp(15px, 2.008vw, 25px);
	margin-left: clamp(25px, 4.0161vw, 50px);
	width: 76%;
	max-width: 342px;
}
.trend-list .item + .item { margin-top: clamp(50px, 7.2289vw, 90px);}
.trend-list .item:nth-child(2n) { flex-direction: row-reverse;}
.trend-list .item:nth-child(2n) .img .photo {
	margin-right: calc(-1 * ((100vw - 1000px) / 2) + 7px);
	margin-left: 0;
}
@media screen and (min-width: 768px) {
	.trend-list .item:nth-child(2n) .img { width: 46.5%;}
	.trend-list .item:nth-child(5) .shop-block .img-lg { margin-left: calc(-1 * clamp(10px, 1.6064vw, 20px));}
}
@media screen and (max-width: 1023px) {
	.trend-list .img .photo { margin-left: -15px;}
	.trend-list .item:nth-child(2n) .img .photo { margin-right: -15px;}
}
@media screen and (max-width: 767px) {
	.trend-ttl { margin-bottom: 15px;}
	.trend-list .img .photo {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	.trend-list .img,
	.trend-list .desc { width: 100%;}
	.trend-list .shop-block {
		display: grid;
		grid-template-columns: 52% 1fr;
		gap: 5px;
	}
	.trend-list .shop-block .img-lg {
		margin: 0;
		width: initial;
        max-width: initial;
	}
	.trend-list .shop-block .img-sm { margin-top: 20px;}
	.trend-list .txt .sm { font-size: 10px;}
	.trend-list .item:nth-child(1) .shop-block { grid-template-columns: 35% 1fr;}
	.trend-list .shop-block.no-img { grid-template-columns: 1fr;}
}
/* sec-life */
.life-wrap {
	margin: 0 auto 0;
	width: calc(100% - clamp(15px, 2.4096vw, 30px));
	max-width: 1000px;
}
.life-txt {
	color: #231815;
	font-size: clamp(15px, 1.8474vw, 23px);
	letter-spacing: 0.025em;
	text-align: center;
	margin: clamp(15px, 2.4096vw, 30px) 0 clamp(20px, 2.8112vw, 35px);
}
.life-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	width: 100%;
	gap: clamp(20px, 3.2129vw, 40px);
}
.life-col {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: calc(50% - 20px);
}
.life-box { margin-top: 10px;}
.life-box-ttl {
	color: #3c2578;
	font-size: clamp(12px, 1.1245vw, 14px);
	letter-spacing: 0.03em;
	margin: 0 0 2px;
}
.life-list {
	font-size: clamp(12px, 1.1245vw, 14px);
	line-height: 1.5;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
}
.life-list .sm {
	display: unset !important;
	font-size: 84%;
}
.life-list li dl {
	display: grid;
	justify-content: space-between;
	grid-template-columns: auto max-content;
}
.life-list li dt {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: end;
}
.life-list li dt::after {
	content: "............................................................................................................................................................";
	line-height: 1;
	margin: 0 5px 8px;
	overflow: hidden;
	white-space: nowrap;
	text-align: right;
}
.life-list li dt.slightly-wider::after {
	margin: 0 3px 8px;
}
.life-list li dd {
	display: grid;
	text-align: right;
	grid-template-columns: clamp(25px, 2.4096vw, 30px) clamp(25px, 2.4096vw, 31px) clamp(65px, 6.0241vw, 75px);
	align-items: end;
}
.life-map { margin: 0 auto clamp(10px, 1.6064vw, 20px);}
@media screen and (max-width: 767px) {
	.life-flex { display: block;}
	.life-col { width: 100%;}
	.life-wrap {
		margin: 0 auto 0;
		padding: 0 clamp(10px, 1.2048vw, 15px) 0;
		width: 100%;
	}
    .life-box { margin-top: 15px;}
}
@media screen and (max-width: 360px) {
    .life-box-ttl,
	.life-list { font-size: 11px;}
}

.urban-map .cap-bk {
	text-shadow : none;
	right : 0;
	left : auto;
}
.sec-urban .bg-caption {
	position: absolute;
	width: 100%;
	top: 42vw;
	right: 0;
	text-align: right;
}
.sec-urban .bg-caption .cap-bk {
	text-shadow : none;
	right : 10px;
}
@media screen and (max-width: 480px) {
	.sec-urban .bg-caption {
		top: 15vw;
	}
}
.sake-block .cap-image .cap {
	text-shadow: 0 0 11px #000, 0 0 9px #000, 0 0 7px #000, 0 0 6px #000, 0 0 5px #000, 0 0 5px #000, 0 0 5px #000;
}
