@font-face {
	font-family: "Lobster-Bold";
	src: url("../fonts/LOBSTERTWO-BOLD.TTF");	
}
@font-face {
	font-family: "Lobster-Regular";
	src: url("../fonts/UVF LOBSTER12.TTF");	
}
@font-face {
	font-family: "Helve-Bold";
	src: url("../fonts/UTM HELVEBOLD.TTF");	
}
html {
	scroll-behaviour : smooth;
}
/* Common */
.pb100{
  padding-bottom: 100px;
}
.pt100{
  padding-top: 100px;
}
.mt60{
  margin-top: 60px;
}
.mb-30 {
	margin-bottom: 30px;
}
.text-left {
	text-align: left; 
}
.box__ttl {
  display: block;
  width: 100%;
  text-align: center; 
}
.box__ttl h2 {
  font-family: "Helve-Bold";
  font-size: 50px;
  color: #0F6488;
}
.box__list {
    line-height: 1.3;
}
.box__list h3 {
  font-family: "Open Sans";
  font-size: 35px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 15px;
}
h4 {
	font-size: 18px;
	font-weight: bold;
}
.item__list ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 40px;
	margin-top: 10px;
}
.time__table {
    margin-top: 10px;
    text-align: center;    
}
.btn-custom {
    border-radius: 24px;
    background: #0F6488;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    padding: 13px 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 229px;
	width: 100%;
}
.btn-custom-semi {
    border-radius: 24px;
    background: #0F6488;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    padding: 13px 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 229px;
    width: 100%;
}
.box__btnback .btn-custom-semi {
	max-width: 280px;
	margin: 0 10px 20px 10px;
}

.btn-custom:hover {
    color: #fff; 
    text-decoration: none;
    transition: all ease .5s;
	background: #2EA5C7;
}
.btn-custom-semi:hover { 
	color: #333;
	text-decoration: none;
    transition: all ease .5s;
    background: #fff;
}
.about-narita {
    border: none;
    background: none;
    color: #366BFF;
    text-decoration: underline;
    cursor: pointer;
    padding: 5px 0 0 0;
}
.about-narita:focus {
	outline: none;
}
.modal-header h3 { 
    font-weight: bold;
} 
.modal-footer .close {
	color: #333;
	font-size: 14px;
	cursor: pointer;
    background: #fff;
    border: 1px solid #6C92C5;
    padding: 7px 30px;
    border-radius: 18px;
    font-weight: bold;
	opacity: 1;		
}
.close span {
	font-size: 24px;
	color: #fff;
}
.btn-close {
    background: none;
    border: none;
	cursor: pointer;
	font-size: 14px;
	color: 333;
}
.btn-close:focus {
	outline: none;
}
@media screen and (max-width: 1199px) {
	.box__ttl h2 {
		font-size: 42px;
	}
	.box__list h3 { 
		font-size: 32px;;
	}
}
@media screen and (max-width: 991px) {
  .pb100{
    padding-bottom: 80px;
  }
  .pt100{
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .pb100{
    padding-bottom: 70px;
  }
  .pt100{
    padding-top: 70px;
  }
  .mt60{
    margin-top: 40px;
  }
	.about-narita {
		text-align: left;
		padding: 0;
	}
	.box__ttl h2 {
		font-size: 38px;
	}
	.box__list h3 { 
		font-size: 25px;
	}
	/*.box__btnback .btn-custom-semi {
		margin: 0 10px ;
	}*/
}
/* Banner */
.banner {
    position: relative;
	overflow: hidden;
}
.banner__img img {
    width: 100%;
    height: auto;
}
.banner__ttl .container {
    position: absolute;
    top: 17%;
    left: 0;
    right: 0;
}
.banner__ttl h1 {
	color: #fff;
  font-family: "Lobster-Bold";
  font-size: 9vw;
  text-shadow: 3px 3px 0 #00617E;
  font-style: italic;
  text-align: center;
  display: inline-block;
  line-height: 1.1;
}
.banner__ttl h1 span {
	font-size: 11vw;
}
@media(min-width:767px){
  .banner__ttl h1{
    font-size: 4vw;
    line-height: 1.2;
  }
  .banner__ttl h1 span{
    font-size: 5vw;
  }  
  .banner__ttl .container{
    top:28%;
  }
}
@media(min-width:1140px){
  .banner__ttl h1{
    font-size: 3vw;
  }
  .banner__ttl h1 span{
    font-size: 3.5vw;
  }  
}
@media(min-width:1920px){
  .banner__ttl h1{
    font-size: 43px;
  }
  .banner__ttl h1 span{
    font-size: 75px;
  }
}
@media(max-width:767px){
  .banner__ttl h1{
    width: 100%;
  }
}

.bg-gray{
  background: #EBEFF0;
}


/* Nav */
.localnav {
	width: 100%;
    display: inline-flex;
    justify-content: space-between;
    border-bottom: 1px solid #C8C8C8;
}
.localnav .item {
	border-bottom: 3px solid #ffffff;
}
.localnav .item:hover {
	border-bottom: 3px solid #E9D519;
}
.localnav .item a {
    display: block;
    text-align: center;
    width: 100%;
    padding: 14px 6px;
    color: #333;
    position: relative;
	font-weight: bold;
}
.localnav .item a:hover {
	text-decoration: none;
}
.localnav .item a:after {
    margin-left: 15px;
    content: "\f0d7";
    font-size: 0.8em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
	color: #C1C1C1;
}
@media screen and (max-width: 767px) {
	.localnav {
		flex-wrap: wrap;
		border-bottom: none;
	}
	.localnav .item {
		width: calc((100% / 2) - 15px);
    border-bottom: 1px solid #C8C8C8;
	}
	.localnav .item a {
		display: flex;
		justify-content: space-between;
		text-align: left; 
		border-bottom: 1px solid #E9E9E9;
	}
	.localnav .item a:after {
		margin-left: 5px;
	}
}
@media screen and (max-width: 479px) {
	.localnav .item {
		width: 100%;
	} 
} 
/* End nav */

/* About */
#about .box__wrapper {
    margin-top: 30px;
    text-align: center;
}
#about p {
    color: #FFF;
    font-size: 18px;
    line-height: 1.5;
    padding-bottom: 60px;
}
#about img {
    width: 50%;
    height: auto;
}
@media screen and (max-width: 767px) {
    #about p {
        text-align: left;
    }
    #about img {
        width: 80%;
    }
}
@media screen and (max-width: 479px) {
	#about img {
        width: 100%;
    }
} 
/* End About */

/* Point */
#point .box__list {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
#point .box__item {
  width: calc(100% / 3);
  text-align: center;
  border: 6px solid #2E94B2;
  background: #fff;
}
#point .box__item:nth-child(2) {
    margin: 0 60px;
}
#point .item__ttl {
    margin: 35px 0 30px;
}
#point .item__ttl p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 35px;
  font-family: "Open Sans";
  font-weight: bold;
  color: #0F6488;  
}
#point .item__ttl p:before {
  content: "";
  background: url('../img/tick.png') no-repeat;
  width: 47px;
  height: 47px;
  display: inline-flex;
  margin-right: 5px;
}
#point .item__desc {
    font-weight: bold;
    font-size: 23px;
}
#point .item__desc .detail {
  margin-top: 20px;
  font-size: 35px;
	color: #0F6488;
  margin-bottom: 5px;
}
#point .item__desc .detail span{
  font-size: 22px;
}
#point .box__item:nth-child(2) .item__desc .detail {
	color: #333;
}
#point .item__desc .notice {
    font-size: 20px;
    margin-bottom: 20px;
}
#point .item__price {
  border-top: 1px dashed #7E7E7E;
  width: 80%;
  margin: 30px auto 40px;
  padding-top: 20px;
}
#point .item__price p {
    font-size: 20px;
    color: #333333;
    font-weight: bold;
    line-height: 1.2;
}
#point .item__price p .item__price-num {
    font-size: 35px;
    color: #E00909;
}
#point .item__price p .item__price-red {
    color: #E00909;
}
@media screen and (max-width: 1199px) {
	#point .box__item {
		padding: 0 15px;
	}
	#point .item__ttl p {
		font-size: 30px;
	}
	#point .box__item:nth-child(2) {
		margin: 0 15px;
	}
	#point .item__desc {
		font-size: 20px;
	}
	#point .item__desc .detail {
		font-size: 30px;
    line-height: 1.2;
	}
	#point .item__desc .notice {
		font-size: 18px;
	}
	#point .item__price p {
		font-size: 18px;
	}
	#point .item__price .item__price-num {
		font-size: 24px;
	}
}
@media screen and (max-width: 767px) {
	#point .item__desc {
		font-size: 21px;
	}
	#point .box__list {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	#point .box__item { 
		width: 60%;
		margin: 0 auto;
	}
	#point .box__item:nth-child(2) {
		margin: 20px auto;
		padding: 0 15px 50px;
	}
	#point .item__ttl p {
		font-size: 33px;
	}
}
@media screen and (max-width: 479px) {
	#point .box__item {
		width: 80%;
	}
	#point .item__desc .detail {
		font-size: 28px;
	}
	#point .item__price .item__price-num {
		font-size: 36px;
	}
	#point .item__ttl {
		margin: 50px 0 20px;
	}
}
@media screen and (max-width: 375px) {
	#point .item__price .item__price-num {
		font-size: 30px;
	}
}
/* End Point */

/* Fare */
#fare .box__list {
	display: flex;
    justify-content: space-between;
    width: 100%;
}
#fare .box__list .box__wrapper {
	width: calc((100% / 2) - 40px);
}
#fare .box__list .box__item {
  text-align: center;
  padding: 40px 65px;
  border-radius: 6px;
  width: 100%;
  background-color: #d6f0fb66;
}
#fare .box__list .box__item .item__ttl {
    padding-bottom: 25px;
    margin: 0 0 25px;
    border-bottom: 1px dashed #7E7E7E;
} 
#fare .box__list .box__item .item__ttl p {
  font-size: 20px;
  line-height: 1.2;
} 
#fare .item__list ul li {
	font-weight: bold;
	line-height: 1.2;	
}
#fare .item__list ul li p {
	font-size: 18px;
}
#fare .item__list ul li .price span{
  font-size: 30px;
  color: #E00909;
}
#fare .item__list ul li .price {
	font-size: 30px;
	color: #E00909;
}
#fare .box__list-notice {
	width: 100%;
	text-align: center;
	border: 1px solid #FF0000;
	padding: 20px;
	margin: 30px 0 60px;
	background: #fff;
}
#fare .box__list-notice a {
	color: #008EFD;
	text-decoration: underline;
}
#fare .box__list-notice dt {
	font-size: 22px;
	font-weight: bold;
	color: #FF0000;
	padding-bottom: 10px;
}
#fare .box__list-notice dd {
	line-height: 1.5;
}
#fare .box__list-notice span {
	color: #FF0000;
}
#fare .box__list-notice-fare {
	line-height: 1.3;
	margin-top: 20px;
	/*border: 1px solid #dfebef;
	padding: 20px;	
	/*background-color: #eff9fd;*/
}
#fare .box__list-notice-fare li {
	padding-top: 5px;
}

@media screen and (max-width: 1199px) {
	#fare .box__list .box__item .item__ttl p {
		font-size: 18px;
	}
	#fare .box__list .box__wrapper {
		width: calc((100% / 2) - 15px);
	}
	#fare .box__list .box__item {
		padding: 20px 15px;
	}
}
@media screen and (max-width: 767px) {
	#fare .box__list {
		flex-direction: column;
	}
	#fare .box__list .box__wrapper {
		width: 100%;
		margin-bottom: 30px;
	}
	#fare .box__list .box__item {
		padding: 15px 30px;
		/*margin-bottom: 30px;*/
	}
	#fare .box__list .box__item:last-child {
		margin-bottom: 0;
	}
	#fare .box__list .box__item .item__ttl p {
		font-size: 16px;
	}
	#fare .box__list-notice-fare {
		font-size: 14px;
		margin-top: 0;
	}
}
/* End Fare */

/* Stop */
#stoptime {
	display: flex;
	padding-bottom: 100px;
}
#stoptime .row {
    flex-direction: column; 
}
#stoptime .box__wrap {
    display: flex; 
    justify-content: space-between;
}
#stoptime .box__list {
    display: flex;
	flex-direction: column;
	border: 1px solid #EAF4FF; 
    border-radius: 10px;
    background: #fff;
    padding: 35px 20px;
    width: calc((100% / 2) - 40px);
}
#stoptime .box__list .item__ttl {
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #7E7E7E;
}
#stoptime .box__list .item__ttl h3 {
	text-align: center;
}
#stoptime .box__item {
    display: flex;
	flex-direction: column;
}
#stoptime .item__list {
	margin-bottom: 25px;
}
#stoptime .item__list:last-child {
	margin-bottom: 65px;
}
#stoptime .item__list ul li p {
	font-size: 16px;
	line-height: 1.2;
}
#stoptime .item__list ul li .map {
	cursor: pointer;
    background: #fff;
    border: 1px solid #0F6488;
    font-size: 12px;
    padding: 7px 30px;
    border-radius: 18px;
	font-weight: bold;
}
#stoptime .item__list ul li .map:hover {
	color: #333;
	border: 1px solid #0F6488;
}
#stoptime .item__list ul li .map:focus {
	outline: none;
}
#stoptime .box__ttl h2,
#about .box__ttl h2 {
  color: #E9D519;
}

.gmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0; 
    overflow: hidden;
} 
@media screen and (max-width: 1199px) {
	#stoptime .box__list {
		width: calc((100% / 2) - 15px);
		padding: 20px 15px;
	}
}
@media screen and (max-width: 767px) {
	#stoptime .box__wrap {
		flex-direction: column;
	}
	#stoptime .box__list {
		width: 100%;
		padding: 15px 15px 30px;
	}
	#stoptime .box__list:nth-child(1) {
		margin-bottom: 30px;
	}
	.time__table {
		margin: 0;
	} 
}
/* End Stop */

/* Booking */
#booking .box__tab {
    width: 100%;
}
#booking .nav-tabs .nav-item.show .nav-link, #booking .nav-tabs .nav-link.active {
  border-bottom: none;
  background-color: #fff;
  color: #0F6488;
  font-weight: bold;
  border-top: 1px solid #0f6488;
  border-right: 1px solid #0f6488;
  border-left: 1px solid #0f6488;
}
#booking .nav-tabs .nav-link { 
  border: 1px solid transparent;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  width: 330px;
  max-width: calc(97% / 2);
  text-align: center;
  background: #D0DADC;
  padding: 12px 0;
  color: #333;
  font-size: 18px;
/*  border-bottom: 1px solid #88A8D2;*/
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 4px 0;
}
#booking .nav-tabs .nav-link:nth-child(1){
  margin-left: 0;
}
#booking .nav-tabs .nav-link:nth-last-child(1){
  margin-right: 0;
}
#booking .nav-tabs{
  border-bottom: none;
}
#booking .nav-tabs .nav-link:before {
	content: "";
	display: inline-flex;
	margin-right: 10px;
} 
#booking .nav-tabs .nav-link:nth-child(1):before {
	background: url('../img/internet-icon.png') no-repeat;
	width: 28px;
	height: 23px;
}
#booking .nav-tabs .nav-link:nth-child(2):before {
	background: url('../img/phone-icon.png') no-repeat;
	width: 21px;
	height: 23px;
}
#booking #nav-tabContent {
    border-top: none;
	border-radius: 0 0 10px 10px;
  overflow: hidden;
}
#booking #nav-tabContent .tab-pane {
    padding: 55px 30px;
  background: #fff;
  border-radius: 0 0 10px 10px;
  border: 1px solid #0f6488;
}
#booking #nav-tabContent .tab-pane .box__tab {
	display: flex;
	justify-content: space-between;
}       
#booking #nav-tabContent .tab-pane .box__tab .box__item {
	width: calc(100% / 3); 
}
#booking #nav-tabContent .tab-pane .box__tab .box__item .btn-custom, #booking #nav-tabContent .tab-pane .box__tab .box__item .btn-custom-semi {
	margin-top: 20px;
}
#booking #nav-tabContent .tab-pane .box__tab .box__item p {
	margin-top: 20px;
	line-height: 1.2;
}

#booking .box__boarding {
  margin-top: 30px;
  padding: 35px 15px 50px 15px;
  background: #fff;
  border-radius: 10px;
  background-color: #d6f0fb66;
}
#booking .box__boarding .box__ttl {
	margin: 0;
}
#booking .box__boarding .box__ttl h3 {
  font-size: 35px;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 10px;
  color: #0f6488;
}
#booking .box__boarding .box__list {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}
#booking .box__boarding .box__list .box__item {
	display: flex;
    flex-direction: column;
    width: min((100% / 2) - 30px);
    margin-inline: auto;
}
#booking .box__boarding .box__list .box__item .item__ttl {
	margin-bottom: 10px;
}
#booking .box__boarding .box__list .box__item .item__ttl h4 {
	font-size: 24px;
}
#booking .box__boarding .box__list .box__item .item__txt p {
	line-height: 1.2;
}
@media screen and (max-width: 1199px) {
	#booking .box__boarding .box__ttl h3 {
		font-size: 32px;
	}
	#booking #nav-tabContent .tab-pane .box__tab .box__item {
		width: calc((100% / 3) - 15px);
	}
}
@media screen and (max-width: 767px) {
	#booking .nav-tabs .nav-link {
		flex-direction: column;
		flex-wrap: wrap;
		font-size: 16px;
	} 
	#booking .nav-tabs .nav-link:before {
		margin-bottom: 5px;
	}
	#booking #nav-tabContent .tab-pane {
		padding: 25px 15px;
	}
	#booking #nav-tabContent .tab-pane .box__tab { 
		flex-direction: column;
	}
	#booking #nav-tabContent .tab-pane .box__tab .box__item {
		width: 100%;
		margin-bottom: 30px;
	}
	#booking #nav-tabContent .tab-pane .box__tab .box__item:last-child {
		margin-bottom: 0; 
	}
	#booking .box__boarding .box__list {
		flex-direction: column;
	}
	#booking .box__boarding .box__list .box__item {
		width: 100%;
		margin-bottom: 30px;
	}
	#booking .box__boarding .box__list .box__item:last-child {
		margin-bottom: 0;	
	}
}
@media screen and (max-width: 535px) {
	#booking #nav-tabContent .tab-pane .box__tab .box__item .btn-custom, #booking #nav-tabContent .tab-pane .box__tab .box__item .btn-custom-semi {
		margin: 20px auto 0;
		display: block;
		text-align: center;
	}
}
@media screen and (max-width: 479px) {
	#booking .nav-tabs .nav-link {
		padding: 10px 0;
	}
}
/* End Booking */

/* Notice */
.box__alert {
    border: 2px solid #FF0000;
    padding: 20px 40px;
    margin-bottom: 40px;
  background: #fff;
}
.box__alert p {
    text-align: center;
    font-size: 18px;
    color: red;
    font-weight: bold;
	line-height: 1.2;
}
.box__alert p a {
    color: #366BFF;
	text-decoration: underline;
}
#notice .box__wrap .box__list ul {
    margin-left: 20px;
}
#notice .box__wrap .box__list ul li {
    list-style-type: disc;
    color: #0F6488;
	margin-bottom: 10px;
}
#notice .box__wrap .box__list ul li span {
    color: #212529;
}
#notice .box__wrap .box__list ul li p {
	line-height: 1.2;
	
}
#notice .box__wrap .box__list ul li a {
	color: #366BFF;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	#notice .box__wrap {
		margin: 0 15px;
	}
}
/* Book btn sticky */
#book-btn {
    position: relative;
    bottom: 0;  
    z-index: 9;
    background: #E9D519;
    padding: 30px 0;
}
.sticky {
	position: sticky !important;
}
#book-btn .box__wrap {
    width: 100%;
	margin: 0 15px;
    display: flex; 
    justify-content: space-evenly;
	align-items: center;
}
#book-btn .box__semittl {
	width: auto;
} 
#book-btn .box__wrap .box__semittl h3 {
	font-size: 35px;
    font-family: 'Open Sans'; 
    font-weight: bold;
}
#book-btn .box__wrap .box__item {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 70%; 
    text-align: center;
} 
@media screen and (max-width: 1199px) {
	#book-btn .box__wrap .box__semittl h3 {
		font-size: 28px;
	}	
}
@media screen and (min-width: 768px) and (max-width: 991px) {
	#book-btn .btn-custom {
		font-size: 14px;
		max-width: 170px;
	}
	#book-btn .btn-custom-semi {
		font-size: 14px;	
		max-width: 170px;
	}
}
@media screen and (max-width: 767px) {
	#book-btn .box__wrap {
		flex-direction: column;
		align-items: center;
		margin: 0;
	}
	#book-btn .box__semittl {
		width: 100%;
		text-align: center;
		margin-bottom: 15px;
	}
	#book-btn .box__wrap .box__item {
		width: 100%;
		justify-content: space-evenly;
	}
	#book-btn .box__wrap .box__item .btn-custom {
		width: calc((100% / 2) - 7px);
	}
}
@media screen and (max-width: 600px) {
	#backToTop2019 {
		bottom: 70px;
	}
}
@media screen and (max-width: 375px) {
	#book-btn .box__wrap .box__item .btn-custom {
		font-size: 12px;
	}	
}

/* Modal */
.modal-header {
    background: #55aee0;
    color: #fff;
}
.modal-header .close {
	opacity: 1;
}
.modal-header .close:focus {
	outline: none;
}
#map {
	width: 100%;
	height: 300px;
}
#map iframe {
	width: 100%;
}

/* Luggage Page */
.w10 {
	width: 10%;
}
.w15 {
	width: 15%;
}
.w20 {
	width: 20%;
}
.w23 {
	width: calc(85% / 5);
}
.w25 {
	width: 25%;
}
.w35 {
	width: 35%; 
}
.w50 {
	width: 50%;
}
.bg-blue {
	background-color: #0F6488;
}
.bg-blue-tbl {
    background-color: #D0DADC;
}
.true { 
	background: url(../img/true.png);
    width: 32px;
    height: 22px;
    background-repeat: no-repeat;  
    background-position: center center;
}
.false {
	background: url(../img/false.png);
    width: 22px;
    height: 22px;
    background-repeat: no-repeat;
    background-position: center center;
}
.equal {
	background: url(../img/equal.png);
    width: 31px;
    height: 5px;
    background-repeat: no-repeat;
    background-position: center center;
}
#operator .box__item {
    padding: 30px 25px;
    border-radius: 10px;
}
#operator .box__item p {
    margin-bottom: 10px;
	display: flex;
}
#operator .box__item p:last-child {
    margin-bottom: 0;
}
#operator .box__item p b {
    width: 20%;
}
#operator .box__item p span {
    width: 80%; 
}
.luggage .box__intruction {
	text-align: center;
	margin-bottom: 50px;
}
.luggage .box__intruction span:first-child {
    margin-right: 50px;
}
.luggage .box__intruction span img {
	margin-right: 10px;
} 
.luggage-tbl {	
	width: 100%;
    border-collapse: collapse;
    border-radius: 10px;
    border-style: hidden; 
    box-shadow: 0 0 0 1px #0F6488; 
	overflow: hidden;	 
}
.luggage-tbl th {
    line-height: 1.2;
    border: 1px solid #0F6488;
    text-align: center; 
    vertical-align: middle;
	padding: 25px 5px;
}
.luggage-tbl td {
    border: 1px solid #0F6488;
    text-align: center;
    vertical-align: middle;
	padding: 15px 20px;
	line-height: 1.2;
  background-color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	#operator .box__item p b {
		width: 30%;
		margin-bottom: 10px;
	}
	#operator .box__item p span {
		width: 70%;
	}
} 
@media screen and (max-width: 767px) {  
	.luggage .box__ttl h2 {
		font-size: 30px;
	}

	#operator .box__item p {
		flex-direction: column;
	}
	#operator .box__item p b {
		width: 100%;
		margin-bottom: 10px;
	}
	#operator .box__item p span {
		width: 100%;
	}
}
@media screen and (max-width: 479px) {		
	.luggage-tbl {
		overflow-x: auto;
		font-size: 14px;
	}
  .luggage-tbl th:first-child {
		padding: 0;
    border-radius: 10px 0 0 0;
	}
	.luggage-tbl th {
		padding: 15px 5px;
		font-size: 12px;
		border-top: 0;
	}
	.luggage-tbl th:first-child {
		border-left: 0;
    border-radius: 10px 0 0 0;
	}
	.luggage-tbl th:last-child {
		border-right: 0;
    border-radius: 0 10px 0 0;
	}
	.luggage-tbl td {
		padding: 15px 5px;
		vertical-align: baseline;
		border-bottom: 0;
	}
	.luggage-tbl tr:last-child td:first-child {
    border-radius: 0 0 0 10px;
  }
	.luggage-tbl td:first-child {
		border-left: 0;    
	}
	.luggage-tbl tr:last-child td:last-child {
    border-radius: 0 0 10px 0 ;
  }
	.luggage-tbl td:last-child {
		border-right: 0;    
	}
	.true {
		background-position: top 15px center;
		background-size: 40%;
	}
	.false {
		background-position: top 15px center;
		background-size: 25%;
	}
	.equal {
		background-position: top 15px center;
		background-size: 40%;
	}
}

/* airporter
----------------------------------------- -----------*/
.marker-pink {
    background: linear-gradient(transparent 62%, rgba(245,61,126, 0.5) 30%);
}
.airporter-content {
    margin: 80px auto 0;
}
.airporter-box {
    background: #FEF9E9;
    border-radius: 5px;
}
.airporter-box p {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
}
.airporter-box .card {
    border: 2px solid #FCCB30;
    border-radius: 5px;
}
.airporter-box .card-header {
    position: relative;
    background: #FEF9E9;
    border-bottom: none;
    padding: 0;
}
.airporter-box .card-header::before,
.airporter-box .card-header::after{
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	z-index: 1;
}
.airporter-box .card-header::before{
    left: 8px;
    width: 40px;
    height: 40px;
    background: url('/en/airport-bus/ikebukuro-narita/img/airporter-sv.svg') no-repeat center center/100%;
}
.airporter-box .card-header::after {
    content: '\f13a';
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 26px;
    color: #FCCB30;
    right: 7px;
    transition: 0.3s;
}
.airporter-box .card-header.is-active::after {
    content: '\f139';
} 
.airporter-box .card-body {
    background: #FEF9E9;
    padding-top: 0;
}
.airporter-cntent-title a {
    width: 100%;
    position: relative;
    display: block;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    text-align: center;
    padding: 20px;
	z-index: 2;
}
.airporter-cntent-title .sub {
    position: relative;
    font-size: 12px;
    font-weight: 400;
    display: inline-block;
    z-index: 2;
}
.airporter-cntent-title .sub::before,
.airporter-cntent-title .sub::after{
	position: absolute;
	top: 0;
	display: inline-block;
	width: 20px;
	height: 20px;
	font-size: 13px;
}
.airporter-cntent-title .sub::before {
    content: '＼';
    left: 0;
}
.airporter-cntent-title .sub::after {
    content: '／';
    right: 0;
}
.airporter-cntent-title .main {
    display: block;
	font-weight: bold; 
	font-size: 20px;
	line-height: 1.3;
}
.airporter-block {
    padding: 20px 0;
}
/* button */
.airporter-box .button-wrap {
    margin: 16px auto 10px;
}
.airporter-box .button-wrap .arrow-newtab::after {
    content: '\f35d';
    
}
@media (min-width: 419px) {
    .airporter-cntent-title .sub::before {
        left: -20px;
    }
    .airporter-cntent-title .sub::after {
        right: -20px;
    }
}
@media (min-width: 768px) {
    .airporter-box {
        max-width: 978px;
        width: 100%;
        margin: auto;
    }
    .airporter-box .card {
        border: 2px solid #FCCB30;
    }
    
    .airporter-box .card-header::before,
    .airporter-box .card-header::after {
        top: 50%;
        transform: translateY(-50%);
    }
    .airporter-box .card-header::before{
        left: calc(50% - 340px);
        width: 84px;
        height: 84px;
    }
    .airporter-box .card-header::after {
        font-size: 40px;
        right: 30px;
    }
    .airporter-box .card-body {
        padding: 0 2rem;
    }
    .airporter-cntent-title a {
         padding: 30px;
        text-align: center;
    }
    .airporter-cntent-title .sub {
        font-size: 16px;
    }
    .airporter-cntent-title .main {
        font-size: 22px;
        line-height: 1.5;
    }
	.airporter-cntent-title br {
		display: none;
	}
    .airporter-block {
        padding: 24px 0;
    }
    .airporter-cntent-title .sub::before {
        left: -25px;
    }
    .airporter-cntent-title .sub::after {
        right: -25px;
    }
    /*button*/
    .airporter-box .button-wrap {
        max-width: 284px;
        margin: 10px auto;
    }
}
/* about */
.airporter-about {
    padding: 20px 0;
}
.airporter-about {
    border-top: 2px solid #FCCB30;
}

.airporter-about-wrap {
    display: flex;
    flex-wrap: wrap; 
}
.airporter-about-detaile {
    width: 100%;
}
.airporter-about-img {
    margin-top: 20px;
    width: 100%;
}
.airporter-about-img img {
    border-radius: 5px;
    border: 1px solid #707070;
}
.airporter-about-title {
    padding-top: 0;
    font-size: 15px;
    font-weight: bold;
    padding-bottom: 10px;
    border-bottom: 2px dotted #FDD65E;
    margin-bottom: 14px;
	line-height: 1.5;
	text-align: center;
}
.airporter-title {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 16px;
    text-align: center;
}
.airporter-title::before {
    content: '';
    position: absolute;
    display: inline-block;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 8px;
    background: #FCCB30;
}
.scroll-area {
	width: 100%;
	overflow-x: scroll;
}

.scroll-wrap{
	width: 600px;
}
@media (min-width: 768px) {
    .airporter-about {
        padding: 40px 0;
    }
    .airporter-about-wrap {
        justify-content: space-between;
    }
    .airporter-about-detaile{
        width: 50%;
    }
    .airporter-about-img {
        margin-top: 0;
        width: 49%;
        padding-left: 1%;
    }
    .airporter-about-title {
        font-size: 20px;
        margin-bottom: 24px;
		text-align: left;
    }
    .airporter-title {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.4;
        position: relative;
        padding-bottom: 12px;
        margin-bottom: 30px;
        text-align: center;
    }
    .airporter-title::before {
        content: '';
        position: absolute;
        display: inline-block;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 8px;
        background: #FCCB30;
    }
    .scroll-area {
        overflow-x: inherit;
    }
    .scroll-wrap{
        width: 100%;
    }
}
/* area */
.airporter-area .scroll-wrap {
    width: 600px;
}
.airporter-area-img-list {
    display: flex;
    column-gap: 1.5%;
    margin-bottom: 10px;
}
.airporter-area-img {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}
.airporter-area-img::before {
    content: '';
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 0;
}
.airporter-area-caption {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}
.airporter-area-caption span {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #fff;
}
@media(min-width: 768px) {
    .airporter-area .scroll-area {
        overflow-x: inherit;
    }
    
    .airporter-area .scroll-wrap {
        margin: auto;
        width: 100%;
    }
    
    .airporter-area-img-list {
        justify-content: center;
    }
}
/* flow */
.airporter-flow {
    padding: 20px 0 0;
}
.airporter-flow .scroll-area {
    overflow-x: scroll;
}
.airporter-flow .scroll-wrap{
    width: 1000px;
}
.airporter-flow-list {
    display: flex;
    column-gap: 2.5%;
}
.airporter-flow-list li {
    position: relative;
    width: calc(100% / 4);
    background: #fff;
    border-radius: 5px;
    padding: 14px 12px;
    margin: 0 0 16px;
}
.airporter-flow-list li:not(:last-child)::after {
    content: '\f0da';
    position: absolute;
    top: calc(50% - 20px);
    right: -20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 30px;
    color: #FCCB30;
    margin: 10px 0 16px;
}
.airporter-flow-img {
    margin-bottom: 10px;
    text-align: center;
}
.airporter-flow-img img {
    margin: auto;
    border-radius: 50%;
}
.airporter-flow-title {
    width: 80%;
    font-size: 13px;
    font-weight: bold;
    background: #FCCB30;
    border-radius: 20px;
    text-align: center;
    padding: 6px 10px 4px;
    margin: 12px auto 10px;  
}
.airporter-flow-text {
    font-size: 13px !important;
    line-height: 1.5;
}
@media (min-width: 1025px) {
    .airporter-flow .scroll-area {
        overflow-x: inherit;
    }
    .airporter-flow .scroll-wrap{
        width: 100%;
    }
}
@media (min-width: 768px) {
    .airporter-flow {
        padding: 20px 0;
    }
    .airporter-flow-list {
        column-gap: 2.5%;
    }
    .airporter-flow-list li {
        width: calc(100% / 4);
        padding: 14px 12px;
    }
    .airporter-flow-list li:not(:last-child)::after {
        top: calc(50% - 20px);
        right: -16px;
        font-size: 20px;
        margin: 10px 0 16px;
    }
    .airporter-flow-img {
        margin-bottom: 10px;
    }
    .airporter-flow-title {
        padding: 6px 10px 4px;
        margin: 12px auto 10px;
    }
    .airporter-flow-text {
        text-align: left;
        font-size: 13px;
        line-height: 1.5;
    }
}
article .button-wrap {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}
article .button-wrap .button {
	display: inline-block;
	background: #f53d7e;
	color: #fff;
	text-align: center;
	padding: 12px;
	width: 100%;
	position: relative;
	border-radius: 5px;
	font-size: 15px;
}
article .button-wrap .button:hover{
	text-decoration: none;
	opacity: 0.5;
}
article .button-wrap .button:after {
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: block;
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
}
.timetable-notice {
    font-size: 14px;
    padding-top: 10px;
}