@charset "utf-8";

.row-70{margin-left:-35px;margin-right:-35px;}
.row-70 > div{padding-right:35px;padding-left:35px;}
@media(max-width:992px) {
.row-70{margin-left:-10px;margin-right:-10px;}
.row-70 > div{padding-right:10px;padding-left:10px;}
}

.text-red{
	color: #F04848;
}
.img-half{
	zoom: 0.4;
}

article #Hero,
article #Contents{
	font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans JP', sans-serif;
}


/* 共通パーツ　黒ボタン */
.btn-black-01{
	display: block;
	border-radius: 100px;
	background: #fff;
	border: solid 3px #000;
	color: #000;
	font-size: 16px;
	padding: 20px 6px;
	width: 100%;
	max-width: 280px;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
}
.btn-black-01:hover{
	background: #000;
	color: #fff;
	text-decoration: none;
}
.dl-area .btn-black-01{
	padding: 12px 6px;
}
.btn-black-02{
	display: inline-block;
	border-radius: 100px;
	background: #F04848;
	border: solid 3px #F04848;
	color: #fff;
	font-size: 16px;
	padding: 18px 40px 20px 30px;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
}
.wrap-fix .btn-black-02{
	display: inline-block;
	border-radius: 100px;
	background: #F04848;
	border: solid 3px #F04848;
	color: #fff;
	font-size: 16px;
	padding: 18px 40px 20px 30px;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
}
.wrap-fix.is-fixed .btn-black-02{
	display: block;
	padding: 17px 6px 20px;
	line-height: 1;
	background: #fff;
	color: #F04848;
	width: 100%;
}
.btn-black-02:hover{
	background: #fff;
	color: #F04848;
	text-decoration: none;
}
.btn-black-02 b{
	font-size: 140%;
	display: block;
	margin-top: 6px;
}
.btn-black-03{
	display: inline-block;
	border-radius: 10px;
	background: rgb(209,28,22);
	background: linear-gradient(180deg, rgba(209,28,22,1) 0%, rgba(184,29,34,1) 100%);
	border:2px solid rgba(255,255,255,0.3);
	color: #fff;
	font-size: 18px;
	padding: 18px 55px 20px 40px;
	text-align: center;
	margin: 0 auto;
	cursor: pointer;
	font-weight: bold;
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 10px;
	position: relative;
}
/*
.btn-black-03:after{
	content: "";
	width: 100px;
	height: 40px;
	background: url(/static/img/maas/mobi/movie-car.png) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: -25px;
	left: 50%;
	transform: translate(-50%, 0);
}
*/

.add-window{
	position: relative;
}
.add-window:before{
	content: "\f24d";
	font-family: "Font Awesome 5 Free";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
	font-size: 14px;
}
.btn-black-03.add-window:before{
	right: 15px;
	font-size: inherit;
	font-weight:normal;
}
.btn-other-area{
	box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 10%);
	display: block;
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	margin-bottom: 30px;
}
.btn-other-area:hover{
	text-decoration: none;
  background: #fff9f9;
}
.btn-other-area:hover .btn-black-01{
	background: #000;
	color: #fff;
	text-decoration: none;
}


/*追記20240807*/
.btn-black-04{
	display: inline-block;
	border-radius: 10px;
	background: rgb(0,0,0);
/*	background: linear-gradient(180deg, rgba(209,28,22,1) 0%, rgba(184,29,34,1) 100%);*/
	border:2px solid rgba(255,255,255,0.3);
	color: #fff;
	font-size: 18px;
	padding: 18px 55px 20px 40px;
	text-align: center;
	margin: 0 0 0 11px;
	cursor: pointer;
	font-weight: bold;
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 10px;
	position: relative;
	line-height: 1.2;
}
.btn-black-04:hover{
	color: #fff;
	text-decoration: none;
}
.btn-black-04.add-window:before{
	right: 15px;
	font-size: inherit;
	font-weight:normal;
}


.link-documentrequest {
    display: block;
    text-align: right;
    margin-top: 10px;
    padding-right: 10px;
}

@media(max-width:786px) {
	.btn-black-02{
		font-size: 14px;
		padding: 15px 40px 16px;
	}
	.btn-black-02 b{
		font-size: 18px;
	}
	.btn-black-03{
		display: block;
		width: 45%;
		font-size: 14px;
		padding: 8px 0 25px;
		text-align: center;
		margin: 0 auto;
		cursor: pointer;
	}
	/*
	.btn-black-03:after{
		content: "";
		width: 63px;
		height: 25px;
		background: url(/static/img/maas/mobi/movie-car.png) no-repeat center center;
		background-size: cover;
		position: absolute;
		top: 50%;
		left: 10px;
		transform: translate(0, -50%);
	}
	*/

	.btn-black-04{
		display: block;
		width: 52%;
		font-size: 14px;
		padding: 8px 0 25px;
		text-align: center;
		margin: 0 auto;
		cursor: pointer;
	}

	/*スマホ時のみ横並び*/
	.wrap-fix.is-fixed{
		display: flex;
	}
	.btn-black-03.add-window:before,
	.btn-black-04.add-window:before{
		right: auto;
		left: calc(50% - 7px);
		top: inherit;
		bottom: 5px;
		transform: translate(0);
	}
	
	.link-documentrequest {
		font-size: 14px;
	}
}/*ここまでsp*/

@media(max-width:350px) {
	.btn-black-04{
		width: 54%;
	}
}

/* 共通パーツ　ページトップに戻るを削除 */
#pageup a{
	display: none !important;
}


#Contents{
	background: #fff;
}

@media(max-width:992px) {
.container.width-release{
	max-width: 100%;
	padding-left: 24px;
	padding-right: 24px;
}
}
@media(max-width:786px) {
.container.width-release{
	max-width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}
}

/* 共通パーツ　フッターボタン */
.wrap-fix{
	position: initial;
	bottom: 0;
	left: 0;
	width:100%;
	padding: 20px 0;
}
@keyframes UpAnime{
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.wrap-fix.is-fixed{
	position: fixed;
	bottom: 0;
	z-index: 4;
	padding: 0 10px 10px;
	left: auto;
	right: 0;
/*	max-width: 300px;*/
	max-width: 630px;
}
.list-campaign{
	width: 100%;
	max-width: 275px;
	order: 1;
	margin-right: 20px;
}

/*アプリダウンロードモーダル
-------------------------------------*/
.list-apps{
	display: flex;
	justify-content:space-between;
	width: 100%;
	max-width: 386px;
	order: 2;
}
.list-apps li{
	padding: 0;
}
.list-apps li a,
.list-campaign li a{
	display: block;
}
.list-apps li a:hover,
.list-campaign li a:hover{
	opacity: 0.5;
}
.list-apps li img{
	height: auto;
}
.list-apps-apple a img{
	width: 100%;
	max-width: 163px;
    height: 60px;
}
.list-apps-google a img{
	width: 100%;
	max-width: 202px;
    height: 60px;
}
.list-campaign img{
	border: 1px solid #000;
	border-radius: 4px;
	box-shadow: 0px 0px 3px 1px rgb(0 0 0 / 10%);
}
.wrap-app-download .list-apps{
	margin: 0 auto;
}

.list-apps-title {
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 10px;
}

.list-apps-qr-img  {
    /*width: 100%;*/
	max-width: 100%;
    text-align: center;
    height: 156px;
    margin-bottom: 20px;
}

.list-apps-qr-img img {
	max-width: 100%;
    height: auto;
}

@media(max-width:786px) {
    .wrap-fix.is-fixed{
        padding: 0 10px 10px;
        text-align: center;
        width: 100%;
        max-width: 100%;
    }
    .list-apps li{
        padding: 0 5px;
    }
    .wrap-app-download .list-apps{
        display: block;
    }
    .wrap-app-download .list-apps li{
        display: block;
        width: 100%;
    }
    .wrap-app-download .list-apps li + li{
        margin-top: 36px;
    }
    .wrap-app-download .list-apps-apple img{
        width: 100%;
        height: auto;
    }
    .wrap-app-download .list-apps-google img{
        width: 100%;
        height: auto;
    }
    
	.list-apps-qr-img  {
		height: auto;
		margin-bottom: 16px;
	}
}

@media(max-width:576px) {
/*.wrap-fix{
	position: initial;
	bottom: auto;
	left: auto;
	width:100%;
	display: block;
	align-items:center;
	padding: 10px 10px;
}
.wrap-fix.is-fixed{
	position: fixed;
	bottom: 0;
	z-index: 2;
	align-items:flex-end;
	justify-content:space-between;
	padding: 0;
	animation: UpAnime 2s forwards;
}*/
.list-campaign{
	width: 100%;
	max-width: 100%;
	order: 2;
	display: block;
}
.wrap-fix .list-apps{
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin-bottom: 12px;
	order: 1;
	justify-content: space-between;
}
.wrap-fix.is-fixed .list-apps{
	padding: 0 24px;
	justify-content: space-between;
}
.list-apps li{
	text-align: center;
	padding: 0;
}
.list-apps-apple img{
	max-width: 130px;
}
.list-apps-google img{
	max-width: 161px;
}
.list-campaign img{
	border: none;
	border-radius: 0;
}

}

@media(max-width:320px) {
.wrap-fix.is-fixed .list-apps{
	padding: 0 6px;
}
}

/* キービジュアル背景関連の設定 */
#Hero{
	background: url(/static/img/maas/mobi/bg-hero-2022.jpg) no-repeat center center;
	background-size: cover;
	padding: 20px 0 0;
}
@media(max-width:768px) {
#Hero{
	background:none;
	padding: 0;
}
#Hero .container{
	padding: 0;
}
}
/*#Hero{
	position: relative;
}
.inner-hero{
	height: 678px;
	overflow: hidden;
	position: relative;
	scroll-snap-align: start;
}
.overlay, #yt_player {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
} 
.overlay{
	z-index: -1;
} 
#yt_player{
	z-index: -2;
}
@media(max-width:1180px) {
.inner-hero{
	overflow: hidden;
	position: relative;
}
}
@media(max-width:900px) {
.inner-hero{
	overflow: hidden;
	position: relative;
}
}
@media(max-width:768px) {
.inner-hero{
	height: 375px;
	overflow: hidden;
	position: relative;
}
}*/

/* キービジュアル内の情報設定 */
.nav-pageanchor{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 473px;
	margin: 30px auto 0;
}
.nav-pageanchor li a{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}
.wrap-hero-title{
	position: absolute;
	transform: translate(0, -50%);
	top: 50%;
	left: 0;
	width: 100%;
	display: block;
	text-align: center;
	z-index: 3;
	color: #fff;
}
/*.title-mobi{
	width: 100%;
	text-align: center;
}
.title-mobi img{
	display: inline-block;
	width: 100%;
	max-width: 377px;
	height: auto;
}*/
@media(max-width:768px) {
.nav-pageanchor{
	display: none;
}
/*.title-mobi img{
	max-width: 188px;
	height: auto;
}*/
}



.nav-humberger{
	background: none !important;
	padding: 0;
}
.nav-humberger .ul-localnav{
	width: 100%;
}
.nav-humberger .navbar-nav .nav-link{
	color: #fff;
}
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover{
	color: #000;
}
.navbar-nav{
	flex-direction:initial;
}
.nav-humberger .collapse:not(.show){
	display: block;
}
.nav-innner{
	display: none;
}

.ul-localnav{
	background: #111;
	border: 3px solid #111;
	display: flex;
	border-radius: 100px;
	overflow: hidden;
	margin-bottom: 0px;
}
.ul-localnav li{
	width: 100%;
	display: flex;
}
.ul-localnav li a{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 20px 10px;
	color: #fff;
	font-weight: bold;
	border-left: 1px solid rgba(0, 0, 0, 0.2);
	border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.ul-localnav li a:hover{
	text-decoration: none;
	background: #fff;
	color: #000;
}
.wrap-link-pdf{
	margin-bottom: 80px;
	text-align: center;
}
.wrap-link-pdf a{
	display: inline-block;
}
.link-pdf{
	color: #333;
	background: none;
}
.link-pdf:hover{
	color: #333;
	text-decoration: none;
}
.link-pdf span{
	display: block;
	text-align: center;
	font-weight: 900;
	text-decoration: underline;
	margin-bottom: 5px;
}
.link-pdf:hover span{
	text-decoration: none;
}
.link-pdf span:after {
	content: "\f24d";
	font-family: "Font Awesome 5 Free";
	margin-left:10px;
	font-size: 14px;
	font-weight: normal;
}
.link-pdf small:before{
	content: "＜";
	margin-right: 5px;
}
.link-pdf small:after{
	content: "＞";
	margin-left: 5px;
}

@media(max-width: 768px) {
    .wrap-link-pdf a {
       display: block; 
    }

   .link-pdf span{
        display: block;
    } 
}

#Concept{
	background: url(/static/img/maas/mobi/bg-concept.png) top left;
	background-size: 60px 60px;
	padding: 20px 0 0;
}
.title-concept{
	font-size: 16px;
	text-align: center;
	margin-bottom: 88px;
	font-weight: 700;
}
.title-concept span{
	display:block;
	margin: 16px auto 0;
	border: solid 3px #000;
	background: #fff;
	font-size: 36px;
	padding: 9px 3px;
	text-align: center;
	font-weight: 700;
	font-family: -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
	width: 100%;
	max-width: 200px;
}
.lead-concept{
	text-align: center;
	font-size: 42px;
	margin-bottom: 60px;
	font-weight: 900;
}
.row-concept{
	width: 100%;
	max-width: 866px;
	display: flex;
	margin:0 auto 30px;
}
.col-conceptimg{
	width: 100%;
	max-width: 302px;
}
.col-concepttxt{
	width: calc(100% - 302px) ;
	padding-left: 48px;
}
.col-concepttxt p{
	line-height: 1.8;
	font-weight: 500;
}
.wrap-conceptimg{
	text-align: center;
	margin-top: 90px;
}
.wrap-conceptimg img{
	width: 100%;
	max-width: 744px;
	margin: 0 auto;
}
.anime{
	overflow: hidden;
	position: relative;
	margin-top: 80px;
}
.on-car{
	position: absolute;
	transform: translate(-50%, 0);
	bottom: 5%;
	left: 50%;
	width: 100%;
	display: block;
	text-align: center;
	z-index: 2;
	max-width: 240px;
}
.loop_inner{
	background: url(/static/img/maas/mobi/bg-road.png) bottom left repeat-x;
}
.loop_box{
	width: 100vw;
	overflow: hidden;
	display: flex;
	height: 180px;
}
@keyframes loop {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
.loop_box img{
	height: 100%;
	width: auto;
}
.loop_box img:first-child{
	animation: loop 20s -10s linear infinite;
}
.loop_box img:last-child{
	animation: loop2 20s linear infinite;
}


@media(max-width:768px) {
.nav-humberger{
	background: #111 !important;
	border-radius: 4px;
}
.nav-innner{
	position: relative;
	width: 100%;
	padding: 12px 6px;
	display: block;
}
.navbar-dark .navbar-toggler{
	border:none;
}
.navbar-brand{
	margin:0;
	display: block;
	width: 100%;
}
.navbar-dark .navbar-brand{
	background: none;
	font-size: 16px;
	font-weight: bold;
}
.navbar-dark .navbar-toggler{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(0, -50%);
}
.nav-humberger .ul-localnav{
	background: #fff;
}
.nav-humberger .navbar-nav .nav-link{
	color:#000 !important;
}
.nav-humberger .collapse:not(.show){
	display: none;
}

.ul-localnav{
	background: #111;
	display: flex;
	border-radius: 4px;
	flex-wrap: wrap;
}
/*.ul-localnav li{
	width: 50%;
}*/
/*.ul-localnav li a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px 6px;
	color: #fff;
	font-weight: bold;
	border-left: 1px solid rgba(0, 0, 0, 0.2);
	border-right: 1px solid rgba(255, 255, 255, 0.2);
	border-bottom: 1px solid rgba(0, 0, 0, 0.2);
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.ul-localnav li:nth-child(2n) a{
	border-right: none;
}*/
.ul-localnav li a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px 6px;
	color: #fff;
	font-weight: bold;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #333;
}
.ul-localnav li:last-child a{
	border-bottom: none;
}
.ul-localnav li a:hover{
	text-decoration: none;
}
.link-pdf small{
	position: relative;
}
.link-pdf small:before{
    content: none;
}
.link-pdf small:after{
    content: none;
}


#Concept{
	padding: 10px 0 0;
}
.title-concept{
	font-size: 16px;
	margin-bottom: 50px;
}
.title-concept span{
	font-size: 24px;
	max-width: 144px;
}
.lead-concept{
	font-size: 32px;
	margin-bottom: 32px;
}

.row-concept .col-conceptimg{
	display: none;
}
.col-conceptimg{
	width: 100%;
	max-width: 226px;
	margin: 0 auto 50px;
}
.col-concepttxt{
	width: 100%;
	padding-left: 0;
	text-align: center;
}
.wrap-conceptimg{
	text-align: center;
	overflow: hidden;
	margin-left: -15px;
	margin-right: -15px;
	margin-top: 60px;
}
.wrap-conceptimg img{
	width: 155%;
	max-width: auto;
	margin: 0 auto;
	position: relative;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
}
.anime{
	margin-top: 50px;
}
.loop_inner{
	background-size: 14px 138px;
}
.loop_box{
	height: 138px;
}
.loop_box img{
	height: 138px;
	width: 1275px;
}
.on-car{
	max-width: 180px;
}
}





#Feature{
	background: #fff;
	padding-bottom: 150px;
}
.img-title-feature{
	width: 100%;
	max-width: 344px;
}
#Feature .contents-header{
	background: url(/static/img/maas/mobi/bg-feature.jpg) no-repeat center center;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	height: 400px;
}
.contents-header{
	margin-bottom: 120px;
}
.title-contents{
	font-size: 24px;
	padding-bottom: 10px;
	line-height: 1.8;
	font-weight: 500;
}
.title-contents span{
	display: block;
	font-size: 96px;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 15px;
	font-family: -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
}
.dl-feature{
	margin-top: 15px;
	margin-bottom: 68px;
}
.dl-feature dt{
	margin-bottom: 18px;
	font-size: 20px;
	font-weight: 900;
}
.dl-feature dd{
	font-size: 16px;
	line-height: 1.6;
	font-weight: 400;
}
.wrap-hosokutxt{
	background: #fff9f9;
	padding: 12px;
	margin-top: 12px;
}
.wrap-hosokutxt p{
	font-size: 16px;
	color: #380000;
	margin: 0;
}
.wrap-hosokutxt p + p{
	margin-top: 6px;
}
@media(max-width:768px) {
#Feature{
	padding-bottom: 120px;
}
.img-title-feature{
	max-width: 250px;
}
.title-contents{
	font-size: 20px;
}
.title-contents span{
	font-size: 60px;
}
#Feature .contents-header{
	height: 180px;
}
.contents-header{
	margin-bottom: 48px;
}
.dl-feature{
	margin-top: 18px;
}
.dl-feature dt{
	margin-bottom: 18px;
	font-size: 20px;
}
.wrap-hosokutxt{
	padding: 6px 12px;
	margin-top: 6px;
}
}
@media(max-width:320px) {
.img-title-feature{
	max-width: 225px;
}
}

.wrap-campaign{
	background: url(/static/img/maas/mobi/bg-concept.png) top left;
	background-size: 60px 60px;
	padding: 100px 20px;
	text-align: center;
	position: relative;
}
.title-campaign-top{
	text-align: center;
	font-size: 30px;
	font-weight: 900;
	color: #F04848;
	margin-bottom: 20px;
}
.title-campaign{
	text-align: center;
	font-size: 24px;
	margin-bottom: 30px;
	position: relative;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	font-weight: 900;
}
.title-campaign span{
    padding: 0 40px;
}
.title-campaign:before,
.title-campaign:after{
    content: "";
    display: inline-block;
    width: 2px;
    height: 36px;
    background: #000;
    border-radius: 2px;
}
.title-campaign:before{
    -webkit-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
.title-campaign:after{
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}
.wrap-campaign-contact{
	text-align: center;
	margin-bottom: 10px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.4;
}

.wrap-app-download .wrap-campaign-contact{
	font-size: 20px;
}
.wrap-campaign-tel b{
	font-size: 36px;
	font-family: -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
	display: block;
	margin-bottom: 13px;
  font-weight: 900;
}
.wrap-campaign-tel b a{
	color: #000;
	pointer-events: none;
}
.text-tel{
	font-size: 16px;
	font-weight: 500;
}
.wrap-app-download{
	margin-bottom: 67px;
}
.wrap-btn-tel{
	display: none;
}


/*SNS*/  
.wrap-sns {
    margin: 40px auto 20px;
}

.wrap-sns > p {
    font-weight: bold;
    margin-bottom: 16px;
}

.wrap-sns-list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wrap-sns-list li:not(:first-child) {
    margin-left: 1.5%;
}

.wrap-sns-list li a {
    display: block;
    width: 100%;
    transition: 0.3s;
}

.wrap-sns-list li a:hover {
    opacity: 0.6;
}

.wrap-sns-list li img {
    width: 48px;
    height: 48px;
    max-width: 100%;
}

/*各種CVボタン*/ 
.wrap-cv {
    background-color: #fff;
    padding: 3% 1%;
    border-radius: 60px;
    margin: 20px auto 40px;
}

.wrap-cv-text {
    position: relative;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    padding-bottom: 16px;
    margin-bottom: 40px;
}

.wrap-cv-text::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 24px;
    height: 3px;
    background-color: #E94F4F;
}

.wrap-cv-list {
    display: flex;
    justify-content: center;
    align-items: center;
}

.wrap-cv-item {
    padding: 0 1.5%;
    height: 90px;
}

.app > button {
    padding-left: 94px;
    display: block;
    height: 100%;
    font-weight: 700;
    font-size: 16px;
}

.app > button::before {
    font-weight: 500;
    right: 14px;
}

.app > button::after {
    content: '';
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 26px;
    display: inline-block;
    width: 54px;
    height: 120px;
    background: url(/static/img/maas/mobi/btn-cv-ico-app.svg) no-repeat center center/ 100%;
}

.use > button {
    padding: 18px 40px 20px 120px;
    background-color: #F3C74F;
    border-radius: 100px;
    color: #fff;
    height: 100%;
    position: relative;
    border: 2px solid #F3C74F;
    font-weight: 700;
    font-size: 16px;
}

.use > button::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 36px;
    width: 80px;
    height: 120px;
    background: url(/static/img/maas/mobi/btn-cv-ico-use.svg) no-repeat center center/ 100%;
}

.use > button::after {
    content: "\f24d";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translate(0, -50%);
    font-size: 14px;
    font-weight: 500;
}

.use > button.link-pdf span,
.use > button.link-pdf {
    text-decoration: none;
    font-weight: 700;
    margin-bottom: 0;
}

.use > button.link-pdf span:after {
    content: none;
}

.guidebook > a {
    display: block;
    padding: 18px 40px 20px 160px;
    background-color: #6BBEEB;
    border-radius: 100px;
    text-decoration: none;
    color: #fff;
    height: 100%;
    position: relative;
    border: 2px solid #6BBEEB;
    font-weight: 700;
    font-size: 16px;
}

.guidebook > a::before,
.guidebook > a::after {
    content: '';
    position: absolute;
    z-index: 2;
    display: inline-block;
}

.guidebook > a::before {
    bottom: 0;
    left: 36px;
    width: 100px;
    height: 80px;
    background: url("/static/img/maas/mobi/btn-cv-ico-guidebook.svg") no-repeat center center/ 100%;
}

.guidebook > a::after {
    content: "\f24d";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    font-weight: normal;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
}

/*ホバー*/
@media (hover: hover) {
    
    .use > button:hover {
        background-color: #fff;
        color: #F3C74F;
    }
    .guidebook > a:hover {
        background-color: #fff;
        color: #6BBEEB;
    }
}


@media(max-width: 1360px) {
    
    .wrap-cv-list {
        flex-wrap: wrap;
    }

    .wrap-cv-item {
        padding: 0 1.5%;
        height: 90px;
        margin-bottom: 30px;
    }
    
}



@media(max-width:768px) {
    .wrap-campaign-contact{
        margin-bottom: 16px;
    }
    .wrap-campaign-btn{
        position: relative;
        bottom: auto;
        left: auto;
        margin-top: 48px;
    }
    .wrap-campaign-tel b a{
        pointer-events: initial;
    }
    .wrap-app-download{
        margin-bottom: 54px;
    }
    .wrap-btn-tel{
        display: block;
        text-align: center;
        margin-top: 24px;
    }
}



@media (max-width: 560px) {
    /*各種CVボタン*/ 
    .wrap-cv {
        padding: 10% 4%;
    }
    
    .wrap-cv-item {
        width: 100%;
        padding: 0;
    }
    
    .app > button {
        width: 100%;
        padding-left: 80px;
        font-size: 16px;
    }
    
    .app > button::before {
        right: 20px;
    }

    .app > button::after {
        left: 26px;
        width: 50px;
        height: 120px;
    }

    .use > button {
        width: 100%;
        padding: 18px 20px 20px 50px;
    }

    .use > button::before {
        left: 28px;
        width: 68px;
        height: 110px;
    }
    
    .use > button::after {
        right: 20px;
    }

    .guidebook > a {
        width: 100%;
        padding: 18px 20px 20px 120px;
    }

    .guidebook > a::before {
        left: 26px;
        width: 72px;
        height: 87px;
    }

}


@media(max-width:320px) {
    .wrap-campaign-tel b{
        font-size: 30px;
    }
}

.wrap-tokuten{
	border: solid 3px #000;
	background: #fff;
	display: block;
	padding: 36px;
	text-align: center;
	margin: 0 auto 48px;
	width: 100%;
	max-width: 720px;
	position: relative;
}
.wrap-defoprice{
	background: #000;
	color: #fff;
	display: block;
	font-size: 24px;
	padding: 24px 6px 24px 6px;
	line-height: 1;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}
.wrap-defoprice span{
	font-weight: 900;
	margin: 0 3px;
	font-size: 140%;
}
.lead-campaign{
	font-size: 24px;
	font-weight: 900;
}
.lead-campaign strong{
	font-size: 42px;
	margin-left: 10px;
}
.lead-campaign strong.txt-price{
	font-size: 48px;
	font-weight: 900;
	font-family: -apple-system, BlinkMacSystemFont, 'Roboto', sans-serif;
	margin-left: 10px;
	margin-right: 10px;
}
.lead-campaign strong span{
	color: #F04848;
}
@media(max-width:768px) {
.wrap-campaign{
	padding: 45px 12px;
}
.wrap-tokuten{
	padding: 24px 12px;
	margin-bottom: 24px;
}
.wrap-defoprice{
	font-size: 20px;
}
.wrap-defoprice span{
	margin: 0 5px;
	line-height: 1;
}
.lead-campaign{
	font-size: 20px;
	padding: 0 5px;
}
.lead-campaign strong{
	font-size: 60px;
}
.lead-campaign strong.txt-price{
	font-size: 48px;
}
}
@media(max-width:320px) {
.wrap-tokuten{
	margin-bottom: 24px;
}
.lead-campaign{
	font-size: 24px;
}
.lead-campaign strong{
	font-size: 50px;
}
.lead-campaign strong.txt-price{
	font-size: 40px;
}
}



#Area{
	background: #fff;
	padding-bottom: 140px;
}
.img-title-area{
	width: 100%;
	max-width: 212px;
}
#Area .contents-header{
	background: url(/static/img/maas/mobi/bg-area.jpg) no-repeat center center;
	background-size: cover;
	display: flex;
	align-items: center;
	height: 400px;
}
.dl-area{
	text-align: center;
}
.dl-area dt{
	margin-bottom: 5px;
	font-size: 30px;
	font-weight: 900;
	color: #212529;
}
.dl-area dd{
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
}
.dd-btnarea{
	margin-top: 20px;
	text-align: center;
}
@media(max-width:768px) {
#Area{
	padding-bottom: 70px;
}
#Area .contents-header{
	display: flex;
	align-items: flex-end;
	height: 180px;
}
.img-title-area{
	max-width: 154px;
}
.dl-area dt{
	font-size: 22px;
}
}
@media(max-width:320px) {
.img-title-area{
	max-width: 139px;
}
.dl-area dt{
	font-size: 20px;
}
}


#Faq{
	background: url(/static/img/maas/mobi/bg-concept.png) top left;
	background-size: 60px 60px;
	padding: 100px 0;
}
#faq-accordion .card{
	border: none;
}
#faq-accordion .card + .card{
	margin-top: 36px;
}
#faq-accordion .num-label{
	background: none;
	font-size: 36px;
	width: auto;
	padding: 0;
	color: #000000;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	margin-right: 20px;
}
#faq-accordion .card-header{
	border: none;
}
#faq-accordion .card-header button{
	padding: 30px 60px;
	position: relative;
	width: 100%;
	text-align: left;
	cursor: pointer;
	background: #fff;
	box-shadow: 1px 1px 4px 1px rgb(0 0 0 / 5%);
	border: none;
	border-radius: 4px;
}
#faq-accordion .card-header .faq-ttl{
	display: block;
	margin-left: 0;
	padding-left: 60px;
	font-size: 21px;
	font-weight: 400;
}
#faq-accordion .card-header button:before{
	content: "\f077";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(0, -50%);
	font-weight: 900;
	background: #000;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
#faq-accordion .card-header button.collapsed:before{
	content: "\f078";
	background: #000;
	color: #fff;
}
#faq-accordion .card-header button:before{
	background: #D8DBDF;
}
#faq-accordion .card-body p{
	font-size: 15px;
	line-height: 1.6;
}
#faq-accordion .card-body{
	padding: 25px;
}
#faq-accordion .card-body p + p{
	margin-top: 20px;
}

@media(max-width:768px) {
#faq{
	padding: 70px 0;
}
#faq-accordion .card + .card{
	margin-top: 24px;
}
#faq-accordion .card-header button{
	padding: 30px 10px;
}
#faq-accordion .num-label{
	font-size: 36px;
	margin-right: 30px;
	left: 12px;
}
#faq-accordion .card-header .faq-ttl{
	font-size: 15px;
	padding-left: 64px;
	padding-right: 64px;
}
#faq-accordion .card-header button:before{
    width: 24px;
    height: 24px;
}
#faq-accordion .card-header button:after{
	right: 26px;
}
}



#Campaign{
	padding: 100px 0 120px;
	background: #fafafa;
}
.card-campaign{
	display: block;
	width: 100%;
	padding: 12px;
	background: #fff;
    box-shadow: 1px 1px 4px 1px rgb(0 0 0 / 5%);
    border-radius: 4px;
    color: #000;
    position: relative;
}
.card-campaign:hover{
	text-decoration: none;
	color: #000;
}
.card-campaign .text-underline{
	text-decoration: underline;
	color: #1558d6;
}
.card-campaign:hover .text-underline{
	text-decoration: none;
	opacity: 0.5;
}
.card-campaign:before{
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(0, -50%);
	font-weight: 900;
	background: #000;
	width: 30px;
	height: 30px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: #fff;
}

.dl-campaign{
	display: flex;
}
.dl-campaign dt{
	width: 25%;
}
.dl-campaign dd{
	width: 75%;
	padding: 0 36px 0 12px;
	font-size: 18px;
}
.dl-campaign dd b{
	font-weight: 900;
}
.dl-campaign dd ul{
	margin: 12px 0 0;
	padding: 12px 10px 0;
	border-top: 1px dashed #ccc;
}
.dl-campaign dd ul li{
	font-size: 14px;
	font-weight: normal;
}
.dl-campaign dd ul li + li{
	margin-top: 1px;
}

@media(max-width:768px) {
#Campaign{
	padding: 70px 0 70px;
}
.card-campaign{
	margin-bottom: 12px;
	padding: 10px;
}
.card-campaign:before{
	width: 20px;
	height: 20px;
	right: 8px;
}
.dl-campaign dt{
	width: 22%;
}
.dl-campaign dd{
	width: 78%;
	padding: 0 20px 0 6px;
	font-size: 16px;
}
.dl-campaign dd ul{
	margin: 6px 0 0;
	padding: 6px 0 0;
}
.dl-campaign dd ul li{
	font-size: 13px;
}
}


.wrap-ggmap{
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-bottom: 12px;
}
.wrap-ggmap iframe{
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
@media(max-width:768px) {
.dl-area .wrap-ggmap{
	height: 350px;
}
}



.modal-apps .modal-header{
	background: #000;
	color: #fff;
}
.title-modal{
	font-size: 18px;
	font-weight: 900;
}
.title-modalbody{
	background: #eee;
	padding: 10px;
	font-weight: bold;
	margin-bottom: 20px;
}




.title-campstep{
	text-align: center;
	font-size: 20px;
	font-weight: 900;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #333;
}
.label-step{
	color: #39a827;
	display: block;
	font-size: 20px;
	font-weight: 900;
}
.ol-appstep{
	margin-top: 15px;
	padding: 0;
	counter-reset:renban;
}
.ol-appstep li{
	padding-left: 30px;
	position: relative;
}
.ol-appstep li:before {
	counter-increment:renban;
	content:counter(renban) "";
	background: #603535;
	color: #fff;
	display: flex;
	width: 20px;
	height: 20px;
	font-size: 10px;
	justify-content: center;
	align-items: center;
	line-height: 1;
	position: absolute;
	top: 4px;
	left: 0;
	border-radius: 100px;
}
.ol-appstep li + li{
	margin-top: 10px;
}
.ol-appstep li span{
	padding: 20px;
	display: block;
	text-align: center;
}
.ol-appstep li span.wrap-summer{
	background: #e9f9ff;
	padding: 15px 20px;
	display: block;
	margin-top: 10px;
	text-align: left;
}
.wrap-summer b{
	display: inline-block;
	background: #00aee8;
	color: #fff;
	font-weight: normal;
	font-size: 90%;
	margin-bottom: 10px;
	border-radius: 4px;
	padding: 10px;
	line-height: 1;
}
.wrap-summer i{
	margin-right: 10px;
	color: #ff2e57;
}
.ol-appstep li span.summer-lead{
	font-weight: bold;

	padding: 0;
	text-align: left;
	margin-bottom: 10px;
}
.ol-appstep li span.wrap-gift{
	background: #fff9f9;
	padding: 15px 20px;
	display: block;
	margin-top: 10px;
	text-align: left;
	position: relative;
}
.ol-appstep li span.wrap-gift.add-arrow{
	margin-top: 20px;
}
.ol-appstep li span.wrap-gift.add-arrow:before{
	content: "";
	border: 12px solid transparent;
	border-top: 12px solid #ec6a97;
	position: absolute;
	top: -15px;
	left: 5%;
}
.wrap-gift b{
	display: block;
	color: #e94f4f;
}
.wrap-gift i{
	margin-right: 10px;
	color: #ff2e57;
}
.list-campkome{
	margin-top: 20px;
}
.list-campkome li{
	padding-left: 20px;
	position: relative;
	font-size: 80%;
}
.list-campkome li + li{
	margin-top: 5px;
}
.list-campkome li:before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
.wrap-entrybtn{
	text-align: center;
	margin-top: 20px;
}
.btn-entry{
	display: inline-block;
	background: #ccc;
	color: #333;
	text-decoration: none;
	padding: 15px 25px;
	border-radius: 10px;
	text-align: center;
	font-weight: bold;
}
.btn-entry:hover{
	text-decoration: none;
	opacity: 0.5;
	color: #333;
}
@media(max-width:768px) {
.label-step{
	font-size: 18px;
}
.ol-appstep li span.wrap-gift.add-arrow:before{
	left: 50%;
	transform: translate(-50%, 0);
}
}





#News{
	padding: 20px 0;
}
.news-box{
	padding: 20px 30px;
	background: #fffdf6;
	border: solid 3px #da4453;
}
.news-box p{
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
	color: #da4453;
}
.news-box p .label-news{
	background: #da4453;
	color: #fff;
	font-size: 80%;
	display: inline-block;
	padding: 2px 6px;
	margin-right: 10px;
	border-radius: 3px;
	position: relative;
	top: -2px;
}
@media(max-width:768px) {
.news-box p{
	font-size: 16px;
}
.news-box{
	padding: 10px 20px;
}
}



#Press{
	padding:0 0 150px;
}
.wrap-presslink{
	margin-bottom: 60px;
}
.wrap-presslink p{
	text-align: center;
	font-size: 18px;
}
.link-press{
	text-decoration: underline;
	color: #333;
	font-weight: bold;
}
.link-press:hover{
	text-decoration: none;
}
.link-press:after{
	content: "\f24d";
	font-family: "Font Awesome 5 Free";
	margin-left: 10px;
	font-weight: normal;
}
.wrap-media{
	background: #fafafa;
	padding: 40px 80px;
}
.title-media{
	text-align: center;
	margin-bottom: 60px;
	font-weight: 900;
	font-size: 24px;
}
.dl-media{
	display: flex;
	justify-content: center;
}
.dl-media + .dl-media{
	padding-top: 20px;
	margin-top: 20px;
	border-top: 1px dashed #ccc;
}
.dl-media dt{
	width: 15%;
}
.dl-media dd{
	width: 85%;
	padding-left: 10px;
}
.dl-media dd a{
	color: #333;
	text-decoration: none;
}
.dl-media dd a:hover{
	text-decoration: none;
	opacity: 0.5;
}
.dl-media dd a.add-window:before{
	display: none;
}
.dl-media dd a.add-window:after{
    content: "\f24d";
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    margin-left: 10px;
}
@media(max-width:768px) {
.wrap-media{
	padding: 30px 30px;
}
.dl-media{
	display:block;
}
.dl-media dt{
	width: 100%;
}
.dl-media dd{
	width: 100%;
	padding-left: 0;
}
}


.title-endarea{
	text-align: center;
	font-weight: bold;
	margin-bottom: 20px;
}
.list-other-endarea{
	margin: 0 auto 40px;
	width: 100%;
	max-width: 220px;
}
.list-other-endarea li{
	padding-left: 20px;
	position: relative;
}
.list-other-endarea li + li{
	margin-top: 10px;
}
.list-other-endarea li a{
	color: #111;
}
.list-other-endarea li:before{
	content: "●";
	font-size: 80%;
	position: absolute;
	top: 3px;
	left: 0;
	color: #ccc;
}
.label-end{
	background: #ccc;
	padding: 3px 8px;
	margin-left: 5px;
	display: inline-block;
	line-height: 1;
	border-radius: 4px;
	font-size: 80%;
	position: relative;
	top: -2px;
}