@charset "utf-8";
@media (min-width: 768px) {
	.fac .obj_left {
		top: -110px;
	}
	.ie_cover {
		position: absolute;
		top: 100px;
		left: 0;
		z-index: 5;
		width: 50px;
		height: calc(100% - 100px);
		background-color: #D0E6E8;
	}
}

@media (max-width: 767px) {
	input[type="submit"] {
	-webkit-appearance: none;
	}
	textarea {
	-webkit-appearance: none;
	}
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	a:hover {
		text-decoration: none;
		opacity:1;
	}
	#t_clear {
		background-color: #000000;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 10000px;
		z-index: 10;
		filter: alpha(opacity=50);
		-moz-opacity: 0;
		opacity: 0.5;
	}
	img{
		width:auto;
		height:auto;
	}
	body {
		min-width: 100%;
		min-height: 100%;
	}

	.bg_blue {
		padding-bottom: 40px;
		background-color: #D0E6E8;
	}
	.bg_blue.type02 {
		padding-bottom: 40px;
	}
	.cmnwrap01{
		position: relative;
		padding-right: 10px;
		padding-left: 10px;
		max-width: 320px;
	}
	.cmnwrap01.sp_type02 {
		max-width: 1000px;
		padding-right: 0;
		padding-left: 0;
	}
	.cmnwrap01.sp_type03 {
		padding-right: 0;
		padding-left: 0;
	}
	.headwrap {
		min-height: 40px;
		min-height: 40px;
		background-color: #fff;
	}
	.head01 {
		float: left;
		padding-top: 20px;
		padding-left: 15px;
	}
	.head01 a {
		display: block;
		position: relative;
	}
	.head01 a::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -5px;
		width: 7px;
		height: 7px;
		border-top: 1px solid #1a1a1a;
		border-right: 1px solid #1a1a1a;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	.head02 {
		width: 160px;
		padding-top: 17px;
		padding-bottom: 12px;
		font-size: 10px;
	}
	.head03 {
		margin-bottom: 4px;
	}
	.head03 img {
		width: 25px;
	}
	.head04 {
		margin-bottom: 4px;
		font-size: 10px;
	}
	.head05 {
	}
	.head06 {
		float: right;
		padding-top: 15px;
		padding-right: 15px;
		font-size: 0;
	}
	.head06 a {
		display: block;
	}
	.head06 img {
		width: 59px;
	}

	.mv {
		padding-top: 90px;
		padding-bottom: 20px;
		background-image: url(../img/bg_mv.webp);
	}
	.mv01 {
		padding-bottom: 12px;
		font-size: 40px;
		line-height: 1;
	}
	.mv02 {
		font-size: 16px;
		line-height: 1;
	}

	.res {
		padding-top: 35px;
		background-color: #D0E6E8;
		background-repeat: repeat;
		background-size: 28px;
		background-image: url(../img/bg_price.webp)
	}
	.res01wrap {
		padding-right: 0;
		padding-left: 0;
	}
	.res01 {
		float: left;
		position: relative;
		margin-left: 12px;
		margin-bottom: 12px;
		padding-top: 30px;
		padding-bottom: 15px;
		width: 135px;
		text-align: center;
		background-color: #fff;
		border-radius: 10px;
		font-weight: bold;
	}
	.res01.type_right {
		float: right;
		margin-left: 0;
		margin-right: 12px;
	}
	.res02 {
		position: absolute;
		top: -17px;
		left: 50%;
		margin-left: -20px;
	}
	.res02 img {
		width: 40px;
	}
	.res03 {
		margin-bottom: 5px;
		font-size: 14px;
	}
	.res04 {
		margin-bottom: 8px;
		padding-top: 1px;
		padding-bottom: 1px;
		width: 68px;
		border-radius: 9px;
		font-size: 9px;
	}
	.res05 {
		margin-bottom: 8px;
		width: 110px;
		font-size: 9px;
		text-align: left;
	}
	.res05 li::before{
		content: '';
		display: inline-block;
		margin-top: -2px;
		margin-right: 5px;
		width: 3px;
		height: 3px;
		border-radius: 2px;
	}
	.res06 {
		font-size: 9px;
	}
	.res06 span {
		font-size: 21px;
	}
	.res07 {
		margin-top: 1px;
		margin-bottom: 10px;
		width: 75px;
		font-size: 8px;
	}
	.res08 {
		display: block;
		position: static;
		text-align: center;
		margin-left: 0;
	}
	.res08 img {
		width: 75px;
	}
	.res09 {
		margin-top: -25px;
		padding-top: 30px;
		padding-bottom: 10px;
		font-size: 7px;
	}
	.time {
		padding-top: 40px;
	}
	.time01 {
		padding-bottom: 60px;
	}
	.time01_01 {
		position: absolute;
		top: -24px;
		left: 50%;
		width: 24px;
		border-radius: 12px;
		margin-left: -12px;
	}
	.time01_01 img{
		width: 24px!important;
	}
	.time .time01 img {
		width: 112px;
	}
	.park .time01 img {
		width: 237px;
	}
	.fac .time01 img {
		width: 154px;
	}
	.build .time01 img {
		width: 104px;
	}
	.price .time01 img.sp {
		display: inline-block!important;
		width: 2px;
	}
	.precious .time01 img {
		width: 204px;
	}
	.ttl_obj_box {
		position: relative;
	}
	.ttl_obj_box.sp_type02 {
		width: 300px;
		margin-right: auto;
		margin-left: auto;
	}
	.obj_left {
		position: absolute;
		top: -20px;
		left: 0;
	}
	.time .obj_left img {
		width: 44px;
	}
	.fac .obj_left img {
		width: 51px;
	}
	.price .obj_left img {
		width: 74px;
	}
	.obj_right {
		position: absolute;
		top: -20px;
		right: 0;
	}
	.time .obj_right img {
		width: 48px;
	}
	.park .obj_right img {
		width: 79px;
	}
	.build .obj_right {
		top: -30px;
	}
	.build .obj_right img {
		width: 70px;
	}
	.price .obj_right img {
		width: 74px;
	}
	.ttlwrap {
		position: absolute;
		width: 100%;
		top: -50px;
	}
	.ttl01_top {
		margin-bottom: 15px;
		font-size: 11px;
		display: block;
	}
	.ttl01_top::before {
		content: '';
		display: inline-block;
		margin-right: 5px;
		width: 7px;
		height: 10px;
	}
	.ttl01_top::after {
		content: '';
		display: inline-block;
		margin-left: 5px;
		width: 7px;
		height: 10px;
	}
	.ttl01 {
		display: inline-block;
		padding-top: 9px;
		padding-right:10px;
		padding-bottom: 9px;
		padding-left: 10px;
		color: #fff;
		background-color: #5D5A84;
		line-height: 1;
		font-size: 13px;
		border-radius: 33px;
	}
	.time02wrap {
		padding-top: 60px;
	}
	.time02 {
		position: relative;
		margin-right: auto;
		margin-left: auto;
		padding-bottom: 35px;
		max-width: 1120px;
		overflow-x: hidden;
	}
	.time03 {
		display: block;
		margin-bottom: 40px;
		padding-right: 10px;
		padding-left: 10px;
		text-align: center;
		font-size: 6px;
		color: #367F90;
	}
	.time03 span {
		display: inline-block;
		text-align: left;
	}
	.time04 {
		position: relative;
	}
	.time04 img {
		width: 71px;
	}
	.time05 {
		position: absolute;
		top: 4px;
		left: -50px;
		transition: 0.8s;
	}
	.time05 img {
		width: 86.5px;
	}
	.time05.active {
		left: 71px;
	}
	.time06 {
		position: absolute;
		top: 0;
		left: 176px;
	}
	.time06 img {
		width: 59px;
	}
	.time07 {
		position: absolute;
		top:39px;
		left: 92px;
	}
	.time07 img {
		width: 182.5px;
	}
	.time08 {
		position: absolute;
		top: 87px;
		left: -96px;
	}
	.time08 img {
		width: 120.5px;
	}
	.time08.active {
		left: 71px;
	}
	.time09 {
		position: absolute;
		top: 77px;
		left: 206px;
	}
	.time09 img {
		width: 55.5px;
	}
	.time10 {
		position: absolute;
		top: 137px;
		left: 73px;
	}
	.time10 img {
		width: 172.5px;
	}
	.time11 {
		position: absolute;
		top: 130px;
		left: 251px;
	}
	.time11 img {
		width: 24px;
	}
	.time12 {
		position: absolute;
		top: 130px;
		left: 281px;
	}
	.time12 img {
		width: 32px;
	}
	.time13 {
		position: absolute;
		top: 170px;
		left: 92px;
	}
	.time13 img {
		width: 210px;
	}
	.good {
		position: relative;
		border: 2px solid #E8CA62;
		width: 300px;
	}
	.good01 {
		position: absolute;
		top: -16px;
		left: 50%;
		margin-left: -105px;
		padding-top: 6px;
		padding-right: 0;
		padding-bottom: 5px;
		width: 210px;
		font-size: 14px;
		color: #fff;
		background-color: #367F90;
		border-radius: 33px;
		text-align: center;
	}
	.good01::before {
		content: '';
		display: inline-block;
		margin-top: -8px;
		margin-right: 7px;
		vertical-align: middle;
		width: 18px;
		height: 17px;
	}
	.good02 {
		box-sizing: border-box;
		margin-right: 0;
		padding-top: 40px;
		padding-right: 10px;
		padding-bottom: 15px;
		padding-left: 10px;
	}
	.good03 {
		float: left;
	}
	.good03 img {
		width: 120px;
	}
	.good04 {
		float: right;
		padding-top: 0;
	}

	.good.type_reverse {
		width: 100%;
	}
	.good.type_reverse .good02 {
		padding-top: 30px;
		padding-left: 8px;
		padding-right: 8px;
	}
	.good.type_reverse .good03 {
		padding-top: 5px;
		float: right;
	}
	.good.type_reverse .good03 img {
		width: 115px;
	}
	.good.type_reverse .good04 {
		padding-top: 0;
		float: left;
	}
	.good05 {
		font-size: 12px;
	}
	.good05 span {
		display: block;
		margin-bottom: 4px;
		padding-bottom: 2px;
		border-bottom: 3px solid #E8CA62;
	}
	.good06 {
		font-size: 9px;
	}
	.good06 span {
		font-size: 9px;
	}
	.park01 {
		position: relative;
		margin-bottom: 20px;
		padding-top: 27px;
		font-weight: bold;
	}
	.park02 {
		float: left;
		position: relative;
		z-index: 5;
		top: 0!important;
		left: 0!important;
		right: 0!important;
		bottom: 0!important;
		padding-top: 15px;
		padding-right: 8px;
		padding-bottom: 15px;
		padding-left: 8px;
		background-color: #fff;
		text-align: center;
		border: 2px solid #E8CA62;
		width: 140px;
	}
	.park02_02 {
		display: block;
		position: absolute;
		z-index: 1;
		top: -12px;
		left: 126px;
	}
	.park02_02 img {
		width: 3px;
	}
	.park02_03 {
		display: block;
		position: absolute;
		z-index: 1;
		top: -94px;
		left: 154px;
	}
	.park02_03 img {
		width: 37px;
	}
	.park02.type_right {
		float: right;
	}
	.park04 {
		margin-bottom: 5px;
		font-size: 9px;
	}
	.park05 {
		font-size: 14px;
		line-height: 1;
	}
	.park05_01{
		padding-top: 1px;
		font-size: 9px;
	}
	.park06 {
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.park02.type_right .park06 {
		padding-top: 8px;
	}
	.park07 {
		font-size: 8px;
	}
	.park08 {
		padding-top: 60px;
		padding-bottom: 0;
		text-align: center;
	}
	.park08_01 {
		display: inline-block;
		width: 211px;
		position: relative;
	}
	.park08_02 {
		display: block;
		position: absolute;
		z-index: 2;
		width: 8.5px;
		height: 13.5px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/icon_park01.webp)
	}
	.park08_02_01 {
		top: 21.5px;
		left: 11.5px;
	}
	.park08_02_02 {
		top: 28px;
		left: 30.5px;
	}
	.park08_02_03 {
		top: -2px;
		left: 96px;
	}
	.park08_02_04 {
		top: 18px;
		left: 96px;
	}
	.park08_02_05 {
		top: 3px;
		left: 146px;
	}
	.park08_02_06 {
		top: 55px;
		left: 158px;
	}
	.park08_02_07 {
		top: 62px;
		left: 160.5px;
	}
	.park08_02_08 {
		top: 73px;
		left: 136px;
	}
	.park08_02_09 {
		top: 92.5px;
		left: 131px;
	}
	.park08_02_10 {
		top: 86px;
		left: 53.5px;
	}

	.park08_03 {
		display: block;
		position: absolute;
		z-index: 2;
		width: 15.5px;
		height: 24px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/icon_park02.webp)
	}
	.park08_03_01 {
		top: 37px;
		left: 103px;
	}
	.park08_03_02 {
		top: 117.5px;
		left: 75px;
	}

	.park09 {
		display: block;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
		padding-top: 11px;
		padding-bottom: 11px;
		width: 180px;
		font-size: 12px;
		background-color: #E8CA62;
		border-radius: 8px;
	}
	.park09 span {
		display: inline-block;
		padding-bottom: 1px;
		font-size: 14px;
		font-weight: bold;
		border-bottom: 2px solid #1A1A1A;
	}

	.fac01 {
		margin-right: auto;
		margin-left: auto;
		padding-top: 60px;
		padding-bottom: 20px;
	}
	.fac02 {
		float: left;
		width: 100px;
		text-align: center;
	}
	.fac03 {
		margin-bottom: 10px;
	}
	.fac03 img {
		width: 63px;
	}
	.fac04 {
		position: relative;
		z-index: 1;
		margin-bottom: 25px;
	}
	.fac04 img {
		width: 86px;
	}
	.fac05 {
		margin-bottom: 5px;
		font-size: 14px;
	}
	.fac06 {
		font-size: 9px;
	}
	.fac07 {
		position: absolute;
		right: 0;
		bottom: 4px;
	}
	.fac07 img {
		width: 60px;
	}

	.build01 {
		padding-top: 60px;
		overflow-x: hidden;
	}
	.build02 {
		position: relative;
		margin-right: 0;
		margin-bottom: 15px;
		margin-left: auto;
		padding-top: 20px;
		padding-right: 30px;
		padding-bottom: 20px;
		padding-left: 30px;
		width: 100%;
		border-radius: 15px;
	}
	.build02::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		bottom: -23px;
		left: auto;
		right: 69px;
		margin-left: -6px;
		width: 0;
		height: 0;
		border-top: 12px solid #E8CA62;
		border-right: 6px solid transparent;
		border-bottom: 12px solid transparent;
		border-left: 6px solid transparent;
	}
	.build03 {
		margin-bottom: 15px;
		font-size: 12px;
		font-weight: bold;
	}
	.build03 span {
		font-size: 18px;
		line-height: 1;
	}
	.build04 {

	}
	.build05 {
		width: 40px;
		float: left;
	}
	.build05 img {
		width: 22px;
	}
	.build06 {
		margin-bottom: 3px;
	}
	.build07 {
		font-size: 8px;
	}
	.build08 {
		margin-right: auto;
		margin-left: auto;
		max-width: 720px;
	}
	.build09 {
		position: relative;
		width: 100%;
		height: 92px;
	}
	.build10 {
		position: absolute;
		left: 5px;
		bottom: -1px;
		z-index: 3;
	}
	.build10 img {
		width: 40px;
	}
	.build11 {
		position: absolute;
		right: 5px;
		bottom: -1px;
		z-index: 3;
	}
	.build11 img {
		width: 55px;
	}
	.build12 {
		position: absolute;
		left: 63px;
		bottom: 0;
		z-index: 3;
	}
	.build12 img,
	.build13 img,
	.build14 img {
		width: 23px;
	}
	.build13 {
		position: absolute;
		left: 50%;
		bottom: 0;
		z-index: 3;
		-webkit-transform: translate(-50%,0);
		-moz-transform: translate(-50%,0);
		-o-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	.build14 {
		position: absolute;
		right: 63px;
		bottom: 0;
		z-index: 3;
	}
	.build15 {
		position: absolute;
		left: 50%;
		bottom: 0;
		z-index: 1;
		-webkit-transform: translate(-50%,0);
		-moz-transform: translate(-50%,0);
		-o-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	.build15 img {
		width: 126px;
	}
	.build15_02 {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
		background-color: #D0E6E8;
		transition: 2s;
	}
	.build15_02.active {
		left: 110%;
	}
	.build16 {
		padding-top: 16px;
		padding-bottom: 16px;
		font-size: 0;
		text-align: center;
		color: #fff;
		background-color: #1D80A2;
	}
	.build17 {
		display: inline-block;
		width: 75px;
		position: relative;
		padding-right: 0;
		padding-left: 0;
		font-size: 12px;
	}
	.build17::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		margin-top: -3px;
		margin-left: 4px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.build17:last-child::after {
		display: none;
	}
	.build18 {
		padding-top: 8px;
		padding-bottom: 30px;
		font-size: 6px;
		color: #367F90;
		text-align: right;
		font-weight: normal!important;
	}
	.price {
		font-weight: bold;
	}
	.price01_wrap {
		padding-top: 50px;
	}
	.price01 {
		display: block;
		padding-bottom: 20px;
		font-size: 12px;
		text-align: center;
	}
	.price01 span {
		font-size: 19px;
		line-height: 1;
	}
	.price02 {
		margin-bottom: 30px;
		padding-top: 1px;
		padding-bottom: 1px;
		width: 100%;
		font-size: 10px;
		border-radius: 9px;
	}
	.price03 {
		margin-right: auto;
		margin-left: auto;
	}
	.price04 {
		float: left;
		width: 100px;
		text-align: center;
	}
	.price05 {
		margin-bottom: 15px;
		font-size: 14px;
		line-height: 1;
	}
	.price06 {
		position: relative;
		margin-bottom: 20px;
	}
	.price07 {
		position: relative;
		z-index: 2;
	}
	.price08 {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
	}
	.price09 {
		display: inline-block;
		margin-bottom: 15px;
		padding-top: 1px;
		padding-bottom: 1px;
		font-size: 10px;
		width: 78px;
		color: #fff;
		background-color: #4288AB;
		border-radius: 9px;
	}
	.build18.type_price {
		margin-right: auto;
		margin-left: auto;
		text-align: center;
		padding-bottom: 15px;
	}
	.park09.type_price {
		padding-top: 11px;
		padding-bottom: 11px;
		width: 100%;
	}
	.price10 {
		font-size: 8px;
	}
	.price10 span {
		font-size: 14px;
	}
	.obj_under {
		position: absolute;
		top: -66px;
		left: 0;
		width: 100%;
		text-align: center;
	}
	.obj_under img {
		width: 191px;
	}

	.precious .time01 {
		padding-bottom: 15px;
	}
	.precious .ttlwrap {
		position: static;
		padding-bottom: 100px;
	}
	.precious .ttl01_top {
		margin-bottom: 0;
	}
	.precious01_wrap {
		padding-top: 40px;
	}
	.precious01 {
		margin-right: auto;
		margin-bottom: 40px;
		margin-left: auto;
		padding-top: 25px;
		padding-bottom: 20px;
		background-color: #fff;
		border: 2px solid #E8CA62;
		text-align: center;
		font-weight: bold;
		background-image: url(../img/pic_precious.webp);
		background-size: 120px;
		background-repeat: no-repeat;
		background-position: center top 25px;
	}
	.precious02 {
		margin-bottom: 0px;
		font-size: 27px;
		line-height: 1;
	}
	.precious03 {
		margin-bottom: 12px;
		font-size: 12px;
	}
	.precious04 {
		font-size: 14px;
		line-height: 1.2;
	}
	.precious04 span {
		display: inline-block;
		padding-bottom: 3px;
		border-bottom: 2px solid #E8CA62;
	}
	.precious05 {
		padding-bottom: 0;
		text-align: center;
	}
	.precious06 {
		display: inline-block;
		position: relative;
		padding-top: 8px;
		padding-left: 20px;
		padding-bottom: 8px;
		font-size: 12px;
		font-weight: bold;
		width: 225px;
		background-color: #E8CA62;
		border-radius: 3px;
	}
	.precious06::after {
		content: '';
		display: block;
		position: absolute;
		top: 50%;
		left: 20px;
		margin-top: -6.5px;
		width:13px;
		height: 13px;
		background-size: contain;
	}

	.banner_towninfo{
		margin-top: 40px;
	}

	.banner_towninfo_list{
		display: block;
	}
	.banner_towninfo_list_item{
		margin:0 20px 30px 20px;
	}
	.banner_towninfo_list_rank{
		font-size: 22px;
		margin-bottom: 10px;
	}
	.banner_towninfo_list_rank img{
		width: 50px;
	}

	.footwrap {
		padding-top: 20px;
		padding-bottom: 6px;
	}
	.foot01 {
		font-size: 7px;
		color: #fff;
	}

	/*アニメーション*/

	@-webkit-keyframes fadeInUp {
		0% {
			opacity: 0;
			-webkit-transform: translate3d(0, 50%, 0);
			-ms-transform: translate3d(0, 50%, 0);
			transform: translate3d(0, 50%, 0)
		}

		100% {
			opacity: 1;
			-webkit-transform: none;
			-ms-transform: none;
			transform: none
		}
	}

	html .fade {
		animation: fade 1s ease 0s 1 normal;
	}
	@keyframes fade {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}

	html .fadeInUp {
		animation: fadeInUp 1s ease 0s 1 normal;
	}
	@keyframes fadeInUp {
		0% {
			opacity: 0;
			-webkit-transform: translate3d(0, 50%, 0);
			transform: translate3d(0, 50%, 0);
		}
		100% {
			opacity: 1;
			-webkit-transform: none;
			transform: none;
		}
	}

	html .mapPin {
		animation: mapPin 0.4s ease 0s 1 normal;
	}
	@keyframes mapPin {
		0% {
			margin-top: 20px;
			transform: scale(0);
			transform-origin: bottom center;
		}
		100% {
			margin-top: 0;
			transform: scale(1);
		}
	}

	html .transform {
		animation: transform 0.8s ease 0s 1 normal;
	}
	@keyframes transform {
		0% {
			transform: scale(0);
		}
		100% {
			transform: scale(1);
		}
	}

	html .shake {
		animation: shake 1.8s ease 0s infinite normal;
	}
	html .shake02 {
		animation: shake 2s ease infinite normal;
	}

	@keyframes shake {
		0%,
		100% {
			-webkit-transform: translate3d(0, 0, 0);
			-ms-transform: translate3d(0, 0, 0);
			transform: translate3d(0, 0, 0)
		}

		10%,
		30%,
		50%,
		70%,
		90% {
			-webkit-transform: translate3d(-2px, 0, 0);
			-ms-transform: translate3d(-2px, 0, 0);
			transform: translate3d(-2px, 0, 0)
		}

		20%,
		40%,
		60%,
		80% {
			-webkit-transform: translate3d(2px, 0, 0);
			-ms-transform: translate3d(2px, 0, 0);
			transform: translate3d(2px, 0, 0)
		}
	}
}