@charset "utf-8";
	

/* pageHeaderWrap
------------------------------*/
body.locationP .pageHeaderWrap .pageHeaderTxt.wh.shadow {
  text-shadow: 0 0 8px rgb(0, 0, 0), 0 0 20px rgba(0,0,0,0.9), 0 0 21px rgb(0, 0, 0), 0 0 6px rgb(0, 0, 0);
}



/* ------------------------------------------------------------------------
	pt-tkAccess
------------------------------------------------------------------------ */



	.pt-tkAccess .trainmap {
		max-width: 1000px;
		margin: 3em auto;
	}
	.pt-tkAccess .stationPic {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 5px;
	}
	.pt-tkAccess .stationPic .stationUnit {
	}
	.pt-tkAccess .stationPic .stationUnit p {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		color: #FFF;
		background: #000;
		aspect-ratio: 1 / 1;
	}
	.pt-tkAccess .stationPic .stationUnit p::before {
		opacity: .45;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url("../img/location/station_01.jpg") center center / cover no-repeat;
	}
	.pt-tkAccess .stationPic .stationUnit.shibuya p::before {		background-image: url("../img/location/station_01.jpg");	}
	.pt-tkAccess .stationPic .stationUnit.ginza p::before {		background-image: url("../img/location/station_02.jpg");	}
	.pt-tkAccess .stationPic .stationUnit.otemachi p::before {		background-image: url("../img/location/station_03.jpg");	}
	.pt-tkAccess .stationPic .stationUnit.yokohama p::before {		background-image: url("../img/location/station_04.jpg");	}

	.pt-tkAccess .stationPic p > * {
		position: relative;
		z-index: 2;
		display: block;
		font-size: 1.2em;
	}
	.pt-tkAccess .stationPic p strong {
		font-size: 1.6em;
	}
	.pt-tkAccess .stationPic p em {
		font-size: 2em;
		letter-spacing: 0.05em;
		font-family: var(--site-en);
		line-height: 1;
	}
	.pt-tkAccess .stationPic p .sta {
		display: block;
		min-width: 60%;
		text-align: center;
		margin: 0 auto;
		border-bottom: 1px solid rgba(255, 255, 255, .3);
	}
	.pt-tkAccess .stationPic p small {
		font-size: 0.8em;
	}


	.pt-tkAccess .stationUnit > small {
		display: block;
	}
@media print, screen and (min-width: 1050px) {
	.pt-tkAccess .stationPic {
		grid-template-columns: repeat(4, 1fr);
		grid-gap: 30px;
	}
}
@media print, screen and (max-width: 1050px) {
	.pt-tkAccess .txtBox br {
		display: none;
	}
}




/* ------------------------------------------------------------------------
	pt-tkPosition
------------------------------------------------------------------------ */


/* positionIntroWrap
-------------------------------------------- */
	.positionIntroWrap {
		position: relative;
		width: 100%;
		background: url("../img/location/re_main_p.jpg") top center / cover no-repeat; 
	}
	.positionIntroWrap .positionIntroBox{
		position: relative;
		z-index: 0;
		padding: 6vw 0 20vw;
		margin-top: 0!important;
	}
	.positionIntroWrap .txtUnit {
		background: rgba(255,255,255,0.67);
		padding:  4em;
		margin-right: 5%;
		margin-left: auto;
		max-width: 650px;
	}
	.positionIntroWrap .copybox {
		text-align: left;
		line-height: 1.8;
		letter-spacing: 0.0em;
	}

@media screen and (max-width: 1050px) {
	.positionIntroWrap .positionIntroBox{
		padding: 10vw 0 24vw;
	}
	.positionIntroWrap .txtUnit {
		padding:  2em;
		max-width: 480px;
	}
}
@media screen and (max-width: 799px) { /*{(belowTBs)}*/
	.positionIntroWrap .positionIntroBox{
		padding: 10vw 0 40vw;
	}
	.positionIntroWrap .txtUnit {
		background: rgba(255,255,255,0.77);
		margin-right: 0;
		max-width: none;
		width: 70%;
	}
}
@media screen and (max-width: 599px) { /*{belowSP}*/
	.positionIntroWrap .txtUnit {
		width: 85%;
	}
}



/* ----------------------------------------------
redevelopmentCol・chudLineCol共通
----------------------------------------------*/
	.setCol {
		margin-bottom: 160px;
	}
	.setCol .mainPicBox{
		position: relative;
	}
	.setCol .pageThemeHeader em{
		display: block;
		margin: 4em auto 2em;
		text-align: center;
	}
	.setCol .pageThemeHeader em span{
		display: block;
		padding: 0.5em 1em;
		color: #fff;
		font-size: clamp(18px, 2.8vw, 23px);
		line-height: 1;
	}
@media print, screen and (max-width: 1049px) {
	.setCol {
		margin-bottom: 100px;
	}
}


/* redevelopmentCol
----------------------------------------------*/
	.redevelopmentCol .pageThemeHeader em span{
		background: #025eb0;
	}
	.redevelopmentBox .itemArea,
	.redevelopmentBox .itemArea .picUnit{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.redevelopmentBox .itemArea {
		margin-top: 4.5em;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.redevelopmentBox .itemArea:first-of-type {
		margin-top: 0em;
	}
	.redevelopmentBox .itemArea .txtUnit{
		width: 41%;
	}
	.redevelopmentBox .itemArea .picUnit{
		width: 53%;
	}
	.redevelopmentBox .itemArea:nth-child(odd) {
		flex-direction:row-reverse;
	}
	.redevelopmentBox .itemArea .picUnit  > *{
		width: 49%;
	}
	.redevelopmentBox .itemArea .picUnit  p:last-child{
		margin-top: 5em;
	}
@media screen and (max-width: 799px) { 
	.redevelopmentBox .itemArea{
		display:block;
	}
	.redevelopmentBox .itemArea > *{
		width: 100%!important;
	}
	.redevelopmentBox .itemArea .picUnit {
		max-width: 600px;
		margin: -2.5em auto 0;
	}
}




/* chudLineCol
----------------------------------------------*/
	.chudLineCol .pageThemeHeader em span{
		background: #cd7438;
	}
	.chudLineCol .chudLineMerit_02, .chudLineCol .chudLineMerit_04{
		background:rgba(236,182,146,0.2);
		padding: 120px 0;
	}


	[class*="chudLineMerit_0"]{
	}


/* chudLineMerit_01 -----------------------*/
	.chudLineMerit_01 .picUnitBox {
		margin-top: 4em;
}
	.chudLineMerit_01 .picUnitBox,
	.chudLineMerit_01 .picUnit {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}
	.chudLineMerit_01 .routeMap {	width: 64%	}
	.chudLineMerit_01 .picUnit {	width: 32%;	}
	.chudLineMerit_01 .picUnit > * {	width: 49%;	}
	.chudLineMerit_01 .picUnit p:last-child {	margin-top: 2.5em;	}

@media screen and (max-width: 799px) { /*{(belowTBs)}*/
	.chudLineMerit_01 .picUnitBox{
		display: block;
	}
	.chudLineMerit_01 .picUnitBox > *{
		width: 100%;
	}
	.chudLineMerit_01 .picUnit {
		max-width: 480px;
		width: 80%;
		margin: 2em auto 0;
	}
}


/* chudLineMerit_01 -----------------------*/
	.chudLineMerit_01{
		margin-top: 3em!important;
	}



/* chudLineMerit_02 -----------------------*/
	.chudLineMerit_02s .js_swipeMe_active .js_swipeMeInnerBoxOverlay,
	.chudLineMerit_02 .js_swipeMe_active .js_swipeMeInnerBox img {width: 200%;}

	.chudLineMerit_02 .picUnit{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		max-width: 700px;
		margin: 3em auto;
		width: 85%;
	}
	.chudLineMerit_02 .picUnit > *{
		width: 49.5%;
	}



/* chudLineMerit_03 -----------------------*/
	.chudLineMerit_03 .picUnit{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin: 3em auto;
	}
	.chudLineMerit_03 .picUnit > *{
		width: 23%;
	}
	.chudLineMerit_03 .picUnit .name{
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		background: #fff;
		padding: 0.5em 0.3em;
		width: 70%;
		text-align: center;
		font-family: var(--site-en);
		font-size: clamp(14px, 1.8vw, 20px);
		letter-spacing: 0.05em;
		line-height: 1;
	}
@media screen and (max-width: 799px) { /*{(belowTBs)}*/
	.chudLineMerit_03 .picUnit > *{
		width: 24.5%;
	}
	.chudLineMerit_03 .picUnit .name{
		width: 80%;
	}
}

@media screen and (max-width: 599px) { /*{belowSP}*/
	.chudLineMerit_03 .picUnit > *{
		width: 49%;
		margin-bottom: 2%;
	}
	.chudLineMerit_03 .picUnit .name{
		font-size: clamp(15px, 3.8vw, 18px);
		width: 60%;
	}
		.chudLineMerit_03 .picUnit > * img {
		width: 100%;
		height: calc(70vw * 0.5);
		object-fit: cover;
		object-position: 50% 50%;
  }
}




/* chudLineMerit_04 -----------------------*/


/* trainDataUnit
--------------------------------- */
:root {
	--tozaiLine:       61,142,170; /*#3d8eaa*/
	--sobuLine:        194,157,40; /*#c29d28*/
}
	
	.trainDataUnit {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.trainDataUnit .txtBox,
	.trainDataUnit .picBox {
		width: 47.61%;
	}
	.is_trainDataUnit_picRight .txtBoxInner {	margin-left: auto;}
	.is_trainDataUnit_picLeft .txtBoxInner {	margin-right: auto;}
	
	.trainDataUnit .trainName .ja {
		line-height: 1.35;
		font-size: 1.4em;
		margin-left: 1.2em;
	}
	.trainDataUnit .trainName .ja:before {
		vertical-align:top;
		content: "●";
		display: block;
		float: left;
		margin-left: -1.2em;
		width: 1em;
		text-align: center;
	}
	.tozaiLine.trainDataUnit .trainName .ja:before      { color: rgba(var(--tozaiLine), 1)}
	.sobuLine.trainDataUnit .trainName .ja:before       { color: rgba(var(--sobuLine), 1)}
	.trainDataUnit .trainName .ja .excerpt {
		font-size: .8em;
	}
	.trainDataUnit .trainLineMap {
		text-align: center;
		margin: 3.1579vw auto 2.10526vw;
	}
	.trainDataUnit .trainNumber {
		line-height: 1.35;
	}
	.trainDataUnit .trainNumberInner {
		display: block;
		text-align: center;
	}
	.trainDataUnit .trainNumberInner .totalText {
		font-size: 1.2em;
	}
	.trainDataUnit .trainNumberInner .totalNumber {
		font-size: 1.8em;
	}
	.trainDataUnit .trainNumberInner .totalNumber em{
		color: #a41760
	}
	.trainDataUnit .trainNumberInner .totalNumber .num {
		margin-left:0.1em;
		line-height: .7;
		font-family: var(--site-en);
		font-size: 2em;
		letter-spacing: 0.005em;
		font-style: italic;
	}
	.tozaiLine.trainDataUnit .trainNumberInner .totalNumber .num      { color: rgba(var(--tozaiLine), 1)}
	.sobuLine.trainDataUnit .trainNumberInner .totalNumber .num       { color: rgba(var(--sobuLine), 1)}
	
	.trainDataUnit .trainNumberCaption {
		display: block;
		margin-top: 1em;
		margin-inline: auto;
		max-inline-size: max-content;
	}

@media print, screen and (min-width: 1050px) {
	.chudLineCol p.txtBox{
		text-align: center!important;
	}
}
@media print, screen and (max-width: 1049px) {
	.chudLineCol .chudLineMerit_02, .chudLineCol .chudLineMerit_04{
		padding: 80px 0;
	}
}
@media screen and (max-width: 900px) {
	.trainDataUnit {
		display: block;
		max-width:500px;
		margin-left:auto;
		margin-right:auto;
	}
	.trainDataUnit .txtBox,
	.trainDataUnit .picBox {
		width: 100%;
		margin: calc(15px + 2.2vw) auto 0;
	}
	.trainDataUnit .picBox {
		width: 80%;
	}
	.trainDataUnit .txtBoxInner {
		width: 100%;
	}
	.trainDataUnit .trainName .ja {
		font-size: 1.2em;
	}
	.trainDataUnit .trainLineMap {
		margin-top:		calc(15px + 2.2vw);
	}
	.trainDataUnit .trainNumberInner .totalText {
		font-size: 1.4em;
	}
	.trainDataUnit .trainNumberInner .totalNumber {
		font-size: 1.6em;
	}
}
@media screen and (max-width: 339px) { /*{belowSPs}*/
	.trainDataUnit .picBox {
		width: 90%;
	}
	.trainDataUnit .trainNumberInner .totalText {
		font-size: 1.2em;
	}
	.trainDataUnit .trainNumberInner .totalNumber {
		font-size: 1.4em;
	}
}






















/* ------------------------------------------------------------------------
	pt-lifeinfo
------------------------------------------------------------------------ */
	/* ptTitle
	---------------------------------------------------- */
	.ptTitle {
		display: block;
		line-height: 1.4;
		font-size: 1.625em;
		text-align: center;
		letter-spacing: 0.02em;
		margin-bottom: 1.5em;
	}
	.ptTitle .ttl {
		display: block;
	}
	.ptTitle .hWord {
		color: rgba(var(--site-themeColor),1);
		letter-spacing: 0.2em;
		font-family: var(--site-fontFamily);
		font-size: 0.6em;
	}
/* 色調整 */
@media screen and (max-width: 1049px) {
    .lifeinfoListBox .spec .time {
        color: #c36639;
    }
}

/*@media screen and (max-width: 419px) , screen and (min-width: 800px) and (max-width: 1049px) { {MinorBreakpoint} 複数指定 
	.lifeinfoListBox dd {position: relative;}
	.lifeinfoListBox dd::after {content: "";display: block;position: absolute;top: 0;bottom: 0;right: 6.5em;width: 0;height: calc(100% - 1em);margin: auto;border-right: 1px dashed #aaa;}
	.lifeinfoListBox .name {width: calc(100% - 6.5em);padding-right: 0.75em;}
	.lifeinfoListBox .spec {flex-wrap: wrap;justify-content: flex-start;width: 6.5em;text-align: left;padding-left: 0.75em;}
	.lifeinfoListBox .spec .dist,
	.lifeinfoListBox .spec .time {width: 5.5em;margin: 0.03em 0;}
	.lifeinfoListBox .spec .time {color: #8e7139;}
	.lifeinfoListBox .spec .separate {display: none;}
}*/




/* ***************************************************************************************************
	printOnly
*************************************************************************************************** */
@media print { /*{printOnly}*/
	.pt-tkAccess .trainmap img {
		width: 80%;
	}
	.stationUnit {
		color: #000;
		border: 1px solid #000;
	}
	.pt-rare {
		color: #000;
		border: solid #000;
		border-width: 1px 0;
	}
}




