@charset "utf-8";
.cf {
	width: 100%;
}
.cf:after {
    content:".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0.1em;
}
a {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	color: #000000;
}
a:hover {
	opacity: 0.5;
	-moz-opacity: 0.5;
	-webkit-opacity: 0.5;
}
a:visited {
	color: #000000;
}

@media screen and (min-width: 959px) {
    .sp_only {
        display: none;
	}
    .bukkenFeature_bc {
        width: 1200px;
        margin: 0 auto;
        font-size: 14px;
    }
    .bg_left {     
        background: url("../imgs/commute/commute_bg.jpg");
        background-size: cover;
        background-size: contain;        
    }
    #commute_header {
        position: relative;
        width: 1200px;
        height: 375px;
        margin: 0 auto;
        z-index: 100;
    }     
	#feature_title span {
        display: block;
        width: 1200px;
        height: 375px;
        background-repeat: no-repeat;
        text-indent: 100%; 
        white-space: nowrap; 
        overflow: hidden;
	}
	#feature_title .gakusei {
		background-image: url("../imgs/commute/commute_mainImg.png");
	}
	.bukken_feature_commute {
        position: relative;
        top: -30px;
        width: 1200px;
        margin: 0 auto;
        padding: 40px;
        background-color: #FFFFFF;
        box-sizing: border-box;        
        font-family: 'Noto Sans JP', sans-serif;
		font-size: 16px;
		line-height: 1.8;
	}
    .overview {
        margin: 20px 0;
        font-size: 18px;
        text-align: center;
    }
    .rosenzu_navi {
        position: relative;
        width: 1120px;
        height: 440px;
        margin: 20px 0 0 0;
        background: url("../imgs/commute/rosenzu_pc.jpg") top left no-repeat;
    }
    .rosenzu_navi ul li {
        position: absolute;
    }
    .rosenzu_navi ul li.ikebukuro_btn {
        top: 100px;
        left: 450px;
    }
    .rosenzu_navi ul li.shinjuku_btn {
        top: 200px;
        left: 390px;
    }
    .rosenzu_navi ul li.shibuya_btn {
        top: 260px;
        left: 390px;
    }
    .rosenzu_navi ul li.iidabashi_btn {
        top: 150px;
        left: 480px;
    }    
    .rosenzu_navi ul li.ueno_btn {
        top: 160px;
        left: 645px;
    }
    .rosenzu_navi ul li.otemachi_btn {
        top: 215px;
        left: 570px;
    }     
    .rosenzu_navi ul li.tokyo_btn {
        top: 220px;
        left: 645px;
    }    
    .rosenzu_navi ul li.ginza_btn {
        top: 280px;
        left: 690px;
    }
    .rosenzu_navi ul li.shinbashi_btn {
        top: 280px;
        left: 610px;
    }
    .rosenzu_navi ul li.shinagawa_btn {
        top: 325px;
        left: 575px;
    }      
    .rosenzu_navi ul li a {
        font-size: 16px;
        letter-spacing: 2px;
    }
    .rosenzu_navi ul li a.railway-small {
        font-size: 14px;
    }
    .rosenzu_navi ul li a.railway-small span {
        padding: 0px 8px 1px 8px;
    }    
    .rosenzu_navi .railway-btn,
    .rosenzu_navi a.railway-btn {
        display: inline-block;
        position: relative;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        letter-spacing: 0.1em;
        color: #212529;
        border-radius: 5px;
    }
    .rosenzu_navi a.railway-btn-border {
        padding: 0;
        margin-bottom: 12px;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        border-radius: 0;
    }
    .rosenzu_navi a.railway-btn-border span {
        display: block;        
        position: relative;
        padding: 0px 10px 1px 10px;
        background-color: #FFFFFF;
        color: #000000;
        border: 2px solid #000000;
        border-radius: 5px;
    }
    .rosenzu_navi a:hover {
        opacity: 1;
    }
    .rosenzu_navi a:hover span {
        background-color: #FFFF00;
    }       
    .rosenzu_navi a.railway-btn-border:before {
        display: block;        
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 100%;
        height: 6px;
        content: "";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        box-sizing: border-box;
        border: 2px solid #000000;
        border-top: 1px solid #000000;
        border-radius: 0 0 5px 5px;
        background-color: #FFFFFF;        
        background-image: -webkit-repeating-linear-gradient(135deg,#000000,#000000 1px,transparent 1px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#000000,#000000 1px,transparent 1px,transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    #commute_note {
        width: 860px;
        margin: 30px auto !important;
        padding: 10px;
        border: 1px solid #999999;
        color: #666666;
        font-size: 12px;
        text-align: center;
    }
    .commute_box {
        margin: 60px 0 0 0;
        text-align: center;
    }
    .commute_box_header {
        width: 900px;
        margin: 0 auto 60px auto;
    }
    .commute_box_header h2 {
        margin: 0 0 40px 0;
    }
    .commute_box_header .read {
        font-size: 16px;
    }
    .commute_box_header .read a {
        text-decoration: underline;
    }
    .commute_box dl {
        margin:  0 0 60px 0;
    }
    .commute_box dl dt {
        margin: 0 0 20px 0;
        font-size: 28px;
        font-weight: 600;
        letter-spacing: 2px;
    }
    .commute_box dd ul {
        display: flex;
        margin: 15px 0 0 0;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
    }
    .commute_box dd ul li {
        margin: 0 15px 0 0;
    }    
    .direct dt:before {
        display: inline-block;
        margin: 4px 16px 0 0;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 33px;
        height: 40px;
        vertical-align: top;
    }
    .direct dt:after {
        display: inline-block;
        margin: 4px 0 0 16px;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 33px;
        height: 40px;
        vertical-align: top;
    }
    .one_transfer dt:before {
        display: inline-block;
        margin: 4px 16px 0 0;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 33px;
        height: 40px;
        vertical-align: top;        
    }
    .one_transfer dt:after {
        display: inline-block;
        margin: 4px 0 0 16px;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/onetransfer_icon.png");      
        width: 33px;
        height: 40px;
        vertical-align: top;        
    }    
    .railway-btn,
    a.railway-btn {
        display: inline-block;
        position: relative;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        letter-spacing: 0.1em;
        color: #212529;
        border-radius: 5px;
    }
    a.railway-btn-border {
        padding: 0;
        margin-bottom: 12px;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        border-radius: 0;
    }
    a.railway-btn-border span {
        display: block;        
        position: relative;
        padding: 4px 20px 6px 20px;
        background-color: #FFFFFF;
        color: #666666;
        border: 2px solid #666666;
        border-radius: 5px;
    }
    .Hh_rec a.railway-btn-border span {
        background-color: #00A0A0;
        color: #FFFFFF;
        font-size: 18px;        
        border: 2px solid #00A0A0;
    }
    .Hh_rec a.railway-btn-border span .annotation,
    a.railway-btn-border span .annotation {
        display: inline;
        position: static;
        padding: 0 0 0 0;
        background-color: none;
        border: none;
        font-size: 12px;
    }    
    a.railway-btn-border:before {
        display: block;        
        position: absolute;
        bottom: -8px;
        left: 0;
        width: 100%;
        height: 14px;
        content: "";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        box-sizing: border-box;
        border: 2px solid #666666;
        border-top: 1px solid #666666;
        border-radius: 0 0 5px 5px;
        background-image: -webkit-repeating-linear-gradient(135deg,#666666,#666666 1px,transparent 2px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#666666,#666666 1px,transparent 2px,transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .Hh_rec a.railway-btn-border:before {
        border: 2px solid #00A0A0;
        border-top: 1px solid #00A0A0;
        background-image: -webkit-repeating-linear-gradient(135deg,#00A0A0,#00A0A0 1px,transparent 2px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#00A0A0,#00A0A0 1px,transparent 2px,transparent 5px);
    }
    a.railway-btn-border:hover {
        -webkit-transform: translate(0, 3px);
        transform: translate(0, 3px);
    }
    a.railway-btn-border:hover:before {
        bottom: -5px;
    }
    a.railway-btn-border:active {
        -webkit-transform: translate(0, 7px);
        transform: translate(0, 7px);
    }
    a.railway-btn-border:active:before {
        bottom: -1px;
    }
    dl.transfer_info {
        position: relative;
        width: 680px;
        margin: 80px auto 0 auto;        
        padding: 40px 30px 30px 30px;
        background-color: #FAF8F4;
        background-image: url("../imgs/commute/graphpaper_bg.png");
        background-repeat: repeat;
        border-radius: 0 20px 0 20px;
        font-size: 14px;
        text-align: left;
    }    
    dl.transfer_info dt {
        position: absolute;
        left: -20px;
        top: -55px;        
        margin: 0 0 10px 0;
        font-size: 20px;
    }    
    dl.transfer_info dt:before,
    dl.transfer_info dt:after {
        display: none;
    }
    dl.transfer_info dt img {
        width: 140px;
    }
    #gotoTop {
        position: fixed;
        width: 80px;
        height: 80px;
        border-radius: 40px;
        bottom: 30px;
        right: 40px;
        line-height: 1;
        z-index: 9999;
    }
    #gotoTop a {
        display: block;
        width: 80px;
        height: 80px;
        border-radius: 40px;	
        background-color: rgba(51,51,51,1.0);
    }
    #gotoTop img {
        width: 60px;
        margin: 10px;
        vertical-align:middle;
    }    
    #footer {
        width: 100%;
        padding: 15px 0;
        background-color:#189E9E;		
        border-bottom:3px double #189E9E;
        color: #FFFFFF;
        font-size: 14px;
        font-weight: normal;		
        letter-spacing: 2px;
        text-align:center;		
    }
}
@media screen and (max-width: 959px) {
	.pc_only {
		display: none;
	}
	#wrapper {
      width: 100%;
      margin: 0 auto;
	}
    .bg_left {     
        background: url("../imgs/commute/commute_bg.jpg");
        background-size: cover;
        background-size: contain;        
    }  
	#bukken_feature {
        font-family: 'Noto Sans JP', sans-serif;        
		font-size: 14px;
		line-height: 1.8;
	}
    #commute_header {
        margin: 10px 0 0 0; 
    }
    #commute_header img {
        width: 100%;
    }
    .rosenzu_navi {
        position: relative;
		width: 300px; 
        height: 435px;
        margin: 20px auto 0 auto;
        background: url("../imgs/commute/rosenzu_sp.jpg") top left no-repeat;
        background-size: 300px 435px;
    }
    .rosenzu_navi ul li a {
        font-size: 12px;
        letter-spacing: 2px;
    }
    .rosenzu_navi ul li a.railway-small {
        font-size: 10px;
    }
    .rosenzu_navi ul li a.railway-small span {
        padding: 0px 3px 1px 3px;
    }    
    .rosenzu_navi .railway-btn,
    .rosenzu_navi a.railway-btn {
        display: inline-block;
        position: relative;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        letter-spacing: 0.1em;
        color: #212529;
        border-radius: 5px;
    }
    .rosenzu_navi a.railway-btn-border {
        padding: 0;
        margin-bottom: 12px;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        border-radius: 0;
    }
    .rosenzu_navi a.railway-btn-border span {
        display: block;        
        position: relative;
        padding: 0px 6px 1px 6px;
        background-color: #FFFFFF;
        color: #000000;
        border: 2px solid #000000;
        border-radius: 5px;
    }
    .rosenzu_navi a:hover {
        opacity: 1;
    }
    .rosenzu_navi a:hover span {
        background-color: #FFFF00;
    }       
    .rosenzu_navi a.railway-btn-border:before {
        display: block;        
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 100%;
        height: 6px;
        content: "";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        box-sizing: border-box;
        border: 2px solid #000000;
        border-top: 1px solid #000000;
        border-radius: 0 0 5px 5px;
        background-color: #FFFFFF;        
        background-image: -webkit-repeating-linear-gradient(135deg,#000000,#000000 1px,transparent 1px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#000000,#000000 1px,transparent 1px,transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .rosenzu_navi ul li {
        position: absolute;
    }
    .rosenzu_navi ul li.ikebukuro_btn {
        top: 80px;
        left: 55px;
    }
    .rosenzu_navi ul li.shinjuku_btn {
        top: 150px;
        left: 25px;
    }
    .rosenzu_navi ul li.shibuya_btn {
        top: 190px;
        left: 25px;
    }
    .rosenzu_navi ul li.iidabashi_btn {
        top: 120px;
        left: 90px;
    }    
    .rosenzu_navi ul li.ueno_btn {
        top: 120px;
        left: 210px;
    }
    .rosenzu_navi ul li.otemachi_btn {
        top: 160px;
        left: 158px;
    }     
    .rosenzu_navi ul li.tokyo_btn {
        top: 165px;
        left: 210px;
    }    
    .rosenzu_navi ul li.ginza_btn {
        top: 205px;
        left: 250px;
    }
    .rosenzu_navi ul li.shinbashi_btn {
        top: 205px;
        left: 190px;
    }
    .rosenzu_navi ul li.shinagawa_btn {
        top: 242px;
        left: 160px;
    }      
    
	.bukken_feature_commute {
		width: calc(100% - 30px); 
        margin: 0 auto;
        padding: 20px;
        background-color: #FFFFFF;
        box-sizing: border-box;        
        font-family: 'Noto Sans JP', sans-serif;
		font-size: 16px;
		line-height: 1.8;
	}
    .commute_box {      
        margin: 0 0 40px 0;
    }
    #commute_shinagawa {
        margin: 0 0 0 0;
    }
    .commute_box_header {
        margin: 0 0 30px 0;
    }
    .commute_box_header .read p {
        margin: 0 0 5px 0;
    }
    .commute_box_header .read a {
        text-decoration: underline;
    }    
    .commute_box h3 {
        position: relative;        
        margin: 0 0 15px 0;
        padding: 0 0 10px 10px;
        color: #232323;
        font-size: 20px;
    }
    .commute_box dl {
        margin:  0 0 30px 0;
    }
    #commute_shinagawa .one_transfer {
        margin:  0 0 0 0;
    }    
    .commute_box dl dt {
        margin: 0 0 15px 0;
        font-size: 14px;
        font-weight: 600;
        text-align: center;
    }
    .commute_box dd ul {
        display: flex;
        margin: 0 0 0 0;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-end;
    }
    .commute_box dd ul li {
        margin: 0 10px 5px 0;
    }
    .direct dt:before {
        display: inline-block;
        margin: 4px 10px 0 0;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 17px;
        height: 20px;
        vertical-align: top;
    }
    .direct dt:after {
        display: inline-block;
        margin: 4px 0 0 10px;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 17px;
        height: 20px;
        vertical-align: top;
    }
    .one_transfer dt:before {
        display: inline-block;
        margin: 4px 10px 0 0;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/direct_icon.png");      
        width: 17px;
        height: 20px;
        vertical-align: top;        
    }
    .one_transfer dt:after {
        display: inline-block;
        margin: 4px 0 0 10px;
        content: '';
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url("../imgs/commute/onetransfer_icon.png");      
        width: 17px;
        height: 20px;
        vertical-align: top;        
    }    

    .railway-btn,
    a.railway-btn {
        display: inline-block;
        position: relative;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        text-align: center;
        vertical-align: middle;
        text-decoration: none;
        letter-spacing: 0.1em;
        color: #212529;
        border-radius: 5px;
    }
    a.railway-btn-border {
        padding: 0;
        margin-bottom: 12px;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        border-radius: 0;
    }
    a.railway-btn-border span {
        display: block;        
        position: relative;
        padding: 2px 8px 4px 8px;
        background-color: #FFFFFF;
        color: #666666;
        border: 2px solid #666666;
        border-radius: 5px;
    }
    .Hh_rec a.railway-btn-border span {
        background-color: #00A0A0;
        color: #FFFFFF;
        font-size: 13px;        
        border: 2px solid #00A0A0;
    }
    .Hh_rec a.railway-btn-border span .annotation,
    a.railway-btn-border span .annotation {
        display: inline;
        position: static;
        padding: 0 0 0 0;
        background-color: none;
        border: none;
        font-size: 12px;
    }    
    a.railway-btn-border:before {
        display: block;        
        position: absolute;
        bottom: -8px;
        left: 0;
        width: 100%;
        height: 14px;
        content: "";
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        box-sizing: border-box;
        border: 2px solid #666666;
        border-top: 1px solid #666666;
        border-radius: 0 0 5px 5px;
        background-image: -webkit-repeating-linear-gradient(135deg,#666666,#666666 1px,transparent 2px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#666666,#666666 1px,transparent 2px,transparent 5px);
        background-size: 7px 7px;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }
    .Hh_rec a.railway-btn-border:before {
        border: 2px solid #00A0A0;
        border-top: 1px solid #00A0A0;
        background-image: -webkit-repeating-linear-gradient(135deg,#00A0A0,#00A0A0 1px,transparent 2px,transparent 5px);
        background-image: repeating-linear-gradient(-45deg,#00A0A0,#00A0A0 1px,transparent 2px,transparent 5px);
    }
    a.railway-btn-border:hover {
        -webkit-transform: translate(0, 3px);
        transform: translate(0, 3px);
    }
    a.railway-btn-border:hover:before {
        bottom: -5px;
    }
    a.railway-btn-border:active {
        -webkit-transform: translate(0, 7px);
        transform: translate(0, 7px);
    }
    a.railway-btn-border:active:before {
        bottom: -1px;
    }
    #commute_note {
        width: 95%;
        margin: 20px auto !important;
        padding: 10px;
        border: 1px solid #999999;
        color: #666666;
        font-size: 10px;
        box-sizing: border-box;
    }
    .commute_box_header h2 {
        margin: 0 0 30px 0;
    }
    .commute_box_header h2 img {
        width: 100%;
    }
    dl.transfer_info {
        position: relative;
        width: 100%;
        margin: 40px auto 0 auto;        
        padding: 30px 20px 20px 20px;
        background-color: #FAF8F4;
        background-image: url("../imgs/commute/graphpaper_bg.png");
        background-repeat: repeat;
        box-sizing: border-box;
        border-radius: 0 20px 0 20px;
        font-size: 12px;
        text-align: left;
    }    
    dl.transfer_info dt {
        position: absolute;
        left: -10px;
        top: -35px;        
        margin: 0 0 10px 0;
        font-size: 20px;
    }    
    dl.transfer_info dt:before,
    dl.transfer_info dt:after {
        display: none;
    }
    dl.transfer_info dt img {
        width: 90px;
    }
    #gotoTop {
        position: fixed;
        width: 60px;
        height: 60px;
        border-radius: 40px;
        bottom: 5px;
        right: 5px;
        line-height: 1;
        z-index: 9999;
    }
    #gotoTop a {
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 20px;	
        background-color: rgba(51,51,51,1.0);
    }
    #gotoTop img {
        width: 30px;
        margin: 5px;
        vertical-align:middle;
    }    
    #footer {
        width: 100%;
        padding: 15px 0;
        background-color:#189E9E;		
        border-bottom:3px double #189E9E;
        color: #FFFFFF;
        font-size: 12px;
        font-weight: normal;		
        letter-spacing: 2px;
        text-align:center;		
    }    
}