@charset "utf-8";

body{
	position:relative;
	font-family: 'NotoSansCJKjp','NotoSans', sans-serif;
}
@media screen and (min-width: 569px) {
	body{ min-width: 960px;}
}
body.is_modal {
  position: fixed;
  width: 100%;
}
#wrap{ position:relative;}
@media screen and (max-width: 568px) {
  #wrap{ padding-bottom: 23%;}
}
#contents-wrap {
	font-size: 16px;
	line-height: 1.5;
	background-image: none;
	padding: 0;
}
#contents-wrap img { vertical-align: bottom; }
#section-wrap { padding: 10px 10px 25px; }
@media screen and (min-width: 569px) {
	#section-wrap {
		padding: 0;
	}
}

@media screen and (max-width: 568px) {
	#contents-wrap {
		font-size: 15px;
	}
}

/** -------------------------------------------------
 * common
 ---------------------------------------------------- **/
@media screen and (min-width: 569px) {
	.pc-item { display: block!important; }
	.sp-item { display: none!important; }
}

@media screen and (max-width: 568px) {
	.pc-item { display: none!important; }
	.sp-item { display: block!important; }
}

/** -------------------------------------------------
 * mainvisual
 ---------------------------------------------------- **/
.mainvisual-wrap {
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.mainvisual {
	display: block;
}

.mainvisual__top {
  background-color: #003894;
	text-align: center;
}

.mainvisual__bottom {
  background-color: #ec6c00;
	text-align: center;
}

.mainvisual h2 img {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
	vertical-align: bottom;
}

/** -------------------------------------------------
 * app_download
 ---------------------------------------------------- **/
.app_download-wrap {
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.app_download-wrap--2 {
	padding: 15px;
	background-color: #fff;
}

@media screen and (min-width: 569px) {
	.app_download-wrap--2 {
		padding: 25px 30px;
	}
}

.app_download {
	background-color: #013895;
	border-radius: 7px;
	width: 100%;
	padding: 20px 15px;
	box-sizing: border-box;
	max-width: 100%;
	margin: 0 auto;
}

@media screen and (min-width: 569px) {
	.app_download {
		padding: 38px 60px;
		max-width: 960px;
		border-radius: 14px;
	}
}

.app_download--1 {
	position: relative;
	z-index: 10;
	margin-top: -35px;
}

@media screen and (min-width: 569px) {
	.app_download--1 {
		margin-top: -50px;
	}
}

.app_download__title {
	text-align: center;
	margin-bottom: 13px;
}

@media screen and (min-width: 569px) {
	.app_download__title {
		margin-bottom: 20px;
	}
}

.app_download__title img {
	width: 100%;
}

.app_download__subtitle {
	width: 100%;
	margin: 0 auto 6px;
	padding: 0 25px;
	box-sizing: border-box;
}

@media screen and (min-width: 569px) {
	.app_download__subtitle {
		max-width: 153px;
		margin: 0 35px 0 0;
		padding: 0;
	}
}

.app_download__subtitle img {
	width: 100%;
}

.app_download__contents {
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
  justify-content: center;
}

.app_download__item {
	max-width: 308px;
	margin-right: 22px;
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (min-width: 569px) {
	.app_download__item {
		margin-right: 42px;
	}
}

.app_download__item:last-child {
	margin-right: 0;
}

@media screen and (max-width: 568px) {
  .app_download__item:nth-child(3) {
    margin-right: 0;
  }
}

.app_download__link {
	display: inline;
}

.app_download__link a img {
	width: 100%;
}

@media screen and (min-width: 569px) {
	.app_download__link a img {
		width: auto;
		height: 61px;
	}
}

/** -------------------------------------------------
 * app_about
 ---------------------------------------------------- **/
.app_about {
	display: block;
	padding: 20px 5px;
	box-sizing: border-box;
}

@media screen and (min-width: 569px) {
	.app_about {
    display:-webkit-box;
    display:-ms-flexbox;
		display: flex;
		padding: 50px 30px 40px;
	}
}

.app_about__title {
	margin-bottom: 20px;
}

@media screen and (min-width: 569px) {
	.app_about__title {
		margin-bottom: 35px;
	}
}

.app_about__title img {
	width: 100%;
}

.app_about__text {
	font-weight: bold;
	font-size: 14px;
	text-align: left;
	line-height: 1.75;
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media screen and (min-width: 569px) {
	.app_about__text {
		font-size: 24px;
		margin-left: 64px;
		display: block;
	}
}

.app_about__kinou {
	max-width: 70px;
	margin-right: 8px;
	font-family: 'NotoSansCJKjp';
}

.app_about__kinou img {
	max-width: 70px;
}

.app_about__icon {
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
	max-width: 310px;
  -ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	margin-top: 30px;
}

@media screen and (min-width: 569px) {
	.app_about__icon {
		max-width: 350px;
		margin-left: 75px;
		margin-top: 20px;
	}
}

.app_about__icon-item {
	width: 48%;
	max-width: 150px;
	margin-right: 10px;
	margin-bottom: 10px;
}
.app_about__icon-item:nth-child(2n) {
	margin-right: 0;
	margin-bottom: 0;
}

@media screen and (min-width: 569px) {
	.app_about__icon-item {
		width: 50%;
		max-width: 170px;
	}
}

.app_about__icon-item img {
	max-width: 150px;
	width: 100%;
}

@media screen and (min-width: 569px) {
	.app_about__icon-item img {
		max-width: 170px;
	}
}

/** -------------------------------------------------
 * app_scene
 ---------------------------------------------------- **/
.app_scene {
	width: 100%;
	position: relative;
	z-index: 0;
	overflow: hidden;
  background: linear-gradient(180deg,#fff 0%,#fff 33%,#fff100 33%,#fff100 100%);
}

@media screen and (min-width: 569px) {
	.app_scene {
		background: #fff100;
	}
}

@media screen and (max-width: 568px) {
	.app_scene::before {
		content: '';
		position: absolute;
		left:0;
		top: 30px;
		transform: skewY(5deg);
		transform-origin: bottom left;
		z-index: -1;
		width:100%;
		height:180px;
		background:#fff100;
		overflow-x: hidden;
	}
}

.app_scene__inner {
	width: 100%;
	max-width: 830px;
	margin: 0 auto;
}

.app_scene__img {
	width: 100%;
	max-width: 280px;
	margin: 0 auto;
}

@media screen and (min-width: 569px) {
	.app_scene__img {
		width: 100%;
		max-width: 830px;
	}
}

/** -------------------------------------------------
 * app_scene
 ---------------------------------------------------- **/
.app_function-wrap {
	background-color: #f28300;
	box-sizing: border-box
}

.app_function {
	display: block;
}

@media screen and (min-width: 569px) {
	.app_function {
    display:-webkit-box;
    display:-ms-flexbox;
		display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
		flex-direction: row;
		max-width: 1300px;
		margin: auto;
	}
}

@media screen and (min-width: 569px) {
	.app_function--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
}

.app_function__img {
	position: relative;
	display: block;
	width: 100%;
	max-width: 710px;
}

@media screen and (min-width: 569px) {
	.app_function__img {
		min-width: 470px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__img {
		min-width: 710px;
	}
}

.app_function__img img {
	width: 100%;
}

.app_function__desc-wrap {
	position: relative;
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__desc-wrap {
		padding: 50px 15px;
		padding-top: 154px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__desc-wrap {
		padding: 48px 0;
		padding-right: 15px;
		padding-top: 330px;
	}
}

@media screen and (min-width: 569px) {
	.app_function--reverse .app_function__desc-wrap {
		padding-left: 15px;
		padding-right: 0;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	#app_shopping .app_function__desc-wrap {
		padding: 38px 0;
	}
}

@media screen and (min-width: 1230px) {
	#app_shopping .app_function__desc-wrap {
		padding: 48px 0;
		padding-right: 15px;
		padding-top: 285px;
	}
}

.app_function__desc {
	padding: 55px 30px 45px;
}

@media screen and (min-width: 569px) {
	.app_function__desc {
		padding: 0;
    display:-webkit-box;
    display:-ms-flexbox;
		display: flex;
		margin-left: -42px;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__desc {
		margin-top: 110px;
	}
}

@media screen and (min-width: 569px) {
	.app_function--reverse .app_function__desc {
		margin-left: 0;
		margin-right: -40px;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	#app_shopping .app_function__desc {
		margin-top: 150px;
	}
}

.app_function__title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -30px;
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__title {
		top: 106px;
		bottom: 0;
		max-width: 550px;
		left: 56%;
    right: -290px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__title {
		top: 106px;
		bottom: 0;
		left: 76%;
		max-width: 550px;
	}
}

@media screen and (min-width: 1230px) {
  .app_function__title--1 {
    top: 80px;
  }
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function--reverse .app_function__title {
		top: 106px;
		max-width: 550px;
		right: 0;
		left: -370px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function--reverse .app_function__title {
		top: 106px;
		max-width: 550px;
		right: 0;
		top: 106px;
		left: -480px;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	#app_shopping .app_function__title {
		top: 35px;
	}
}

@media screen and (min-width: 1230px) {
	#app_shopping .app_function__title {
		top: 45px;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	#campaign-detail .app_function__title {
		left: -325px;
	}
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	#app_push .app_function__title {
		left: -325px;
	}
}

@media screen and (min-width: 1230px) {
	#app_push .app_function__title {
		left: -410px;
	}
}

.app_function__title img {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__title img {
		max-width: 440px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__title img {
		width: auto;
		min-width: 570px;
	}
}

.app_function__icon {
	display: block;
	margin-right: 20px;
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__icon {
		display: block;
		margin-right: 20px;
		min-width: 80px;
		width: 100%;
		max-width: 80px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__icon {
		display: block;
		margin-right: 20px;
		min-width: 140px;
		width: 100%;
		max-width: 140px;
	}
}

.app_function__icon img {
	width: 100%;
}

.app_function__text {
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.75;
}

@media screen and (min-width: 569px) and (max-width: 1229px) {
	.app_function__text {
		font-size: 16px;
		max-width: 305px;
	}
}

@media screen and (min-width: 1230px) {
	.app_function__text {
		font-size: 19px;
		max-width: 305px;
	}
}

@media screen and (min-width: 1230px) {
	#app_shopping .app_function__text {
		max-width: 330px;
	}
}

.app_function__note {
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	line-height: 2.3;
	margin: 5px 0;
}

@media screen and (min-width: 569px) {
	.app_function__note {
		font-size: 13px;
	}
}

/** -------------------------------------------------
 * app_other
 ---------------------------------------------------- **/
.app_other {
	padding: 50px 15px;
	background-color: #f28300;
	width: 100%;
	box-sizing: border-box;
}

@media screen and (min-width: 569px) {
	.app_other {
		padding: 100px 30px 50px;
	}
}

.app_other__title {
	text-align: center;
	margin: 0 auto;
	display: block;
	max-width: 260px;
	margin-bottom: 12px;
}

@media screen and (min-width: 569px) {
	.app_other__title {
		max-width: 300px;
		margin-bottom: 60px;
	}
}

.app_other__title img {
	display: block;
	max-width: 260px;
}

@media screen and (min-width: 569px) {
	.app_other__title img {
		max-width: 300px;
	}
}

.app_other__list {
	display: block;
	margin: 0 auto;
	margin-bottom: 65px;
}

@media screen and (min-width: 569px) {
	.app_other__list {
    display:-webkit-box;
    display:-ms-flexbox;
		display: flex;
		max-width: 960px;
		margin-bottom: 50px;
	}
}

.app_other__item {
	background-color: #fff100;
	width: 100%;
	padding: 30px;
	box-sizing: border-box;
	border-radius: 7px;
	margin-bottom: 15px;
}

.app_other__item:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 569px) {
	.app_other__item {
		padding: 40px 60px;
		margin-right: 60px;
		margin-bottom: 0;
		border-radius: 14px;
	}

	.app_other__item:last-child {
		margin-right: 0;
	}
}

.app_other__item-title {
	display: block;
	width: 100%;
	margin-bottom: 10px;
}

@media screen and (min-width: 569px) {
	.app_other__item-title {
		margin-bottom: 14px;
	}
}

.app_other__item-inner {
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
}

.app_other__item-img {
	margin-right: 10px;
	min-width: 85px;
	text-align: center;
}

@media screen and (min-width: 569px) {
	.app_other__item-img {
		margin-right: 16px;
		min-width: 110px;
	}
}

.app_other__item-img img {
	max-width: 85px;
}

@media screen and (min-width: 569px) {
	.app_other__item-img img {
		max-width: 110px;
	}
}

.app_other__item-img--2 img {
	max-width: 70px;
}

.app_other__item-text {
	color: #000;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.6;
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (min-width: 569px) {
	.app_other__item-text {
		font-size: 17px;
	}
}

/** -------------------------------------------------
 * app_qa
---------------------------------------------------- **/
.app_qa {
	background-color: #f28300;
	box-sizing: border-box;
	margin: 45px auto;
}

@media screen and (min-width: 569px) {
	.app_qa {
		background-color: #f28300;
		box-sizing: border-box;
		margin: 60px auto;
	}
}

.app_qa__button {
	max-width: 280px;
	width: 100%;
	margin: 0 auto;
}

@media screen and (min-width: 569px) {
	.app_qa__button {
		max-width: 560px;
	}
}

.app_qa__button a {
	box-sizing: border-box;
	border-radius: 7px;
	padding: 15px 20px;
	border: 2px solid #fff;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	font-size: 12px;
  display:-webkit-box;
  display:-ms-flexbox;
	display: flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (min-width: 569px) {
	.app_qa__button a {
		padding: 30px 100px;
		font-size: 18px;
		border-radius: 14px;
	}
}

.app_qa__button a::after {
	content: "";
	background-image: url(/members/sale202105/images/app_qa_arrow.png);
	height: 13px;
	width: 13px;
	display: block;
	background-size: cover;
	margin-left: 6px;
}

@media screen and (min-width: 569px) {
	.app_qa__button a::after {
		height: 18px;
		width: 18px;
		margin-left: 12px;
	}
}

.app_note {
	max-width: 960px;
	margin: 0 auto;
}

.app_note__item {
	padding-left: 1em;
  text-indent: -1em;
	font-size: 12px;
	color: #fff;
}

.modal .app_note__item {
	font-size: 10px;
	display: block;
}

@media screen and (min-width: 569px) {
	.modal .app_note__item {
		font-size: 12px;
		display: inline;
		padding-left: 0;
	}
}

.app_note__item a {
	color: #fff;
	font-weight: bold;
}

/** -------------------------------------------------
 * page-top-btn
---------------------------------------------------- **/
.page-top-btn {
	float: none;
	margin: 25px 10px;
	text-align: right;
	margin: 20px auto;
	width: 100%;
}

@media screen and (min-width: 569px) {
	.page-top-btn {
		max-width: 960px;
	}
}

/** -------------------------------------------------
 * modal
---------------------------------------------------- **/
.modal {
	background-color: #ec6c00;
	padding: 10px;
	box-sizing: border-box;
}

@media screen and (min-width: 569px) {
	.modal {
		padding: 20px 0;
	}
}

.noCamp {
  font-size: 16px;
  text-align: center;
  color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}

.noCamp a {
  font-weight: bold;
  color: #fff;
  margin: 0;
}

.js-modalWrap {
  background-color: rgba(0,0,0,0.3);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 99999;
}

.is-show .modal-box { display: block; }

.modal-box {
  display: none;
  box-sizing: border-box;
  border: solid 3px #605446;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin: auto;
	line-height: 1.6;
	text-align: left;
}

.modal-box .close {
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 20px;
  height: 20px;
}

.modal-box .close img {
	width: 100%;
	display: block;
}

.modal-box .head {
  display: block;
  font-weight: bold;
}

.noCamp {
  font-size: 14px;
  text-align: center;
  color: #fff;
  padding-left: 1em;
  text-indent: -1em;
}

.noCamp a {
  font-weight: bold;
  color: #fff;
  margin: 0;
}

.modal-box .no-camp_ttl::before {
  content: "■";
  color: #e20012;
}

.modal-box .no-camp_ttl:first-of-type { margin-top: 20px; }

@media all and (min-width: 569px) {
	.content img.orig { width: auto; }
	.modal-box {
    font-size: 18px;
    width: 740px;
    padding: 35px;
  }
  .modal-box .close {
    width: 40px;
    height: 40px;
  }
  .modal-box p { margin: 20px auto; }
  .modal-box .no-camp_ttl {
    margin: 0;
    font-weight: bold;
  }
  .modal-box .no-camp_txt { margin: 0 0 20px; }

  .modal-box .no-camp_ttl { margin-bottom: 0; }
  .modal-box .no-camp_txt { margin: 0; }
}

@media all and (max-width: 568px) {
	.noCamp {
    font-size: 12px;
    text-align: center;
  }

	.modal-box .no-camp_img {
    width: 80%;
    height: auto;
  }

  .modal-box {
    font-size: 11px;
    width: 86.36363636363636%;
    padding: 4.545454545454546%;
  }
  .modal-box .close {
    width: 20px;
    height: 20px;
  }
  .modal-box p { margin: 3.333333333333333% auto; }
  .modal-box > img {
    height: 35px;
    width: auto;
  }
}