@charset "utf-8";

/* railpass*/
ul.droppoff li{
	list-style: none;
	color: green;
	font-size: 18px;
	margin-left:1.5em;
	text-indent:-1.5em;
	padding-left: 0px;
	margin-left: 0px;
}


/* kitaca*/
.kitaca ul.cardtype li{
	list-style: none;
	text-align: center;

}


@media screen and (max-width: 640px) {
  ul.cardtype li {
	margin-bottom: 20px;
  }
}


.comment{
	font-size: 13px;
}

.kitaca .map-text{
	color: #008000;
	width: 100%;
	max-width: 600px;
	margin: 10px auto;
	text-align: left;
}
.kitaca-areatxt{
	padding-left: 1em!important;
}
/* ticket*/


@media screen and (min-width: 650px) {
	.ticket .balloon1 {
 	position: relative;
	display: inline-block;
	}

.ticket .balloon1 :before{
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid rgb(200, 203, 200);
	}
	
  
}



@media screen and (max-width: 649px) {
	.ticket .balloon1 {
 	position: relative;
	display: inline-block;
	}

.ticket .balloon1 :before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid rgb(200, 203, 200);
	}
	
  
}


.color-lightgreen{
	background-color:#c7efc6;
}

.color-lightblue{
	background-color:#C3DDED;
}


/* otoku*/

@media screen and (max-width: 1020px) {
  .otoku h3.line-1 {
	margin-bottom: 2em;
  }
}

.green{
	color: green;
}


.dealsbtn{
	padding:0px 20px;
}
.dealsbtn p a{
	display: block;
	padding: 4px;
	line-height: 200%;
	border: 1px solid green;
}

.dealsbtn p a:hover{
	text-decoration: none;
}


p .redunderline{
	color: red;
	border-bottom: solid 1px red;
}


.newyear a{
	color: red;
}


a:hover.youtube img {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.red{
	color: red;
}

/* railpass-renew*/

dt.bordertp-none{
	border-top: none;
}
li.bordertp-none{
	border-top: none;
}
li.borderbtm-none{
	border-bottom: none!important;
}
ul.kome{
	padding-left: 0px;
}
ul.kome li{
	list-style: none;
	padding-left: 1em;
    text-indent: -1em;
}

.wb{
	word-break: break-all;
}


.nav-container {
	border-top: 1px solid #eceeef;
	border-bottom: 1px solid #eceeef;
	padding: 15px;
	background-color: #218325;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
	width: 100%;
}

@media (max-width: 416px){
	#rail-nav{
		display: none;
	}
}

.nav-container #rail-nav{
	margin-right: auto;
    margin-left: auto;
	} 
@media (max-width: 414px){
	#rail-nav{
		display: none;
	}
}

.navlist-02 ul {
    overflow: hidden;
    width: 100%;
    margin-bottom: 0;
    padding: 0;
}
.navlist-02 ul li {
    font-size: 1.6rem;
    position: relative;
    margin-bottom: .5em;
    padding-left: 1.9rem;
}
.ul-style-inline li {
    display: inline-block;
    margin-right: 20px;
}
.navlist-02 ul li a{
	color: #ffffff;
}
.navlist-02 ul li a:before {
    font-family: icon!important;
    font-size: 1.4rem;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    position: absolute;
    top: .25em;
    bottom: 0;
    left: 0;
    text-transform: none;
    color: #ffffff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.navlist-02 ul li a:before {
    content: '\e90e';
}
.fixed {
	position: fixed;
	top: 80px;
	z-index: 1000;
}
@media (max-width: 766px){
	.fixed {
	top: 50px;
	}
}
@media (max-width: 415px){
	.nav-container{
		padding: 0px;
	}
}
.nav-container .dropmenu {
	width: 100%;
	margin: 0 auto;
	padding-left: 0px;
}
@media (min-width: 415px){
	.dropmenu{
		display: none;
	}
}

.dropmenu li {
	position: relative;
	list-style: none;
}
.dropmenu li a {
	display: block;
	margin: 0;
	padding: 10px 30px;
	font-size: 14px;
	line-height: 1;
	background: #218325;;
	color: #ffffff;
	cursor: pointer;
	text-decoration: none;
}
.dropmenu li a:before {
	content: '';
	display: inline-block;
	position: absolute;
	left: 15px;
	top: 40%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #FFFFFF transparent transparent transparent;
}
.dropmenu li ul {
	position: absolute;
	width: 100%;
	z-index: 9999;
	top: 100%;
	left: 0;
	padding: 0px;
}
.dropmenu li ul li{
	overflow: hidden;
	height: 0;
	transition: .2s;
}
.dropmenu li ul li a{
	background: #218325;
	color: #fff;
}

.dropmenu li ul li a:before {
	content: '';
	display: inline-block;
	position: absolute;
	left: 15px;
	top: 43%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 5px 0 5px;
	border-color: #FFFFFF transparent;
}
.dropmenu li ul li:first-child a{
	border-top: none;
}

@media screen and (max-width: 600px) {
	.dropmenu li.active_sp a:before {
		transform: rotate(270deg);
		transition: .1s;
	}
	.dropmenu li.active_sp ul li{
		overflow: visible;
		height: 30px;
	}
}



#noboribetsu,
#furano,
#hrp{
	display: block;
   margin-top:-80px;
   padding-top:20px;
}
.white{
	color: #ffffff!important;
}

#noboribetsu .title-block{
	position: relative;
	margin: 120px 0px 0px;
}
@media screen and (max-width: 767px){
	#noboribetsu .title-block{
		margin-top:80px;
	}
}
#noboribetsu img.new-station{
	position: absolute;
	left: 2%;
	top: -211%;
    width: 18%;

}
@media screen and (max-width: 1019px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -216%;
    width: 25%;
	}
}
@media screen and (max-width: 768px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -198%;
    width: 23%;
	}
}
@media screen and (max-width: 767px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -97%;
    width: 23%;
	}
}
@media screen and (max-width: 605px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -90%;
    width: 23%;
	}
}
@media screen and (max-width: 504px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -75%;
    width: 23%;
	}
}
@media screen and (max-width: 490px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -65%;
    width: 30%;
	}
}
@media screen and (max-width: 415px){
	#noboribetsu img.new-station{
	position: absolute;
    top: -68%;
    width: 32%;
	}
}
@media screen and (max-width: 376px){
	#noboribetsu img.new-station{
	position: absolute;
	top: -64%;
    width: 34%;
	}
}
@media screen and (max-width: 320px){
	#noboribetsu img.new-station{
	position: absolute;
	top: -52%;
    width: 33%;
	}
}
#noboribetsu img.new{
	position: absolute;
	right: 5%;
    top: -70%;
    width: 20%;
}
@media screen and (max-width: 1020px){
	#noboribetsu img.new{
		top: -120%;
		width: 25%;
		right: 2%;
	}
}
@media screen and (max-width: 768px){
	#noboribetsu img.new{
		top: -120%;
		width: 25%;
		right: 2%;
	}
}
@media screen and (max-width: 767px){
	#noboribetsu img.new{
		top: -40%;
		width: 30%;
	}
}
@media screen and (max-width: 504px){
	#noboribetsu img.new{
		top: -40%;
		width: 33%;
		right: 2%;
	}
}
@media screen and (max-width: 490px){
	#noboribetsu img.new{
		top: -15%;
		width: 33%;
		right: 2%;
	}
}
@media screen and (max-width: 415px){
	#noboribetsu img.new{
		top: -15%;
		width: 33%;
		right: 2%;
	}
}
@media screen and (max-width: 400px){
	#noboribetsu img.new{
		top: -25%;
		width: 40%;
	}
}

#noboribetsu h2{
	color: #ffffff;
	margin: 80px 0px 0px;
	padding: 10px 20px;
	background: #cb4f1d;
	overflow: hidden;
	position: relative;
	font-size: 3.8rem;
}
@media screen and (max-width: 415px){
	#noboribetsu h2{
		font-size: 3.4rem;
	}
}
#noboribetsu h2:before {
	background-color: #fff; /* 切り替わる色 */
	content: '';
	display: block;
	opacity: 0.8; /* 不透明度 */
	transform: rotate(30deg);
	position: absolute;
	top: -140%;
    right: -13%;
	width: 500px;
	height: 500px;
}
@media screen and (max-width: 768px){
	#noboribetsu h2:before{
		right: -70%;
	}
}
@media screen and (max-width: 600px){
	#noboribetsu h2:before{
		right: -80%;
		top: -100%;
	}
}
@media screen and (max-width: 415px){
	#noboribetsu h2:before{
		top: -130%;
		right: -50%;
		width: 200px;
		height: 500px;
		transform: rotate(40deg);
	}
}
#noboribetsu h3{
	font-family: 'Roboto', sans-serif;
	color: #cb4f1d;
	margin: 0px 0px 30px;;
}

#noboribetsu .noboribetsu-contents{
	margin-top: 0px;
	border-right: solid 2px #cb4f1d; 
	border-bottom: solid 2px #cb4f1d;
	border-left: solid 2px #cb4f1d;
	padding: 20px;
	background-color: #ffffff;
}

.noboribetsu-contents h4{
	color: #F59446;
	margin-bottom: 30px;
	font-size: 2.6rem;
	border-left: solid 8px #F3931F;
	padding-left: 10px;
}
.noboribetsu-contents table.pricelist th,
.noboribetsu-contents table.pricelist td{
	color: #303030;
}
.noboribetsu-contents table.pricelist th{
	font-size: 1.8rem;
}
@media screen and (max-width: 415px){
	.noboribetsu-contents table.pricelist th{
	font-size: 1.6rem;
	}
}
.noboribetsu-contents table.pricelist th.fare{
	background-color: #e9b38f;
}
.noboribetsu-contents table.pricelist th.place{
	background-color: #f8e6d8;
}
.noboribetsu-contents table.pricelist td{
	font-size: 2.2rem;
}
@media screen and (max-width: 415px){
	.noboribetsu-contents table.pricelist td{
	font-size: 2.0rem;
	}
}
.noboribetsu-contents table.pricelist td.outside{
	color: #F59446;
	font-weight: bold;
}
.noboribetsu-contents dl.detail{
	border-bottom: none;
}
.noboribetsu-contents dl.detail dt{
	background-color: #F59446;
	padding: 5px 10px;
	color: #ffffff;
	font-size: 2.0rem;
	border-top: none;
	margin-bottom: 10px;
	border-left: solid 10px #FFD17E;
}
.noboribetsu-contents dl.detail dd{
	padding: 5px 10px;
	margin-bottom: 20px;
	border-bottom: none;
}


#furano .title-block{
	position: relative;
	margin: 180px 0px 0px;
}
@media screen and (max-width: 767px){
	#furano .title-block{
		margin-top:140px;
	}
}

#furano img.new-station{
	position: absolute;
	left: 2%;
	top: -211%;
    width: 18%;

}
@media screen and (max-width: 1019px){
	#furano img.new-station{
	position: absolute;
    top: -216%;
    width: 25%;
	}
}
@media screen and (max-width: 768px){
	#furano img.new-station{
	position: absolute;
    top: -197%;
    width: 23%;
	}
}
@media screen and (max-width: 767px){
	#furano img.new-station{
	position: absolute;
    top: -166%;
    width: 23%;
	}
}
@media screen and (max-width: 650px){
	#furano img.new-station{
	position: absolute;
    top: -97%;
    width: 23%;
	}
}
@media screen and (max-width: 605px){
	#furano img.new-station{
	position: absolute;
    top: -88%;
    width: 23%;
	}
}
@media screen and (max-width: 504px){
	#furano img.new-station{
	position: absolute;
    top: -74%;
    width: 23%;
	}
}
@media screen and (max-width: 490px){
	#furano img.new-station{
	position: absolute;
    top: -91%;
    width: 30%;
	}
}
@media screen and (max-width: 415px){
	#furano img.new-station{
	position: absolute;
    top: -95%;
    width: 32%;
	}
}
@media screen and (max-width: 376px){
	#furano img.new-station{
	position: absolute;
	top: -91%;
    width: 34%;
	}
}
@media screen and (max-width: 320px){
	#furano img.new-station{
	position: absolute;
	top: -53%;
    width: 33%;
	}
}
#furano img.new{
	position: absolute;
	right: 2%;
    top: -40%;
    width: 23%;
}
@media screen and (max-width: 768px){
	#furano img.new{
		top: -60%;
		width: 28%;
	}
}
@media screen and (max-width: 650px){
	#furano img.new{
		top: -20%;
		width: 40%;
	}
}
@media screen and (max-width: 415px){
	#furano img.new{
		right: 0%;
		top: -20%;
		width: 48%;
	}
}
@media screen and (max-width: 400px){
	#furano img.new{
		top: -20%;
		width: 50%;
	}
}
#furano h2{
	color: #ffffff;
	margin: 100px 0px 0px;
	padding: 10px 20px;
	background: #8a3b72;
	overflow: hidden;
	position: relative;
	font-size: 3.8rem;
}
@media screen and (max-width: 415px){
	#furano h2{
		font-size: 3.4rem;
	}
}
#furano h2:before {
	background-color: #fff; /* 切り替わる色 */
	content: '';
	display: block;
	opacity: 0.8; /* 不透明度 */
	transform: rotate(30deg);
	position: absolute;
	top: -140%;
    right: -13%;
	width: 500px;
	height: 500px;
}
@media screen and (max-width: 768px){
	#furano h2:before{
		right: -70%;
	}
}
@media screen and (max-width: 600px){
	#furano h2:before{
		right: -80%;
		top: -100%;
	}
}
@media screen and (max-width: 415px){
	#furano h2:before{
		top: -130%;
		right: -35%;
		width: 200px;
		height: 500px;
		transform: rotate(40deg);
	}
}
#furano h3{
	font-family: 'Roboto', sans-serif;
	color: #8a3b72;
	margin: 0px 0px 30px;;
}

#furano .furano-contents{
	margin-top: 0px;
	border-right: solid 2px #8a3b72; 
	border-bottom: solid 2px #8a3b72;
	border-left: solid 2px #8a3b72;
	padding: 20px;
	background-color: #ffffff;
}

.furano-contents h4{
	color: #D551AD;
	margin-bottom: 30px;
	font-size: 2.6rem;
	border-left: solid 8px #D551AD;
	padding-left: 10px;
}
.furano-contents table.pricelist th,
.furano-contents table.pricelist td{
	color: #303030;
}
.furano-contents table.pricelist th{
	font-size: 1.8rem;
}
@media screen and (max-width: 415px){
	.furano-contents table.pricelist th{
	font-size: 1.6rem;
	}
}
.furano-contents table.pricelist th.fare{
	background-color: #c8a7ba;
}
.furano-contents table.pricelist th.place{
	background-color: #ece1e9;
}
.furano-contents table.pricelist td{
	font-size: 2.2rem;
}
@media screen and (max-width: 415px){
	.furano-contents table.pricelist td{
	font-size: 2.0rem;
	}
}
.furano-contents table.pricelist td.outside{
	color: #CD559D;
	font-weight: bold;
}
.furano-contents dl.detail{
	border-bottom: none;
}
.furano-contents dl.detail dt{
	background-color: #CD559D;
	padding: 5px 10px;
	color: #ffffff;
	font-size: 2.0rem;
	border-top: none;
	margin-bottom: 10px;
	border-left: solid 10px #FFC7EE;
}
.furano-contents dl.detail dd{
	padding: 5px 10px;
	margin-bottom: 20px;
	border-bottom: none;
}
.furano-contents .border-puple_dot {
    border: 1px dashed #CD559D;
}


#hrp .title-block{
	position: relative;
	margin: 180px 0px 0px;
}
@media screen and (max-width: 767px){
	#hrp .title-block{
		margin-top:140px;
	}
}
#hrp img.new-station{
	position: absolute;
	left: 2%;
	top: -211%;
    width: 18%;

}
@media screen and (max-width: 1019px){
	#hrp img.new-station{
	position: absolute;
    top: -216%;
    width: 25%;
	}
}
@media screen and (max-width: 768px){
	#hrp img.new-station{
	position: absolute;
    top: -198%;
    width: 23%;
	}
}
@media screen and (max-width: 767px){
	#hrp img.new-station{
	position: absolute;
    top: -166%;
    width: 23%;
	}
}
@media screen and (max-width: 650px){
	#hrp img.new-station{
	position: absolute;
    top: -165%;
    width: 23%;
	}
}
@media screen and (max-width: 605px){
	#hrp img.new-station{
	position: absolute;
    top: -152%;
    width: 23%;
	}
}
@media screen and (max-width: 504px){
	#hrp img.new-station{
	position: absolute;
    top: -125%;
    width: 23%;
	}
}
@media screen and (max-width: 490px){
	#hrp img.new-station{
	position: absolute;
    top: -155%;
    width: 30%;
	}
}
@media screen and (max-width: 415px){
	#hrp img.new-station{
	position: absolute;
    top: -159%;
    width: 32%;
	}
}
@media screen and (max-width: 376px){
	#hrp img.new-station{
	position: absolute;
	top: -90%;
    width: 34%;
	}
}
@media screen and (max-width: 320px){
	#hrp img.new-station{
	position: absolute;
	top: -74%;
    width: 33%;
	}
}
#hrp img.new{
	position: absolute;
	right: 3%;
    top: -70%;
    width: 12%;
}
@media screen and (max-width: 1020px){
	#hrp img.new{
		top: -110%;
    width: 18%;
	}
}
@media screen and (max-width: 768px){
	#hrp img.new{
		top: -95%;
		width: 20%;
	}
}
@media screen and (max-width: 650px){
	#hrp img.new{
		top: -95%;
		width: 20%;
	}
}
@media screen and (max-width: 415px){
	#hrp img.new{
		right: 2%;
		top: -120%;
		width: 22%;
	}
}
@media screen and (max-width: 400px){
	#hrp img.new{
		right: 2%;
		top: 5%;
		width: 25%;
	}
}
@media screen and (max-width: 321px){
	#hrp img.new{
		right: 2%;
		top: 40%;
		width: 25%;
	}
}
#hrp h2{
	color: #ffffff;
	margin: 80px 0px 0px;
	padding: 10px 20px;
	background: #00752f;
	overflow: hidden;
	position: relative;
	font-size: 3.8rem;
}
@media screen and (max-width: 440px){
	#hrp h2{
		font-size: 3.4rem;
	}
}
#hrp h2:before {
	background-color: #fff; /* 切り替わる色 */
	content: '';
	display: block;
	opacity: 0.8; /* 不透明度 */
	transform: rotate(30deg);
	position: absolute;
	top: -140%;
    right: -13%;
	width: 500px;
	height: 500px;
}
@media screen and (max-width: 768px){
	#hrp h2:before{
		right: -50%;
	}
}
@media screen and (max-width: 600px){
	#hrp h2:before{
		right: -80%;
		top: -100%;
	}
}
@media screen and (max-width: 415px){
	#hrp h2:before{
		top: -130%;
		right: -15%;
		width: 200px;
		height: 500px;
		transform: rotate(40deg);
	}
}
@media screen and (max-width: 400px){
	#hrp h2:before{
		right: -30%;
	}
}
#hrp h3{
	font-family: 'Roboto', sans-serif;
	color: #00752f;
	margin: 0px 0px 30px;;
}

#hrp .hrp-contents{
	margin-top: 0px;
	border-right: solid 2px #00752f; 
	border-bottom: solid 2px #00752f;
	border-left: solid 2px #00752f;
	padding: 20px;
	background-color: #ffffff;
}

.hrp-contents h4{
	color: #3EAA43;
	margin-bottom: 30px;
	font-size: 2.6rem;
	border-left: solid 8px #3EAA43;
	padding-left: 10px;
}
.hrp-contents table.pricelist th,
.hrp-contents table.pricelist td{
	color: #303030;
}
.hrp-contents table.pricelist th{
	font-size: 1.8rem;
}
@media screen and (max-width: 415px){
	.hrp-contents table.pricelist th{
	font-size: 1.6rem;
	}
}
.hrp-contents table.pricelist th.none{
	background-color: #fff;
}
.hrp-contents table.pricelist th.fare{
	background-color: #99b992;
}
.hrp-contents table.pricelist th.place{
	background-color: #dde8da;
}
.hrp-contents table.pricelist td{
	font-size: 2.2rem;
}
@media screen and (max-width: 415px){
	.hrp-contents table.pricelist td{
	font-size: 2.0rem;
	}
}
.hrp-contents table.pricelist td.outside{
	color: #3EAA43;
	font-weight: bold;
}
.hrp-contents dl.detail{
	border-bottom: none;
}
.hrp-contents dl.detail dt{
	background-color: #3EAA43;
	padding: 5px 10px;
	color: #ffffff;
	font-size: 2.0rem;
	border-top: none;
	border-left: solid 10px #B5D96E;
	margin-bottom: 10px;
}
.hrp-contents dl.detail dt span.redkome{
	border-left: none;
	color: #ff0000;
	border-radius: 5px;
	background-color: #CDE1A5;
	padding: 1px 8px;
	font-size: 1.4rem;
}
.hrp-contents dl.detail dd{
	padding: 5px 10px;
	margin-bottom: 20px;
	border-bottom: none;
}


.hrp-contents dl.detail dd p.subtitle {
	border-bottom: solid 3px #00752f;
	position: relative;
	font-size: 2.0rem;
	color: #0EA500;
}

.hrp-contents dl.detail dd p.subtitle:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #B5D96E;
  bottom: -3px;
  width: 30%;
}


#eligibility .title-block{
	position: relative;
	margin: 70px 0px 0px;
}
#reserve h2 .title-block,
#eligibility .title-block,
#purchase .title-block,
#use .title-block,
#other .title-block,
#offer .title-block
{
	position: relative;
	margin: 0px;
}

#reserve h2,
#eligibility h2,
#purchase h2,
#use h2,
#other h2,
#offer h2{
	color: #ffffff;
	margin: 0px;
	padding: 10px 20px;
	background: #58A2D5;
	overflow: hidden;
	position: relative;
	font-size: 3.8rem;
}
@media screen and (max-width: 415px){
	#reserve h2,
	#eligibility h2,
	#purchase h2,
	#use h2,
	#other h2,
	#offer h2{
		font-size: 3.4rem;
	}
}
#reserve h2:before,
#eligibility h2:before,
#purchase h2:before,
#use h2:before,
#other h2:before,
#offer h2:before{
	background-color: #fff; 
	content: '';
	display: block;
	opacity: 0.8; 
	transform: rotate(30deg);
	position: absolute;
	top: -140%;
    right: -13%;
	width: 500px;
	height: 500px;
}
@media screen and (max-width: 768px){
	#reserve h2:before,
	#eligibility h2:before,
	#purchase h2:before,
	#use h2:before,
	#other h2:before,
	#offer h2:before{
		right: -70%;
	}
}
@media screen and (max-width: 600px){
	#reserve h2:before,
	#eligibility h2:before,
	#purchase h2:before,
	#use h2:before,
	#other h2:before,
	#offer h2:before{
		right: -80%;
		top: -100%;
	}
}
@media screen and (max-width: 415px){
	#reserve h2:before,
	#eligibility h2:before,
	#purchase h2:before,
	#use h2:before,
	#other h2:before,
	#offer h2:before{
		top: -130%;
		right: -8%;
		width: 200px;
		height: 500px;
		transform: rotate(40deg);
	}
}

#reserve .reserve-contents,
#eligibility .eligibility-contents,
#purchase .purchase-contents,
#use .use-contents,
#other .other-contents,
#offer .offer-contents{
	margin-top: 0px;
	padding: 20px 20px 60px;
	background-color: #ffffff;
}
.purchase-contents h3{
	border-bottom: solid 3px #B4DBF5;
	position: relative;
	font-size: 2.8rem;
	color: #58A2D5;
}
.purchase-contents h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #58A2D5;
  bottom: -3px;
  width: 30%;
}

.reserve-contents h3{
		margin: 0px;
	color: #58A2D5;
	font-size: 2.0rem;
	padding: 0.1em 0.5em;
	border-left: solid 8px #7db4e6;
	margin-bottom: 10px;
	margin-top: 20px;
}



.purchase-contents h4{
	background-color: #58A2D5;
	padding: 10px;
	margin: 20px 0px;
	color: #fff;
	font-size: 2.4rem;
}
@media screen and (max-width: 415px){
	.purchase-contents h4{
		font-size: 2.0rem;
	}
}
.purchase-contents h5,
.other-contents h5{
	margin: 0px;
	color: #58A2D5;
	font-size: 2.0rem;
	padding: 0.1em 0.5em;
	border-left: solid 8px #7db4e6;
}
.border-blue_dot {
    border: 1px dashed #58A2D5;
}
.border-blue-2px {
    border: 2px solid #58A2D5;
}

.color-blue{
	color: #58A2D5;
}
.v-bottom{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
}
.v-middle{
  display: flex;
  justify-content: center;
  align-items: center;
}

.scroll {
  position: fixed;
  bottom: 20px;
  right: 20px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .scroll {
    bottom: 10px;
    right: 10px;
  }
}

@media (max-width: 768px) {
  .scroll img {
    width: 50px;
    height: 50px;
  }
	
}
ul.worldmap{
	margin: 10px 0px 0px;
	padding: 0px;
}
ul.worldmap li{
	list-style: none;
}

/* ticket-top(railpass-renewal)*/
.rpass{
	box-shadow: 0 0 3px rgb(0 0 0 / 35%);
	padding: 0px 0px 10px;
	background-color: #fff;
	text-align: center;
	margin-bottom: 40px;
}
h3.top-rpass{
	padding: 5px;
	color: #fff;
	width: 100%;
	margin: 0px;
	text-align: center;
}
.bg-orange{
	background-color: #cb4f1d;
}
.bg-purple{
	background-color: #8a3b72;
}
.bg-green{
	background-color: #00752f;
}
.rpass .rpass-innner{
	width: 100%;
	padding: 10px 10px 0px;
}
.rpass h4{
	border: solid 1px #3eaa43;
	padding: 2px;
	margin-bottom: 15px;
}







ul.redstar li{
	list-style: none;
	color: red;
	font-weight: 700;
	margin-left: 0;
	text-indent: -1em;
	padding-left: 0px;
}

ul.redstar li:before{
	content:"★";
}



.campaignbg{
background-color: #FAE09C;
}

.redsp{
	color: red;
	font-weight: 700;
}

.red-txt{
	color: #ff0000;
}

/* railpass(202504)*/
.jreasat-img{
	display: block;
	margin: 10px;
}
.jreasat-img img{
	max-width: 200px;
}
.marker-pink{
	background-color: #ffc7e9;
}
.marker-blue{
	background-color: #afefff;
}
.marker-yellow{
	background-color: #f3f59d;
}
.bg-lightblue{
	background-color: #e0f5ff;
}

/* railpass(202507)*/
#reserve .notassing{
	border-radius: 15px;
	color: #fff;
	background-color: #f34d1f;
	padding: 0.2em 1em;
	margin: 10px auto 30px;
	display: block;
	font-size: 1.8rem;
	max-width: 400px;
	width: 100%;
	text-align: center;
}
#reserve .apply{
	border: 2px solid #0b67a8;
	padding: 10px;
	margin-left: -1em;
}
@media (max-width: 767px) {
	#reserve .applyimg{
		width: 70%;
	}
}

#reserve .apply p,
#reserve .machine p {
	text-indent: 0;
	padding-left: 0;
}
#reserve .apply .apply-title{
	background-color: #0b67a8;
	font-weight: bold;
	padding: 0.3em 1em ;
	color: #fff;
	text-align: left;
	margin: 5px 0 5px 1em;
	display: inline-block;
}
@media (max-width: 767px){
	#reserve .apply .apply-title{
		display: block;
		margin: 0 0 10px 0;
		text-align: center;
	}
}

#reserve .machine{
	padding: 10px;
	margin-left: -1em;
}

#reserve .machineimg{
	width: 90%;
}
@media (max-width: 767px) {
	#reserve .machineimg{
		width: 50%;
	}
}
#reserve .resrevedseatimg01{
	width: 100%;
	max-width: 300px;
}
@media (max-width: 767px){
	#reserve .resrevedseatimg01{
		width: 100%;
		max-width: 200px;
	}
}
#reserve .resrevedseatimg02{
	width: 100%;
	max-width: 800px;
}
