@CHARSET "UTF-8";

/* 全スタイル共通 ここから */

input[type=text]::-webkit-input-placeholder {
	color: #c0c0c0;
}
input[type=text]:-ms-input-placeholder {
	color: #c0c0c0;
}
input[type=text]::placeholder{
	font-size: 1.3rem;
	color: #c0c0c0;
}

input[type=password]::-webkit-input-placeholder {
	color: #c0c0c0;
}
input[type=password]:-ms-input-placeholder {
	color: #c0c0c0;
}
input[type=password]::placeholder{
	font-size: 1.3rem;
	color: #c0c0c0;
}

#yearMessage .errorTooltip::before,
#monthMessage .errorTooltip::before,
#dayMessage .errorTooltip::before {
	content: none;
}

#cardExpirationMonthMessage.errorTooltip::before,
#cardExpirationYearMessage.errorTooltip::before {
	content: none;
}

#newCardExpirationMonthMessage .errorTooltip::before,
#newCardExpirationYearMessage .errorTooltip::before {
	content: none;
}

.pdg-10 {
	padding: 10px;
}

.pdg-10-paypayGuide {
	padding: 0px 50px;
}

.line {
	border-bottom: solid 1px #ccc;
	padding-bottom: 5px;
}

.input:after {
	content: "";
	display: block;
	clear: both;
	margin-bottom: 20px;
}

.mgn-t10 {
	margin-top: 10px;
}

.mgn-t20 {
	margin-top: 20px;
}

.mgn-b10 {
	margin-bottom: 10px;
}

.mgn-b20 {
	margin-bottom: 20px;
}

.fz-20{
	font-size: 20px;
}

.mgn-l10 {
	margin-left: 10px;
}

.mgn-l20 {
	margin-left: 20px;
}

.mgn-l40 {
	margin-left: 40px;
}

.mgn-r20 {
	margin-right: 20px;
}

.mgn-l0l6rem {
	margin-left: 1.6rem;
}

.selected {
	background-color: rgb(153 228 255) !important;
}

.notsale {
	background-color: #c0c0c0 !important;
}

.fontRed {
	color: #c00000;
}

.supplement {
	padding: 10px;
	background-color: #ececec;
	font-size: 1.2rem;
	display: none;
}

.selectList {
	width: 100%;
	line-height: 30px;
	text-align-last: center;
	border: solid 1px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: black;
	background-color: white;
	font-size: 1.6rem;
}

.selectListArea {
	position: relative;
	margin: 0em 0em 0em 0em;
	float: left;
	width: 100%;
	margin-bottom: 5px;
}

.selectListArea::after {
	pointer-events: none;
	position: absolute;
	color: #dedede;
	top: 50%;
	right: 1.0em;
	transform: translateY(-50%);
	content: "▼";
}

.radioButton {
	margin-right: 15px;
}

.sendMailMessageArea {
	background-color: #fff;
}

.sendMailMessageArea ul {
	border: solid 3px red;
	padding-left: 25px;
}

.sendMailMessageArea ul li {
	margin: 5px;
}

/* 全スタイル共通 ここまで */


.flexDiv {
  display        : flex;
  flex-wrap      : nowrap;
}
.flexDivName {
  min-width:140px;
}

.overlay {
    visibility: hidden;
    position: fixed;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.integrationOverlay {
    visibility: hidden;
    position: fixed;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    z-index: 8;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.paypayGuideOverlay {
    visibility: hidden;
    position: fixed;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    z-index: 8;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.processingModalOverlay {
    visibility: hidden;
    position: fixed;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    z-index: 8;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.withdrawalGuideOverlay {
    visibility: hidden;
    position: fixed;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,0);
    z-index: 8;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.overlayOn {
    visibility: visible;
    cursor: pointer;
    background: rgba(0,0,0,.7);
}

.overlayOff {
    visibility: hidden;
    cursor: default;
    background: rgba(0,0,0,.7);
}

.memberMenuArea {
    background-color: #eee;
    position: absolute;
    top: 0px;
    right: 0px;
    width: 300px;
    margin-top: 76px;
    margin-right: -300px;
    display: none;
    z-index: 1;
}

.memberMenuAreaOn {
    display: block;
    z-index: 5;
}

.memberMenuAreaOff {
    display: none;
    z-index: 1;
}

.memberMenu {
    border: solid 1px #343434;
}

.memberMenuArea .menuList {
    background-color: #002663;
    width: 300px;
    color: #fff;
}

.memberMenuArea .menuList ul {
    list-style-type: none;
}

.memberMenuArea .menuList li {
    border-bottom: 1px solid rgb(217, 217, 217);
    line-height: 1.5;
}

.memberMenuArea .openArea ul li:last-child {
    border-bottom: none;
}

.memberMenuArea .menuList a {
    padding: 5px 10px;
    display: block;
    background-color: rgb(89, 89, 89);
    text-decoration: none;
}

.memberMenuArea .menuList a:link {
    color: #fff;
}

.memberMenuArea .menuList a:visited {
    color: #fff;
}

.memberMenuArea .menuList .userName {
    padding: 5px 10px;
    display: inline-block;
}

.integrationNotice {
    background-color: #fff;
    position: absolute;
    width: 300px;
    display: none;
    z-index: 1;
}

.integrationNoticeOn {
    display: block;
    z-index: 9;
    margin-right: 0px;
}

.paypayGuide {
    background-color: #fff;
    position: absolute;
    width: 300px;
    display: none;
    z-index: 1;
}

.paypayGuideOn {
    display: block;
    z-index: 9;
    margin-right: 0px;
}

.withdrawalGuide {
    background-color: #fff;
    position: absolute;
    width: 300px;
    display: none;
    z-index: 1;
}

.withdrawalGuideOn {
    display: block;
    z-index: 9;
    margin-right: 0px;
}

.trainInfo .title {
    display: inline-block;
    width: 70px;
    font-size: 1rem;
}

.trainInfo .trainName {
    width: 100%;
    float: left;
    margin: 0px 0px 5px 0px;
}

.train .input {
    display: inline-block;
    width: 100%;
    margin-top: 5px;
}

.train .input .purchased {
    background-color: #ffe5b8;
    width: 65%;
    line-height: 35px;
    margin: 0px;
    padding: 0px;
    border-radius: 5px;
    font-size: 0.8rem;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    float: right;
}

.train .input div {
    line-height: 35px;
    text-align: center;
}

#contentTopLayout .guide {
    line-height: 30px;
    text-align: center;
    font-size: 0.8rem;
    margin: 3px 0px;
}

#contentTopLayout .guideEnd {
    border-bottom: 1px solid #cacaca;
}

#contentTopLayout .guide .current {
    color: #fff;
    background-color: #b10973;
    padding: 5px 10px;
}

.trainList .trainDetailInfo {
    display: none;
    margin-top: 10px;
}

.trainList .trainDetailInfo:after {
    content: "";
    clear: none;
}

/* お知らせリスト ここから */
#infoArea .announceList {
    padding: 5px;
}

.announceList .announce {
	position: relative;
	line-height: 35px;
	margin: 0px 5px;
	border-bottom: solid 1px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.announceList .newNotice {
	color: #fff;
	background-color: rgb(238, 123, 0);
	padding: 2px 5px;
	margin-right: 10px;
	font-size: 1.0rem;
}

.announceList .ac-check{
    display: none;
}

.announceList .ac-label {
	position: relative;
	display: block;
	line-height: normal;
	padding-right: 20px
}

.announceList .ac-label:after {
	display: block;
	width: 8px;
	height: 8px;
	border-top: #636363 2px solid;
	border-right: #636363 2px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	right: 0px;
	top: 25%;
	content: "";
}

.announceList .ac-check:checked + .ac-label:after {
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	border-top: #636363 2px solid;
	border-right: #636363 2px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	right: 0px;
	top: 35%;
	content: "";

}

.announceList .ac-content{
	line-height: 20px;
	height: 0;
	margin-bottom: 0px;
	opacity: 0;
	visibility: hidden;
	line-height: 1.6;
}

.announceList .ac-check:checked + .ac-label + .ac-content {
	height: auto;
	margin-bottom: 10px;
	opacity: 1;
	visibility: visible;
}

.announceList a {
	text-decoration: none;
}
/* お知らせリスト ここまで */


.iconArrow {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #636363;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -5px;
	margin-left: 13px;
}


/* 空席照会入力 ここから */

#vacancyInquiry .ac-check {
	display: none;
}

#vacancyInquiry .ac-label {
	line-height: 30px;
	width: 50%;
	text-align: center;
	border: solid 1px #cacaca;
	float: left;
	display: block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#vacancyInquiry .ac-content{
	clear: both;
	display: none;
	padding-top: 10px;
	width: 100%;
	margin-left: auto;
}


.selectDepArr {
	margin-left: auto;
	width: 60%;
}

.selectDeparture,.selectArrival {
	line-height: 30px;
	width: 50%;
	float: left;
	text-align: center;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
}

#vacancyInquiry .routeList {
	width: 75%;
	font-size: 1.2rem;
}

#departureRouteArea .route {
	height: 50px;
	line-height: 20px;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
	margin-top: -1px;
	padding: 5px 10px;
}


#arrivalRouteArea .route {
	height: 50px;
	line-height: 20px;
	width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
	margin-top: -1px;
	padding: 5px 10px;
}

.hide {
	display: none;
}

.selectDepArr {
  font-size: 1.6rem;
}

.selectDepArr input[type="radio"] {
  display: none;
}

.branchManage-label {
    line-height: 50px;
    padding: 5px 50px;
    width: 50%;
    border: solid 1px #cacaca;
    text-align: center;
    background-color: #fff;
    margin-left: 0px;
    margin-right: 0px;
    box-sizing: border-box;
}

.selectDepArr input[type="radio"]:checked + .branchManage-label {
    background-color: rgb(153, 228, 255) !important;
}

.departureArrivalType {
  font-size: 1.6rem;
}

.departureArrivalType input[type="radio"] {
  display: none;
}

.departureArrivalType-label {
    line-height: 50px;
    padding: 5px 64px;
    width: 50%;
    border: solid 1px #cacaca;
    text-align: center;
    background-color: #fff;
    margin-left: 0px;
    margin-right: 0px;
    box-sizing: border-box;
}

.departureArrivalType input[type="radio"]:checked + .departureArrivalType-label {
    background-color: rgb(153, 228, 255) !important;
}


/* 空席照会入力 ここまで */

/* 空席照会の列車一覧 ここから */

.trainList .train {
	padding: 5px 10px 10px 10px;
	border-bottom: solid 1px #ccc;
}

.train:after {
	content: "";
	display: block;
	clear: both;
}

.train .nameRow {
	display: flex;
	line-height: 46px;
}

.train .nameRow .img {
	width: 40px;
	height: 46px;
}

.train .train001S {
	background-image: url(../img/001S_front001.png);
	background-repeat: no-repeat;
}

.train .train10000S {
	background-image: url(../img/10000S_front001.png);
	background-repeat: no-repeat;
}

.train .train40000S {
	background-image: url(../img/40000S_front001.png);
	background-repeat: no-repeat;
}

.train .nameRow .name {
	vertical-align: middle;
	margin-top: 10px;
	margin-left: 10px;
	font-size: 1.6rem;
}

.nameRange {
	width: 100%;
}

.train .station {
	display: table;
}

.train .station .name, .time {
	display: table-cell;
}

.train .station .name {
	text-align: left;
	width: 150px;
}

.train .station .time {
	text-align: right;
	width: 60px;
}

.train .operation {
	margin: 5px 0px;
	float: right;
}

.train .operation .suspended {
	float: left;
	height: 30px;
	line-height: 30px;
	width: 140px;
	text-align: center;
	background-color: #C00000;
	color: #FFF;
}

.train .operation .vacancy {
	float: left;
	margin-left: 10px;
	height: 30px;
	line-height: 30px;
	border: solid 1px #cccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	width: 140px;
}

.train .operation .info {
	display: inline-block;
	margin-top: 10px;
	float: left;
	clear: both;
	line-height: 1.6;
	color: #C00000;
}

.train .buy {
	float: right;
	clear: both;
}

.train .buy a {
	margin-left: 10px;
	padding: 5px 0px;
	float: left;
	width: 140px;
	line-height: 15px;
	text-align: center;
	text-decoration: none;
}

.train .buy .member {
	padding: 10px 0px;
}

.train .buyBtn1 {
	border-radius: 3px;
	background-color: #dedede;
	color: #000;
}

.train .buyBtn1-hid {
	visibility: hidden;
}

.train .buyBtn2 {
	border-radius: 3px;
	background-color: rgb(0, 112, 192);
	color: #fff;
}

.trainList .navi {
	padding: 10px;
}

.trainList .navi:after {
	content: "";
	display: block;
	clear: both;
}

.navi .mgn-r {
	margin-right: 10%;
}

.navi .prevNext {
	display: flex;
	justify-content: center;
}

.navi .prevNext a {
	width: 40%;
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	background-color: #dedede;
	color: #000;
}

.navi .prevNext a.prevTrainBtn,a.nextTrainBtn {
	margin: 0px 10px;
}
/* 空席照会の列車一覧 ここまで */

/* 利用規約 ここから */
#termsOfUse .comment {
	line-height: 1.6;
	color: #c00000;
}

#termsOfUse .content {
	background-color: #fff;
	height: 350px;
	padding: 5px 10px;
	border: solid 1px #ccc;
	overflow: auto;
	line-height: 1.6;
}

#termsOfUse .input {
	text-align: center;
}

.content .text {
	white-space: pre-wrap;
	margin-bottom: 20px;
}

.input input[type=checkbox] {
	display: none;
}

.checkbox {
	box-sizing: border-box;
	display: inline-block;
	padding: 5px 0px 5px 45px;
	position: relative;
}

.checkbox::before {
	display: block;
	content: '';
	position: absolute;
	margin-top: -13px;
	top: 50%;
	width: 25px;
	height: 25px;
	left: 5px;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #fff;
}

.checkbox::after {
	display: block;
	content: '';
	position: absolute;
	margin-top: -23px;
	top: 50%;
	left: 15px;
	width: 10px;
	height: 25px;
	border-right: 6px solid #0070c0;
	border-bottom: 6px solid #0070c0;
	opacity: 0;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}

.input input[type=checkbox]:checked + .checkbox::before {
	border-color: #0070c0;
}

.input input[type=checkbox]:checked + .checkbox::after {
	opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1);
}

/* 利用規約 ここまで */

/* お客さま情報の入力 ここから */
/* お客さま情報の入力 ここまで */


/* 利用情報の入力 ここから */
#useWheelChairSeatButtonOn,
#useWheelChairSeatButtonOff {
	height: 30px;
	width: 30px;
	float: right;
    background-image: url(../img/icon_wheel_chair.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    border: thin;
    margin: 2px;
    max-width: 100%;
    cursor: pointer;
}

#useWheelChairSeatButtonOn::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(102, 204, 255, .7);
}

#useInfoInput-wheelChair .f-container,
#useInfoInput .f-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#useInfoInput-wheelChair .list,
#useInfoInput .list {
	margin: 10px auto;
}

#useInfoInput-wheelChair .peopleType,
#useInfoInput .peopleType {
	line-height: 30px;
}

#useInfoInput-wheelChair .people,
#useInfoInput .people {
	line-height: 40px;
	width: 60px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
	border-radius: 3px;
	margin: 5px;
	text-align: center;
	background-color: #fff;
}

#useInfoInput-wheelChair .total,
#useInfoInput .total {
	text-align: center;
	background-color: #ececec;
	line-height: 40px;
}

#useInfoInput-wheelChair .warn,
#useInfoInput .warn {
	background-color: #ffeef7 !important;
	color: #c00000 !important;
}

#useInfoInput-wheelChair .hide,
#useInfoInput .hide {
	display: none;
}

#useInfoInput-wheelChair .error,
#useInfoInput .error {
	line-height: 30px;
}

.error .message {
	color: #c00000;
	margin-left: 30px;
}


#useInfoInput-wheelChair .seatCondition,
#useInfoInput .seatCondition {
	line-height: 40px;
	width: 46%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
	border-radius: 3px;
	margin: 5px;
	text-align: center;
	background-color: #fff;
}

#useInfoInput-wheelChair .multiLine,
#useInfoInput .multiLine {
	line-height: 20px;
}

#useInfoInput-wheelChair .notSpecify,
#useInfoInput .notSpecify {
	width: 95%;
}

.titleSub .titleSubBtn {
	height: 20px;
	line-height: 20px;
	width: 80px;
	float: right;
	position: relative;
	top: 5px;
	background-color: #595959;
	margin-right: 10px;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}

.titleSub .refresh {
	width: 130px !important;
	background-color: #fff !important;
	color: #000 !important;
}

.titleSub .titleSubBtn:after {
	clear: both;
}

#carNumberInput div {
	text-align: center;
}


#carNumberInput .backTrainSpecify {
	width: 50%;
	line-height: 30px;
	background-color: #ccc;
	margin: 10px auto 10px auto;
	text-align: center;
	font-size: 1.2rem;
}

#seatNumberInput .backCarNumberSpecify {
	width: 50%;
	line-height: 30px;
	background-color: #ccc;
	margin: 10px auto 10px auto;
	text-align: center;
	font-size: 1.2rem;
}

/* 会員シートマップ ここから */

#seatNumberInput .seatMapForWheelChairSeat,
#seatNumberInput .seatMap {
	position: relative;
	margin: 10px auto;
	width: 100%;
	border: solid 4px #ccc;
	border-radius: 3px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 1.4rem;
}

#seatNumberInput .seatMapForWheelChairSeat .seat,
#seatNumberInput .seatMap .seat{
	border-radius: 6px;
}

#seatNumberInput .seatMapForWheelChairSeat .wheelPair1,
#seatNumberInput .seatMap .wheelPair1 {
	border-color: #33cc66 !important;
}

#seatNumberInput .seatMapForWheelChairSeat .wheelPair2,
#seatNumberInput .seatMap .wheelPair2 {
	border-color: #ff4b00 !important;
}

/* 会員シートマップ ここまで */


#carNumberInput .carNumber {
	width: 90%;
	margin: 10px auto;
	line-height: 35px;
	border: solid 1px #ccc;
	border-radius: 3px;
	font-size: 1.4rem;
}

#carNumberInput .carNumber.iconWheelChair {
	background-image: url(../img/wheel.png);
	background-position: 95% 20%;
	background-repeat: no-repeat;
}

#carNumberInput .carNumberFull {
	width: 90%;
	margin: 10px auto;
	line-height: 35px;
	border: solid 1px #ccc;
	border-radius: 3px;
	font-size: 1.4rem;
	background-color: #c0c0c0;
}

#seatNumberInput div {
	text-align: center;
}

#seatNumberInput #selectCarNumber {
	text-align: left;
}

.seatMapForWheelChairSeat table,
.seatMap table {
	width: 100%;
	margin: 5px auto;
	border-collapse: separate;
	border-spacing: 2px 0px;
}

.seatMapForWheelChairSeat table td,
.seatMap table td{
	width: 20%;
	height: 50px;
	border: solid 1px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #3c3c3c;
}

.seatMapForWheelChairSeat table .asterisk,
.seatMap table .asterisk{
    height:15px;
    text-align:left !important;
	margin-top: -15px;
	margin-left: 2px;
	font-size: 2.0rem;
}

.seatMapForWheelChairSeat table .wheelchairCare,
.seatMap table .wheelchairCare{
    height:16px;
    text-align:left !important;
	margin-top: -16px;
	margin-left: 2px;
	font-size: 1.5rem;
	font-weight: bold;
}

.seatMapForWheelChairSeat table .crossSeat,
.seatMap table .crossSeat{
	width: 20%;
	height: 50px;
    text-align:center;
	border: solid 1px #0080ff;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #3c3c3c;
}

.seatMapForWheelChairSeat table .longSeat,
.seatMap table .longSeat{
	width: 20%;
	height: 50px;
	border: solid 1px #ffbf00;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #3c3c3c;
	border-radius: 6px;
}

.seatMapForWheelChairSeat table .noSeat,
.seatMap table .noSeat{
	border: none;
}

.seatMapForWheelChairSeat table .aisle,
.seatMap table .aisle {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .h0,
.seatMap table .h0 {
	height: 0px !important;
}

.seatMapForWheelChairSeat table .h5,
.seatMap table .h5 {
	height: 5px !important;
}

.seatMapForWheelChairSeat table .h10,
.seatMap table .h10 {
	height: 10px !important;
}

.seatMapForWheelChairSeat table .h20,
.seatMap table .h20 {
	height: 20px !important;
}

.seatMapForWheelChairSeat table .h35,
.seatMap table .h35 {
	height: 35px !important;
}

.seatMapForWheelChairSeat table .h40,
.seatMap table .h40 {
	height: 40px !important;
}

.seatMapForWheelChairSeat table .h50,
.seatMap table .h50 {
	height: 50px !important;
}

.seatMapForWheelChairSeat table .h120,
.seatMap table .h120 {
	height: 120px !important;
}

.seatMapForWheelChairSeat table .none,
.seatMap table .none {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .entrance,
.seatMap table .entrance {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .crewRoom,
.seatMap table .crewRoom {
	border: none;
	text-align: center;
	color: #8c8c8c;
}

.seatMapForWheelChairSeat table .wall1,
.seatMap table .wall1 {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .wall1:before,
.seatMap table .wall1:before {
	content: "";
	width: 26%;
	position: absolute;
	left: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .wall1:after,
.seatMap table .wall1:after {
	content: "";
	width: 26%;
	position: absolute;
	right: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .wall2,
.seatMap table .wall2 {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .wall2:before,
.seatMap table .wall2:before {
	content: "";
	width: 45%;
	position: absolute;
	left: -4px;
	border: none;
}

.seatMapForWheelChairSeat table .wall2:after,
.seatMap table .wall2:after {
	content: "";
	width: 26%;
	position: absolute;
	right: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .wall3,
.seatMap table .wall3 {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .wall3:before,
.seatMap table .wall3:before {
	content: "";
	width: 26%;
	position: absolute;
	left: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .wall3:after,
.seatMap table .wall3:after {
	content: "";
	width: 26%;
	position: absolute;
	left: -4px;
	border: none;
}

.seatMapForWheelChairSeat table .fullWall,
.seatMap table .fullWall {
	content: "";
	border: none;
}

.seatMapForWheelChairSeat table .fullWall:before,
.seatMap table .fullWall:before {
	content: "";
	width: 55%;
	position: absolute;
	left: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .fullWall:after,
.seatMap table .fullWall:after {
	content: "";
	width: 50%;
	position: absolute;
	right: -4px;
	border-bottom: solid 2px #ccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.seatMapForWheelChairSeat table .footSpace,
.seatMap table .footSpace {
	content: "";
	border: none;
	width: 0px;
}

.seatMapForWheelChairSeat table .door,
.seatMap table .door {
	content: "";
	border: none;
	width: 0px;
	height: 0px;
}

.seatMapForWheelChairSeat table .door:before,
.seatMap table .door:before {
	content: "";
	width: 3px;
	height: 50px;
	position: absolute;
	left: -4px;
	margin-top: -25px;
	border-left: solid 4px #e61772;
}

.seatMapForWheelChairSeat table .door:after,
.seatMap table .door:after {
	content: "";
	width: 3px;
	height: 50px;
	position: absolute;
	right: -4px;
	margin-top: -25px;
	border-right: solid 4px #e61772;
}

.seatMapForWheelChairSeat table .doorText,
.seatMap table .doorText {
	border: none;
	text-align: center;
	color: #8c8c8c;
}

.seatMapForWheelChairSeat table .window,
.seatMap table .window {
	content: "";
	border: none;
	width: 0px;
	height: 0px;
}

.seatMapForWheelChairSeat table .window:before,
.seatMap table .window:before {
	content: "";
	width: 3px;
	height: 50px;
	position: absolute;
	left: -4px;
	margin-top: 5px;
	border-left: solid 4px #00a0ea;
}

.seatMapForWheelChairSeat table .window:after,
.seatMap table .window:after {
	content: "";
	width: 3px;
	height: 50px;
	position: absolute;
	right: -4px;
	margin-top: 0px;
	border-right: solid 4px #00a0ea;
}

.seatMapForWheelChairSeat table .wff:before,
.seatMap table .wff:before {
	height: 60px;
	margin-top: -40px;
}

.seatMapForWheelChairSeat table .wff:after,
.seatMap table .wff:after {
	height: 60px;
	margin-top: -40px;
}

.seatMapForWheelChairSeat table .wf1:before,
.seatMap table .wf1:before {
	height: 50px;
	margin-top: -15px;
}

.seatMapForWheelChairSeat table .wf1:after,
.seatMap table .wf1:after {
	height: 50px;
	margin-top: -15px;
}

.seatMapForWheelChairSeat table .wf2:before,
.seatMap table .wf2:before {
	height: 50px;
	margin-top: -35px;
}

.seatMapForWheelChairSeat table .wf2:after,
.seatMap table .wf2:after {
	height: 50px;
	margin-top: -35px;
}

.seatMapForWheelChairSeat table .wf3:before,
.seatMap table .wf3:before {
	height: 100px;
	margin-top: -45px;
}

.seatMapForWheelChairSeat table .wf3:after,
.seatMap table .wf3:after {
	height: 100px;
	margin-top: -45px;
}

.seatMapForWheelChairSeat table .wf4:before,
.seatMap table .wf4:before {
	height: 100px;
	margin-top: -50px;
}

.seatMapForWheelChairSeat table .wf4:after,
.seatMap table .wf4:after {
	border: none;
}

.seatMapForWheelChairSeat table .wf5:before,
.seatMap table .wf5:before {
	height: 50px;
	margin-top: -15px;
}

.seatMapForWheelChairSeat table .wf5:after,
.seatMap table .wf5:after {
	border: none;
}

.seatMapForWheelChairSeat table .wf6:before,
.seatMap table .wf6:before {
	height: 50px;
	margin-top: -35px;
}

.seatMapForWheelChairSeat table .wf6:after,
.seatMap table .wf6:after {
	border: none;
}

#seatNumberInput .usageGuide {
	line-height: 30px;
	padding: 0px 10px;
	background-color: #def8ff;
	text-align: left;
	font-size: 1.2rem;
}

#seatNumberInput .f-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#seatNumberInput .usageGuideAlwaysViewList {
	display: block;
	font-size: 1.2rem;
}

#seatNumberInput .annotationText {
	padding: 0px 10px;
	text-align: left;
	display: flex;
}

#seatNumberInput .annotationText span {
	font-size: 2.0rem;
}

.usageGuideAlwaysViewList .guideItem {
	width: 130px;
	height: 50px;
	margin: 5px;
	display: table;
}

.usageGuideAlwaysViewList .guideItem:after {
	clear: both;
}

.usageGuideAlwaysViewList .guideIcon {
	display: table-cell;
	width: 70px;
	height: 50px;
	border: solid 1px #ccc !important;
	border-radius: 3px;
}

.usageGuideAlwaysViewList .guideText {
	display: table-cell;
	width: 59px;
	height: 50px;
	vertical-align: middle;
}

#seatNumberInput .usageGuideList {
	display: none;
	font-size: 1.2rem;
}

.usageGuideList .guideItem {
	width: 120px;
	height: 63px;
	margin: 5px;
	display: table;
}

.usageGuideList .guideItem:after {
	clear: both;
}

.usageGuideList .guideIcon {
	display: table-cell;
	width: 59px;
	height: 59px;
	border-radius: 3px;
}

.usageGuideList .guideText {
	display: table-cell;
	width: 59px;
	height: 59px;
	vertical-align: middle;
}

#seatNumberInput .iconVacancy {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.4rem;
}

#seatNumberInput .iconFully {
	display: table-cell;
	vertical-align: middle;
	background-color: #b3b3b3;
	font-size: 1.4rem;
}

#seatNumberInput .guideIcon .iconWindow {
	width: 3px;
	height: 33px;
	background-color: #00a0ea;
	margin: 8px auto;
/*	margin-top: 10px auto; */
/*	margin-left: -33px; */
}

#seatNumberInput .iconCrossSeat {
	display: table-cell;
	width: 70px;
	height: 50px;
	border: solid 1px #0080ff !important;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 1.4rem;
}

#seatNumberInput .iconLongSeat {
	display: table-cell;
	width: 70px;
	height: 50px;
	border: solid 1px #ffbf00 !important;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 1.4rem;
}

#seatNumberInput .iconWheelchairCare {
    height:16px;
    text-align:left !important;
	margin-top: -24px;
	margin-left: 2px;
	font-size: 1.5rem;
	font-weight: bold;
}

#seatNumberInput .icon {
	background-repeat: no-repeat;
	background-position: center;
	border: none;
}

#seatNumberInput .icon.iconAED {
	background-image: url(../img/icon_AED.png);
}

#seatNumberInput .icon.iconWheelChair {
	background-image: url(../img/icon_wheel_chair.png);
}

#seatNumberInput .icon.iconBabyCarrige {
	background-image: url(../img/icon_stroller.png);
}

#seatNumberInput .iconToilet {
	background-image: url(../img/icon_toilet.png);
}

#seatNumberInput .iconMensToilet {
	background-image: url(../img/icon_mens_toilet.png);
}

#seatNumberInput .iconWomensToilet {
	background-image: url(../img/icon_womens_toilet.png);
}

#seatNumberInput .iconSharedToilet {
	background-image: url(../img/icon_shared_toilet.png);
}

#seatNumberInput .iconMultipurposeToilet {
	background-image: url(../img/icon_multipurpose_toilet.png);
}

#seatNumberInput .iconPowderRoom {
	background-image: url(../img/icon_powder_room.png);
}

#seatNumberInput .iconCrewRoom {
	background-position:right;
	background-image: url(../img/icon_crew_room.png);
}

#seatNumberInput .iconWheel {
    background-image: url(../img/wheel.png);
    background-repeat: no-repeat;
}

#selectedSeatList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#selectedSeatList div {
	margin-top: 10px;
	margin-left: 10px;
	line-height: 15px;
	background-color: rgb(153 228 255);
	padding: 10px;
	border: solid 1px rgb(153 228 255);
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 5px;
}

#selectedSeatList div span {
	margin-left: 10px;
}


/* 利用情報の入力 ここまで */











#content .agreementTitle {
    margin: 10px auto 5px auto;
    text-align: center;
}

#content .agreementContent {
    margin: 10px;
    padding: 5px;
    border-radius: 5px;
    background-color: #fff;
}

#content .agreementContent pre{
    white-space:pre-wrap;
}

#content .agreement {
    margin: 10px;
    display: inline-block;
}

.agreement input {
    width: 25px;
    height: 25px;
    float: left;
    display: block;
}

.agreement div {
    line-height: 25px;
    margin-left: 20px;
    display: block;
    font-size: 1.1rem;
    text-align: center;
    float: left;
}

.agreement div label {
    padding: 5px;
}

#content .required {
	line-height: 20px;
	background-color: #ff0000;
	color: #fff;
	margin: 0px 5px;
	padding: 1px 5px;
	border-radius: 3px;
	font-size: 1.2rem;
	display: inline-block;
}

#contentCenterLayout .warning {
    margin: 15px auto 10px auto;
    border-spacing: 0px;
    border: 2px solid #ff0000;
    text-align: center;
}

#contentCenterLayout .warning td {
    padding: 5px 10px;
}

#contentCenterLayout .space {
    padding: 1px;
}

#contentCenterLayout:after {
	content: "";
	display: block;
	clear: both;
}

.input .title {
	width: 100%;
	line-height: 30px;
	margin: 5px 10px 5px 0px;
	color: #000;
}

.input .title {
	clear: both;
}

.input .textBox {
	width: 100%;
	line-height: 20px;
	padding: 5px 8px;
	margin: 5px 0px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: solid 1px #ccc;
	font-size: 1.6rem;
}

.details {
	display: none;
}

#content .cautionArea {
	margin: 5px 0px;
}

.cautionArea .message {
	padding: 5px 10px;
}

.cautionSentence {
	padding: 10px;
	background-color: #ececec;
	font-size: 1.2rem;
}

.supplementComment {
	margin: 5px 0px;
}

.cautionSection {
	display: flex;
	padding-top: 10px;
}

.cautionSectionNoBottom {
	display: flex;
	padding-top: 10px;
}

.center{
	align-items: center;
}

.iconCaution {
	height: 35px;
	line-height: 35px;
	width: 35px;
	background-color: #ff00ff;
	color: #fff;
	border-radius: 3px;
	font-size: 1.2rem;
	text-align: center;
}

.cautionComment {
	padding-left: 25px;
	width: 85%;
}

.cautionCommentNoWidth {
	margin-top: 5px;
	padding-left: 25px;
}

.cautionCommentNoWidth .list {
	list-style-type: '・';
}

.statusArea .name {
	font-size: 1.2rem;
}

.catgory.item .name {
	font-size: 1.2rem;
}

.catgory.item .value {
	padding: 5px 10px;
	font-size: 1.2rem;
}

.catgory.item .smallvalue {
	padding: 10px 0px;
	font-size: 1.1rem;
}

.suspended {
    display: flex;
    flex-flow: column;
    float: right;
}

.iconSuspended {
	float: right;
	width: 180px;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	border-radius: 3px;
	background-color: #C00000;
	color: #fff;
}

.statusArea .status {
	line-height: 20px;
	color: #fff;
	margin-bottom: 5px;
	margin-right: 5px;
	padding: 1px 5px;
	border-radius: 3px;
	display: inline-block;
	text-align: center;
}

.statusArea .status.seatConfirm {
	background-color: rgb(0, 112, 192);
}

.statusArea .status.unsettled {
	background-color: #ff00ff;
}

.statusArea .status.purchased {
	background-color: #33cc66;
}

.statusArea .status.refunded {
	background-color: #ff4b00;
}
.statusArea .status.departed {
	background-color: #ff4b00;
}

.statusArea .status.transferred {
	background-color: #005aff;
}
.statusArea .status.received {
	background-color: #005aff;
}

.statusArea .contentItem {
	padding: 5px 10px;
	font-size: 1.2rem !important;
	line-height: 20px;
}

.statusArea {
/*	padding-bottom: 5px;*/
	font-size: 1.4rem;
}
.detailsArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}

.detailsArea .item {
	margin-top: 5px;
	width: 100%;
}

.detailsArea .item span {
	display: inline-block;
	line-height: 20px;
	padding: 1px 0px;
}

.detailsArea .item .name {
	width: 75px;
	background-color: #dedede;
	margin-right: 5px;
	border-radius: 3px;
	font-size: 1.2rem;
	text-align: center;
	vertical-align: top;
}

.detailsArea .item .smallname {
	width: 75px;
	background-color: #dedede;
	margin-right: 5px;
	border-radius: 3px;
	font-size: 1.0rem;
	text-align: center;
	vertical-align: top;
}

.detailsArea .item .value {
	min-width: 160px;
}

.detailsArea .item2row {
	height: 42px;
	line-height: 42px;
}

.detailsArea .item .inline {
	display: inline-block;
}

.detailsArea .item .middle {
	vertical-align: middle;
}

.detailsArea .item .value .station {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.detailsArea .item .value .station .stationName {
	text-align: left;
	min-width: 120px;
}

.detailsArea .item .value .station .time {
	text-align: right;
	width: 60px;
}

#creditInfoList {
    background-color: rgb(255, 210, 210) !important;
    padding: 5px 10px;
}

#creditInfoList .creditInfoImg{
    margin: 5px 5px 0px 0px;
    float: left;
}

#creditInfoList .creditInfo{
    margin: 5px 5px 0px 10px;
}

#pointInfoList {
    background-color: rgb(255, 210, 210) !important;
    padding: 5px 0px;
}

#pointInfoList .creditInfoImg{
    margin: 5px 5px 0px 0px;
    float: left;
}

#pointInfoList .creditInfo{
    margin: 5px 5px 0px 10px;
}

.paymentInfo {
    color: #c00000;
}

#content .selectionBox {
    display: inline-block;
    position: relative;
    width: 100%;
    line-height: 20px;
    margin-bottom: 5px;
    background-color: white;
    font-size: 13px;
    -webkit-tap-highlight-color: initial;
}

#content .selectionArea {
    border: solid 1px #a0a0a0;
    display: inline-block;
    width: 100%;
    color: #262626;
    text-decoration: none;
    cursor: default;
    height: 28px;
}

#content .selectionArea span {
    display: inline-block;
    height: 20px;
    cursor: default;
    padding: 5px 8px;
}

#content .dropdownListBox {
    border: solid 1px #a0a0a0;
    width: 100%;
    position: absolute;
    top: 28px;
    background: #fff;
}

#content .dropdownListBox a {
	padding: 7px 8px;
	display: block;
	cursor: default;
	color:black;
	text-decoration:none;
	border-bottom: solid 1px #dfdfdf;
}









/* あたらしいアイコン */
.iconELink {
	display: block;
	margin-top: 8px;
	margin-left: 0px;
	color: #000;
	position: absolute;
	width: 10px;
	height: 10px;
	border: solid 1px #0070c0;
}

.iconELink:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 10px;
	height: 10px;
	border: solid 1px #0070c0;
	background-color: #FFF;
}

.iconLang {
	font-size: 0.5rem;
	text-align: center;
	line-height: 12px;
	color: #000;
	position: absolute;
	margin-left: 5px;
	margin-top: 16px;
	width: 15px;
	height: 12px;
	border: solid 2px #0070c0;
	border-radius: 2px;
}

.iconLang:before {
	content: '';
	position: absolute;
	left: 2px;
	top: 12px;
	height: 5px;
	border-left: solid 2px #0070c0;
}

.iconLang:after {
	content: '';
	position: absolute;
	left: 4px;
	top: 12px;
	height: 5px;
	-webkit-transform: rotate(35deg);
	transform: rotate(45deg);
	border-left: solid 2px #0070c0;
}

.iconRoute {
	display: block;
	margin-top: 7px;
	color: #000;
	position: absolute;
	width: 10px;
	height: 5px;
	border-top: solid 1px #0070c0;
	border-bottom: solid 1px #0070c0;
}

.iconRoute:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 0;
	width: 10px;
	height: 5px;
	border-top: solid 1px #0070c0;
	border-bottom: solid 1px #0070c0;
}

.iconRoute:after {
	content: '';
	position: absolute;
	top: -3px;
	left: 1px;
	width: 6px;
	height: 14px;
	border-left: solid 1px #0070c0;
	border-right: solid 1px #0070c0;
}

.iconSwap {
	display: block;
	margin-top: 6px;
	color: #000;
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 20px;
	border: solid 1px #0070c0;
}

.iconSwap:before {
	content: '';
	position: absolute;
	left: -3px;
	top: -2px;
	width: 0;
	height: 0;
	border-top: solid 1px #dedede;
	border-bottom: solid 5px #0070c0;
	border-left: solid 3px #dedede;
	border-right: solid 3px #dedede;
}

.iconSwap:after {
	content: '';
	position: absolute;
	right: -3px;
	bottom: -2px;
	width: 0;
	height: 0;
	border-top: solid 5px #0070c0;
	border-bottom: solid 1px #dedede;
	border-left: solid 3px #dedede;
	border-right: solid 3px #dedede;
}

.iconSearch {
	display: block;
	position: absolute;
	margin-top: 8px;
	margin-left: 12px;
	width: 15px;
	height: 15px;
	border: solid 2px #FFF;
	border-radius: 100%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.iconSearch:before {
	content: '';
	position: absolute;
	top: 17px;
	left: 6px;
	height: 7px;
	width: 2px;
	background-color: #FFF;
}


.iconNotice {
	display: block;
	margin-top: 4px;
	margin-left: 0px;
	position: absolute;
	width: 20px;
	height: 20px;
	border: solid 1px #0070c0;
	border-radius: 100%;
	background-color: #0070c0;
	color: #FFF;
	line-height: 20px;
	text-align: center;
	font-weight: bold;
}

.iconNotice:after {
	content: '!';
}

.iconNoticeOrange {
	display: block;
	margin-top: 0px;
	margin-left: 0px;
	position: absolute;
	width: 20px;
	height: 20px;
	border: solid 1px #ff4b00;
	border-radius: 100%;
	background-color: #ff4b00;
	color: #FFF;
	line-height: 20px;
	text-align: center;
	font-weight: bold;
}

.iconNoticeOrange:after {
	content: 'i';
}

.iconError {
	display: block;
	margin-top: 4px;
	margin-left: 0px;
	position: absolute;
	width: 20px;
	height: 20px;
	border: solid 1px #c00000;
	border-radius: 100%;
	background-color: #c00000;
	color: #FFF;
	line-height: 20px;
	text-align: center;
	font-weight: bold;
}

.iconError:after {
	content: '!';
}


.iconMail {
	display: block;
	margin-top: 6px;
	color: #000;
	position: absolute;
	width: 15px;
	height: 11px;
	border: solid 1px #0070c0;
	background-color: #fff;
}

.iconMail:before {
	content: '';
	position: absolute;
	left: 7px;
	top: -4px;
	width: 1px;
	height: 10px;
	background-color: #0070c0;
	-webkit-transform-origin: bottom;
	transform-origin: bottom;
	-webkit-transform: rotate(-54deg);
	transform: rotate(-54deg);
}

.iconMail:after {
	content: '';
	position: absolute;
	left: 7px;
	top: -4px;
	width: 1px;
	height: 10px;
	background-color: #0070c0;
	-webkit-transform-origin: bottom;
	transform-origin: bottom;
	-webkit-transform: rotate(54deg);
	transform: rotate(54deg);
}




/* アニメーションアイコン */
.iconToggle1,
.iconToggle1 span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.iconToggle1 {
	height: 20px;
	width: 20px;
	float: right;
	position: relative;
	border-radius: 50%;
	top: 5px;
	background-color: #0070c0;
}

.iconToggle1 span {
	position: absolute;
	left: 5px;
	width: 50%;
	height: 2px;
	background-color: #FFF;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}

.iconToggle1 span:nth-of-type(1) {
	top: 9px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
}

.iconToggle1 span:nth-of-type(2) {
	top: 9px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
}

.iconToggle1.active span:nth-of-type(1) {
	display: none;
}
.iconToggle1.active span:nth-of-type(2) {
	top: 9px;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}


/* スマホ用丸枠アイコン */
.iconCircle{
  width: 15px;
  height: 15px;
  border: solid 3px #0070c0;
  border-radius: 50%;
  float: left;
  margin-top: 4px;
  margin-left: 10px;
}

/* スマホ用×アイコン */
.iconCross{
    display: block;
    width: 19px;/*枠の大きさ*/
    height: 10px;/*枠の大きさ*/
    position: relative;
    margin-top: 10px;
    margin-left: 12px;
    float: left;
}

.iconCross::before, .iconCross::after{
    content: "";
    display: block;
    width: 100%;/*バツ線の長さ*/
    height: 3px;/*バツ線の太さ*/
    background: #c00000;
    transform: rotate(45deg);
    transform-origin:0% 50%;
    position: absolute;
    top: calc(14% - 5px);
    left: 14%;
}

.iconCross::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: auto;
    right: 14%;
}

/* スマホ用三角アイコン(橙) */
.iconTriangle-or {
	position: relative;
	margin-top: 5px;
	margin-left: 12px;
	margin-right: 19px;
	float: left;
}

.iconTriangle-or::before, .iconTriangle-or::after {
	content: "";
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ee7b00 transparent;
	position: absolute;
}

.iconTriangle-or::after {
	border-style: solid;
	left: 2px;
	top: 1.5px;
	border-width: 0 8px 13.9px 8px;
	border-color: transparent transparent #FFF transparent;
}

	.line-height-40 {
	line-height: 40px !important;
	}

.processingModal {
    background-color: #fff;
    position: absolute;
    width: 300px;
    display: none;
    z-index: 1;
}

.processingModalOn {
    display: block;
    z-index: 9;
    margin-right: 0px;
}

#waitProgress {
	font-size: 1.1em;
	height:60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dialogContent {
	font-size: 1.1em;
}

.loader {
	margin-right: 28px;
	box-sizing: border-box;
	width: 13px;
 	height: 13px;
 	border-radius: 50%;
 	box-shadow:
    0 -20px 0 #eee,     /*  上  */
    14px -14px 0 #ddd,  /* 右上 */
    20px 0 0 #ccc,      /*  右  */
    14px 14px 0 #bbb,   /* 右下 */
    0 20px 0 #aaa,      /*  下  */
    -14px 14px 0 #999,  /* 左下 */
    -20px 0 0 #666,     /*  左  */
    -14px -14px 0 #000; /* 左上 */
  	animation: rotate 1s steps(8) 0s infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}


.selectList.halfSelect {
	width: 49% !important;
}

.br::after {
	content: "\A";
   	white-space: pre;
	display: block;
}

@media screen and (min-width: 700px) {

	input[type=text]::placeholder{
		font-size: 1.8rem;
	}

	input[type=password]::placeholder{
		font-size: 1.8rem;
	}

	.pdg-10 {
		padding: 10px 50px;
	}

	.supplement {
		font-size: 1.6rem;
	}

	#content .required {
		line-height: 30px;
		margin-left: 10px;
		padding: 3px 15px;
		font-size: 1.6rem;
	}

	#infoArea .announceList {
    	padding: 0px 25px;
    	width: auto;
	}

	.announceList .announce {
		line-height: 50px;
		margin: 10px 0px;
	}

	.announceList .ac-check:checked + .ac-label + .ac-content {
		line-height: 30px;
	}

	.input {
		margin-top: 30px;
	}

	.input .title {
		line-height: 40px;
	}

	.input .systemErrorContent {
		text-align: left;
		padding-left: 30%;
	}

	#vacancyInquiry .ac-label {
		line-height: 50px;
		width: 50%;
	}

	#vacancyInquiry .ac-content {
		content: "";
		width: 50%;
	}

	.selectDeparture, .selectArrival {
		line-height: 50px;
	}

	.input .f-container {
		display: flex;
		flex-wrap: wrap;
	}

	#vacancyInquiry .routeList {
		width: 90%;
		font-size: 1.4rem;
	}

	#vacancyInquiry .route {
		width: 250px;
		margin: 5px;
	}

	.selectList {
		width: 100%;
		line-height: 50px;
		margin-top: 10px;
		font-size: 1.8rem;
	}

	.iconELink {
		display: block;
		margin-top: 10px;
		margin-left: 0px;
		color: #000;
		position: absolute;
		width: 15px;
		height: 15px;
		border: solid 2px #0070c0;
	}

	.iconELink:before {
		content: '';
		position: absolute;
		top: 3px;
		left: 3px;
		width: 15px;
		height: 15px;
		border: solid 2px #0070c0;
		background-color: #FFF;
	}

	.iconLang {
		font-size: 0.9rem;
		line-height: 20px;
		margin-left: 15px;
		margin-top: 18px;
		width: 20px;
		height: 17px;
		border: solid 3px #0070c0;
		border-radius: 2px;
	}

	.iconLang:before {
		left: 2px;
		top: 17px;
		height: 7px;
		border-left: solid 3px #0070c0;
	}

	.iconLang:after {
		left: 4px;
		top: 17px;
		height: 7px;
		border-left: solid 3px #0070c0;
	}

	.iconArrow {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 0 6px 8px;
		border-color: transparent transparent transparent #636363;
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -8px;
		margin-left: 18px;
	}

	.iconRoute {
		margin: 10px 13px;
		width: 20px;
		height: 10px;
		border-top: solid 2px #0070c0;
		border-bottom: solid 2px #0070c0;
	}
	.iconRoute:before {
		top: 4px;
		left: 0;
		width: 20px;
		height: 10px;
		border-top: solid 2px #0070c0;
		border-bottom: solid 2px #0070c0;
	}

	.iconRoute:after {
		top: -4px;
		left: 2px;
		width: 12px;
		height: 25px;
		border-left: solid 2px #0070c0;
		border-right: solid 2px #0070c0;
	}

	.iconSwap {
		margin: 8px 10px;
		width: 20px;
		height: 20px;
		border-radius: 20px;
		border: solid 2px #0070c0;
	}

	.iconSwap:before {
		left: -6px;
		top: -2px;
		width: 0;
		height: 0;
		border-top: solid 2px #dedede;
		border-bottom: solid 10px #0070c0;
		border-left: solid 5px #dedede;
		border-right: solid 5px #dedede;
	}

	.iconSwap:after {
		right: -6px;
		bottom: -2px;
		width: 0;
		height: 0;
		border-top: solid 10px #0070c0;
		border-bottom: solid 2px #dedede;
		border-left: solid 5px #dedede;
		border-right: solid 5px #dedede;
	}

	.iconNotice {
		margin-top: -1px;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}

	.iconNoticeOrange {
		margin-top: -1px;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}

	.iconToggle1 {
		height: 30px;
		width: 30px;
		top: 5px;
	}

	.iconToggle1 span {
		left: 8px;
	}

	.iconToggle1 span:nth-of-type(1) {
		top: 14px;
	}

	.iconToggle1 span:nth-of-type(2) {
		top: 14px;
	}

	.iconToggle1.active span:nth-of-type(2) {
		top: 14px;
	}

	.iconSearch {
		margin-top: 14px;
		margin-left: 18px;
	}

	.trainList .train {
		padding: 10px 50px;
		display: flex;
	}

	.train .trainInfo {
		width: 350px;
	}

	.train .nameRow .name {
		line-height: 46px;
		font-size: 2.0rem;
	}

	.train .station .name {
		width: 100%;
	}

	.train .station .time {
		width: 100px;
	}

	.train .operation {
		width: 160px;
		margin: 0px auto;
		float: none;
	}

	.train .operation .suspended {
		float: none;
		margin-bottom: 10px;
		height: 35px;
		line-height: 35px;
		width: 150px;
	}

	.train .operation .vacancy {
		float: none;
		margin-left: 0px;
		height: 70px;
		line-height: 70px;
		width: 150px;
	}

	.train .operation .info {
		clear: none;
		width: 550px;
	}

	.train .buy {
		float: none;
		clear: none;
	}

	.train .buy a {
		margin-left: 10px;
		padding: 10px 0px;
		float: left;
		width: 180px;
	}

	.train .buy .nonMember {
		line-height: 25px;
	}

	.train .buy .member {
		line-height: 50px;
	}

	.navi .prevNext a {
		width: 30%;
		line-height: 50px;
	}

	#termsOfUse .content {
		height: 500px;
		margin-top: 10px;
	}

	.content .text {
		font-size: 1.4rem;
	}

	.input .textBox {
		line-height: 30px;
		font-size: 1.8rem;
	}

	.iconError {
		width: 30px;
		height: 30px;
		line-height: 30px;
	}

	.error .message {
		margin-left: 40px;
		line-height: 40px;
	}

	.iconMail {
		margin-top: 9px;
		width: 30px;
		height: 20px;
		border: solid 2px #0070c0;
	}

	.iconMail:before {
		left: 14px;
		top: -9px;
		width: 2px;
		height: 20px;
	}

	.iconMail:after {
		left: 14px;
		top: -9px;
		width: 2px;
		height: 20px;
	}

	#useInfoInput-wheelChair .peopleType,
	#useInfoInput .peopleType {
		line-height: 40px;
		float: left;
	}

	#useInfoInput-wheelChair .people,
	#useInfoInput .people {
		line-height: 50px;
		width: 100px;
	}

	#useInfoInput-wheelChair .total,
	#useInfoInput .total {
		line-height: 50px;
	}

	#useInfoInput-wheelChair .seatCondition,
	#useInfoInput .seatCondition {
		line-height: 50px;
		width: 170px;
	}

	#useInfoInput-wheelChair .notSpecify,
	#useInfoInput .notSpecify {
		width: 170px;
	}

	#useInfoInput-wheelChair .multiLine,
	#useInfoInput .multiLine {
		line-height: 25px;
	}

	.titleSub .titleSubBtn {
	    top: 7px;
		height: 36px;
		line-height: 36px;
		width: 100px;
		margin-right: 20px;
		font-size: 1.6rem;
	}

	.titleSub .refresh {
		width: 160px !important;
	}

	#carNumberInput .backTrainSpecify {
		width: 30%;
		line-height: 40px;
		margin: 15px auto;
		font-size: 1.6rem;
	}

	#seatNumberInput .backCarNumberSpecify {
		width: 30%;
		line-height: 40px;
		background-color: #ccc;
		margin: 15px auto;
		font-size: 1.6rem;
	}

	#carNumberInput .carNumber {
		width: 50%;
		line-height: 50px;
		font-size: 1.8rem;
	}

	#carNumberInput .carNumberFull {
		width: 50%;
		line-height: 50px;
		font-size: 1.8rem;
	}

	#seatNumberInput .seatMapForWheelChairSeat,
	#seatNumberInput .seatMap {
		width: 50%;
		font-size: 1.8rem;
	}

	.seatMapForWheelChairSeat table .wheelchairCare,
	.seatMap table .wheelchairCare{
	    height:16px;
	    text-align:left !important;
		margin-top: -10px;
		margin-left: 4px;
		margin-bottom: -4px;
		font-size: 1.5rem;
	}


	.integrationNotice {
	    background-color: #eee;
	    position: absolute;
	    width: 700px;
	    display: none;
	    z-index: 1;
	}

	.integrationNoticeOn {
	    display: block;
	    z-index: 9;
	    margin-right: 0px;
	}

	.paypayGuide {
	    background-color: #eee;
	    position: absolute;
	    width: 700px;
	    display: none;
	    z-index: 1;
	}

	.paypayGuideOn {
	    display: block;
	    z-index: 9;
	    margin-right: 0px;
	}

	.withdrawalGuide {
	    background-color: #fff;
	    position: absolute;
	    width: 700px;
	    display: none;
	    z-index: 1;
	}

	.withdrawalGuideOn {
	    display: block;
	    z-index: 9;
	    margin-right: 0px;
	}

	.checkbox::before {
	margin-top: -14px;
	}

	.statusArea .name {
	font-size:1.8rem;
	}

	.catgory.item .name {
	font-size:1.8rem;
	}

	.memberMenuArea {
    margin-top: 100px;
    overflow: hidden;
	}

	.detailsArea .item .name {
	width: 110px;
	font-size: 1.6rem;
	}
	.detailsArea .item .smallname {
	width: 110px;
	font-size: 1.3rem;
	}

	.detailsArea .item .value .station .time {
	width: 80px;
	margin-right: 90px;
	}

	.detailsArea .item .value .station {
	float: left;
	}

	.statusArea {
	font-size: 1.8rem;
	}

	.statusArea .contentItem {
	font-size: 1.8rem !important;
	}

	.iconCaution {
	height: 30px;
	line-height: 30px;
	width: 62px;
	font-size: 1.6rem;
	background-color: #ff00ff;
	color: #fff;
	border-radius: 3px;
	text-align: center;
	}

	.cautionComment {
		padding-left: 40px;
		width: 85%;
	}

	.cautionCommentNoWidth {
		padding-left: 40px;
	}

	.iconSuspended {
	line-height: 30px;
	width: 280px;
	}

	#seatNumberInput #selectCarNumber {
	margin-left: 180px;
	}

	#contentCenterLayout .sidePdg-10 .iconCaution {
	margin-left: 40px;
	}

	.catgory.item .value {
	padding: 5px 10px;
	}

	.detailsArea .item .value {
	margin-left: 2px
	}

	.cautionSection {
	padding-bottom: 8px;
	}

	.detailsArea .item .value .station .stationName {
	min-width: 150px;
	}

	.detailsArea .item span {
	line-height: 30px;
	}

	.detailsArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	padding: 5px 0px;
	}

	.detailsArea .item {
	height: 32px;
	}

	.detailsArea .item2row {
	height: 64px;
	line-height: 64px;
	}

	/* pc用幅設定（1/2） */
	.halfWidth {
	width: 50% !important;
	}

	/* pc用幅設定（1/4） */
	.quattroWidth {
	width: 25% !important;
	}

	.quattroWidth .value {
	min-width: 36px !important;
	}

	.statusArea .status.purchased {
	line-height: 30px;
	padding: 0 15px;
	}

	.statusArea .status.refunded {
	line-height: 30px;
	padding: 0 15px;
	}

	.statusArea .status.departed {
	line-height: 30px;
	padding: 0 15px;
	}

	.statusArea .status.transferred {
	line-height: 30px;
	padding: 0 15px;
	}
	.statusArea .status.received {
	line-height: 30px;
	padding: 0 15px;
	}

	.statusArea .status{
	font-size: 1.6rem;
	line-height: 30px !important;
	padding: 0 15px !important;
	margin-bottom: 5px !important;
	}

	/* pc用margin-top */
	.mgn-t5-pc {
	margin-top: 5px !important;
	}

	/* pc用margin-left */
	.mgn-l5-pc {
	margin-left: 5px !important;
	}

	/* pc用margin-bottom */
	.mgn-b20-pc {
	margin-bottom: 20px !important;
	}

	.cautionSentence {
	font-size: 1.6rem;
	}

	/* pc用丸枠アイコン */
	.iconCircle {
		width: 40px;
		height: 40px;
		border: solid 4px #0070c0;
		border-radius: 50%;
		float: left;
		margin-top: 10px;
		margin-left: 10px;
	}

	/* pc用×アイコン */
	.iconCross {
		display: block;
		width: 55px; /*枠の大きさ*/
		height: 55px; /*枠の大きさ*/
		position: relative;
		margin-top: 10px;
		margin-left: 3px;
		float: left;
	}

	.iconCross::before, .iconCross::after {
		content: "";
		display: block;
		width: 100%; /*バツ線の長さ*/
		height: 4px; /*バツ線の太さ*/
		background: #c00000;
		transform: rotate(45deg);
		transform-origin: 0% 50%;
		position: absolute;
		top: calc(14% - 5px);
		left: 14%;
	}

	.iconCross::after {
		transform: rotate(-45deg);
		transform-origin: 100% 50%;
		left: auto;
		right: 14%;
	}

	/* pc用三角アイコン(橙) */
	.iconTriangle-or {
		position: relative;
		margin-top: 14px;
		margin-left: 10px;
		margin-right: 40px;
		float: left;
	}

	.iconTriangle-or::before, .iconTriangle-or::after {
		content: "";
		border-style: solid;
		border-width: 0 22.5px 39.0px 22.5px;
		border-color: transparent transparent #ee7b00 transparent;
		position: absolute;
	}

	.iconTriangle-or::after {
		border-style: solid;
		left: 7px;
		top: 7.5px;
		border-width: 0 15.0px 26.0px 15.0px;
		border-color: transparent transparent #FFF transparent;
	}

	.mgn-l5-r233-pc {
		margin-left: 5px !important;
		margin-right: 233px !important;
	}

	.mgn-l100-r233-pc {
		margin-left: 100px !important;
		margin-right: 233px !important;
	}

	#termsOfUse .input {
		text-align: center;
		font-size: 2.0rem;
	}

	.line-height-40 {
	line-height: 60px !important;
	}

	.height-60 {
	height: 60px !important;
	}


	.branchManage-label {
    padding: 15px 58px;
	}

	.departureArrivalType-label {
    padding: 15px 190.83px;
	}

	.fz-20{
		font-size: 24px;
	}

	.tx-center{
		text-align: center;
	}

	#seatNumberInput .usageGuide {
		line-height: 40px;
		padding: 0px 20px;
		font-size: 1.6rem;
	}

	#seatNumberInput .usageGuideList {
		font-size: 1.6rem;
	}

	.usageGuideList .guideItem {
		width: 200px;
	}

	.usageGuideList .guideIcon {
		width: 84px;
	}

	.usageGuideList .guideText {
		width: 116px;
	}

	.usageGuideAlwaysViewList .guideItem {
		width: 150px;
	}

	.usageGuideAlwaysViewList .guideText {
		width: 69px;
	}

	.usageGuideAlwaysViewList .guideIcon {
		width: 85px;
		border: solid 1px #ccc !important;
	}

	#seatNumberInput .iconVacancy {
		font-size: 1.8rem;
	}

	#seatNumberInput .iconFully {
		font-size: 1.8rem;
	}

	#seatNumberInput .iconWindow {
		margin-left: -44px;
	}

	#seatNumberInput .iconCrossSeat {
		font-size: 1.8rem;
		width: 85px;
		height: 50px;
	}

	#seatNumberInput .iconLongSeat {
		font-size: 1.8rem;
		width: 85px;
		height: 50px;
	}

	#selectedSeatList div {
		line-height: 30px;
		padding: 10px 20px;
	}

	.processingModal {
	    background-color: #eee;
	    position: absolute;
	    width: 700px;
	    display: none;
	    z-index: 1;
	}

	.processingModalOn {
	    display: block;
	    z-index: 9;
	    margin-right: 0px;
	}

	.catgory.item .value {
		font-size: 1.8rem;
	}

	#seatNumberInput .usageGuideAlwaysViewList {
		display: block;
		font-size: 1.6rem;
	}

	#content .fontBold {
		font-weight: bold;
	}
}