@charset "utf-8";
.sec-body-ttl {
	font-size: clamp(2rem, 2.44047619vw, 4rem);
	letter-spacing: 0.18em;
	line-height: 1.25;
	text-align: center;
	margin-bottom: clamp(50px, 6.547619047619047619vw, 110px);
}
.sec-body-ttl .sm {
	display: block;
	font-size: 73%;
	letter-spacing: 0.04em;
}
.sec-body-ttl sup {
	font-size: 60%;
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	.sec-ttl .ttl_ic {
		height: 7px;
		width: auto;
	}
	.sec-ttl .ttl_jp { letter-spacing: 0.04em;}
	.sec-body-ttl {
		letter-spacing: 0;
		margin-left: -10px;
		margin-right: -10px;
	}
}

/* section location*/
.sec-location-body {
	overflow: hidden;
	position: relative;
}
.location-block {
	position: relative;
	padding: clamp(60px, 5.3571428571428571429vw, 90px) 0 0;
}
.location-bg img {
	position: absolute;
	width: 44%;
	right: 0;
	top: -90px;
	z-index: -1;
}
.location-block .block-ttl {
	font-size: clamp(1.5rem, 1.78571429vw, 3rem);
	letter-spacing: 0.04em;
	margin-bottom: 40px;
	text-align: center;
}
.location-block .block-ttl-sm {
	font-size: clamp(1.2rem, 0.833333333vw, 1.4rem);
	margin-bottom: 6px;
}

.location-ttl {
	color: #3ba074;
	margin-bottom: clamp(30px, 3.2738095238095238095vw, 55px);
}
.location-ttl .ttl {
	font-size: clamp(2.8rem, 2.202380952380952381vw, 3.7rem);
	letter-spacing: 0.08em;
	line-height: 1;
	font-weight: 900;
	margin-bottom: clamp(20px, 1.4880952380952380952vw, 25px);
}
.location-ttl .sm {
	font-size: clamp(1.2rem, 0.83333333333333333333vw, 1.4rem);
	letter-spacing: 0.1em;
	font-weight: 300;
	display: block;
	margin-bottom: 5px;
}
.location-ttl .txt {
	font-size: clamp(1.8rem, 1.4880952380952380952vw, 2.5rem);
	letter-spacing: 0.1em;
	line-height: 1.44;
	font-weight: 600;
}
.location-ttl .txt .sm { margin-bottom: -2px;}
.location-list .time-list {
	font-size: clamp(1rem, 0.6547619047619047619vw, 1.1rem);
	font-weight: 300;
	display: flex;
	gap: clamp(10px, 1.4880952380952380952vw, 25px);
	color: #3ba074;
	flex-wrap: wrap;
	row-gap: 0px;
}
.location-list .time-list li {
	position: relative;
	padding-left: clamp(15px, 1.1904761904761904762vw, 20px);
}
.location-list .time-list li::before {
	content: "";
	position: absolute;
	left: 0;
	width: clamp(12px, 0.89285714285714285714vw, 15px);
	height: clamp(12px, 0.89285714285714285714vw, 15px);
	top: 0;
	bottom: 0;
	margin: auto;
}
.location-list .time-list li:nth-child(1)::before { background: url(../imgs/icon_num3.svg) no-repeat center center/contain;}
.location-list .time-list li:nth-child(2)::before { background: url(../imgs/icon_num4.svg) no-repeat center center/contain;}
.location-list .ttl-bg { background-color: #3ba074;}
.location-list .ttl-bg .name {
	color: #fff;
	font-size: clamp(1.1rem, 0.83333333333333333333vw, 1.4rem);
	letter-spacing: 0;
	line-height: 1.125;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	min-height: clamp(35px, 2.3809523809523809524vw, 40px);
	position: relative;
	font-weight: 300;
}
.location-list .ttl-bg .name.line::before {
	content: "";
	position: absolute;
	bottom: 0;
	border-bottom: 1px dotted #fff;
	width: 80%;
	margin: auto;
}
.location-list .txt {
	font-size: clamp(1.2rem, 0.89285714285714285714vw, 1.5rem);
	letter-spacing: 0.01em;
	line-height: 1.8;
	font-weight: 500;
	margin-top: 15px;
}
.location-list .info { max-width: 385px;}
.location-list .info.info-match {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.location-list .info .data-info {
	margin-top: 10px;
}
.location-list .box-info {
	text-align: center;
	position: relative;
	border-left: 1px solid #3ba074;
}
.location-list .box-info::before,
.location-list .box-info::after {
	content: "";
	background-color: #3ba074;
	position: absolute;
}
.location-list .box-info::before {
	width: 1px;
	height: calc(100% - 12px);
	right: 0;
	top: 0;
}
.location-list .box-info::after {
	width: calc(100% - 12px);
	height: 0.5px;
	left: 0;
	bottom: 0;
}
.location-list .box-info .cont {
	padding: clamp(5px, 0.5952380952380952381vw, 10px);
	position: relative;
}
.location-list .box-info .cont::after {
	content: "";
	position: absolute;
	border-bottom: 13px solid transparent;
	border-right: 13px solid transparent;
	border-left: 13px solid #3ba074;
	position: absolute;
	bottom: -1px;
	right: -13px;
}
.location-list .box-info .time-list { justify-content: center;}
.location-list .data-info {
	margin-top: clamp(10px, 1.1904761904761904762vw, 20px);
}
.location-list .data-info .tag {
	font-size: clamp(1rem, 0.71428571428571428571vw, 1.2rem);
	letter-spacing: 0.24em;
	line-height: 1.1;
	color: #fff;
	display: block;
	max-width: clamp(100px, 7.4404761904761904762vw,125px);
	border-radius: 3px;
	padding: clamp(3px, 0.29761904761904761905vw, 5px) 2px;
	text-align: center;
	margin-bottom: 10px;
}
.location-list .data-info .list li {
	position: relative;
	padding-left: 15px;
	font-size: clamp(1rem, 0.71428571428571428571vw, 1.2rem);
	display: grid;
	grid-template-columns: auto 1fr;
}
.location-list .data-info .list li:before {
	content: "■";
	position: absolute;
	left: 0;
}
.location-list .img { position: relative;}
.location-list .img .time-list {
	position: absolute;
	bottom: 0;
	display: block;
	color: #fff;
	background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.9)), to(rgba(255, 255, 255, 0)));
	background: -o-linear-gradient(left, rgba(0, 0, 0, 0.9) 0%, rgba(255, 255, 255, 0) 80%);
	background: linear-gradient(to right, rgba(0, 0, 0, 0.9) 0%, rgba(255, 255, 255, 0) 80%);
	padding: 5px 5px;
	width: 100%;
}
.location-list {
	display: flex;
	grid-template-columns: 43.4% auto;
	gap: clamp(15px, 1.1904761904761904762vw, 20px);
}
.location-list + .location-list {
	margin-top: clamp(40px,4.7619047619047619048vw, 80px);
}
.location-list .item-main { width: 43.3%;}
.location-list .item-main .img { margin-bottom: clamp(10px, 1.7857142857142857143vw, 30px);}
.location-list .item-sub { flex: 1;}
.rows {
	display: grid;
	gap: clamp(10px, 0.89285714285714285714vw, 15px);
	grid-template-columns: repeat(3, 1fr);
}
.rows.col2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.rows.col4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 74.1%;
}
.rows > li {
	display: flex;
	flex-direction: column;
}
.rows + .rows { margin-top: 15px;}
.location-list.reverse { flex-direction: row-reverse;}
.location-list.reverse .item-main .pos-rel {
	margin-right: calc(-1 * (100vw - 1200px) / 2);
	width: calc(100% + (100vw - 1200px) / 2);
}
.location-block.greens .location-bg .pic-cap { top: clamp(225px, 23.214285714285714286vw, 390px);}
.location-block.orange { margin-top: clamp(-100px, -10.119047619047619048vw, -170px);}
.location-block.orange .location-list .box-info .time-list,
.location-block.orange .location-ttl { color: #e57c4d;}
.location-block.orange .location-list .box-info { border-color: #e57c4d;}
.location-block.orange .location-list .box-info::before,
.location-block.orange .location-list .box-info::after { background-color: #e57c4d;}
.location-block.orange .location-list .box-info .cont::after { border-left: 12px solid #e57c4d;}
.location-block.orange .location-list .ttl-bg { background-color: #e57c4d;}
.location-block.pink .location-list .item-main { margin-top: clamp(30px, 4.1666666666666666667vw, 70px);}
.location-block.pink .location-bg img {
	width: 52%;
	width: 52%;
	position: absolute;
	right: 0;
	height: auto;
	top: -25vw;
	bottom: auto;
}
.location-block.pink .location-bg .pic-cap { top: clamp(150px, 14.880952380952380952vw, 250px);}
.location-block.pink .location-list .box-info .time-list,
.location-block.pink .location-ttl { color: #d97085;}
.location-block.pink .location-list .box-info { border-color: #d97085;}
.location-block.pink .location-list .box-info::before,
.location-block.pink .location-list .box-info::after { background-color: #d97085;}
.location-block.pink .location-list .box-info .cont::after { border-left: 12px solid #d97085;}
.location-block.pink .location-list .ttl-bg { background-color: #d97085;}
.location-block.pink02 .location-bg img {
	width: 52%;
	position: absolute;
	right: 0;
	height: auto;
	top: 6vw;
	bottom: auto;
}
.location-block.pink02 .location-bg .pic-cap { top: clamp(150px, 47.619047619047619048vw, 800px);}
.location-block.pink02 .location-list .box-info .time-list,
.location-block.pink02 .location-ttl { color: #be586b;}
.location-block.pink02 .location-list .box-info { border-color: #be586b;}
.location-block.pink02 .location-list .box-info::before,
.location-block.pink02 .location-list .box-info::after { background-color: #be586b;}
.location-block.pink02 .location-list .box-info .cont::after { border-left: 12px solid #be586b;}
.location-block.pink02 .location-list .ttl-bg { background-color: #be586b;}
.location-block.pink02 .location-list .item-main { width: 66.5%;}
.location-block.pink02 .location-list .item-sub .img-daisy {
	width: 82.5%;
    margin: 21% 0 0 -14.5%;
}
.location-block.pink02 .location-list .data-info .tag {
	background-color: #be586b;
}
.location-block.pink02 .location-list .data-info .list li:before {
	color: #be586b;
}
.location-block.pink02 .rows.col2 {
	gap: clamp(10px, 1.4880952380952380952vw,25px);
}
.location-block.pink02 .rows.col4 {
	max-width: 100%;
	gap: clamp(10px, 1.4880952380952380952vw,25px);
}
.location-block.purple .location-list .box-info .time-list,
.location-block.purple .location-ttl { color: #91749d;}
.location-block.purple .location-list .box-info { border-color: #91749d;}
.location-block.purple .location-list .box-info::before,
.location-block.purple .location-list .box-info::after { background-color: #91749d;}
.location-block.purple .location-list .ttl-bg { background-color: #91749d;}
.location-block.purple .location-list .box-info .cont::after { border-left: 12px solid #91749d;}
.location-block.purple .location-list .item-main { width: 61.9%;}
.location-block.brown { padding-bottom: clamp(30px, 5.6547619047619047619vw, 95px);}
.location-block.brown .location-bg img {
	position: absolute;
	width: 53%;
	right: 0;
	top: -20.5vw;
}
.location-block.brown .location-bg .pic-cap { top: clamp(125px, 19.345238095238095238vw, 325px);}
.location-block.brown .location-list .box-info .time-list,
.location-block.brown .location-ttl { color: #937a5e;}
.location-block.brown .location-list .box-info { border-color: #937a5e;}
.location-block.brown .location-list .box-info::before,
.location-block.brown .location-list .box-info::after { background-color: #937a5e;}
.location-block.brown .location-list .box-info .cont::after { border-left: 12px solid #937a5e;}
.location-block.brown .location-list .ttl-bg { background-color: #937a5e;}
@media screen and (max-width: 1024px) {
	.location-bg img { top: -60px;}
	.location-list .item-main { width: 33%;}
	.location-block.purple .location-list .item-main { width: 55%;}
	.rows.col4 { max-width: 87.2%;}
}
@media screen and (max-width: 1200px) {
	.location-list.reverse .item-main .pos-rel {
		margin-right: 0;
		width: calc(100% + 12%);
	}
}
@media screen and (max-width: 767px) {
	.location-bg img { width: 100%;}
	.location-list { flex-direction: column !important;}
	.location-list .item-main { width: 100% !important;}
	.location-list .info { max-width: initial;}
	.rows.col4,
	.rows { grid-template-columns: repeat(2, 1fr);}
	.rows.col4 { max-width: initial;}
	.location-block.orange { margin-top: 0;}
	.location-list.reverse .item-main .pos-rel {
		margin-right: 0;
		width: 100%;
	}
	.location-block.brown .location-bg img,
	.location-block.pink .location-bg img {
		width: 80%;
	}
	.location-ttl .txt .sm { margin-bottom: 0;}
	.location-block.pink02 .location-bg img {
		top: -7vw;
	}
	.location-block.pink02 .location-bg .pic-cap {
		top: 125px;
	}
	.location-block.pink02 .location-list .item-sub .img-daisy {
		margin: auto;
		width: 100%;
	}
	.location-block.pink02 .location-list .item-sub {
		order: 0;
	}
	.location-block.pink02 .location-list .item-main {
		order: 1;
	}
}
.loc-notes {
	margin-top: clamp(15px,5.357142vw,90px);
}
.loc-notes img {
	width: 100%;
	max-width: 358px;
}