h1,
h2,
h3,
h4,
h5 {
	font-weight: 500
}

li {
	list-style: none
}

.comment {
	position: absolute;
	bottom: 6px;
	right: 6px;
	font-size: 10px;
	font-weight: 600
}

.white {
	color: #fff
}

.page_title {
	position: relative
}

.page_title img {
	width: 100%
}

.page_title_text {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 400
}

.page_title_en {
	display: block;
	font-family: "Times New Roman", Times, serif;
	font-size: min(64px, 10vw);
	line-height: 1.25em;
	letter-spacing: .1em
}

.page_title_ja {
	display: block;
	font-size: min(20px, 3vw);
	letter-spacing: .1em
}

.bg-1 {
	position: relative;
	z-index: 0
}

.bg-1::before {
	content: "";
	width: 100%;
	padding-top: 168.684210526%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/location/bg_sp.webp) no-repeat center center/contain;
}

@media(min-width: 1020px) {
	.bg-1::before {
		padding-top: 46.875%;
		background: url(../images/location/bg.webp) no-repeat center center/contain;
	}
}

.loc_top {
	position: relative;
	padding: 30px 20px 0;
	z-index: 2
}

.loc_top_head {
	text-align: center;
	font-size: min(40px, 5.25vw);
	font-weight: 500
}
.loc_top_head span {
	background: linear-gradient(135deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}

.loc_top_head sup {
	font-size: 12px;
	transform: translate(0, -50%);
	display: inline-block
}

.loc_top_link {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 30px
}

.loc_top_li {
	width: calc(50% - 10px);
	margin-top: 20px
}

.loc_top_a {
	display: block;
	width: 100%;
	border: solid 1px;
	border-image: linear-gradient(135deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
	border-image-slice: 1;
	background: rgba(255, 255, 255, .75);
	padding: 10px
}

.loc_top_en {
	font-size: 10px;
	text-align: center
}
.loc_top_en span {
	background: linear-gradient(135deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
}

.loc_top_ja {
	font-size: min(16px, 4vw);
	text-align: center
}

@media(min-width: 580px) {
	.loc_top {
		padding-top: 50px
	}

	.loc_top_li {
		width: calc(33.333% - 13.3333px)
	}
}

@media(min-width: 1020px) {
	.loc_top_link {
		max-width: 1240px;
		margin: 30px auto 0
	}

	.loc_top_li {
		width: calc(16.666% - 16.666px);
		max-width: 200px
	}
}

.content {
	padding: 60px 20px;
	position: relative
}

.content.blue {
	background: linear-gradient(90deg, #FAFDFF 0%, #E8F5FF 100%)
}

.content_in {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	position: relative
}

.content_head {
	position: relative
}

.content_head.right {
	text-align: right
}

.content_head_en {
	font-family: "Times New Roman", Times, serif;
	font-size: min(80px, 8vw);
	line-height: 1
}

.content_head_hr {
	border-top: 8px solid #a78432;
	border-bottom: 0
}

.content_head_ja {
	font-size: min(14px, 4vw);
	line-height: 1;
	margin-top: 10px
}

.content_body1_above {
	margin-top: 30px;
	position: relative
}

.content_body1_bellow {
	width: 280px;
	margin: 0 auto;
	overflow: hidden
}

.content_body1_bellow_wrap {
	width: calc(400% + 60px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	transition: transform .5s ease-out
}

.content_body1_bellow_wrap.pos0 {
	transform: none
}

.content_body1_bellow_wrap.pos1 {
	transform: translateX(calc(-25% - 5px))
}

.content_body1_bellow_wrap.pos2 {
	transform: translateX(calc(-50% - 10px))
}

.content_body1_bellow_wrap.pos3 {
	transform: translateX(calc(-75% - 15px))
}

.content_body1_pager {
	width: 100px;
	display: flex;
	justify-content: space-between;
	margin: 20px auto 0
}

.content_body1_pp {
	display: block;
	background: #aaa;
	border: none;
	outline: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin: 0;
	padding: 0
}

.content_body1_pp.active {
	background: #000
}

.content_img2 {
	width: 280px
}

.content_body2 {
	margin-top: 30px;
	overflow: hidden
}

.content_body2_wrap {
	width: 280px;
	margin: 0 auto;
	overflow: hidden
}

.content_body2_wrap_in {
	width: calc(300% + 40px);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	transition: transform .5s ease-out
}

.content_body2_wrap_in.pos0 {
	transform: none
}

.content_body2_wrap_in.pos1 {
	transform: translateX(calc(-33.3333% - 6.666667px))
}

.content_body2_wrap_in.pos2 {
	transform: translateX(calc(-66.66666% - 13.33333px))
}

.content_body2_pager {
	width: 70px;
	display: flex;
	justify-content: space-between;
	margin: 20px auto 0
}

.content_body2_pp {
	display: block;
	background: #aaa;
	border: none;
	outline: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin: 0;
	padding: 0
}

.content_body2_pp.active {
	background: #000
}

.content_img3 {
	width: 280px
}

.content_text_1 {
	background: #fff;
	padding: 20px
}

.content_text_2 {
	position: relative;
	padding: 20px;
	margin-top: 20px;
	background: #f3f9fe
}

.content_p1 {
	color: #9b751c;
	font-size: min(18px, 5vw);
	position: relative
}

.content_p2 {
	margin-top: 20px;
	font-size: min(16px, 4vw);
	position: relative
}

.content_img1,
.content_img2,
.content_img3,
.content_img4,
.content_img5 {
	margin-top: 20px
}

.content_note_l,
.content_note_r {
	text-align: right;
	font-size: 10px;
	font-weight: 600;
	margin-top: 0;
}

.content_img5 {
	width: 280px
}

.content_body3_bellow {
	width: 280px;
	margin: 0 auto;
	overflow: hidden
}

.content_body3_bellow_wrap {
	width: calc(500% + 80px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	transition: transform .5s ease-out
}

.content_body3_bellow_wrap.pos0 {
	transform: none
}

.content_body3_bellow_wrap.pos1 {
	transform: translateX(calc(-20% - 5px))
}

.content_body3_bellow_wrap.pos2 {
	transform: translateX(calc(-40% - 10px))
}

.content_body3_bellow_wrap.pos3 {
	transform: translateX(calc(-60% - 15px))
}

.content_body3_bellow_wrap.pos4 {
	transform: translateX(calc(-80% - 15px))
}

.content_body3_pager {
	width: 130px;
	display: flex;
	justify-content: space-between;
	margin: 20px auto 0
}

.content_body3_pp {
	display: block;
	background: #aaa;
	border: none;
	outline: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin: 0;
	padding: 0
}

.content_body3_pp.active {
	background: #000
}

@media(min-width: 580px) {

	.content_img2,
	.content_img5 {
		width: calc(50% - 10px)
	}

	.content_body1_bellow {
		width: 100%
	}

	.content_body1_bellow_wrap {
		width: 100%
	}

	.content_body1_bellow_wrap.pos0,
	.content_body1_bellow_wrap.pos1,
	.content_body1_bellow_wrap.pos2,
	.content_body1_bellow_wrap.pos3 {
		transform: none
	}

	.content_body1_pager {
		display: none
	}

	.content_body2 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap
	}

	.content_body2_wrap {
		width: 100%
	}

	.content_body2_wrap_in {
		width: 100%
	}

	.content_body2_wrap_in.pos0 {
		transform: none
	}

	.content_body2_wrap_in.pos1 {
		transform: none
	}

	.content_body2_wrap_in.pos2 {
		transform: none
	}

	.content_body2_pager {
		display: none
	}

	.content_text_2,
	.content_img3,
	.content_img4 {
		width: calc(50% - 10px);
		max-width: 520px
	}

	.content_body3_bellow {
		width: 100%
	}

	.content_body3_bellow_wrap {
		width: 100%
	}

	.content_body3_bellow_wrap.pos0,
	.content_body3_bellow_wrap.pos1,
	.content_body3_bellow_wrap.pos2,
	.content_body3_bellow_wrap.pos3,
	.content_body3_bellow_wrap.pos4 {
		transform: none
	}

	.content_body3_pager {
		display: none
	}
}

@media(min-width: 768px) {
	.content {
		padding: 80px 20px
	}

	.content_in {
		max-width: 1080px
	}

	.content_img1 {
		width: 690px;
		position: relative
	}

	.content_text_1 {
		width: 450px;
		position: absolute;
		bottom: 14px;
		right: 0;
		z-index: 1
	}

	.content_note_l {
		text-align: left;
		margin-top: -15px;
	}

	.content_text_2 {
		width: calc(50% - 10px)
	}

	.content_img4 {
		width: calc(50% - 10px)
	}

	.content_img3,
	.content_img5 {
		width: calc(33.3333% - 16.666px)
	}

	.content_body3_bellow_wrap::after {
		content: "";
		width: calc(33.3333% - 16.666px);
		height: 0;
		display: block
	}
}

@media(min-width: 1020px) {
	.content_text_1 {
		padding: 60px 30px
	}

	.content_text_2 {
		padding: 50px 40px
	}

	.content_p2 {
		line-height: 2.5
	}

	.content_img2 {
		width: calc(25% - 15px)
	}
}


#soyora{

}
#soyora .bdr{
	border: solid 1px #ccc;
}
#soyora .flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
#soyora .content{
	margin-top: 0;
	overflow: hidden;
}
#soyora .content_head_hr{
	border-top: 8px solid;
	border-image: linear-gradient(90deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
	border-image-slice: 1;
}
#soyora .aeon .content_ttl{
	font-size: clamp(20px, 2.083333333vw, 40px);
	margin-top: 60px;
}
#soyora .aeon .photoWrap{
	display: block;
	margin-top: 60px;
	position: relative;
}
#soyora .aeon .photoWrap .wappen{
	position: absolute;
	top: -40px;
	right: -40px;
	width: 18.518518518%;
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2));
}
#soyora .soyora_box{
	margin-top: 20px;
}
#soyora .content_txt{
	font-size: clamp(14px, 0.833333333vw, 16px);
	line-height: 2;
	text-align: justify;
}
#soyora .content_photo{
	width: 29.629629629%;
}
#soyora .content_img5 .content_txt{
	margin-top: 0;
}
#soyora .content_body2_wrap{
	margin-top: 40px;
}
#soyora .shopList{
	padding: 60px;
	background: linear-gradient(135deg, rgba(101, 173, 46, .07) 0%, rgba(0, 128, 189, .07) 50%, rgba(0, 87, 130, .07) 100%);
	margin-top: 60px;
}
#soyora .shopList .shopList_ttl{
	font-size: clamp(18px, 1.25vw, 24px);
	text-align: center;
	padding-bottom: 20px;
	border-bottom: solid 1px;
	border-image: linear-gradient(90deg, rgba(101, 173, 46, 1) 0%, rgba(0, 128, 189, 1) 50%, rgba(0, 87, 130, 1) 100%);
	border-image-slice: 1;
}
#soyora .shopList dl{
	display: flex;
	flex-wrap: wrap;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(12px, 0.729166666vw, 14px);
}
#soyora .shopList dt{
	display: block;
	width: 21.875%;
	font-weight: 500;
	margin-top: 30px;
}
#soyora .shopList dd{
	display: block;
	width: 78.125%;
	font-weight: 400;
	margin-top: 30px;
}
#soyora .shopList dd span{
	display: inline-block;
	margin-left: 10px;
	margin-right: 5px;
	font-size: 12px;
	padding: 3px 6px;
	background: #e5cf8a;
	border-radius: 50vh;
}
#soyora .content_subTtl{
	display: block;
	font-size: clamp(18px, 1.458333333vw, 28px);
	line-height: 1.8;
}

#soyora .service {
	margin: 120px 0 80px;
}
#soyora .service .content_subTtl,
#soyora .serviceWrap .content_subTtl {
	font-size: clamp(18px, 1.458333333vw, 28px);
	font-weight: 600;
	color: #ae0079;
	text-align: center;
	line-height: 1.75;
	margin-bottom: 60px;
}
#soyora .service .content_subTtl {
	font-size: clamp(20px, 1.875vw, 36px);
	margin-bottom: 30px;
}
#soyora .service .content_txt {
	text-align: center;
	margin-bottom: 60px;
}
#soyora .service .flex .photoWrap{
	width: 48.148148148%;
}
#soyora .serviceWrap {
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,0.2));
	background: #fff;
}
#soyora .serviceWrap .content_subTtl {
	margin-bottom: 30px;
}
#soyora .serviceWrap .content_txt {
	text-align: center;
}
#soyora .serviceWrap .content_txt span {
	font-weight: 600;
	background: linear-gradient(transparent 60%, #ffe666 0%);
	display: inline;
	padding: 0 1px 2px;
}
#soyora .serviceWrap .cart {
	padding: 80px 60px;
}
#soyora .serviceWrap .cart .flex {
	margin-top: 60px;
	position: relative;
}
#soyora .serviceWrap .cart .flex .photoWrap {
	width: 43.75%;
}
#soyora .serviceWrap .cart .flex:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 50px;
	height: 50px;
	background: url(../images/location/icon_plus.svg)no-repeat center center/contain;
}
#soyora .serviceWrap .delivery {
	padding: 80px 60px;
	background: #fbf2f8;
}
@media(max-width: 598px) {
	#soyora .flex{
		display: block;
	}
	#soyora .content{
		margin-top: 0;
	}
	#soyora .aeon .content_ttl{
		margin-top: 20px;
	}
	#soyora .aeon .photoWrap{
		margin-top: 20px;
	}
	#soyora .aeon .photoWrap .wappen{
		top: -30px;
		right: -10px;
		width: 25%;
		filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.1));
	}
	#soyora .content_photo{
		width: 80%;
		margin: 20px auto 0;
		margin-top: 20px;
	}
	#soyora .content_body2_wrap{
		margin-top: 20px;
	}
	#soyora .shopList{
		padding: 30px 20px;
		margin-top: 40px;
	}
	#soyora .shopList .shopList_ttl{
		padding-bottom: 10px;
	}
	#soyora .shopList dt{
		width: 100%;
		margin-top: 20px;
	}
	#soyora .shopList dd{
		width: 100%;
		margin-top:10px;
	}

	#soyora .service {
		margin: 60px 0 40px;
	}
	#soyora .service .content_subTtl,
	#soyora .serviceWrap .content_subTtl {
		margin-bottom: 30px;
	}
	#soyora .service .content_subTtl {
		margin-bottom: 15px;
	}
	#soyora .service .content_txt {
		text-align: justify;
		margin-bottom: 30px;
	}
	#soyora .service .flex .photoWrap{
		width: 100%;
	}
	#soyora .service .flex .photoWrap + .photoWrap{
		margin-top: 20px;
	}
	#soyora .serviceWrap .content_subTtl {
		margin-bottom: 15px;
	}
	#soyora .serviceWrap .content_txt {
		text-align: justify;
	}
	#soyora .serviceWrap .content_txt span {
		padding: 0 1px 1px;
	}
	#soyora .serviceWrap .cart {
		padding: 40px 20px;
	}
	#soyora .serviceWrap .cart .flex {
		margin-top: 30px;
		position: relative;
	}
	#soyora .serviceWrap .cart .flex .photoWrap {
		width: 100%;
	}
	#soyora .serviceWrap .cart .flex .photoWrap + .photoWrap {
		margin-top: 40px;
	}
	#soyora .serviceWrap .cart .flex:after {
		width: 20px;
		height: 20px;
		top: 48%;
	}
	#soyora .serviceWrap .delivery {
		padding: 40px 20px;
	}
}

.life {
	padding: 50px 20px
}

.life_outer {
	max-width: 720px;
	margin: 0 auto
}

.life_head {
	font-size: min(40px, 6vw);
	letter-spacing: .1em;
	color: #9b751c;
	text-align: center
}

.life_btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.life_btns_li {
	width: calc(33.3333% - 1px);
	margin-top: 2px
}

.life_btns_btn {
	display: flex;
	width: 100%;
	padding: 10px 0;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin: 0;
	background: #fff;
	border: 1px solid #dbdbdb;
	border-radius: 4px
}

.life_btns_btn.active {
	pointer-events: none
}

.life_btns_btn.shop.active,
.life_btns_btn.shop:hover {
	background: #c373aa
}

.life_btns_btn.edu.active,
.life_btns_btn.edu:hover {
	background: #acaf60
}

.life_btns_btn.bank.active,
.life_btns_btn.bank:hover {
	background: #c19072
}

.life_btns_btn.hosp.active,
.life_btns_btn.hosp:hover {
	background: #287baf
}

.life_btns_btn.pub.active,
.life_btns_btn.pub:hover {
	background: #6579b1
}

.life_btns_btn.park.active,
.life_btns_btn.park:hover {
	background: #82b269
}

.life_btns_icon {
	width: 28px;
	height: 30px
}

.active .life_btns_icon {
	filter: brightness(0) invert(1)
}

.life_btns_btn:hover .life_btns_icon {
	filter: brightness(0) invert(1)
}

.life_btns_name {
	font-size: 10px
}

.shop .life_btns_name {
	color: #c373aa
}

.edu .life_btns_name {
	color: #acaf60
}

.bank .life_btns_name {
	color: #c19072
}

.hosp .life_btns_name {
	color: #287baf
}

.pub .life_btns_name {
	color: #6579b1
}

.park .life_btns_name {
	color: #82b269
}

.active .life_btns_name {
	color: #fff
}

.life_btns_btn:hover .life_btns_name {
	color: #fff
}

@media(min-width: 580px) {
	.life_btns_li {
		width: calc(16.66666% - 1.66666px)
	}
}

.life_map {
	max-width: 640px;
	margin: 30px auto 0
}

.life_map_img {
	position: relative;
	margin-top: 2px;
	aspect-ratio: 720 / 510;
}

.life_map_img_in {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0
}

.life_map_img_in.show {
	opacity: 1
}

.life_list {
	margin-top: 20px
}

.life_dl {
	max-width: 640px;
	margin: 0 auto;
	display: none
}

.life_dl.show {
	display: block
}

.life_dt {
	font-size: min(16px, 4vw);
	padding: 8px;
	line-height: 1;
	font-family: "Times New Roman", Times, serif;
	font-size: min(28px, 5vw)
}

.life_dt.shop {
	background: #ffeffa
}

.life_dt.edu {
	background: #feffeb
}

.life_dt.bank {
	background: #faf4ed
}

.life_dt.hosp {
	background: #edf5fa
}

.life_dt.pub {
	background: #ededfa
}

.life_dt.park {
	background: #edfaf0
}

.life_dt .S {
	margin-left: 10px;
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	display: inline-block
}

.life_div2 {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid rgba(112, 112, 112, .5);
	margin-top: 10px
}

.life_dt2,
.life_dd2 {
	font-size: min(14px, 3vw);
	white-space: pre-wrap
}

.life .num {
	display: inline-flex;
	vertical-align: middle;
	justify-content: center;
	align-items: center;
	font-size: 10px;
	font-weight: 600;
	width: min(16px, 3.2vw);
	height: min(16px, 3.2vw);
	color: #fff;
	border-radius: 50%;
	margin-right: .5em;
	margin-bottom: 3px
}

.life .shop .num {
	background: #c373aa
}

.life .edu .num {
	background: #acaf60
}

.life .bank .num {
	background: #c19072
}

.life .hosp .num {
	background: #287baf
}

.life .pub .num {
	background: #6579b1
}

.life .park .num {
	background: #82b269
}

@media(min-width: 1080px) {
	.life_outer {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		max-width: 1280px;
		margin: 80px auto 0
	}

	.life_map {
		margin: 0;
		max-width: 720px;
		width: 56.25%
	}

	.life_list {
		margin: 0;
		width: 41.40625%;
		max-width: 530px
	}
}
