
/* **********  cv_map ********** */
.pc_only{
	display: block;
}
.sp_only{
	display: none;
}
@media screen and (max-width: 767px) {
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
}

#contents .cv_map{
    margin: 100px auto 0!important;
}
@media screen and (max-width: 767px) {
	#contents .cv_map{
		margin: 60px 0 0!important;
	}
}

.cv_map_content .map_ttl {
	font-size: 26px;
	font-weight: bold;
	padding-top: 24px;
	border-top: 1px solid #ffffff;
	color: #ffffff;
}
.cv_map_content .map_ttl a {
	color: #ffffff;
}
.cv_map_content .map_ttl_cap{
	color: #ffffff;
	font-size: 14px;
	font-weight: bold;
	margin-top: 15px;
}
.cv_map_content .map_sub_ttl {
	color: #ffffff;
	font-size: 16px;
	margin-top: 25px;
	margin-bottom: 38px;
}
.cv_map_content .right .map_btn_box{
	background: #ffffff;
	border-radius: 8px;
	padding: 50px 14px;
	flex-grow: 1;
}
.cv_map_content .right .btn {
	box-sizing: border-box;
	display: block;
	border-radius: 8px;
	color: #FFF;
	flex: 1;
	font-size: 1.25rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	padding: 30px 45px 30px 75px;
	position: relative;
	margin: 0 0 15px;
}
.cv_map_content .right .btn.web {
	background: #F29100;
}
.cv_map_content .right .btn.question {
	background: #1565C0;
}
.cv_map_content .right .btn.catalog {
	background: #19B7A6;
}
.cv_map_content .right .btn:before {
	content: "";
	width: 58px;
	height: 58px;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
.cv_map_content .right .btn.web::before {
	background: url(/img/map/icon/icon_contactbutton.svg) no-repeat center center / contain;
}
.cv_map_content .right .btn.question::before {
	background: url(/img/map/icon/icon_questionbutton.svg) no-repeat center center / contain;
}
.cv_map_content .right .btn.catalog::before {
	background: url(/img/map/icon/icon_catalogbutton.svg) no-repeat center center / contain;
}
.cv_map_content .right .btn::after {
	content: "";
	width: 32px;
	height: 32px;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}
.cv_map_content .right .btn.web::after {
	background: url(/img/map/icon/icon_orange_arrow_left.svg) no-repeat center center / contain;
}
.cv_map_content .right .btn.question::after {
	background: url(/img/map/icon/icon_blue_arrow_left.svg) no-repeat center center / contain;
}
.cv_map_content .right .btn.catalog::after {
	background: url(/img/map/icon/icon_green_arrow_left.svg) no-repeat center center / contain;
}
.cv_map_content .left ul li a:hover,
.cv_map_content .left .map_btn a:hover,
.cv_map_content .right .btn:hover {
	filter: alpha(opacity=70);
	-moz-opacity:0.70;
	text-decoration: none;
	opacity:0.70;
}
.cv_map_content .right .linkBlock{
	text-align: right;
	font-size: 16px;
}
.cv_map_content .right .linkBlock #catalogButton::after{
	margin-left: 10px;
}
.link__arrow_left::after {
    content: "";
    display: inline-block;
    margin-left: 5px;
    width: 16px;
    height: 16px;
    background: url(/img/map/icon/icon_textlink_arrow_blue.svg) no-repeat center / contain;
    transform: translateY(15%);
}

.map_sp_arealink{
	position: absolute;
	z-index: 10;
}
.map_sp_arealink img{
	width: 100%;
	height: auto;
    vertical-align: top;
}
.map_sp_arealink[href="#hokkaido"]{
    top: 5%;
    right: 38%;
    width: 20%;
}
.map_sp_arealink[href="#tohoku"]{
    top: 25%;
    right: 10%;
    width: 16%;
}
.map_sp_arealink[href="#kitakanto"]{
	top: 28%;
    right: 42%;
    width: 20%;
}
.map_sp_arealink[href="#tokyo_minamikanto"]{
	top: 37%;
    right: 6.5%;
    width: 20%;
}
.map_sp_arealink[href="#tokai_hokuriku"]{
	top: 58%;
    right: 10%;
    width: 29%;
}
.map_sp_arealink[href="#kinki"]{
	top: 39%;
    right: 57%;
    width: 16%;
}
.map_sp_arealink[href="#chugoku_shikoku"]{
	top: 67%;
    right: 30%;
    width: 29%;
}
.map_sp_arealink[href="#kyushu"]{
	top: 44%;
    right: 79%;
    width: 16%;
}

.cv_map_content .map_btn.map_sp_btn{
	margin-top: 0;
}
.cv_map_content .map_btn.map_sp_btn a {
	position: absolute;
	bottom: 45px;
	left: 175px;
	display: inline-block;
	margin: 0 auto;
	padding: 13px 60px;
	font-size: 16px;
	font-weight: bold;
	color: #1565C0;
	border: 2px solid #1565C0;
	border-radius: 27px;
	background: #fff;	
	box-sizing: border-box;
}
.cv_map_content .map_btn.map_sp_btn a:after {
	content: "";
	position: absolute;
	display: block;
	width: 16px;
	height: 16px;
	right: 16px;
	top: calc(50%);
	transform: translateY(-50%);
	background: url(/img/map/icon/icon_blue_arrow.svg) no-repeat;
	background-size: contain;
}


@media screen and (min-width: 768px) {
	.cv_map {
		margin: 30px auto;
		max-width: 1400px;
	}
	.cv_map_content {
		overflow: hidden;
		padding: 100px 100px;
		background: linear-gradient(#179ADE, #3473B4);
		display: flex;
		justify-content: space-between;
	}
	.cv_map_content .left {
		width: 681px;
	}
	.cv_map_content .left .map_img{
		position: relative;
		width: 100%;
	}
	.cv_map_content .left .map_img img{
		width: 100%;
	}
	.cv_map_content .left ul {
		margin: 0;
		padding: 0;
	}
	.cv_map_content .left li {
		position: absolute;
		display: table;
		width: 40px;
		height: 23px;
		float: none;
		margin: 0;
		border: 0;
	}
	.cv_map_content .left li a,
	.cv_map_content .left li span {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		color: #fff;
		border-radius: 5px;
		font-size: 10px;
		font-weight: bold;
		padding: 0;
	}
	.cv_map_content .left li span {
		background: #D9D9D9;
    	color: #999999;
	}
	.cv_map_content .left li.gnav_link01 {
		top: 44px;
        right: 77px;
        width: 100px;
        height: 39px;
	}
	.cv_map_content .left li.gnav_link02 {
		top: 91px;
        right: 95px;
        width: 82px;
	}
	.cv_map_content .left li.gnav_link03 {
		top: 116px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link04 {
		top: 116px;
        right: 95px;
	}
	.cv_map_content .left li.gnav_link05 {
		top: 141px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link06 {
		top: 141px;
        right: 95px;
	}
	.cv_map_content .left li.gnav_link07 {
		top: 166px;
        right: 95px;
	}
	.cv_map_content .left li.gnav_link08 {
		top: 166px;
        right: 137px;
        width: 82px;
	}
	.cv_map_content .left li.gnav_link09 {
		top: 191px;
        right: 179px;
        height: 48px;
	}
	.cv_map_content .left li.gnav_link10 {
		top: 191px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link11 {
		top: 191px;
        right: 95px;
	}
	.cv_map_content .left li.gnav_link12 {
		top: 216px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link13 {
		top: 216px;
        right: 95px;
        height: 48px;
	}
	.cv_map_content .left li.gnav_link14 {
		top: 241px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link15 {
		top: 266px;
        right: 137px;
	}
	.cv_map_content .left li.gnav_link15 a {
		font-size: 9px !important;
	}
	.cv_map_content .left li.gnav_link16 {
		top: 266px;
        right: 95px;
        height: 48px;
	}
	.cv_map_content .left li.gnav_link17 {
		top: 166px;
        right: 221px;
	}
	.cv_map_content .left li.gnav_link18 {
		top: 191px;
        right: 263px;
	}
	.cv_map_content .left li.gnav_link19 {
		top: 191px;
        right: 221px;
	}
	.cv_map_content .left li.gnav_link20 {
		top: 216px;
        right: 221px;
        height: 48px;
	}
	.cv_map_content .left li.gnav_link21 {
		top: 241px;
        right: 179px;
	}
	.cv_map_content .left li.gnav_link22 {
		top: 266px;
		right: 263px;
	}
	.cv_map_content .left li.gnav_link23 {
		top: 266px;
        right: 221px;
	}
	.cv_map_content .left li.gnav_link24 {
		top: 266px;
        right: 179px;
	}
	.cv_map_content .left li.gnav_link25 {
		top: 216px;
        right: 347px;
		height: 48px;
	}
	.cv_map_content .left li.gnav_link26 {
		top: 216px;
        right: 263px;
        width: 82px;
	}
	.cv_map_content .left li.gnav_link27 {
		top: 241px;
        right: 305px;
	}
	.cv_map_content .left li.gnav_link28 {
		top: 241px;
		right: 263px;
	}
	.cv_map_content .left li.gnav_link29 {
		top: 266px;
        right: 305px;
	}
	.cv_map_content .left li.gnav_link30 {
		top: 291px;
        right: 263px;
        width: 82px;
	}
	.cv_map_content .left li.gnav_link31 {
		top: 226px;
        left: 160px;
        height: 48px;
	}
	.cv_map_content .left li.gnav_link32 {
		top: 216px;
        left: 210px;
	}
	.cv_map_content .left li.gnav_link33 {
		top: 216px;
        left: 252px;
	}
	.cv_map_content .left li.gnav_link34 {
		top: 241px;
        left: 210px;
	}
	.cv_map_content .left li.gnav_link35 {
		top: 241px;
        left: 252px;
	}
	.cv_map_content .left li.gnav_link36 {
		top: 274px;
        left: 210px;
	}
	.cv_map_content .left li.gnav_link37 {
		top: 274px;
        left: 252px;
	}
	.cv_map_content .left li.gnav_link38 {
		top: 299px;
        left: 210px;
	}
	.cv_map_content .left li.gnav_link39 {
		top: 299px;
        left: 252px;
	}
	.cv_map_content .left li.gnav_link40 {
		top: 154px;
        left: 76px;
	}
	.cv_map_content .left li.gnav_link41 {
		top: 226px;
		left: 76px;
	}
	.cv_map_content .left li.gnav_link42 {
		top: 226px;
        left: 118px;
	}
	.cv_map_content .left li.gnav_link43 {
		top: 251px;
		left: 76px;
	}
	.cv_map_content .left li.gnav_link44 {
		top: 251px;
		left: 118px;
	}
	.cv_map_content .left li.gnav_link45 {
		top: 276px;
        left: 76px;
	}
	.cv_map_content .left li.gnav_link46 {
		top: 276px;
        left: 118px;
	}
	.cv_map_content .left li.gnav_link47 {
		top: 301px;
        left: 76px;
        width: 81px;
	}
	.cv_map_content .left li.gnav_link01 a {
		background: #0277BD;
	}
	.cv_map_content .left li.gnav_link02 a,
	.cv_map_content .left li.gnav_link03 a,
	.cv_map_content .left li.gnav_link04 a,
	.cv_map_content .left li.gnav_link05 a,
	.cv_map_content .left li.gnav_link06 a,
	.cv_map_content .left li.gnav_link07 a {
		background: #03A9F4;
	}
	.cv_map_content .left li.gnav_link08 a,
	.cv_map_content .left li.gnav_link09 a,
	.cv_map_content .left li.gnav_link10 a,
	.cv_map_content .left li.gnav_link11 a,
	.cv_map_content .left li.gnav_link12 a,
	.cv_map_content .left li.gnav_link13 a,
	.cv_map_content .left li.gnav_link21 a{
		background: #00BBD3;
	}
	.cv_map_content .left li.gnav_link14 a,
	.cv_map_content .left li.gnav_link15 a,
	.cv_map_content .left li.gnav_link16 a {
		background: #4CAF50;
	}
	.cv_map_content .left li.gnav_link17 a,
	.cv_map_content .left li.gnav_link18 a,
	.cv_map_content .left li.gnav_link19 a,
	.cv_map_content .left li.gnav_link20 a,
	.cv_map_content .left li.gnav_link22 a,
	.cv_map_content .left li.gnav_link23 a,
	.cv_map_content .left li.gnav_link24 a {
		background: #8BC34A;
	}
	.cv_map_content .left li.gnav_link25 a,
	.cv_map_content .left li.gnav_link26 a,
	.cv_map_content .left li.gnav_link27 a,
	.cv_map_content .left li.gnav_link28 a,
	.cv_map_content .left li.gnav_link29 a,
	.cv_map_content .left li.gnav_link30 a {
		background: #AFB42B;
	}
	.cv_map_content .left li.gnav_link31 a,
	.cv_map_content .left li.gnav_link32 a,
	.cv_map_content .left li.gnav_link33 a,
	.cv_map_content .left li.gnav_link34 a,
	.cv_map_content .left li.gnav_link35 a {
		background: #FFAB40;
	}
	.cv_map_content .left li.gnav_link36 a,
	.cv_map_content .left li.gnav_link37 a,
	.cv_map_content .left li.gnav_link38 a,
	.cv_map_content .left li.gnav_link39 a {
		background: #B9843D;
	}
	.cv_map_content .left li.gnav_link40 a,
	.cv_map_content .left li.gnav_link41 a,
	.cv_map_content .left li.gnav_link42 a,
	.cv_map_content .left li.gnav_link43 a,
	.cv_map_content .left li.gnav_link44 a,
	.cv_map_content .left li.gnav_link45 a,
	.cv_map_content .left li.gnav_link46 a,
	.cv_map_content .left li.gnav_link47 a {
		background: #F48FB1;
	}
	.cv_map_content .right {
		width: calc(100% - 719px);
		min-width: 360px;
	}
	.cv_map_content .right .txt {
		margin-bottom: 10px;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
	}
}

@media screen and (max-width: 1240px) {
	.cv_map_content{
		display: block;
		padding: 100px 100px;
	}
	.cv_map_content .left,
	.cv_map_content .right{
		display: block;
		text-align: center;
		margin: 0 auto;
	}
	.cv_map_content .right {
		width: 470px;
		min-width: 0;
		margin-top: 50px;
	}
	.cv_map_content .map_sub_ttl{
		height: 24px;
	}
}

@media screen and (max-width: 1400px) and (min-width: 1240px){
	.cv_map_content .map_sub_ttl{
		height: 48px;
	}
	.cv_map_content{
		padding: 100px 80px;
	}
}

@media screen and (max-width: 767px) {
	.cv_map {
		margin: 20px 0;
	}
	.map_sp_content{
		margin-bottom: 40px;
	}
	.cv_map_content {
		background: linear-gradient(#179ADE, #3473B4);
		overflow: hidden;
		padding: 40px 20px;
	}
	.cv_map_content .left {
		position: relative;
	}
	.cv_map_content .left .map_station {
		margin-bottom: 10px;
	}
	.cv_map_content .map_ttl{
		border-top: none;
		text-align: center;
	}
	.cv_map_content .map_ttl_cap{
		text-align: center;
		margin-top: 0;
	}
	.cv_map_content .map_sub_ttl{
		text-align: center;
		margin-top: 15px;
		margin-bottom: 30px;
		height: auto;
	}
	.cv_map_content .left .map_btn {
		margin-bottom: 10px;
	}
	.cv_map_content .left .map_btn a {
		position: relative;
		display: block;
		padding: 10px;
		color: #fff;
		font-size: 17px;
		font-weight: bold;
		background: linear-gradient(to bottom, rgb(246,41,12) 0%, rgb(132,208,46) 0%, rgb(114,177,42) 100%);
		border: 1px solid #6ba428;
		border-radius: 5px;
	}
	.cv_map_content .left .map_btn a:after {
		position: absolute;
		right: 3.5%;
		top: 35%;
		width: 13px;
		height: 15px;
		background: url(/img/btn_arrow_green.jpg) no-repeat;
		background-size: 10px;
		content: "";
	}
	
	.cv_map_content .right .map_ttl{
		border-top: 1px solid #ffffff;
	}
	.cv_map_content .right{
		width: 100%;
		min-width: 0;
	}
	.cv_map_content .right .btn{
		font-size: 15px;
		padding: 24px 40px 24px 55px;
	}
	.cv_map_content .right .btn:before{
		left: 10px;
		width: 40px;
		height: 40px;
	}
	.cv_map_content .right .btn::after{
		right: 10px;
		width: 22px;
		height: 22px;
	}
	.cv_map_content .right .linkBlock{
		text-align: center;
		font-size: 16px;
	}
	.cv_map_content .map_btn.map_sp_btn a{
		width: 90%;
        left: calc(50%);
        transform: translatex(-50%);
        bottom: 15px;
        padding: 13px 40px;
        font-size: 15px;
	}
}
@media screen and (max-width: 320px) {
	.cv_map_content .map_btn.map_sp_btn a{
        width: 85%;
        padding: 5px 40px;
        font-size: 13px;
	}
}

.map_sp_stations .map_sp_station{
	border-radius: 8px;
	background-color: #E9F3FA;
	background-image: none;
}
.map_sp_stations .map_sp_station h3{
	border-radius: 8px 8px 0 0;
	padding: 13px;
	font-size: 20px;
}

.map_sp_stations .map_sp_station[data-region=hokkaido] h3{
	background: #0277BD;
}
.map_sp_stations .map_sp_station[data-region=tohoku] h3{
	background: #03A9F4;
}
.map_sp_stations .map_sp_station[data-region=kitakanto] h3{
	background: #00BBD3;
}
.map_sp_stations .map_sp_station[data-region=tokyo_minamikanto] h3{
	background: #4CAF50;
}
.map_sp_stations .map_sp_station[data-region=tokai_hokuriku] h3{
	background: #8BC34A;
}
.map_sp_stations .map_sp_station[data-region=kinki] h3{
	background: #AFB42B;
}
.map_sp_stations .map_sp_station[data-region=chugoku_shikoku] h3{
	background: #FFAB40;
}
.map_sp_stations .map_sp_station[data-region=kyushu] h3{
	background: #F48FB1;
}

.map_sp_stations .map_sp_station li{
	width: calc((100% - 15px) / 2);
	box-shadow: none;
	border-radius: 8px;
	border: 1px solid #CCCCCC;
	padding: 16px 32px 16px 18px;
	font-size: 17px;
	font-weight: normal;
	box-sizing: border-box;
}
.map_sp_stations .map_sp_station li:has(>span){
    padding: 16px 18px!important;
}
.map_sp_stations .map_sp_station li a:after{
	border: none;
	background: url("/img/map/icon/icon_blue_arrow.svg") no-repeat;
	width: 16px;
	height: 16px;
	right: -18px;
	transform:none;
    top: calc(50% - 8px);
    bottom: auto;
}
.map_sp_stations .map_sp_backArea{
	color: #fff;
	font-size: 16px;
	padding-left: 30px;
}
.map_sp_stations .map_sp_backArea::before{
	background: url("/img/map/icon/icon_arrow_blue_bgwhite.png") no-repeat left;
	width: 16px;
	height: 16px;
	transform: none;
}