/* CSS Document */

@media screen and (max-width: 1240px) {

	.l-header-nav li {
    	margin-right: 40px;
	}

}

@media screen and (max-width: 1110px) {

	.l-header-nav li {
    	margin-right: 28px;
	}

	.l-header-nav li:nth-child(4) {
	    margin-left: 48px;
	}

	.l-header-nav li:nth-child(4):after {
	    left: -42px;
	}

}

@media screen and (max-width: 1023px) {


/* ==========================================================================
	aset
	========================================================================== */

	.sp-none {
		display: none!important;
	}

	.pc-none {
		display: block!important;
	}


	.l-sp-menu-btn {
	    position: absolute;
	    right: 20px;
	    top: 20px;
	    width: 26px;
	    height: 20px;
	    display: block;
	    z-index: 25;
	}

	.l-sp-menu-btn span:nth-child(1) {
	    position: absolute;
	    right: 0px;
	    top: 0px;
	    width: 24px;
	    height: 1.5px;
	    background: #000000;
	    display: block;
	    transition: 0.3s;
	}

	.l-sp-menu-btn span:nth-child(2) {
	    position: absolute;
	    right: 0px;
	    top: 8px;
	    width: 24px;
	    height: 1.5px;
	    background: #000000;
	    display: block;
	    transition: 0.3s;
	}

	.l-sp-menu-btn span:nth-child(3) {
	    position: absolute;
	    right: 0px;
	    top: 16px;
	    width: 24px;
	    height: 1.5px;
	    background: #000000;
	    display: block;
	    transition: 0.3s;
	}

	.menu_open .l-sp-menu-btn span:nth-child(1) {
	    position: absolute;
	    right: 0px;
	    top: 8px;
	    transform: rotate(-45deg);
	    transition: 0.3s;
	}

	.menu_open .l-sp-menu-btn span:nth-child(2) {
	    opacity: 0;
	    transition: 0.3s;
	}

	.menu_open .l-sp-menu-btn span:nth-child(3) {
	    position: absolute;
	    right: 0px;
	    top: 8px;
	    transform: rotate(45deg);
	    transition: 0.3s;
	}

	.menu_open aside nav {
		transition: 0.3s;
		width: 55%;
	}


	p {
		font-size: 1.3rem;
	}

	li {
		font-size: 1.2rem;
	}

	.cv-btn {
   		width: 260px;
	    padding: 21px 48px;
    	font-size: 1.6rem;
    	margin: 52px auto 0 auto;
	}

	.back-btn {
		width: 260px;
    	padding: 21px 48px;
    	font-size: 1.6rem;
    	margin: 58px auto 0 auto;
	}

	.l-section-inner-ss {
		width: 88%;
	}

	.l-section-inner-s {
		width: 88%;
	}

	.l-section-inner-m {
		width: 88%;
	}

	.l-section-inner-l {
		width: 88%;
	}

	.l-col-2 {
		width: 100%;
	}

	.section-title {
	    font-size: 2rem;
    	margin-bottom: 32px;
	    letter-spacing: 0px;
	}

	.section-title-sub {
	    font-size: 1.8rem;
	    margin: -18px auto 40px auto;
	}

	.l-under-title-layout {
	    width: 100%;
	    height: 230px;
	    max-height: 100%;
		margin-bottom: 60px;
		padding: 130px 0 0 20%;
	}

	.l-under-title-layout::before {
		height: 180px;
	}

	.l-under-title-layout .section-title {
		font-size: 2.6rem;
	}

	.l-under-title-layout .section-title span {
		display: block;
		padding-left: 0;
		margin-left: 0;
		border-left: 0;
		margin-top: 3px;
		letter-spacing: 10px;
	}

	.section-cap {
	    font-size: 1.3rem;
	    line-height: 2.1;
	    margin-bottom: 20px;
	}

	.section-cap br {
		display: none;
	}


	/* ==========================================================================
		l-header
		========================================================================== */

	.l-header {
	    width: 100%;
	    height: 60px;
		padding: 0px 24px;
	}

	.l-header-nav {
		position: absolute;
		right: -300%;
		-webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
	  	transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
		padding: 100px 10% 0 10%;
	}

	.menu_open .l-header {
		width: 100%;
		height: 100vh;
		left: 0;
		top: 0;
	}

	.menu_open .l-header-nav {
		right: 0%;
		-webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
		width: 100%;
    	height: 100%;
		padding: 100px 18% 0 18%;
		box-sizing: border-box;
	}

	.l-header-nav ul li {
		display: block;
		padding: 18px 0;
    	font-size: 1.5rem;
	}

	.l-header-nav li:nth-child(4) {
    	width: 90px;
    	text-align: center;
    	margin-left: 0;
    	border-left: 0px;
    	margin: 18px 0;
	}

	.l-header-nav li:nth-child(4):after {
		content: none;
	}

	.l-header-nav li:nth-child(5) {
	    padding-right: 40px;
	    width: 80px;
	}

	.l-header-logo {
    	z-index: 1000;
    	position: relative;
	    width: 140px;
	    padding: 18px 0 18px 0;
	}


	/* ==========================================================================
		l-main
		========================================================================== */


	main {
	    padding: 60px 0 80px 0;
	    overflow: hidden;
	}

	.l-main-inner {
	    padding-top: 48px;
	}


	.l-header-news {
	    height: 64px;
	    padding: 8px 24px;
	    box-sizing: border-box;
	    text-align: left;
	}


	.l-header-news li {
    	font-size: 1.1rem;
    	padding: 0;
    	line-height: 2.1;
    	display: block;
	}

	.l-header-news li span {
		padding-right: 6px;
	}


	.section-title-copy p {
	    font-size: 1.4rem;
	    margin-bottom: 10px;
    	letter-spacing: 0;
	}

	.section-title-copy h2 {
	    font-size: 2.2rem;
	    line-height: 1.6;
    	letter-spacing: 0;
	}

	.section-title-copy {
	    margin-bottom: 40px;
	}

	.section-img-top {
	    margin-bottom: 48px;
	}

	.section-img-top-typo h4 {
	    font-size: 2.4rem;
	}

	.section-img-top-typo {
	    position: absolute;
	    left: 24px;
	    top: 54px;
	}

	.section-img-top-typo p {
	    font-size: 1.4rem;
	    margin-top: 21px;
	}

	.section-img-top-typo p::after {
	    top: 5px;
	    right: -25px;
	    border-bottom: solid 3px #FFF;
	    border-right: solid 3px #FFF;
	    width: 7px;
	    height: 7px;
	}

	.section-caution {
	    margin-top: 10px;
	    font-size: 1.2rem;
	}

	.section-caution .t-important {
		color: #D0488B;
		font-size: 1.2rem;
		font-weight: bold;
	}


	.l-section-block-title {
    	margin-bottom: 32px;
	}

	.l-section-block-title .section-title {
    	font-size: 2.4rem;
    	letter-spacing: 1px;
    	margin-bottom: 18px;
	}

	.l-section-block-title .section-cap {
    	font-size: 1.3rem;
	}

	.section-input-col2 {
	    width: 100%;
	}

	.section-input-col15 {
		width: 100%;
	}

	.section-input-col5 {
	    width: 100%;
    	margin-top: 20px;
    	text-align: right;
	}

	input {
		font-size: 1.35rem;
	    padding: 20px 28px;
	}

	.section-select select {
		font-size: 1.4rem;
	    padding: 20px 28px;
	    width: 100%;
	}

	.section-input-col5 p, :lang(en) .section-input-col5 p {
		margin: 0 10px 0 0;
		font-size: 1.3rem;
		letter-spacing: 0;
	}

	.section-input-col5 select {
		width: 60%;
	}

	.section-select::after {
	    top: calc(50% - 4px);
	    right: 24px;
	    border-width: 9px 6px 0 6px;
	}

	.extension-btn {
	    font-size: 1.1rem;
	    top: -1px;
	    padding: 7px 12px;
	    line-height: 1.8;
	}

	.beside-border, .vertical-border {
	    margin: 12px auto;
	    width: 4px;
	    height: 21px;
	    background: #000;
	    text-align: center;
	    display: block;
	}

	.form-map iframe {
		min-height: 200px;
		height: 30vh;
	}


	.l-bike-list {
	    overflow-x: auto;
	    white-space: nowrap;
	    -webkit-overflow-scrolling: touch;
	    position: relative;
	    width: 134%;
	    margin: -30px 0 -30px -16%;
	    padding: 30px 0;
	}

	.l-bike-list-select select {
    	padding: 0px 18px;
	}


	.l-bike-list li {
    	width: 282px;
    	margin: 0 10px;
    	background: #E1EDF8;
    	box-shadow: 4px 4px 20px rgb(0 0 0 / 20%);
	}

	.l-bike-list li:nth-child(3n) {
		margin: 0 10px;
	}

	.l-input-login-block {		
	    padding: 32px 24px;
	    margin-bottom: 36px;
	}

	.l-input-login-block-title {
	    font-size: 1.3rem;
	}

	.l-input-login-block .cv-btn {
	    padding: 18px 6px 18px 0px;
	    font-size: 1.4rem;
	    width: 100%;
	    margin: 24px 0 0 0;
	}

	.l-input-login-block .cv-btn::after {
	    right: 24px;
	}

	.l-input-block-caution {
    	padding: 40px 0 32px 0;
    }

    .l-input-block-list-sp {
    	margin-top: -44px;
    }

    .l-input-block-list dt {
	    width: 100%;
	    text-align: left;
	    font-size: 1.4rem;
	    padding-right: 0px;
    	margin-bottom: 16px;
	}

	.l-input-block-list dt br {
		display: none;
	}

	.l-input-block-list dt span {
		position: initial;
		right: initial;
		bottom: initial;
	}

	.l-input-block-list dd {
		width: 100%;
	}

	.fa {
	    position: absolute;
	    right: 8%;
	    top: 25px;
	}

	.l-input-block-list {
	    padding: 18px 0;
	}

	.l-input-block-list-line {
	    margin: 34px 0;
	}

	.l-input-block {
	    margin-bottom: 0px;
	}

	.l-btn-col-2 {
		display: block;
	    margin: auto;
	    text-align: center;
	    width: 100%;
	}

	.l-btn-col-2 div {
	    margin: 24px auto;
	}


	.l-bike-list-caption {
		font-size: 1.2rem;
		color: #A0A0A0;
		margin-top: 36px;
		letter-spacing: 0;
		position: relative;
		width: 100%;
	}

	.l-bike-list-caption::after {
		content: " ";
		position: absolute;
		right: 0;
		top: 4px;
		background: url(../img/common/ico-arrow.svg) no-repeat;
		background-size: cover;
		width: 25px;
		height: 7px;
	}


	.l-bike-list-price-box {
		position: relative;
		right: initial;
		bottom: initial;
		box-shadow: none;
    	padding: 32px 24px;
    	width: 100%;
    	margin-top: -20px;
	}

	.l-bike-list-price-box-list {
	    font-size: 1.35rem;
	    width: 100%;
   		max-height: initial;
   		overflow: initial;
	}

	.l-bike-list-price-box-price {
	    font-size: 1.4rem;
	    margin: 28px auto 0 auto;
	    text-align: center;
	    display: block;
    	border-top: 1px solid #e8e8e8;
    	padding-top: 24px;
	}

	:lang(en) .l-bike-list-price-box-price {
	    font-size: 1.4rem;
	    margin: 28px auto 0 auto;
	    text-align: center;
	    display: block;
    	border-top: 1px solid #e8e8e8;
    	padding-top: 24px;
	}

	.l-bike-list-price-box-price div {
		display: inline-block;
		padding-right: 8px;
	}

	.sp-btn {
		margin-top: 24px;
	}


	.l-modal-bike-spec {
	    width: 100%;
	}

	.l-modal-bike-info {
		width: 100%;
		margin-left: 0;
	}


	.l-section-block {
	    padding: 54px 24px;
    	margin-bottom: 52px;
	}

	.l-section-block-inblock {
    	padding: 32px 18px;
	}

	.l-confirmation-block-inner {
	    padding: 32px 24px;
	}

	.l-confirmation-block-title {
	    font-size: 1.4rem;
	    padding: 20px 24px 20px 24px;
    	line-height: 1.6;
	    height: auto;
	}

	.l-confirmation-block-caution-title {
    	margin: -8px auto 40px auto;
    	font-size: 1.4rem;
	}

	.l-confirmation-block-title-btn {
   		position: initial;
     	right: initial; 
    	top: initial;
    	width: 260px;
    	padding: 21px 48px;
    	font-size: 1.6rem;
    	box-sizing: border-box;
    	margin: 0 auto -22px auto;
    	color: #999;
    	text-align: center;
	}

	.l-confirmation-block-list dt {
	    width: 100%;
	    text-align: left;
	    font-size: 1.4rem;
    	margin-bottom: 8px;
    	margin-right: 0;
	}

	.l-confirmation-block-list dd {
	    width: 100%;
	    font-size: 1.4rem;
	}

	.l-confirmation-block-list-line {
	    margin: 20px 0;
	}

	.l-confirmation-block-price {
	    font-size: 1.4rem;
	    margin-top: 40px;
	}

	.l-confirmation-block-price span {
	    font-size: 2.8rem;
	}


	.l-login-block-oauth {
		display: block;
	}

	.oauth-google-btn {
		font-size: 1.3rem;
    	max-width: 440px;
    	margin: 0 auto 12px auto;
	}

	.oauth-fb-btn {
		margin-left: 0;
		margin-top: 12px;
		font-size: 1.3rem;
	    max-width: 440px;
	    margin: 0 auto;
	}

	.oauth-fb-btn::before {
		left: 36px;
	}


	.l-login-block {
	    padding: 0px 0;
	}

	.l-login-block-2 {
	    padding: 0px 0;
	    background: none;
	    margin-bottom: 40px;
	}

	.l-login-block-2 p {
	    padding: 0 0 20px 0;
	    font-size: 1.3rem;
	    line-height: 1.6;
	    width: 80%;
	    margin: 0 auto;
	}

	.l-login-block .cv-btn {
	    margin-top: 48px;
	    font-size: 1.5rem;
	    width: 100%;
	}

	.l-login-block-forget {
    	font-size: 1.2rem;
    }


	.section-title-left {
	    margin-bottom: 40px;
	    font-size: 2.1rem;
	}

	.section-title-left span {
	    font-size: 1.7rem;
	    padding-left: 20px;
	    margin-left: 20px;
	    margin-top: 0px;
	    line-height: 1.8;
	}

	:lang(en) .section-title-left span {
		font-size: 1.7rem;
    	padding-left: 0px;
	    margin-left: 0px;
	    margin-top: 0px;
	    line-height: 1.3;
	    display: block;
	}

	.section-title-left span::after {    
	    height: 18px;
	    left: -2px;
	    top: 7px;
	}

	:lang(en) .section-title-left span::after {
    	background: initial;
	}


	.l-reserve-btn {
    	padding: 18px 22px 18px 10px;
   	 	font-size: 1.4rem;
    	margin-bottom: 12px;
    	width: 100%;
	}

	.l-reserve-btn::after {
	    top: calc(50% - 6px);
	}


	.l-reserve-block-title {
    	padding: 28px 24px;
    	height: auto;
    	line-height: 1;
    	font-size: 1.4rem;
	}

	.l-reserve-block-inner {
	    padding: 0px 24px;
	}


	.l-reserve-block-list {
		padding: 0;
	}

	.l-reserve-block-list li {
	    font-size: 1.4rem;
	    padding: 32px 0;
	}

	.l-reserve-block-list-btn {
		width: 100%;
	}


	.l-reserve-block-list-reception {
    	padding-left: 0px; 
	    margin: 0 0 20px 0; 
	}


	.l-reserve-update-btn {
		position: relative;
		right: initial;
		top: initial;
    	width: 104px;
    	margin: -28px 0 32px 0;
	}

	:lang(en) .l-reserve-update-btn {
		width: 160px;
	}

	:lang(en) .l-reserve-btn-caption {
		line-height: 1.3;
	}

	.l-login-block-input {
	    margin-top: 14px;
	}

	.l-news-list {
	    margin-top: -30px;
	    padding: 0 0% 60px 0%;
	}

	.l-news-list li {
	    font-size: 1.4rem;
	    padding: 28px 0;
	}

	.l-news-list-date {
	    font-size: 1.3rem;
	    padding-right: 16px;
	}

	.l-news-list-ctg {
	    font-size: 1.3rem;
		padding-right: 0;
	}

	.l-news-list-title {
	    margin-top: 14px;
	}

	.l-news-detail-title {
	    font-size: 1.6rem;
	    margin-bottom: 14px;
	}

	.l-news-detail-ctg {
	    font-size: 1.3rem;
	    padding-right: 16px;
	}

	.l-news-detail-date {
	    font-size: 1.3rem;
	}

	.l-news-detail {
	    padding: 0;
	}

	.l-news-detail-contents {
	    padding-top: 40px;
	    margin-top: 40px;
    	font-size: 1.3rem;
	    line-height: 2.1;
	}


	.l-coupon-btn-wrapper {
	    margin-bottom: 32px;
	    height: auto;
	}

	.l-coupon-update-btn {
	    margin: 20px 0 20px 0;
	}


	.l-coupon-area-select, :lang(en) .l-coupon-area-select {
    	width: 100%;
		position: relative;
		right: initial;
    	bottom: initial;
	}

	.l-coupon-area-select-title {
		display: none;
	}

	.l-coupon-area-select select {
    	font-size: 1.4rem;
    	padding: 22px 32px;
    	width: 100%;
	}


	.l-coupon-block-img {
	    width: 100%;
	    min-height: auto;
	    margin-bottom: 24px;
	}



	.l-coupon-block td {
		display: block;
		width: 100%;
    	padding: 0px 24px;
		height: auto;
		background-image: none;
		border-right: none;
	}

	.l-coupon-block th {
		display: none;
	}

	.l-coupon-block tr {
		padding: 34px 0;
		background-image: linear-gradient(to right, #d2d2d2, #d2d2d2 2px, transparent 2px, transparent 8px);
    	background-size: 8px 2px;
   	 	background-repeat: repeat-x;
    	display: block;
    	margin-top: -2px;
	}

	.l-coupon-block-shop-title {
		font-size: 1.5rem;
		font-weight: bold;
		margin-bottom: 14px;
	}

	.l-coupon-block td.l-coupon-block-coupon-btn {
	    margin-top: 20px;
	}

	.l-coupon-btn {
	    width: 100%;
	}


	.l-coupon-block-title {
    	padding: 24px 24px;
    	height: auto;
    	line-height: 1.6;
    	font-size: 1.4rem;
	}

	.l-coupon-block-inner {
	    padding: 24px 24px;
	}

	.l-coupon-block-service {
	    font-size: 1.6rem;
	    margin-bottom: 8px;
	}

	.l-coupon-block-date {
    	font-size: 1.3rem;
	}

	.l-coupon-block-detail-address-btn {
		position: relative;
		top: initial;
		right: initial;
		margin: 8px 0 16px -4px;
	}

	.l-coupon-block-detail {
   	 margin-top: 36px;
	    padding-top: 30px;
	    background-repeat: repeat-x;
	    font-size: 1.3rem;
	    line-height: 2.2;
	}

	.l-coupon-block-detail-cap {
	    margin-top: 12px;
	    font-size: 1.3rem;
	}


	/* ==========================================================================
		l-footer
		========================================================================== */


	.l-footer-logo {
	    width: 100%;
	    text-align: center;
	}

	.l-footer-nav {
	    width: 100%;
	    border-left: 0px;
	    border-top: 1px solid #EDEDED;
	    padding-left: 0%;
	    text-align: center;
    	margin-top: 42px;
    	padding-top: 42px;
	}

	.l-footer-nav li {
		text-align: center;
    	font-size: 1.2rem;
    	line-height: 2.6;
	}

	.l-footer-logo img {
		width: 160px;
	}	

	.l-footer-bottom {
	    height: auto; 
	    color: #FFF;
	    margin-top: 36px;
    	padding: 18px;
    	box-sizing: border-box;
	}

	.l-footer-bottom-copyright {
	    line-height: 1.4;
	}




	.modal__content {
	    padding: 32px 28px;
	    width: 88%;
	}

	.modal__content .section-title {
	    font-size: 1.8rem;
	    letter-spacing: 1px;
	}

	.modal__content .section-cap {
	    font-size: 1.3rem;
	    line-height: 2.1;
	    letter-spacing: 0px;
	}

	.modal__content .cv-btn {
	    font-size: 1.4rem;
	    padding: 20px 0px;
	    margin: 34px auto 0 auto;
	}


	.modal__content .js-modal-close {
		top: -16px;
	    right: -16px;
	}


	.modal__bike {
		top: 50%;
	}

	.l-modal-bike-info-title {
	    font-size: 1.6rem;
	    margin-top: 30px;
	    padding-top: 30px;
	    border-top: 1px solid #E8E8E8;
	    padding-bottom: 0px;
	    border-bottom: 0;
	    margin-bottom: 12px;
	}

	.l-modal-bike-info-cap {
		font-size: 1.25rem;
	}



	/* ==========================================================================
	notice
	========================================================================== */

	.l-notice {
		position: fixed;
		z-index: 10000;
		bottom: -200px;
		min-height: 60px;
		z-index: 30;
		font-size: 1.4rem;
		font-weight: bold;
		box-sizing: border-box;
		padding: 28px 48px;
		line-height: 1.6;
	}





}

@media screen and (max-width: 600px) {

}


@media screen and (max-width: 370px) {


}
