@charset "UTF-8";
/* ===========================================
 * コンフォール西浦和田島 location
 * ======================================== */
/* ---------------------------------------------
*   section / layout
--------------------------------------------- */
/* sec_locationlead */
.cft_container .sec_locationlead {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	padding: 50px 50px 24px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cft_container .sec_locationlead .sec_locationlead_inner {
	padding-top: 40px;
}
.cft_container .sec_locationlead .sec_locationlead_header {
	color: #892f1b;
	font-size: 60px;
	font-weight: bold;
	line-height: 1.5;
}
.cft_container .sec_locationlead .sec_locationlead_catch {
	color: #892f1b;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.5;
}
.cft_container .sec_locationlead .sec_locationlead_text {
	font-size: 16px;
	line-height: 2;
}
.cft_container .sec_locationlead .sec_locationlead_bg {
	position: absolute;
	top: 50px;
	left: 7px;
	z-index: -1;
}
.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 60px;
	margin-top: 55px;
}

/* sec_location */
.cft_container .sec_location {
	padding: 120px 0;
}
.cft_container .sec_location .sec_location_inner {
	position: relative;
	width: 1000px;
	margin: 0 auto;
}
.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: 70px;
	color: #892f1b;
	font-size: 60px;
	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: 2px;
	height: 70px;
	border-radius: 2px;
}
.cft_container .sec_location .sec_location_body {
	margin-top: 30px;
}
.cft_container .sec_location .sec_location_bg {
	position: absolute;
}
.cft_container .sec_location.sec_location--shopping {
	background-color: #f0ebdc;
}
.cft_container .sec_location.sec_location--shopping .sec_location_header::before {
	top: 50px;
	left: 66px;
	width: 192px;
	height: 68px;
	background-image: url("../img/location/bg_shopping_01.png");
}
.cft_container .sec_location.sec_location--shopping .sec_location_header::after {
	top: 34px;
	right: 100px;
	width: 142px;
	height: 94px;
	background-image: url("../img/location/bg_shopping_02.png");
}
.cft_container .sec_location.sec_location--shopping .sec_location_bg {
	bottom: 25px;
	right: 63px;
}
.cft_container .sec_location.sec_location--leisure .sec_location_header::before {
	top: 13px;
	left: 84px;
	width: 162px;
	height: 132px;
	background-image: url("../img/location/bg_leisure_01.png");
}
.cft_container .sec_location.sec_location--leisure .sec_location_header::after {
	top: 30px;
	right: 20px;
	width: 267px;
	height: 94px;
	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 {
	top: 43px;
	left: 90px;
	width: 261px;
	height: 76px;
	background-image: url("../img/location/bg_public_01.png");
}
.cft_container .sec_location.sec_location--public .sec_location_header::after {
	top: 23px;
	right: 108px;
	width: 87px;
	height: 110px;
	background-image: url("../img/location/bg_public_02.png");
}
.cft_container .sec_location.sec_location--public .sec_location_bg {
	bottom: 54px;
	right: 100px;
}

/* sec_map */
.cft_container .sec_map {
	width: 1000px;
	margin: 0 auto;
	padding-top: 100px;
}
.cft_container .sec_map .sec_map_header {
	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 23px;
	color: #892f1b;
	font-size: 40px;
	font-weight: bold;
}
.cft_container .sec_map .sec_map_maintitle::before {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 4px;
	background-color: #892f1b;
	border-radius: 2px;
}
.cft_container .sec_map .sec_map_maintitle::after {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 4px;
	background-color: #892f1b;
	border-radius: 2px;
}
.cft_container .sec_map .sec_map_subtitle {
	display: block;
	margin-top: 10px;
	font-size: 20px;
}
.cft_container .sec_map .sec_map_body {
	margin-top: 40px;
}

/* sec_access */
.cft_container .sec_access {
	width: 1000px;
	margin: 0 auto;
	padding-top: 100px;
}
.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 23px;
	color: #892f1b;
	font-size: 40px;
	font-weight: bold;
}
.cft_container .sec_access .sec_access_maintitle::before {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 4px;
	background-color: #892f1b;
	border-radius: 2px;
}
.cft_container .sec_access .sec_access_maintitle::after {
	content: "";
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 4px;
	background-color: #892f1b;
	border-radius: 2px;
}
.cft_container .sec_access .sec_access_subtitle {
	display: block;
	margin-top: 10px;
	font-size: 20px;
}
.cft_container .sec_access .sec_access_body {
	margin-top: 40px;
}
.cft_container .sec_access .sec_access_obj {
	margin-top: 40px;
}
.cft_container .sec_access .sec_access_route {
	margin-top: 40px;
}

/* ---------------------------------------------
*   module
--------------------------------------------- */
/* gallery */
.cft_container .gallery {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 15px 20px;
}
.cft_container .gallery > li {
	width: calc((100% - 40px) / 3);
}
.cft_container .gallery > li:first-child {
	width: calc((100% - 20px) / 2);
}
.cft_container .gallery > li:nth-child(2) {
	width: calc((100% - 20px) / 2);
}
.cft_container .gallery .gallery_info {
	width: 100%;
	margin-top: 20px;
	padding: 30px;
	background-color: #e6f8f8;
	border-radius: 30px;
	-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: 16px;
	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 10px;
	margin-top: 10px;
}
.cft_container .gallery .gallery_route::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 15px;
	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: 16px;
	line-height: 1.5;
}
.cft_container .gallery .gallery_text {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.5;
}

/* map */
.cft_container .map .map_list {
	margin-top: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 40px;
}
.cft_container .map .map_listitem {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.cft_container .map .map_note {
	margin-top: 30px;
}
.cft_container .map .map_note > li {
	padding-left: 1em;
	font-size: 14px;
	line-height: 1.5;
	text-indent: -1em;
}

/* locationlist */
.cft_container .locationlist .locationlist_item {
	margin-top: 25px;
}
.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: 16px;
	line-height: 1.5;
}
.cft_container .locationlist .locationlist_item > dt::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 7px;
	background-color: #892f1b;
}

/* locationitem */
.cft_container .locationitem {
	font-size: 16px;
	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: 50%;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 2px;
	background-image: url("../img/location/bg_line_green.png");
	background-repeat: repeat-x;
	background-size: contain;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.cft_container .locationitem .locationitem_key {
	position: relative;
	padding-right: 7px;
	background-color: #fff;
}
.cft_container .locationitem .locationitem_value {
	position: relative;
	padding-left: 7px;
	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: 20px;
}
.cft_container .accessgallery .accessgallery_caption {
	padding: 8px 5px;
	background-color: #892f1b;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	text-align: center;
}

/* route */
.cft_container .route .route_header {
	padding: 10px 5px;
	background: #892f1b;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.cft_container .route .route_body {
	margin-top: 25px;
}
.cft_container .route .route_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 20px;
}
.cft_container .route .route_listitem {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
.cft_container .route .route_note {
	margin-top: 20px;
	font-size: 14px;
	line-height: 1.7;
}

/* routelist */
.cft_container .routelist > li {
	margin-top: 15px;
}
.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: 15px;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 3px;
	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: 15px;
	font-size: 18px;
}
.cft_container .routelist .routelist_item .routelist_key strong {
	font-size: 30px;
	font-weight: normal;
}
.cft_container .routelist .routelist_item .routelist_value {
	position: relative;
	background-color: #fff;
	padding-left: 15px;
	font-size: 18px;
}
.cft_container .routelist .routelist_item .routelist_value strong {
	font-size: 30px;
	font-weight: normal;
}
.cft_container .routelist .routelist_note {
	margin-top: 5px;
	font-size: 16px;
	line-height: 1.5;
}

/* ---------------------------------------------
*   botton
--------------------------------------------- */
/* btn_anchor */
.cft_container .btn_anchor {
	position: relative;
	width: 140px;
	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: 12px 0;
	padding: 38px 5px 20px;
	background-color: #087377;
	border: 2px solid #087377;
	border-radius: 70px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	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: 8px;
	height: 14px;
	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:hover {
	text-decoration: none;
	color: #087377;
}
.cft_container .btn_anchor:hover::before {
	opacity: 1;
	-webkit-transform: translateY(-50%) scale(1.1);
	        transform: translateY(-50%) scale(1.1);
}
.cft_container .btn_anchor:hover::after {
	background-image: url("../img/common/icon_arrow_green.png");
}