@charset "UTF-8";
body,
h1, h2, h3, h4, h5, h6,
blockquote, dl, dd, figure, ol, ul, p, pre {margin: 0;}
ul{
	list-style:none;
	padding-left:0;
}
* {box-sizing: border-box;}
html {
	/*overflow-y: scroll;*/
	overflow:auto;/* 横スクロール禁止 */
	font-size:62.5%;
}
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align:middle;
}
body {
	padding: 0;
	margin: 0;
	background:#FFF;
	font-family:"游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;/*=16px*/
	line-height: 1.6;
	/*letter-spacing: 0.08em;*/
	color: #111;
	overflow: hidden;/* 横スクロール禁止 */
	min-width: 1160px;
	font-weight:500;
}
.container {
	width: 1160px;
	margin: 0 auto;
}
@media screen and (max-width: 1159px) {/* 横幅1160px未満のとき */
  body {
	  min-width: auto;
  }
  .container {
	  width: 92%;
	  margin: 0 auto;
	  box-sizing: border-box;
  }
}


.sp {
	display: none;
}

/* Header
-------------------------------------- */
header.global{
	width:100%;
	padding: 0 2.5em;
	padding: 0 1.5em;
	background: #FFF;
	box-shadow: 0 0px 30px 15px rgba(75,38,94,.15);
	position:fixed;
	top:0;
	z-index:99;
}
header.global.flex-box{
	align-items: center;
}
header.global .logo a{
	display: block;
	line-height: 0;
}
header.global .upper.flex-box{
	align-items: center;
}
header.global p{
	font-size: 1.1rem;
	color: #444;
	margin-right: 2vw;
	margin-left: 1.5em;
}
header.global .tel,
header.global .contact,
header.global .login {

	min-width: 160px;
	text-align: center;
}
header.global .tel a,
header.global .contact a,
header.global .login a {
	display: block;
	padding: 0.25em 0;
	transform:skewX(17deg);
	transition: 0s;
}
header.global .tel a:hover,
header.global .contact a:hover,
header.global .login a:hover {
	opacity: 1;
}
header.global .tel a span,
header.global .contact a span,
header.global .login a span {

	display: inline-block;
	transform:skewX(-17deg);
}
header.global .tel a{
	background:#ECD2F9;
border-right: 1px solid #b0b0b0;
}
header.global .contact a{
	background:#FFFF00;
}
header.global .login a {
	background: #DAE4ED;
border-right: 1px solid #b0b0b0;
}

header.global .tel a:hover img,
header.global .contact a:hover img,
header.global .login a:hover img {
	opacity: 0.7;
	transition: 0s;
}

header.global nav{
	padding: 1em 0 ;
}
header.global nav ul.flex-box{
	align-items: center;
}
header.global nav li {
	font-weight:bold;
	margin-left: 2vw;
}
header.global nav a span{
	position: relative;
	z-index: 1;
}
header.global nav a span::after{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 10px;/*下線の高さ*/
  background: #FFFF00;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}
header.global nav a:hover span::after{
  width: 100%;/*hover時に表示*/
}


/* Footer
-------------------------------------- */
footer.global{
	color: #FFF;
}
footer.global .upper{
	background: #BA55E8;
	padding: 0 0 20px;
}

@media screen and (max-width: 1159px) {/* 横幅1160px未満のとき */
footer.global .upper .container {
	width: 97%;
}
}


footer.global .bottom{
	background: #A629E2;
	padding: 20px 0 80px;
}

footer.global .banner{
	transform: translate(0,-80px);
	margin-bottom: -80px;
}

footer.global .info.flex-box{
	align-items: flex-end;
}

footer.global .left .logo{
	font-size: 2.2rem;
	margin-bottom:1rem;
}

.flogo_span {
    font-size: 16px;
    display: block;
}

@media screen and (max-width: 1159px) {/* 横幅1160px未満のとき */
  footer.global .left .logo{
	  font-size: 1.8rem;
  }
}

footer.global .left p{
	font-size: 1.4rem;
}

footer.global nav li{
	display:inline-block;
	font-size:1.4rem;
	margin-left:2em;
}

@media screen and (max-width: 1159px) {/* 横幅1160px未満のとき */
   footer.global nav li{
	font-size:1.3rem;
  }
}

footer.global .info.flex-box nav ul li.sp {
	display: none;
}

footer.global nav a span{
	position: relative;
	z-index: 1;
}
footer.global nav a span::after{
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 2px;/*下線の高さ*/
  background: #FFF;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}
footer.global nav a:hover span::after{
  width: 100%;/*hover時に表示*/
}
/*===============
  Page Top
===============*/
#pagetop{
	position:fixed;
	right:20px;
	bottom:15px;
	z-index:200;
}
#pagetop a span{
	position: relative;
	z-index: 1;
}
#pagetop a span::after{
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 2px;/*下線の高さ*/
  background: #132C51;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}
#pagetop a:hover span::after{
  width: 100%;/*hover時に表示*/
}
/* Main Contents
-------------------------------------- */	  
main{
	display: block;/* IE11で認識されないのを防ぐ */
	padding-bottom: 160px;
}
/* Flex Box */
.flex-box{
    display: flex;
    flex-wrap: nowrap;
     justify-content: space-between;
}
/**/
.ttl{
	margin-bottom: 1.5em;
	color: #B958E7;
}
h4, h5, h6{
	font-size: 1.6rem;
}
p{
	margin: 1.5em 0;
}
p:first-of-type{
	margin-top: 0;
}
p:last-of-type{
	margin-bottom: 0;
}
/* breadcrumb
--------------------------------------  */
#breadcrumb {
	padding: 0;
	margin: 2rem 0 4rem;
	line-height:1;
}
#breadcrumb ul{
	padding: 0;
}
#breadcrumb li {
	display:inline-block;
	margin-right: 4px;
	font-size: 1.2rem;
	vertical-align:middle;
}
#breadcrumb li + li:before{
	content:">";
	margin-right:4px;
}
/**/
#other_mv{
	background: url(../img/mv_scooters.jpg) no-repeat center;
	background-size: cover;
	height: 400px;
}
#other_mv .flex-box{
	align-items: center;
	height: 100%;
	padding-top: 90px;
}
.mvtitle{
	font-size: 6.4rem;
	color: #FFF;
	text-shadow: 0px 6px 8px rgba(75,38,94,.7);
	/*color: rgba(255,255,255,0);
	-webkit-text-stroke: 1px #B958E7;*/
}
/*========================================
予約フォーム
========================================*/
.page.contact{
	padding-bottom: 60px;
}
.page.contact .ttl{
    text-align: center;
    font-size: 2.8rem;
}

.page.contact .inner{
	border: 6px solid #DBDFE3;
	width: 720px;
	margin:0 auto;
	padding: 60px 0;
}

.page.contact .inner form{
	margin: 0 60px;
}

.formT{
	margin-bottom: 0.5em;
}
.formP{
	margin-bottom: 2em;
}
.required{
	background:#FF6F93;
	border-radius: 99px;
	color: #FFF;
	font-weight: bold;
	font-size: 1.1rem;
	display: inline-block;
	vertical-align: middle;
	padding:0 1em;
	margin-left: 0.5em;
}

.page.contact input[type="text"],
.page.contact input[type="email"],
.page.contact textarea{
	width:100%;
	padding:0.5rem;
}
.page.contact input[type="text"].short{
	width:5em;
}
.page.contact select{
	padding:0.5rem;
}
.page.contact input+input,
.page.contact select+input,
.page.contact input+select{
margin-top: 0.5em;
}

/* 送信ボタン */
.btn_form {
	text-align:center;
    width: 50%;
    margin: 0 auto;
}
.btn_form .btn_form--submit{
	cursor: pointer;
	font-family:"游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1.8rem;
	/*border:none;*/
	-webkit-appearance: none;
	border-radius:99px;
	padding: 1em 2.5em;
	font-weight: bold;
	line-height: 1.6;
	background:#B958E7;
	color: #FFF;
	border: 0;
	width: 100%;
}
.btn_form .btn_form--submit:hover {
	/*opacity:0.7;*/
	transition: all 0.4s;
	opacity: .7;
}
/* 戻るボタン */
.btn_form .btn_form--back{
	cursor: pointer;
	font-family:"游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:1.8rem;
	/*border:none;*/
	-webkit-appearance: none;
	border-radius:99px;
	padding: 1em 2.5em;
	font-weight: bold;
	line-height: 1.6;
	background: #666;
	color: #FFF;
	border: 0;
	width: 100%;
}
.btn_form .btn_form--back:hover {
	opacity:0.7;
	transition: all 0.4s;
}

/* 予約ページ 戻るボタンと送信ボタン */
.formbtnlist li{
	width: 48%;
}
/* エラー */
.page.contact .valid-error{
	display: block;
	background:#FFDDDD;
    color: #D90000 !important;
	font-weight:bold;
	font-size: 93%;
	padding:0 8px;
	margin-top:8px;
}

/* 日付選択カレンダー */
.flatpickr-calendar.inline{
    top: 10px;
    margin-bottom: 20px;
}

/*----------------------------------------
リンク
----------------------------------------*/
a:link {
	color: #122B50;
	text-decoration:none;
}
a:visited {
	color: #122B50;
	text-decoration:none;
}
a:hover {
	color: #122B50;
	text-decoration: none;
	opacity:0.7;
	transition: all 0.4s;
}
a:active {
	color: #122B50;
	text-decoration: none;	
	opacity:0.7;
	transition: all 0.4s;
}

/* ボタン */
.btn a:link,
.btn a:visited,
.btn a:hover,
.btn a:active{
	color:#122B50;
}

header.global nav .btn-contact a:hover,
header.global nav .btn-contact a:active{
	opacity:0.7;
	transition: all 0.4s;
}
/**/
footer.global a:link,
footer.global a:hover,
footer.global a:active,
footer.global a:visited{
color: #FFF;
opacity: 1;
}

header.global nav a:hover,
#pagetop a:hover{
	opacity: 1;
}
/*----------------------------------------
画像のマウスオーバー効果
----------------------------------------*/
a:hover img {
	transition: all 0.4s;
	opacity:0.7;
}


/*----------------------------------------
会員登録完了　仮会員
----------------------------------------*/
.member_thanks .inner p {
	padding: 0 1em;
}


/*----------------------------------------
ログイン画面
----------------------------------------*/
.remember {
	text-align: center;
}
input[value="ログイン"] {
	margin-top: 2em;
	margin-bottom: 2em;
}
.forgot_password {
	margin: 0 60px;
	text-align: center;
}
.forgot_password a {
	color: #0000EE;
	text-decoration: underline;
}

.incomp {
	text-align: center;
	margin: 50px auto 0;
}
.incomp a {
	display: inline-block;
	cursor: pointer;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1.8rem;
    /* border: none; */
    -webkit-appearance: none;
    border-radius: 99px;
    padding: 1em 2.5em;
    font-weight: bold;
    line-height: 1.6;
    background: #B958E7;
    color: #FFF;
    border: 0;
    /*width: 100%;*/
	margin: 2em 0 0;
}

.page.contact #infoMessage {
	margin:0 60px 20px;
}


/*----------------------------------------
パスワード再設定
----------------------------------------*/
.page.pass_cont input[type="submit"] {
	cursor: pointer;
    font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1.8rem;
    /* border: none; */
    -webkit-appearance: none;
    border-radius: 99px;
    padding: 1em 2.5em;
    font-weight: bold;
    line-height: 1.6;
    background: #B958E7;
    color: #FFF;
    border: 0;
    width: 100%;
}


/*----------------------------------------
マイページ
----------------------------------------*/
.page.mypage .inner {
	width: 1060px;
	border: none;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	padding: 30px 0;
}
.page.mypage .inner p {
	margin: 0;
}
.page.mypage .inner p a {
	width: 300px;
	height: 185px;
	display: flex;
	background: #ECD2F9;
	align-items: center;
	justify-content: center;
	position: relative;
}
.page.mypage .inner p a span {
	text-align: center;
	display: block;
	color: #B853E6;
	font-weight: bold;
}
.page.mypage .inner p a span img {
	margin-right: 25px;
	transform: translateY(-4px);
}
.page.mypage .inner p a span.button_title {
	font-size: 2.4rem;
	transform: translateY(-10px);
}
.page.mypage .inner p a span.button_desc {
	position: absolute;
	bottom: 1em;
	left: 0;
	width: 100%;
	font-size: 1.4rem;
}
.page.mypage .incomp a {
	padding: 1em 4em;
}

/*----------------------------------------
予約履歴
----------------------------------------*/
.page.contact.history .inner {
	padding: 0 0 20px;
	width: 980px;
}

.page.contact.history .inner table {
	width: 100%;
	border-collapse: collapse;
}
.page.contact.history .inner table th {
	background: #eee;
	border: 2px solid #fff;
	border-bottom: 0;
}
.page.contact.history .inner table td {
	border: 1px solid #aaa;
}

.incomp.to_history {
	margin-top: 0;
}

.history_cancel_notice {
	margin: 20px 1em 0;
}
.history_cancel_notice h4 {
	margin-bottom: 0.5em;
}


@media screen and (max-width: 767px) {/* スマホサイズ */
.pc {
	display: none;
}
.sp {
	display: block;
}


body {
	min-width: 100%;
}


.container {
	width: 100%;
}

/* Header
-------------------------------------- */
header .right {
	display: none;
}
header.global {
	width: 100vw;
	background: #fff;
	margin: 0px auto;
	padding: 0px;
	height: 64px;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 60;
	border-top: 2px solid #BA57E8;
	border-bottom: 1px solid #BA57E8;
	display: block;
}
header.global h1 {
	padding-left: 20vw;
	margin-top: 3vw;
	font-size: 1rem;
	width: calc( 100% - 64px );
	overflow: hidden;
}
header.global h1 img {
	max-height: 64px;
    width: 51.7vw;
}

/*---------- Hamburger Menu ----------*/
header .menubtn {
	background:transparent url(../img/menubtn.png) no-repeat 0 0;
	background-size:130px auto;
	display: block;
	width: 64px;
	height: 64px;
	position: absolute;
	bottom: 0;
	right: 0px;
	cursor: pointer;
	z-index: 200;
	transition: none;
}
header .menubtn.peke {
	background-position: -64px 0;
}
.drawr {
	display: none;
	/*background-color: rgba(0,0,0,0.6);*/
	background-color: #BA57E8;
	position: absolute;
	top: 0;
	right: 0;
	width: 260px;
	padding: 64px 0 0 0 !important;
	overflow-y: scroll; /* メニュー項目数が増えた時のため */
	z-index: 100;
}
.menu_btn {
    width: 85%;
    margin: 1em;
}

.menu_btn p {
    margin: 0!important;
}
#menu li {
	width: 100%;
	list-style-type:none;
}
#menu li a {
	color:#fff;
	display: block;
	padding: 5%;
}

/* パンくず
-------------------------------------- */
#breadcrumb {
    background: #ECD2F9;
    padding: 8px;
    color: #B858E5;
    line-height: 1.4;
    margin: 64px 0 0;
}
#breadcrumb li {
    display: inline;
    font-size: 0.9em;
}
#breadcrumb a {
    color: #B858E5;
}

/* mv
-------------------------------------- */
#other_mv {
	height: auto;
}
#other_mv .flex-box {
	height: auto;
	padding-top: 0;
}
.mvtitle {
	padding: 1.5em;
	font-size: 1.75em;
	line-height: 1.4;
	text-align: center;
	width: 100%;
}



/* メインコンテンツ
-------------------------------------- */
main {
	padding-bottom: 100px;
}
.page.contact {
	padding: 20px 10px;
}

.page.contact .ttl {
    font-weight: bold;
	font-size: 2.4rem;
    margin-bottom: 1em;
    color: #B958E7;
}

.page.contact .inner {
    border: 6px solid #DBDFE3;
    width: 100%;
    margin: 0 auto;
    padding: 30px 0;
}

.page.contact .inner form {
	margin: 0 20px;
}
.btn_form {
	width: 100%;
}

/* footer
-------------------------------------- */
footer.global .upper {
	padding: 0;
}
footer.global .upper .container {
	width: 100%;
}
footer.global .banner {
	display: block;	
	transform: translate(0,-31px);
}
footer.global .banner > div {
    margin-bottom: 20px;
    text-align: center;
}
footer.global .banner > div img {
	width: 95%;
	height: auto;
	margin: 0 auto;
}

footer.global .info.flex-box {
	flex-direction: column;
	align-items: flex-start;
	margin-top: 70px;
}

footer.global .info.flex-box .left {
	order: 2;
	width: 100%;
	background-color: #A629E2;
    margin: 0px auto;
    padding: 15px 0px 0px;
	text-align: center;
}

footer.global .info.flex-box .left .logo {
	margin-top: 1em;
	margin-bottom: 1em;
}
footer.global .info.flex-box .left .logo .flogo_span {
	font-size: 1.4rem;
}
footer.global .info.flex-box .left p {
	font-size: 1.2rem;
	margin-bottom: 1em;
}
footer.global .info.flex-box .left p.ftel {
	font-size: 1.4rem;
	margin: 1em 0;
}

footer.global .info.flex-box nav {
	order: 1;
	background: #B955E7;
	display: block;
	width: 100%;
}
footer.global .info.flex-box nav ul {
	width: 100%;
}
footer.global .info.flex-box nav ul li {
	list-style-type: none;
    border-top: 1px solid #FFF;
    position: relative;
	display: block;
	margin-left: 0;
}
footer.global .info.flex-box nav ul li a {
	display: block;
    padding: 3.125%;
    color: #fff;
    text-decoration: none;
	font-size: 1.6rem;
}
footer.global .info.flex-box nav ul li.sp {
    display: block;
}

footer.global .info.flex-box nav ul li a::after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    border-radius: 1px;
    content: "";
    height: 0.7em;
    width: 0.7em;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    position: absolute;
    right: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
}

footer.global .bottom {
	padding: 5px 0 30px;
}
.credit ul li {
	text-align: center;
}
.credit ul li:nth-child(1) img {
    width: 89vw;
    height: auto;
	margin: 0 auto;
}


.btn_form .btn_form--back {
	font-size: 1.2rem;
}
.btn_form .btn_form--submit {
	font-size: 1.2rem;
}


/*----------------------------------------
マイページ
----------------------------------------*/
.page.mypage .inner {
	width: 95%;
	border: none;
	display: block;
}
.page.mypage .inner p {
	margin: 0;
	margin-bottom: 30px;
}
.page.mypage .inner p:last-child {
	margin-bottom: 0;
}
.page.mypage .inner p a {
	width: 100%;
	height: auto;
	display: flex;
	padding: 20px;
	padding-top: 35px;
}
.page.mypage .inner p a span.button_title {
	font-size: 2.4rem;
	transform: translate(0);
	margin-bottom: 40px;
}
.page.mypage .inner p a span img {
	width: 50px;
	height: auto;
	margin-right: 10px;
}
.page.mypage .inner p a span.button_desc {
	font-size: 1.4rem;
}



/*----------------------------------------
予約履歴
----------------------------------------*/
.page.contact.history .inner {
	width: 100%;
}
.page.contact.history .inner table th {
	font-size: 1.4rem;
}
.page.contact.history .inner table td {
	font-size: 1.2rem;
}
.page.contact.history .cancel-btn {
	font-size: 1rem;
	border-radius: 5px;
	border: 1px solid #999;
}

}

