@charset "UTF-8";
/* ===========================================
 * コンフォール西浦和田島 location
 * ======================================== */
/* ---------------------------------------------
*   section / layout
--------------------------------------------- */
/* sec_locationlead */
.cft_container .sec_locationlead {
	position: relative;
	padding: 17.6vw 5.333vw 8vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cft_container .sec_locationlead .sec_locationlead_header {
	color: #892f1b;
	font-size: 13.333vw;
	font-weight: bold;
	line-height: 1.2;
}
.cft_container .sec_locationlead .sec_locationlead_body {
	margin-top: 5.333vw;
}
.cft_container .sec_locationlead .sec_locationlead_catch {
	color: #892f1b;
	font-size: 6.4vw;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: -0.07em;
}
.cft_container .sec_locationlead .sec_locationlead_text {
	font-size: 4.267vw;
	line-height: 2;
}
.cft_container .sec_locationlead .sec_locationlead_bg {
	position: absolute;
	top: 9.333vw;
	right: 5.333vw;
	z-index: -1;
}
.cft_container .sec_locationlead .sec_locationlead_bg > img {
	width: 84vw;
}
.cft_container .sec_locationlead .sec_locationlead_anchor {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 0 6.667vw;
	margin-top: 74.667vw;
}

/* sec_location */
.cft_container .sec_location {
	padding: 16vw 5.333vw;
}
.cft_container .sec_location .sec_location_header {
	position: relative;
	text-align: center;
}
.cft_container .sec_location .sec_location_header::before {
	content: "";
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
}
.cft_container .sec_location .sec_location_header::after {
	content: "";
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
}
.cft_container .sec_location .sec_location_title {
	position: relative;
	display: inline-block;
	padding-bottom: 29.333vw;
	color: #892f1b;
	font-size: 13.333vw;
	font-weight: bold;
	line-height: 1;
}
.cft_container .sec_location .sec_location_title::after {
	content: "";
	display: inline-block;
	position: absolute;
	background-color: #892f1b;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 0.533vw;
	height: 29.067vw;
	border-radius: 0.533vw;
}
.cft_container .sec_location .sec_location_body {
	margin-top: 5.333vw;
}
.cft_container .sec_location .sec_location_bg {
	margin-top: 9.6vw;
	text-align: center;
}
.cft_container .sec_location.sec_location--shopping {
	background-color: #f0ebdc;
}
.cft_container .sec_location.sec_location--shopping .sec_location_header::before {
	bottom: 5.333vw;
	left: 0;
	width: 36.533vw;
	height: 19.467vw;
	background-image: url("../img/location/bg_shopping_01.png");
}
.cft_container .sec_location.sec_location--shopping .sec_location_header::after {
	bottom: 5.333vw;
	right: 0;
	width: 36.267vw;
	height: 22.4vw;
	background-image: url("../img/location/bg_shopping_02.png");
}
.cft_container .sec_location.sec_location--shopping .sec_location_bg > img {
	width: 89.333vw;
}
.cft_container .sec_location.sec_location--leisure .sec_location_header::before {
	bottom: 2.133vw;
	left: 5.867vw;
	width: 28.8vw;
	height: 23.467vw;
	background-image: url("../img/location/bg_leisure_01.png");
}
.cft_container .sec_location.sec_location--leisure .sec_location_header::after {
	bottom: 4.533vw;
	right: 4vw;
	width: 33.333vw;
	height: 16.8vw;
	background-image: url("../img/location/bg_leisure_02.png");
}
.cft_container .sec_location.sec_location--public {
	background-color: #f0ebdc;
}
.cft_container .sec_location.sec_location--public .sec_location_header::before {
	bottom: 2.933vw;
	left: 1.867vw;
	width: 36.267vw;
	height: 22.4vw;
	background-image: url("../img/location/bg_public_01.png");
}
.cft_container .sec_location.sec_location--public .sec_location_header::after {
	bottom: 2.933vw;
	right: 10.4vw;
	width: 17.867vw;
	height: 22.4vw;
	background-image: url("../img/location/bg_public_02.png");
}
.cft_container .sec_location.sec_location--public .sec_location_bg > img {
	width: 26.4vw;
}

/* sec_map */
.cft_container .sec_map {
	padding-top: 16vw;
}
.cft_container .sec_map .sec_map_header {
	padding: 0 5.333vw;
	text-align: center;
	line-height: 1;
}
.cft_container .sec_map .sec_map_maintitle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 4.267vw;
	color: #892f1b;
	font-size: 10.667vw;
	font-weight: bold;
}
.cft_container .sec_map .sec_map_maintitle::before {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 1.067vw;
	background-color: #892f1b;
	border-radius: 0.533vw;
}
.cft_container .sec_map .sec_map_maintitle::after {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 1.067vw;
	background-color: #892f1b;
	border-radius: 0.533vw;
}
.cft_container .sec_map .sec_map_subtitle {
	display: block;
	margin-top: 2.667vw;
	font-size: 5.333vw;
}
.cft_container .sec_map .sec_map_body {
	margin-top: 8vw;
}

/* sec_access */
.cft_container .sec_access {
	padding: 16vw 5.333vw 0;
}
.cft_container .sec_access .sec_access_header {
	text-align: center;
	line-height: 1;
}
.cft_container .sec_access .sec_access_maintitle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 0 4.267vw;
	color: #892f1b;
	font-size: 10.667vw;
	font-weight: bold;
}
.cft_container .sec_access .sec_access_maintitle::before {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 1.067vw;
	background-color: #892f1b;
	border-radius: 0.533vw;
}
.cft_container .sec_access .sec_access_maintitle::after {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 1.067vw;
	background-color: #892f1b;
	border-radius: 0.533vw;
}
.cft_container .sec_access .sec_access_subtitle {
	display: block;
	margin-top: 2.667vw;
	font-size: 5.333vw;
}
.cft_container .sec_access .sec_access_body {
	margin-top: 8vw;
}
.cft_container .sec_access .sec_access_obj {
	margin-top: 8vw;
}
.cft_container .sec_access .sec_access_obj > img {
	width: 100%;
}
.cft_container .sec_access .sec_access_route {
	margin-top: 8vw;
}

/* ---------------------------------------------
*   module
--------------------------------------------- */
/* gallery */
.cft_container .gallery > li {
	margin-top: 5.333vw;
}
.cft_container .gallery > li:first-child {
	margin-top: 0;
}
.cft_container .gallery .gallery_info {
	margin-top: 4.267vw;
	padding: 8vw;
	background-color: #e6f8f8;
	border-radius: 8vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cft_container .gallery .gallery_info:first-child {
	margin-top: 0;
}
.cft_container .gallery .gallery_info.gallery_info--noimage {
	background-color: #ecf8e6;
}
.cft_container .gallery .gallery_title {
	font-size: 4.267vw;
	font-weight: bold;
	line-height: 1.5;
}
.cft_container .gallery .gallery_route {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: baseline;
	    -ms-flex-align: baseline;
	        align-items: baseline;
	gap: 0 2.667vw;
	margin-top: 2.667vw;
}
.cft_container .gallery .gallery_route::before {
	content: "";
	display: inline-block;
	width: 4vw;
	height: 4.267vw;
	background-image: url("../img/location/icon_route.png");
	background-repeat: no-repeat;
	background-size: contain;
}
.cft_container .gallery .gallery_route > span {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	color: #087377;
	font-size: 4.267vw;
	line-height: 1.5;
}
.cft_container .gallery .gallery_text {
	margin-top: 3.2vw;
	font-size: 4.267vw;
	line-height: 1.5;
}

/* map */
.cft_container .map .map_obj > img {
	width: 100%;
}
.cft_container .map .map_list {
	margin-top: 8vw;
	padding: 0 5.333vw;
}
.cft_container .map .map_note {
	margin-top: 5.333vw;
	padding: 0 5.333vw;
}
.cft_container .map .map_note > li {
	padding-left: 1em;
	font-size: 3.733vw;
	line-height: 1.5;
	text-indent: -1em;
}

/* locationlist */
.cft_container .locationlist .locationlist_item {
	margin-top: 6.667vw;
}
.cft_container .locationlist .locationlist_item:first-child {
	margin-top: 0;
}
.cft_container .locationlist .locationlist_item > dt {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 4.267vw;
	line-height: 1.5;
}
.cft_container .locationlist .locationlist_item > dt::before {
	content: "";
	display: inline-block;
	width: 2.667vw;
	height: 2.667vw;
	border-radius: 50%;
	margin-right: 1.867vw;
	background-color: #892f1b;
}

/* locationitem */
.cft_container .locationitem {
	font-size: 4.267vw;
	line-height: 1.5;
}
.cft_container .locationitem .locationitem_inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.cft_container .locationitem .locationitem_inner::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 0.533vw;
	background-image: url("../img/location/bg_line_green.png");
	background-repeat: repeat-x;
	background-size: contain;
}
.cft_container .locationitem .locationitem_key {
	position: relative;
	max-width: 58.667vw;
	padding-right: 1.867vw;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cft_container .locationitem .locationitem_value {
	position: relative;
	padding-left: 1.867vw;
	background-color: #fff;
	text-align: right;
}

/* accessgallery */
.cft_container .accessgallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 4vw;
}
.cft_container .accessgallery > li {
	width: calc((100% - 4vw) / 2);
}
.cft_container .accessgallery > li:first-child {
	width: 100%;
}
.cft_container .accessgallery .accessgallery_caption {
	padding: 2.133vw 1.333vw;
	background-color: #892f1b;
	color: #fff;
	font-size: 4.267vw;
	line-height: 1;
	text-align: center;
}

/* route */
.cft_container .route .route_header {
	padding: 2.933vw 1.333vw;
	background: #892f1b;
	color: #fff;
	font-size: 4.8vw;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.cft_container .route .route_body {
	margin-top: 6.667vw;
}
.cft_container .route .route_note {
	margin-top: 4vw;
}
.cft_container .route .route_note > li {
	padding-left: 1em;
	font-size: 3.733vw;
	line-height: 1.5;
	text-indent: -1em;
}

/* routelist */
.cft_container .routelist > li {
	margin-top: 4vw;
}
.cft_container .routelist > li:first-child {
	margin-top: 0;
}
.cft_container .routelist .routelist_item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	line-height: 1;
}
.cft_container .routelist .routelist_item::before {
	content: "";
	position: absolute;
	top: 3.2vw;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 0.8vw;
	background-image: url("../img/location/bg_line_brown.png");
	background-repeat: repeat-x;
	background-size: contain;
}
.cft_container .routelist .routelist_item .routelist_key {
	position: relative;
	background-color: #fff;
	padding-right: 0.533vw;
	font-size: 4.267vw;
	font-weight: bold;
}
.cft_container .routelist .routelist_item .routelist_key strong {
	font-size: 5.333vw;
}
.cft_container .routelist .routelist_item .routelist_value {
	position: relative;
	background-color: #fff;
	padding-left: 1.067vw;
	font-size: 4.267vw;
}
.cft_container .routelist .routelist_item .routelist_value strong {
	font-size: 6.4vw;
	font-weight: normal;
}
.cft_container .routelist .routelist_note {
	margin-top: 2.667vw;
	font-size: 4.267vw;
	line-height: 1.5;
}

/* ---------------------------------------------
*   botton
--------------------------------------------- */
/* btn_anchor */
.cft_container .btn_anchor {
	position: relative;
	width: 37.333vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 6.4vw 0;
	padding: 9.6vw 1.333vw 3.733vw;
	background-color: #087377;
	border: 0.533vw solid #087377;
	border-radius: 18.667vw;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	font-size: 4.267vw;
	font-weight: bold;
	text-align: center;
	overflow: hidden;
	z-index: 2;
	cursor: pointer;
}
.cft_container .btn_anchor::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 100%;
	background-color: #fff;
	border-radius: 50%;
	opacity: 0;
	-webkit-transform: translateY(-50%) scale(0.1);
	        transform: translateY(-50%) scale(0.1);
	-webkit-transition: 0.5s;
	transition: 0.5s;
	z-index: -1;
}
.cft_container .btn_anchor::after {
	content: "";
	display: inline-block;
	width: 2.133vw;
	height: 3.733vw;
	background-image: url("../img/common/icon_arrow_white.png");
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
.cft_container .btn_anchor.is-hover {
	text-decoration: none;
	color: #087377;
}
.cft_container .btn_anchor.is-hover::before {
	opacity: 1;
	-webkit-transform: translateY(-50%) scale(1.1);
	        transform: translateY(-50%) scale(1.1);
}
.cft_container .btn_anchor.is-hover::after {
	background-image: url("../img/common/icon_arrow_green.png");
}