@charset "UTF-8";
html{font-size:62.5%;}
* {margin: 0;padding: 0;box-sizing: border-box;}
img {border: none;vertical-align: bottom;line-height: 0;}
main{display: block;}
h1,h2,h3,h4,h5,h6{font-size: 100%;font-weight: normal;font-family: "游明朝",YuMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro,"メイリオ", Meiryo,serif;}
h1,h1 a {font-size:26px;font-size:2.6rem;}
h2,h2 a {font-size:22px;font-size:2.2rem;}
h3 {font-size:20px;font-size:2.0rem;}
h4,h5 {font-size:18px;font-size:1.8rem;}
p,dl,a,ul,table,dt,dt a {font-size:15px;font-size:1.5rem;font-family: "游明朝",YuMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro,"メイリオ", Meiryo,serif;}
a {text-decoration: none;color: inherit;line-height:inherit;font-size:inherit;cursor: pointer;transition-duration: 0.4s;}
a:hover{color:rgba(150,150,150,1);text-decoration: none;}
ul,p,tr,td,table{margin:0;padding:0;color: #0f0f0f;}
p{line-height: 1.8;color: #0f0f0f;text-align: justify;text-justify: inter-ideograph;}
li,dd{list-style:none;margin: 0;padding: 0;color: #0f0f0f;}
.cf:after{content: "";clear: both;display: block;}
.no-border{border: 0px!important;}
span.ib{display: inline-block;}
.attention{margin-left: 1em!important;text-indent: -1em;}
.attention:before{content: "※";}
.upper-1200,.upper-1024,.upper-767{display: block;}
.under-1200,.under-1024,.under-767{display: none;}
.flex-box{display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap:wrap;-webkit-justify-content: space-between;justify-content:space-between;}
.flex-box-column{-webkit-flex-direction: column;flex-direction:column;}
.flex-box-start{-webkit-justify-content: flex-start;justify-content:flex-start;}
.flex-box-end{-webkit-justify-content: flex-end;justify-content:flex-end;}
.flex-box-center{-webkit-justify-content: center;justify-content:center;}
.flex-align-center{-webkit-align-items: center;align-items:center;}
.flex-align-end{-webkit-align-items: flex-end;align-items:flex-end;}
.red{color: rgba(208,66,74,1);}
.mi{width: 100%;height: auto;}
.st{font-size:75%;}
.qs3{font-family: 'Quicksand', sans-serif;font-weight: 300;}.qs4{font-family: 'Quicksand', sans-serif;font-weight: 400;}.qs5{font-family: 'Quicksand', sans-serif;font-weight: 500;}.qs7{font-family: 'Quicksand', sans-serif;font-weight: 700;}
.sticky{position: sticky;top: 0;z-index: 50;}
.multi-column-box{-moz-column-count: 2;-webkit-column-count: 2;column-count: 2;-moz-column-gap: 50px;-webkit-column-gap: 50px;column-gap: 50px;}
body{font-size:10px;font-size:1.0rem;width:100%;line-height:1.8;font-family: "游明朝",YuMincho,"ヒラギノ明朝 Pro W3", Hiragino Mincho Pro,"メイリオ", Meiryo,serif;background-color: #fff;}
/*---------------------------------------------------------common-----------------------------------------------*/
.dark-red{color: rgba(208,66,74,1);}
div.bg-left-line{
	width: 20px;
	background-color:rgba(208,66,74,1);
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	min-height: 100vh;
}
section.common-section{
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
section.white-section{
	background-color: #fff;
}
section.common-section div.common-section-inner{
	width: 100%;
	max-width: 1580px;
	padding: 70px 40px;
	margin: 0 auto;
	position: relative;
}
/*---------------------------------------------------------child-common-----------------------------------------*/
div.child-title-wrapper{
	margin-top: 66px;
	width: 100%;
	background-color: #1f1f1f
}
div.child-title-inner{
	width: 100%;
	max-width: 1580px;
	padding: 60px 40px;
	margin: 0 auto;
	overflow: hidden;
}
div.child-title-inner div.child-title{
	width: 400px;
	position: relative;
	z-index: 1;
}
div.child-title-inner div.child-title h2{
	color: #fff;
	font-size: 30px;
	font-size: 3.0rem;
	line-height: 1.2
}
div.child-title-inner div.child-title p.sub-eng{
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
}
div.child-title-inner div.child-title p.bg-eng{
	position: absolute;
	bottom: -40px;
	left: 0px;
	z-index: -1;
	font-size: 120px;
	font-size: 12.0rem;
	color: #252525;
	width: 100vw;
	line-height: 1.0;
}
div.child-title-inner nav.child-submenu{
	width: calc(100% - 400px);
	position: relative;
	z-index: 2;
}
div.child-title-inner nav.child-submenu ul li{
	padding: 0 15px;
	color: #fff;
	border-right: 1px solid #333;
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
div.child-title-inner nav.child-submenu ul li:last-child{
	padding-right: 0;
	border:0px;
}
article.narrow-article{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
nav.grandchild-menu{
	width: 100%;
	background-color: #333
}
nav.grandchild-menu ul{
	width: 100%;
	max-width: 1580px;
	padding: 0px 40px;
	margin: 0 auto;
}
nav.grandchild-menu ul li{
	padding: 4px 60px;
	color: #fff;
}
nav.grandchild-menu ul li.active-page{
	background-color: rgba(208,66,74,1);
}
/*---------------------------------------------------------header-----------------------------------------------*/
header{
	position: relative;
	max-width: 1580px;
	padding: 24px 40px 0;
	margin: 0 auto;
}
header div.header-inner{
	width: 100%;
}
header div.header-inner figure.logo-wrapper img{
	font-size: 20px;
	font-size: 2.0rem;
	width: 8em;
}
header div.header-inner figure.logo-wrapper h1{
	font-size: 20px;
	font-size: 2.0rem;
	width: 8em;
	text-align: center;
}
header nav.common-nav div.contact-box{
	margin-bottom: 20px;
}
header nav.common-nav div.contact-box h5{
	font-size: 15px;
	font-size: 1.5rem;
	color: rgba(208,66,74,1);
	line-height: 1.0;
	margin-right: 10px;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
header nav.common-nav div.contact-box p{
	margin-right: 10px;
	line-height: 1.0;
}
header nav.common-nav div.contact-box div.arrow-box{
	background-color: rgba(208,66,74,1);
	width: 26px;
	height: 26px;
	padding: 8px;
	position: relative;
	transition-duration: .4s;
}
header nav.common-nav div.contact-box div.arrow-box:hover{
	background-color: #000;
}
header nav.common-nav div.contact-box div.arrow-box a{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
nav.grand-nav{
	max-width: 1580px;
	padding: 0px 40px 0;
	margin: 0 auto;
	margin-top: -36px;
	transition-duration: .4s;
}
ul.common-nav-list{
	width: 100%;
	transition-duration: .4s;
}
ul.common-nav-list li{
	padding: 0px 15px 0;
	border-right: 1px solid rgba(249,249,249,1);
	min-width: 168px;
	transition-duration: .4s;
}
ul.common-nav-list li.do-not-show{
	display: none;
}
ul.common-nav-list li:first-child{
	padding-left: 0;
}
ul.common-nav-list li:last-child{
	padding-right: 0;
	border-right: 0;
}
ul.common-nav-list li div.common-nav-list-inner{
	padding: 20px 15px;
	border-bottom: 4px solid rgba(208,66,74,1);
	transition-duration: .4s;
}
ul.common-nav-list li div.common-nav-list-inner:hover{
	background-color: #f5f5f5;
	border-color: #000;
}
ul.common-nav-list li div.common-nav-list-inner a.nav-ja{
	display: block;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	color: #000;
	line-height: 1.4;
}
ul.common-nav-list li div.common-nav-list-inner a.nav-eng{
	display: block;
	text-align: center;
	font-size: 12px;
	font-size: 1.2rem;
	color: #a1a1a1;
	line-height: 1.4;
}
figure.humberger-wrapper{
	width: 30px;
	height: 30px;
	position: fixed;
	right: 20px;
	top: 20px;
	z-index: 900;
	display: none;
}
/*---------------------------------------------------------footer-----------------------------------------------*/
footer{
	background-color: #1f1f1f;
	padding: 40px 60px 60px;
}
footer nav.footer-nav{
	margin-bottom: 60px;
}
footer nav.footer-nav ul li{
	padding: 0px 20px;
	color: #fff;
	border-right: 1px solid #333;
}
footer nav.footer-nav ul li:last-child{
	border: 0;
}
footer figure.footer-fig{
	margin: 0 auto;
	width: 100px;
}
footer div.footer-explain{
	margin: 40px 0;
}
footer div.footer-explain h5{
	text-align: center;
	color: #fff;
	margin-bottom: 4px;
}
footer div.footer-explain p{
	text-align: center;
	color: #fff;
}
footer p.copyrights{
	text-align: center;
	color: #fff;
}
footer p.design-copyrights{
	text-align: center;
	color: #fff;
	margin-top:20px;
}
section.to-the-top{
	position: fixed;
	z-index: 10;
	right: 15px;
	bottom: 15px;
	background-color: rgba(208,66,74,1);
	opacity: 0;
	transition-duration: .4s;
	padding: 0 15px;
}
section.to-the-top p a{
	color: #fff;
}
section#smartphone-menu{
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	height: 100vh;
	top: 0;
	overflow-y: scroll;
	background-color: rgba(0,0,0,.9);
	z-index: 999;
	padding: 50px;
}
section#smartphone-menu p.show-eng{
	color: #fff;
	cursor: pointer;
	text-align: right;
	font-size: 18px;
	font-size: 1.8rem;
}
section#smartphone-menu h2{
	text-align: center;
	color: #fff;
	font-weight: bold;
}
section#smartphone-menu h3{
	text-align: center;
	color: #fff;
}
section#smartphone-menu nav.sp-nav{
	margin-top: 40px;
	width: 100%;
}
section#smartphone-menu nav.sp-nav ul{
	padding: 0 20px;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}
section#smartphone-menu nav.sp-nav ul li{
	width: calc(50% - 20px);
	text-align: center;
	border:1px solid #222;
	margin: 10px;
	transition-duration: .8s;
}
section#smartphone-menu nav.sp-nav ul li:hover{
	border-color: #fff;
}
section#smartphone-menu nav.sp-nav ul li a{
	color: #999;
	display: block;
	padding: 20px 50px;
	font-size: 20px;
	font-size: 2.0rem;

}
section#smartphone-menu nav.sp-nav ul li a:hover{
	background-color: rgba(208,66,74,1);
	color: #fff;
}
/*---------------------------------------------------------top--------------------------------------------------*/
div.news-and-slide-box{
	padding-top: 66px;
	padding-left: 40px;
	width: 100%;
	padding-bottom: 220px;
}
div.reservation-box{
	box-shadow: 0 0 10px rgba(0,0,0,.2);
	width: 580px;
	position: relative;
	z-index: 3;
}
div.reservation-box div.reservation-intro{
	background-color: rgba(208,66,74,1);
	padding: 66px 40px;
}
div.reservation-box div.reservation-intro h3{
	color: #fff;
	line-height: 1.4;
	font-size: 24px;
	font-size: 2.4rem;
}
div.reservation-box div.reservation-intro h2{
	color: #fff;
	line-height: 1.4;
	font-size: 35px;
	font-size: 3.5rem;
	border-bottom: 1px solid #fff;
}
div.reservation-box div.reservation-intro div.reservation-text{
	margin: 20px 0 0;
}
div.reservation-box div.reservation-intro div.reservation-text p{
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
}
div.reservation-box div.reservation-phone{
	background-color: #fff;
	padding: 24px;
}
div.reservation-box div.reservation-phone figure{
	margin-bottom: 5px;
}
div.reservation-box div.reservation-phone h5{
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 1.0;
	margin-left: 4px;
	margin-right: 10px;
}
div.reservation-box div.reservation-phone p{
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
}
div.reservation-box div.reservation-btn{
	background-color: #1f1f1f;
}
div.reservation-box div.reservation-btn div.reservation-btn-title{
	width: calc(100% - 130px);
}
div.reservation-box div.reservation-btn div.reservation-btn-title h4{
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.4;
}
div.reservation-box div.reservation-btn div.reservation-btn-title p{
	color: #fff;
	text-align: center;
	line-height: 1.4;
}
div.reservation-box div.reservation-btn div.reservation-btn-arrow{
	text-align: center;
	width: 130px;
	height: 130px;
	padding: 0 40px;
	position: relative;
	background-color: rgba(208,66,74,1);
	transition-duration: .4s;
}
div.reservation-box div.reservation-btn div.reservation-btn-arrow:hover{
	background-color: #1f1f1f;
}
div.reservation-box div.reservation-btn div.reservation-btn-arrow a{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
div.news-box{
	width: calc(100% - 580px);
	position: relative;
	z-index: 2;
}
div.news-box-inner{
	width: 100%;
	background-color: #fff;
	padding: 0 50px 20px;
}
div.news-box div.top-news-title{
	margin-bottom: 16px;
}
div.news-box div.top-news-title h3{
	color: #cfcfcf;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-right: 10px;
}
div.news-box div.top-news-title p{
	color: #cfcfcf;
}
div.news-box dl dt{
	width: 6em;
	color: #000;
}
div.news-box dl dd{
	width: calc(100% - 6em);
	color: #a1a1a1;
}
section.top-bus-section{
	z-index: 2;
}
ul.bus-list{
	width: calc(100% - 320px);
}
ul.bus-list li{
	padding: 0 15px;
	width: 33.33333333%;
	border-right: 1px solid rgba(249,249,249,1);
	position: relative;
}
ul.bus-list li:last-child{
	border-right: 0;
}
ul.bus-list li div.bus-list-inner{
	padding: 20px;
}
ul.bus-list li div.bus-list-inner div.passenger-num p:first-child{
	color: #fff;
	font-size: 34px;
	font-size: 3.4rem;
	background-color: rgba(208,66,74,1);
	border-radius: 50%;
	width: 2em;
	height: 2em;
	text-align: center;
	line-height: 2.1;
}
ul.bus-list li div.bus-list-inner div.passenger-num p:last-child{
	color: rgba(208,66,74,1);
	margin-left: 4px;
}
ul.bus-list li div.bus-list-inner div.bus-title{
	margin-left: 14px;
}
ul.bus-list li div.bus-list-inner div.bus-title h2{
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.4;
	margin-top: 20px;
}
ul.bus-list li div.bus-list-inner div.bus-title h2 a{
	font-size: inherit;
}
ul.bus-list li div.bus-list-inner div.bus-title p{
	color: #777;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.4;
	margin-bottom: 20px;
}
ul.bus-list li div.bus-list-inner figure{
	width: 100%;
	margin: 150px auto 0;
}
ul.bus-list li.bus2 div.bus-list-inner figure{
	width: 90%;
}
ul.bus-list li.bus3 div.bus-list-inner figure{
	width: 85%;
}
ul.bus-list li p.bg-type{
	position: absolute;
	z-index: -1;
	color: #f3f3f3;
	font-size: 48px;
	font-size: 4.8rem;
	top:0;
	right: 20px;
}
ul.bus-list li div.bg-name-wrapper{
	position: absolute;
	z-index: -1;
	width: 190px;
	height: 190px;
	background-color: rgba(208,66,74,1);
	border-radius: 50%;
	right: 40px;
	bottom:120px;
}
ul.bus-list li div.bg-name-wrapper p{
	font-size: 40px;
	font-size: 4.0rem;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	top: 0;
	bottom: 0;
	margin: auto;
}
div.bus-type-info{
	width: 310px;
	position: absolute;
	right: 40px;
	top: -70px;
}
div.bus-type-info div.bus-type-title{
	background-color: #1f1f1f;
	padding: 300px 40px 40px;
	position: relative;
}
div.bus-type-info div.bus-type-title h2{
	color: rgba(208,66,74,1);
	font-size: 52px;
	font-size: 5.2rem;
	text-align: right;
}
div.bus-type-info div.bus-type-title h4{
	text-align: right;
	color: #fff;
	font-size: 26px;
	font-size: 2.6rem;
}
div.bus-type-info div.bus-type-title p{
	color: #fff;
	text-align: right;
}
div.bus-type-info div.bus-type-title figure{
	position: absolute;
	right: 50px;
	bottom: 190px;
	width: 31px;
}
div.bus-type-info div.bus-safety-box{
	background-color: rgba(208,66,74,1);
	padding: 40px;
}
div.bus-type-info div.bus-safety-box p{
	text-align: center;
	color: #fff;
	margin-bottom: 6px;
}
div.bus-type-info div.bus-safety-box h3{
	text-align: center;
	color: #fff;
	font-size: 19px;
	font-size: 1.9rem;
	line-height: 1.4;
}
div.bus-type-info div.bus-safety-box figure{
	margin: 20px auto 0;
	width: 100%;
	max-width: 105px;
}
div.bus-type-info div.bus-safety-box figure figcaption{
	margin-top: 15px;
	text-align: center;
	font-size: 15px;
	font-size: 1.5rem;
	color: #fff;
}
section.top-service-section{
	z-index: 1;
}
div.top-service-title{
	width: 100%;
	background: rgba(0, 0, 0, 0) url('images/top/bg-service-top.jpg') no-repeat center center / cover;
	padding: 100px 40px;
}
div.top-service-title h3{
	text-align: center;
	color: #fff;
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.4;
}
div.top-service-title h2{
	text-align: center;
	color: #fff;
	font-size: 58px;
	font-size: 5.8rem;
	line-height: 1.4;
}
ul.top-service-list{
	padding-left: 20px;
}
ul.top-service-list li{
	width: 22%;
	margin-bottom: calc((100vw - 80px - 20px) * 0.04);
}
ul.top-service-list li figure img{
	transition-duration: .4s;
}
ul.top-service-list li figure img:hover{
	opacity: .8;
}
ul.top-service-list li div.top-service-texts{
	margin-top: 10px;
}
ul.top-service-list li div.top-service-texts div.top-service-type{
	border-bottom: 1px solid rgba(208,66,74,1);
	padding-bottom: 10px;
	margin-bottom: 10px;
}
ul.top-service-list li div.top-service-texts div.top-service-type p.service-eng{
	line-height: 1.2;
	color: rgba(208,66,74,1);
}
ul.top-service-list li p.service-link{
	text-align: right;
	color: rgba(208,66,74,1);
}
div.cost-box div.top-cost-title{
	background-color: #1f1f1f;
	padding: 20px 60px;
}
div.cost-box div.top-cost-title h2{
	color: #fff;
	text-align: center;
	line-height: 1.2;
}
div.cost-box div.top-cost-title p{
	color: #fff;
	text-align: center;
}
div.cost-box div.top-cost-explain{
	background-color: rgba(208,66,74,1);
}
div.cost-box div.top-cost-explain div.top-cost-explain-text{
	padding: 10px 20px 0;
}
div.cost-box div.top-cost-explain h3{
	color: #fff;
}
div.cost-box div.top-cost-explain h3 span{
	font-size: 120%;
	margin: 0 4px;
}
div.cost-box div.top-cost-explain p{
	color: #fff;
}
div.cost-box div.top-cost-explain div.top-cost-link{
	margin-top: 10px;
	background-color: #fff;
}
div.cost-box div.top-cost-explain div.top-cost-link div.top-cost-link-title{
	padding: 4px 10px;
	width: calc(100% - 40px);
	background-color: #f1f1f1;
}
div.cost-box div.top-cost-explain div.top-cost-link div.top-cost-link-title p{
	text-align: right;
	color: #000;
}
div.cost-box div.top-cost-explain div.top-cost-link figure{
	background-color: #1f1f1f;
	width: 40px;
	height: 40px;
	padding: 15px;
	position: relative;
	transition-duration: .4s;
}
div.cost-box div.top-cost-explain div.top-cost-link figure:hover{
	background-color: rgba(208,66,74,1);
}
div.cost-box div.top-cost-explain div.top-cost-link figure a{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
div.recruit-box{
	margin: 30px 0 60px;
}
div.recruit-box figure{
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
}
/*---------------------------------------------------------service----------------------------------------------*/
section.service-section{
	background-color: #f1f1f1;
	width: calc(100% - 20px);
	margin-left: 20px;
	padding: 20px 0;
}
ul.service-detail-list{
	margin: 20px 0;
}
ul.service-detail-list li{
	margin: 30px 0;
}
ul.service-detail-list li div.service-list-num{
	width: 20%;
}
ul.service-detail-list li div.service-list-num div.service-list-num-inner{
	width: 100%;
	max-width: 300px;
	padding: 60px 50px;
}
ul.service-detail-list li div.service-list-num div.service-list-num-inner p.big-num{
	font-size: 150px;
	font-size: 15.0rem;
	line-height: 1.0;
	color: #d8d8d8;
	text-shadow: 0 -1px 1px #bbb, 1px 1px 1px #fff;
}
ul.service-detail-list li:nth-child(odd) div.service-list-num div.service-list-num-inner p.big-num{
	text-align: right;
}
ul.service-detail-list li div.service-list-num div.service-list-num-inner p.service-detail-eng{
	font-size: 28px;
	font-size: 2.8rem;
	color: #d8d8d8;
	line-height: 1.2;
}
ul.service-detail-list li:nth-child(odd) div.service-list-num div.service-list-num-inner p.service-detail-eng{
	text-align: right;
}
ul.service-detail-list li div.service-list-text{
	width: 80%;
	background-color: #fff;
	box-shadow: 0 0 12px rgba(0,0,0,.1);
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner{
	padding: 60px;
	width: 100%;
	max-width: 1200px;
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner div.service-detail-text{
	width: 50%;
	padding-right: 30px;
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner div.service-detail-text div.service-detail-title{
	margin-bottom: 30px;
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner div.service-detail-text div.service-detail-title h2{
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(208,66,74,1);
	position: relative;
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner div.service-detail-text div.service-detail-title h2:after{
	position: absolute;
	content: "";
	height: 16px;
	width: 1px;
	right: 5px;
	border-right: 1px solid rgba(208,66,74,1);
	transform: rotate(-45deg);
	top: 27px;
}
ul.service-detail-list li div.service-list-text div.service-list-text-inner figure{
	width: 50%;
	padding-left: 30px;
}
/*---------------------------------------------------------safe-------------------------------------------------*/
article.safe-article{
	margin-bottom: 40px;
}
article.safe-article figure.safe-logo-wrapper{
	margin: 0 auto;
	width: 180px;
}
article.safe-article h1.safe-logo-title{
	text-align: center;
	margin: 20px 0;
}
article.safe-article h2{
	color: rgba(208,66,74,1);
	margin-bottom: 10px;
}
article.safe-article ul.safe-list > li{
	list-style-position: outside;
	margin-left: 3em;
	list-style-type: decimal;
}
ol.safe-detail-list{
	margin-bottom: 20px;
}
ol.safe-detail-list li{
	list-style-position: outside;
	margin-left: 2em;
	list-style-type: lower-roman;
}
div.president-text{
	margin-top: 10px;
}
div.president-text p{
	text-align: right;
}
/*---------------------------------------------------------flow-------------------------------------------------*/
ul.flow-detail-list li{
	
}
ul.service-detail-list li div.flow-list-num{
	width: 17%;
	background-color: #f1f1f1;
	padding: 50px;
	padding-left: calc(((100vw - 1500px) / 2) - 30px);
}
ul.service-detail-list li div.flow-list-num p.big-num{
	font-size: 150px;
	font-size: 15.0rem;
	line-height: 1.0;
	color: #d8d8d8;
	text-shadow: 0 -1px 1px #bbb, 1px 1px 1px #fff;
	text-align: right;
}
ul.service-detail-list li div.flow-list-num p.flow-detail-eng{
	font-size: 28px;
	font-size: 2.8rem;
	color: #d8d8d8;
	line-height: 2.2;
}
ul.service-detail-list li div.flow-list-text{
	width: 83%;
	background-color: #fff;
	padding: 60px;
	padding-right: calc(((100vw - 1500px) / 2) - 10px);
}
ul.service-detail-list li div.flow-list-text div.flow-detail-title h2{
	margin-bottom: 20px;
	border-bottom: 1px solid rgba(208,66,74,1);
	position: relative;
}
ul.service-detail-list li div.flow-list-text div.flow-detail-title h2:after{
	position: absolute;
	content: "";
	height: 16px;
	width: 1px;
	right: 5px;
	border-right: 1px solid rgba(208,66,74,1);
	transform: rotate(-45deg);
	top: 27px;
}
p.sp-step-num{
	display: none;
	color: rgba(208,66,74,1);
	font-size: 20px;
	font-size: 2.0rem;
}
/*---------------------------------------------------------faq--------------------------------------------------*/
article.faq-article{
	margin-bottom: 80px;
}
article.faq-article h2{
	color: #000;
}
ul.faq-list{
	margin-left:40px;
	margin-top: 40px;
}
ul.faq-list li{
	margin-bottom: 40px;
}
ul.faq-list li dl dt{
	width: 80px;
}
ul.faq-list li dl dd{
	width: calc(100% - 80px);
	padding-left: 20px;
}
ul.faq-list li dl dt.q-title{
	margin-bottom: 10px;
}
ul.faq-list li dl dt.q-title p{
	background-color: rgba(208,66,74,1);
	width: 80px;
	height: 80px;
	border-radius: 50%;
}
ul.faq-list li dl dt.q-title p span{
	color: #fff;
	line-height: 0.9;
	height: 1em;
	display: block;
	text-align: center;
	width: 80px;
	font-size: 24px;
	font-size: 2.4rem;
}
ul.faq-list li dl dd.q-text p{
	margin-bottom: 10px;
	color: rgba(208,66,74,1);
	font-size: 18px;
	font-size: 1.8rem;
}
ul.faq-list li dl dt.a-title p{
	background-color: #1f1f1f;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	margin: 0 auto;
}
ul.faq-list li dl dt.a-title p span{
	color: #fff;
	line-height: 0.9;
	height: 1em;
	display: block;
	text-align: center;
	width: 80px;
	font-size: 22px;
	font-size: 2.2rem;
}
ul.faq-list li dl dd.a-text p{

}
ol.faq-decimal-list li{
	list-style-position: outside;
	margin-left: 1em;
	list-style-type: decimal;
	margin-bottom: 0;
}
/*---------------------------------------------------------about------------------------------------------------*/
article.map-article{
	padding-top: 40px;
	border-top: 1px solid rgba(208,66,74,1);
}
article.map-article iframe{
	width: 100%;
	height: 500px;
}
/*---------------------------------------------------------privacy----------------------------------------------*/
ul.privacy-list li{
	font-size: 18px;
	font-size: 1.8rem;
}
/*---------------------------------------------------------link-------------------------------------------------*/
ul.link-list{
	margin-left: 1em;
}
ul.link-list li{
	margin-bottom: 15px;
}
/*---------------------------------------------------------bus--------------------------------------------------*/
div.bus-intro-text{
	width: 28%;
}
div.bus-intro-text div.passenger-num p:first-child{
	color: #fff;
	font-size: 26px;
	font-size: 2.6rem;
	background-color: rgba(208,66,74,1);
	border-radius: 50%;
	width: 2em;
	height: 2em;
	text-align: center;
	line-height: 2.1;
}
div.bus-intro-text div.passenger-num p:last-child{
	color: rgba(208,66,74,1);
	margin-left: 4px;
}
div.bus-intro-text h1{
	font-size: 40px;
	font-size: 4.0rem;
	line-height: 1.2;
	margin-bottom: 10px;
}
div.bus-intro-text p.bus-size{
	font-size: 20px;
	font-size: 2.0rem;
	margin-top: 10px;
}
div.bus-intro-image{
	width: 72%;
	padding-left: 40px;
	position: relative;
}
div.bus-intro-image div.bg-name-wrapper{
	position: absolute;
	z-index: -1;
	width: 300px;
	height: 300px;
	background-color: rgba(208,66,74,1);
	border-radius: 50%;
	right: 40px;
	top:-120px;
}
div.bus-intro-image div.bg-name-wrapper p{
	font-size: 70px;
	font-size: 7.0rem;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	top: 0;
	bottom: 0;
	margin: auto;
}
div.bus-explain-area{
	margin-top: 0px;
}
div.bus-explain-text{
	width: 72%;
	padding-right: 40px;
}
div.bus-explain-text div.bus-explain-detail{
	margin-top: 0px;
}
div.bus-explain-text div.bus-explain-detail h4{
	font-size: 24px;
	font-size: 2.4rem;
}
div.bus-explain-text div.bus-explain-detail ul.icon-list{
	margin-top: 20px;
}
div.bus-explain-text div.bus-explain-detail ul.icon-list li{
	width: 90px;
}
div.bus-explain-text div.bus-explain-detail ul.icon-list li img{
	display: block;
	width: 58px;
	margin: 0 auto 0px;
	padding: 8px;
}
div.bus-explain-text div.bus-explain-detail ul.icon-list li p{
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
}
div.bus-explain-text div.bus-photo-wrapper{
	margin-top: 80px;
}
div.bus-explain-text ul.bus-photo-list{
	margin-top: 0px;
}
div.bus-explain-text ul.bus-photo-list li{
	width: 25%;
	padding: 30px;
}
div.bus-explain-text ul.bus-photo-list li img{
	padding: 10px;
	background-color: #fff;
}
div.bus-explain-text ul.bus-photo-list li figcaption{
	text-align: center;
}
div.bus-explain-seat{
	width: 28%;
}
div.bus-explain-seat figure{
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
}
/*---------------------------------------------------------contact----------------------------------------------*/
h2.form-inslide-title{
	margin-bottom: 20px;
}
/*---------------------------------------------------------recruit----------------------------------------------*/
article.recruit-article h2{
	color: rgba(208,66,74,1);
	margin-bottom: 10px;
}
dl.recruit-list{
	margin-top: 30px;
}
dl.recruit-list dt{
	width: 10em;
	border-bottom: 1px solid #ccc;
	padding:15px;
}
dl.recruit-list dd{
	width: calc(100% - 10em);
	border-bottom: 1px solid #ccc;
	padding: 15px;
}
ul.recruit-other-list{
	margin: 10px 0;
}
ul.recruit-other-list li{
	list-style-type: disc;
	margin-left: 1em;
	list-style-position: outside;
}
/*---------------------------------------------------------slides-----------------------------------------------*/
section.swiper-container{
	width: 80%;
	max-width: 1850px;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	right: 0;
}
div.swiper-pagination{
	width: 100%;
	padding: 20px;
	position: relative;
}
.swiper-pagination-bullet{
	background-color: rgba(251,204,53,1);
	opacity: 1;
	cursor: pointer;
	margin: 10px 5px;
}
.swiper-pagination-bullet-active{
	background-color: #fff;
}
figure.slide-arrow{
	width: 11.3333vw;
	height: 25.777vw;
	position: absolute;
	right: -5vw;
	top: 0;
	bottom: 0;
	z-index: 10;
	margin: auto;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
	background: transparent;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
}
div.slide-link-wrapper{
	width: 100%;
}
div.slide-link-wrapper a{
	color: rgba(247,176,36,1);
	font-weight: bold;
	padding: 10px 15px;
	display: block;
	background-color: #fff;
}
li.swiper-slide {
	height: calc(100vh - 150px);
	width: 100%;
}
li.swiper-slide > div{
	height: 100%;
	width: 100%;
}
li.swiper-slide div div p{
	text-align: right;
	color: #fff;
	padding-right: 15vw;
	font-weight: bold;
	font-size: 80px;
	font-size: 8.0rem;
	font-style: italic;
	text-shadow: 0 10px 10px rgba(0,0,0,.4);
}
li.slide1{
	background: rgba(0, 0, 0, 0) url('images/slides/slide1.jpg') no-repeat top left / cover;
}
li.slide2{
	background: rgba(0, 0, 0, 0) url('images/slides/slide1.jpg') no-repeat center center / cover;
}

/*---------------------------------------------------------1580px以下--------------------------------------------*/
@media screen and (max-width: 1580px) {
	ul.service-detail-list li div.flow-list-num{
		padding-left: 60px;
	}
	ul.service-detail-list li div.flow-list-text{
		padding-right: 60px;
	}
}
/*---------------------------------------------------------1480px以下--------------------------------------------*/
@media screen and (max-width: 1480px) {
	ul.common-nav-list li div.common-nav-list-inner a.nav-ja{
		font-size: 12px;
		font-size: 1.2rem;
		font-weight: bold;
	}
	ul.common-nav-list li div.common-nav-list-inner a.nav-eng{
		font-size: 12px;
		font-size: 1.2rem;
	}
	ul.common-nav-list li{
		min-width: 120px;
		padding: 0 5px 0;
	}
	nav.grand-nav{
		margin-top: 0px;
	}
	ul.bus-list li div.bg-name-wrapper p{
		font-size: 24px;
		font-size: 2.4rem;
	}
	ul.bus-list li div.bg-name-wrapper{
		height: 140px;
		width: 140px;
	}
	ul.service-detail-list li div.flow-list-num p.flow-detail-eng{
		display: none;
	}
}
/*---------------------------------------------------------1200px以下--------------------------------------------*/
@media screen and (max-width: 1200px) {
	.upper1200{
		display: none;
	}
	section.swiper-container{
		position: static;
		width: 100%;
	}
	div.news-and-slide-box{
		padding-left: 0;
		padding-top: 20px;
		-webkit-flex-direction: column-reverse;flex-direction:column-reverse;
	}
	div.reservation-box{
		width: 100%;
	}
	div.news-box{
		width: 100%;
	}
	section.top-face-section{
		margin-top: 20px;
		display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap:wrap;-webkit-justify-content: space-between;justify-content:space-between;
		-webkit-flex-direction: column-reverse;flex-direction:column-reverse;
	}
	div.bus-type-info div.bus-type-title figure{
		display: none;
	}
	ul.bus-list{
		-webkit-flex-direction: column;flex-direction:column;
	}
	ul.bus-list li{
		width: 100%;
		border-right: 0;
	}
	ul.bus-list li div.bus-list-inner figure{
		margin-top: 0;
	}
	ul.bus-list li div.bg-name-wrapper{
		display: none;
	}
	div.news-and-slide-box{
		padding-bottom: 0px;
	}
	div.bus-type-info{
		top: 0;
		position: relative;
		right: auto;
		background-color: rgba(208,66,74,1);
	}
	div.top-bus-inner{
		display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap:wrap;-webkit-justify-content: space-between;justify-content:space-between;
	}
	div.cost-box div.top-cost-title{
		width: 100%;
		padding: 10px 20px;
	}
	div.cost-box div.top-cost-title div{
		display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap:wrap;-webkit-justify-content: flex-start;justify-content:flex-start;
	}
	div.cost-box div.top-cost-explain{
		width: 100%;
	}
	div.cost-box div.top-cost-title h2{
		text-align: left;
		margin-right: 6px;
	}
	div.cost-box div.top-cost-title p{
		text-align: left;
	}
	figure.humberger-wrapper{
		display: block;
		cursor: pointer;
	}
	div.bus-intro-image div.bg-name-wrapper{
		display: none;
	}
	div.child-title-inner{
		overflow-x: hidden;
	}
	div.child-title-inner div.child-title p.bg-eng{
		width: 1200px;
	}
	div.bus-explain-text ul.bus-photo-list li{
		width: 33.33333%;
		padding: 20px;
	}
}
/*---------------------------------------------------------1024px以下---------------------------------------------*/
@media screen and (max-width: 1024px) {
	ul.top-service-list li{
		width: 47%;
	}
	section#smartphone-menu nav.sp-nav ul li{
		width: 100%;
	}
	section#smartphone-menu nav.sp-nav ul li a{
		font-size: 17px;
		font-size: 1.7rem;
	}
	section#smartphone-menu{
		padding-left: 20px;
		padding-right: 20px;
	}
	div.bus-intro-text{
		width: 35%;
	}
	div.bus-intro-image{
		width: 65%;
	}
	nav.grandchild-menu ul li{
		padding-left: 20px;
		padding-right: 20px
	}
	form#mail_form dl dt{
		width: 100%!important;
		padding: 10px!important;
	}
	form#mail_form dl dd{
		width: 100%!important;
		padding: 10px!important;
	}
}
/*---------------------------------------------------------767px以下---------------------------------------------*/
@media screen and (max-width: 767px) {
	nav.grand-nav{
		display: none;
	}
	header nav.common-nav{
		margin-top: 10px;
		width: 100%;
		-webkit-justify-content: flex-start;justify-content:flex-start;
	}
	header nav.common-nav div.contact-box{
		-webkit-justify-content: flex-start;justify-content:flex-start;
	}
	div.top-bus-inner{
		-webkit-flex-direction: column-reverse;flex-direction:column-reverse;
	}
	div.bus-type-info{
		width: 100%;
	}
	div.bus-type-info div.bus-type-title{
		padding-top: 40px;
	}
	ul.bus-list{
		width: 100%;
	}
	div.bus-intro-text{
		width: 100%;
		margin-bottom: 40px;
	}
	div.bus-intro-image{
		width: 100%;
		padding-left: 0;
	}
	div.bus-explain-text ul.bus-photo-list li{
		width: 50%;
		padding: 10px;
	}
	div.child-title-inner nav.child-submenu{
		display: none;
	}
	div.service-list-num{
		display: none;
	}
	ul.service-detail-list li div.service-list-text{
		width: 100%;
	}
	ul.service-detail-list li div.service-list-text div.service-list-text-inner > div{
		-webkit-flex-direction: column-reverse;flex-direction:column-reverse;
	}
	ul.service-detail-list li div.service-list-text div.service-list-text-inner figure{
		padding-left: 0;
		width: 100%;
		margin-bottom: 20px;
	}
	ul.service-detail-list li div.service-list-text div.service-list-text-inner div.service-detail-text{
		padding-right: 0;
		width: 100%;
	}
	ul.service-detail-list li div.flow-list-num{
		display: none;
	}
	ul.service-detail-list li div.flow-list-text{
		width: 100%;
	}
	p.sp-step-num{
		display: block;
	}
}
/*---------------------------------------------------------650px以下---------------------------------------------*/
@media screen and (max-width: 650px) {
	ul.top-service-list li{
		width: 100%;
	}
	section.common-section div.common-section-inner{
		padding-right: 20px;
		padding-left: 20px;
	}
	footer nav.footer-nav ul{
		-webkit-flex-direction: column;flex-direction:column;
	}
	footer nav.footer-nav ul li{
		border: 0;
		text-align: center;
		margin-bottom: 20px;
	}
	div.reservation-box div.reservation-intro{
		padding-right: 20px;
		padding-left: 20px;
	}
	div.news-box-inner{
		padding-right: 20px;
		padding-left: 20px;
	}
	div.bus-explain-text{
		width: 100%;
		margin-bottom: 40px;
		padding-right: 0;
	}
	div.bus-explain-seat{
		width: 100%;
	}
	nav.grandchild-menu ul{
		padding-left: 0px;
		padding-right: 0px;
	}
	nav.grandchild-menu ul li{
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	div.child-title-wrapper{
		margin-top: 20px;
	}
	ul.service-detail-list li div.service-list-text div.service-list-text-inner{
		padding-left: 20px;
		padding-right: 20px;
	}
	ul.service-detail-list li div.flow-list-text{
		padding-left: 20px;
		padding-right: 20px;
	}
	article.faq-article h2{
		text-align: center;
	}
	ul.faq-list li dl{
		-webkit-flex-direction: column;flex-direction:column;
	}
	ul.faq-list li dl dd{
		padding-left: 0;
		width: 100%;
	}
	ul.faq-list{
		margin-left: 20px;
	}
	ul.faq-list li dl dd.q-text p{
		text-align: center;
	}
	article.safe-article{
		padding-left: 20px;
	}
	dl.recruit-list dt{
		width: 100%;
		border-bottom: 0;
		padding-bottom: 0;
		font-weight: bold;
	}
	dl.recruit-list dd{
		width: 100%;
		padding-top: 5px;
	}
	p.contact-lead{
		padding-left: 20px;
		padding-right: 20px;
	}
}
/*---------------------------------------------------------480px以下---------------------------------------------*/
@media screen and (max-width: 480px) {
	header div.header-inner figure.logo-wrapper img,header div.header-inner figure.logo-wrapper h1{
		font-size: 16px;
		font-size: 1.6rem;
	}
	header nav.common-nav div.contact-box h5{
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	li.swiper-slide div div p{
		font-size: 60px;
		font-size: 6.0rem;
	}
	div.bus-explain-text ul.bus-photo-list li{
		width: 100%;
	}
}