@CHARSET "UTF-8";

/* --- padding margin all zero --- */
* {
	padding: 0;
	margin: 0;
}

html {
	font-size: 62.5%;
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
		"メイリオ", Meiryo,
		"ＭＳ Ｐゴシック", "MS PGothic",
		sans-serif;
}

/* --- font style size --- */
body {
	height: 100%;
	font-size: 1.4rem;
}

/* --- basic layout --- */

div#layoutContainer {
	margin: 0px auto;
	padding: 0px;
	text-align: left;
	width: 100%;
	z-index: 2;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

#layoutHeader {
	position: absolute;
	top: 0px;
	height: 75px;
	width: 100%;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	z-index: 7;
}

#layoutHeader #header {
	height: 65px;
	position: relative;
}

#layoutContent {
	height: 100%;
	width: 100%;
	margin-top: 75px;
	flex: 1 1 auto;
}

#layoutFooter {
	background-color: rgb(0, 112, 192);
	padding: 5px;
	color: #fff;
	font-size: 0.8rem;
}

#header div.title {
	margin-top: 5px;
	font-size: 0.8rem;
}

.menuBtn {
	width: 30px;
	height: 30px;
	position: absolute;
	display: block;
	background: #3a3a3a;
	border-top: 14px solid #fff;
	border-bottom: 14px solid #fff;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.menuBtn:before {
	content: '';
	position: absolute;
	width: 30px;
	height: 2px;
	background: #3a3a3a;
	top: -9px;
	right: 0;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.menuBtn:after {
	content: '';
	position: absolute;
	width: 30px;
	height: 2px;
	background: #3a3a3a;
	bottom: -9px;
	right: 0;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.menuBtn.active {
	background: #fff;
}

.menuBtn.active:before {
	-moz-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	top: 0;
	right: 0;
}

.menuBtn.active:after {
	-moz-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	bottom: 0;
	right: 0;
}

/* --- content --- */
#content {
	background-color: #FFF;
}

#content .submitButton {
	width: 100%;
	margin: 10px auto 10px auto;
	padding: 8px;
	display: block;
	background-color: #002663;
	border-style: none;
	border-radius: 5px;
	color: #fff;
	font-size: 0.9rem;
	text-decoration: none;
	text-align: center;
	-webkit-appearance: none;
}

#content .prevButton {
	height: 40px;
	line-height: 40px;
	display: block;
	background-color: #b10973;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	border-radius: 5px;
	font-size: 1.0rem;
}

/* --- footer --- */
#footer .footerCredit {
	clear: both;
	text-align: center;
}

/* --- message --- */
#layoutContent .messageArea {
	background-color: #fff;
}

#layoutContent .messageArea ul {
	border: solid 3px red;
	padding-left: 25px;
}

#layoutContent .messageArea ul li {
  margin: 5px;
}

/* --- common --- */
#content .titleBasic {
	line-height: 30px;
	background-color: rgb(0, 112, 192);
	color: #fff;
/*
	font-size: 1.4rem;
*/
}

.titleBasic h1,
.titleBasic h2,
.titleBasic span{
	margin-left: 10px;
}

#content .titleSub {
	line-height: 30px;
	background-color: #595959;
	color: #fff;
	padding-left: 10px;
	border-bottom: solid 1px #fff;
}


#content .section {
	line-height: 30px;
	background-color: #dedede;
	color: #000;
	padding-left: 10px;
	border-bottom: solid 1px #fff;
}


.titleSub h1,
.titleSub h2,
.titleSub span{
	font-size: 0.8rem;
	margin-left: 10px;
}


#content .textCenter {
	text-align: center;
}



.separator {
	background-color: #cacaca;
	height: 2px;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

.iconArrowBlue {
    position: relative;
    display: inline-block;
    padding-left: 15px;
}

.iconArrowBlue:before {
    content: "";
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 2px rgb(0, 176, 240);
    border-right: solid 2px rgb(0, 176, 240);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -4px;
}

.iconArrowWhite {
    position: relative;
    display: inline-block;
    padding-left: 15px;
}

.iconArrowWhite:before {
    content: "";
    width: 5px;
    height: 5px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -4px;
}

#content .inputArea {
	margin: 10px;
}

#content .nonDisplayButton {
	display: none;
}

#content .linkButton {
	height: 40px;
	margin-bottom: 10px;
	display: block;
	background-color: rgb(0, 112, 192);
	color: #fff;
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	font-size: 1.6rem;
}

input.linkButton {
	width: 100%;
	border: 0;
}

#content .linkSubButton {
/*
	width: 40%;
*/
	width: 120px;
	height: 25px;
	float: right;
	position: relative;
/*
	margin-bottom: 10px;
	border-radius: 5px;
*/
	display: block;
	background-color: #dedede;
	color: #000;
	text-align: center;
	font-weight: normal;
	line-height: 25px;
	text-decoration: none;
	padding-left: 10px;
	font-size: 12px;
}

.linkSubButton .atext {
	margin-left: 10px;
}

.linkList .atext {
	margin-left: 25px;
}

#content .grayButton {
	background-color: #7f7f7f;
	color: #fff;
}

#content .lightGrayButton {
	background-color: #dedede;
	color: #000;
}


#content .topLinkButton {
	height: 30px;
	width: 90%;
	margin: 10px auto;
	border-radius: 5px;
	display: block;
	background-color: #464646;
	color: #fff;
	text-align: center;
	line-height: 30px;
	text-decoration: none;
	font-size: 0.8rem;
}

#content .topLinkButton:active {
	background-color: #808080;
}

#content .backLinkButton {
	background-color: #002663;
}

#content .backLinkButton:active {
	background-color: #002663;
}

#content .grayLinkButton {
	height: 30px;
	margin: 10px auto;
	border-radius: 5px;
	display: block;
	background-color: #464646;
	color: #fff;
	text-align: center;
	line-height: 30px;
	text-decoration: none;
	font-size: 0.8rem;
}

#content .grayLinkButton:active {
	background-color: #808080;
}

#header .corpIcon {
	position: absolute;
	padding: 5px;
}

#header .serviceIcon {
	width: 160px;
	height: 30px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: -webkit-center;
}


#header .loginIcon {
	position: absolute;
	padding: 5px;
	right: 0;
	bottom: 0;
}

#header .logout {
	position: absolute;
	padding: 5px;
	right: 45px;
	bottom: 0;
}

#header .menuIcon {
	position: absolute;
	padding: 5px;
	right: 0;
	bottom: 0;
}

#header .menuIcon .menuBtnArea {
	position: relative;
	height: 30px;
	width: 30px;
	margin: auto;
}

#header .corp {
	width: 85px;
	height: 25px;
	background-image: url(../img/icon_seibu_railway.png);
	background-size: cover;
	display: block;
}

#header .corp span {
	display: none;
}

#header a#serviceIcon {
	width: 110px;
	height: 40px;
	background-image: url(../img/txt_TopLog00_00.png);
	background-size: cover;
	display: block;
	padding-right:15px;
}

#header .serviceIcon:after {
	font-size: 1.2rem;
	content: "特急券／指定券購入";
	margin-bottom: 15px;
}

.margin-r15{
	margin-right: 15px;
}

#header a#serviceIcon span {
	display: none;
}

#header a#loginIcon {
	width: 30px;
	height: 30px;
	background-image: url(../img/icon_login.png);
	background-size: cover;
	display: block;
	margin: auto;
}

#header a#loginIcon span {
	display: none;
}

#header .logoutIcon {
	width: 30px;
	height: 30px;
	background-image: url(../img/icon_logout.png);
	background-size: cover;
	display: block;
	margin: auto;
}

#header input[type="submit" i] {
	border: none;
}

#header div {
	font-size: 0.6rem;
	color: #333333;
	text-align: center;
}

.slideArea {
	display: none;
}
.noneUnderlineItems {
	border-bottom: none !important;
}
.iconArrow2 {
	position: relative;
	display: inline-block;
	padding-left: 30px;
}

.iconArrow2:before {
	content: "";
	width: 5px;	height: 5px;
	border: 0px;
	border-top: solid 2px #b10973;
	border-right: solid 2px #b10973;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 15px;
	margin-top: -4px;
}

.iconSwap {
	color: #000;
	position: absolute;
	margin-left: 3px;
	margin-top: 5px;
	width: 13px;
	height: 9px;
	border-radius: 1px;
	border: solid 1px currentColor;
}

.iconSwap:before {
	content: '';
	position: absolute;
	left: -3px;
	top: -2px;
	width: 0;
	height: 0;
	border-top: solid 3px white;
	border-bottom: solid 3px currentColor;
	border-left: solid 3px white;
	border-right: solid 3px white;
}

.iconSwap:after {
	content: '';
	position: absolute;
	right: -3px;
	bottom: -2px;
	width: 0;
	height: 0;
	border-top: solid 3px currentColor;
	border-bottom: solid 3px white;
	border-left: solid 3px white;
	border-right: solid 3px white;
}

.errorTooltip {
	padding: 5px;
	line-height: 1.3;
	background: #efefef;
	color: #000;
	border-radius: 3px;
	list-style: none;
	width: fit-content;
	margin-bottom: 10px;
}

.errorTooltip:before {
	content: '';
	position: absolute;
	border: 10px solid transparent;
	border-bottom: 15px solid #efefef;
	margin-top: -30px;
	margin-left: 5px;
}

.errorItem {
	border-color: red !important;
}

.integrationNotice .titleBasic {
	line-height: 40px;
	background-color: rgb(0, 112, 192);
	color: #fff;
}

.integrationTitle {
	font-size: 1.2rem;
}

.integrationNotice .linkButton{
	height: 40px;
	margin-bottom: 10px;
	display: block;
	background-color: rgb(0, 112, 192);
	color: #fff;
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	font-size: 1.6rem;
}

.paypayGuide .titleBasic {
	line-height: 40px;
	background-color: rgb(0, 112, 192);
	color: #fff;
}

.paypayGuide .linkButton{
	height: 40px;
	width: 230px;
	margin-left: -15px;
	margin-bottom: 10px;
	display: block;
	background-color: rgb(0, 112, 192);
	color: #fff;
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	font-size: 1.6rem;
}

.processingModal .titleBasic {
	line-height: 40px;
	background-color: rgb(0, 112, 192);
	color: #fff;
}

.processingModal .linkButton{
	height: 40px;
	margin-bottom: 10px;
	display: block;
	background-color: rgb(0, 112, 192);
	color: #fff;
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	font-size: 1.6rem;
}

.withdrawalGuide .titleBasic {
	line-height: 40px;
	background-color: rgb(0, 112, 192);
	color: #fff;
}

.withdrawalGuide .linkButton{
	height: 40px;
	margin-bottom: 10px;
	display: block;
	background-color: rgb(0, 112, 192);
	color: #fff;
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	font-size: 1.6rem;
}

.paypayGuide .grayButton{
	    background-color: #595959;
}

.withdrawalGuide .grayButton{
	    background-color: #595959;
}


#spcSeparateTable {
	border-collapse: separate;
	border: 1px solid #000000;
	overflow: auto;
	font-size: 1.4rem;
	text-align: left;
	}

#spcSeparateTable tr td{
	border: 1px solid #000000;
	padding: 0.5rem;
}

#spcSeparateTable .td1, #spcSeparateTable .td2 {
	width: 15%;
}

#spcSeparateTable .td3 {
	width: 10%;
}

#spcSeparateTable .td4 {
	width: 35%;
}

#spcSeparateTable .td5 {
	width: 25%;
}

#spcCollapseTable {
	border-collapse: collapse;
	border: 1px solid #000000;
	overflow: auto;
	font-size: 1.4rem;
	text-align: left;
	}

#spcCollapseTable tr td{
	border: 1px solid #000000;
	padding: 0.5rem;
}

#spcCollapseTable .td1, #spcCollapseTable .td2 {
	width: 35%;
}

#spcCollapseTable .td3 {
	width: 30%;
}


















/* あとで整理 */
@media screen and (min-width: 700px) {

	body {
		font-size: 1.8rem;
	}

	#layoutContainer {
		background-color: rgb(231 249 255);
	}

	#layoutContent {
		margin: 100px auto 0px auto;
		background-color: #fff;
		max-width: 1000px;
	}

	#layoutHeader {
		height: 100px;
		width: 100%;
	}

	#layoutHeader #header {
		height: 80px;
		margin: 0px auto;
		width: 1000px;
	}

	#header .corp {
		width: 120px;
		height: 35px;
	}

	#header .serviceIcon {
		width: 173px;
		height: 63px;
	}

	#header a#serviceIcon {
		width: 173px;
		height: 63px;
	}

	#header .loginIcon {
		padding: 0px 10px 5px 0px;
	}

	#header a#loginIcon {
		width: 45px;
		height: 45px;
	}

	#content {
		width: 1000px;
		height: 100% !important;
		margin: 0 auto;
	}

	#content .titleBasic {
		line-height: 50px;
	}

	.titleBasic h1,
	.titleBasic h2,
	.titleBasic span{
		font-size: 2.0rem;
		margin-left: 20px;
	}

	#content .linkSubButton {
		width: 30% !important;
		height: 40px;
		line-height: 40px;
		font-size: 16px;
		position: relative;
	}

	#content .linkButton {
		height: 50px;
		line-height: 50px;
		margin-bottom: 30px;
		font-size: 2.0rem;
	}

	#content .backButton {
		margin-bottom: 40px;
		margin-left: 50px;
		margin-right: 50px;
	}

	#content .inputArea {
		margin: 25px 50px;
	}

	.linkList .atext {
		margin-left: 35px;
	}

	#footer .footerCredit {
		font-size: 1.6rem;
	}

	#layoutFooter {
		min-width: 1000px;
	}

	#content .titleSub {
		line-height: 50px;
		padding-left: 20px;
		font-size: 1.8rem;
	}

	.linkSubButton .atext {
		margin-left: 30px;
	}

	#content .section {
		padding-left: 20px;
		line-height: 40px;
	}

	.integrationNotice .titleBasic {
		line-height: 50px;
	}

	.integrationNotice .linkButton{
		height: 50px;
		line-height: 50px;
		margin-bottom: 30px;
		font-size: 2.0rem;
	}

	.paypayGuide .titleBasic {
		line-height: 50px;
	}

	.paypayGuide .linkButton{
		height: 50px;
		width: 600px;
		margin-left: 0px;
		line-height: 50px;
		margin-bottom: 30px;
		font-size: 2.0rem;
	}

	.processingModal .titleBasic {
		line-height: 50px;
	}

	.processingModal .linkButton{
		height: 50px;
		line-height: 50px;
		margin-bottom: 30px;
		font-size: 2.5rem;
	}

	#header .serviceIcon:after {
		font-size: 2rem;
		width: 200px;
		display: block;
	}
}