/* デフォルト
---------------------------------------------------- */

@font-face {
	font-family: 'MyFont_A1gothic';
	src: local('AP-OTF-A1GOTHICSTDN-REGULAR.OTF'), url("../../../../common/font/AP-OTF-A1GOTHICSTDN-REGULAR.OTF");
	font-display: swap;
	font-weight: 400;
}

@font-face {
	font-family: 'MyFont_A1gothic';
	src: local('AP-OTF-A1GOTHICSTDN-MEDIUM.OTF'), url("../../../../common/font/AP-OTF-A1GOTHICSTDN-MEDIUM.OTF");
	font-display: swap;
	font-weight: 500;
}

@font-face {
	font-family: 'MyFont_Brandon';
	src: local('brandon-grotesque-regular-italic.otf'), url("../../../../common/font/brandon-grotesque-regular-italic.otf");
	font-display: swap;
	font-weight: 400;
}

@font-face {
	font-family: 'MyFont_Brandon';
	src: local('brandon-grotesque-bold-italic.otf'), url("../../../../common/font/brandon-grotesque-bold-italic.otf");
	font-display: swap;
	font-weight: 700;
}

:root {
	--main-color: #309ea7;
	--gradation-color1: #e15d4d;
	--gradation-color2: #ffdc4f;
	--gray-color: #e1e1e1;
	--black-color: #1a1a1a;
	--title-f-size: 40px;
	--sbtitle-f-size: 25px;
	--txt-f-size: 16px;
	--remark-f-size: 12px;
	--big-f-size: 1.5em;
	--btn-f-size: 18px;
}


/* 画面100%表示用↓ここから */
.mainContentMT {
	width: 100%;
}

/*　パンくずの表示くずれ防止　*/
.rootMT ul {
	overflow: hidden;
	width: 940px !important;
	margin: 0 auto;
}

/* 画面100%表示用↓ここまで */

tr,
th,
td,
div,
span,
a,
p {
	color: inherit;
}

video {
	max-width: 100%;
}

/* coa-app_dl
---------------------------------------------------- */
#coa-app_dl {
	width: 100%;
	margin: 0 auto;
	position: relative;
	font-family: "MyFont_A1gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	overflow: hidden;
	color: var(--black-color);
	background: url(../img/dot_back.svg) repeat;
	max-width: 1920px;
}

#coa-app_dl * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}

#coa-app_dl img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
	font-size: 0;
}

#coa-app_dl .pc {
	display: block !important;
}

#coa-app_dl .sp {
	display: none !important;
}


#coa-app_dl ol,
#coa-app_dl ul {
	list-style-type: none;
}

#coa-app_dl a {
	outline: none;
	font-size: inherit;
	position: relative;
}

#coa-app_dl section {
	padding: 0 0 10% !important;
}

/* font
---------------------------------------------------- */

#coa-app_dl .title {
	font-size: var(--title-f-size);
	line-height: 1.5;
	font-weight: 500;
}

#coa-app_dl .subtitle {
	font-size: var(--sbtitle-f-size);
	line-height: 1.5;
	font-weight: 500;
}

#coa-app_dl .text {
	font-size: var(--txt-f-size);
	font-weight: 400;
	line-height: 2;
}

#coa-app_dl .remark {
	font-size: var(--remark-f-size);
	font-weight: 400;
	line-height: 1.5;
}

#coa-app_dl .big {
	font-size: var(--big-f-size);
}

#coa-app_dl .line {
	text-decoration: underline;
}

#coa-app_dl .dot {
	position: relative;
}

#coa-app_dl .dot::before {
	content: "";
	position: absolute;
	width: 0.15em;
	height: 0.15em;
	border-radius: 50%;
	display: block;
	top: -0.3em;
	left: 0;
	right: 0;
	margin: auto;
	background-color: var(--black-color);
}

#coa-app_dl .copyright {
	color: #888;
	margin-top: 0.5em;
}

#coa-app_dl .txt_center {
	text-align: center;
}

#coa-app_dl .txt_left {
	text-align: left;
}

#coa-app_dl .txt_right {
	text-align: right;
}


/* .btn
---------------------------------------------------- */

#coa-app_dl .btn a {
	color: #fff;
	padding: 1.2em 0;
	text-decoration: none;
	border-radius: 5em;
	display: block;
	width: 100%;
	transition: all ease .3s;
	text-align: center;
	font-size: var(--btn-f-size);
	background-size: 200% auto !important;
	font-weight: 500;
}


#coa-app_dl .btn a:hover {
	background-position: right center;
}

@keyframes poyopoyo {

	0%,
	40%,
	60%,
	80% {
		transform: scale(1.0);
	}

	50%,
	70% {
		transform: scale(0.95);
	}
}


/* flex-box
---------------------------------------------------- */
#coa-app_dl .flex {
	display: flex;
}


/* .app_icn
---------------------------------------------------- */

#coa-app_dl .app_icn {
	width: 20%;
	max-width: 100px;
}


/* .balloon
---------------------------------------------------- */

#coa-app_dl .balloon {
	position: absolute;
	border-radius: 50%;
	border: solid 0.5vw #fff;
	overflow: hidden;
}

#coa-app_dl .top_ph01 {
	width: 15%;
	top: -3%;
	left: 16%;
}

#coa-app_dl .top_ph02 {
	width: 13%;
	top: 10%;
	left: 55%;
}

#coa-app_dl .top_ph03 {
	width: 16%;
	top: 61%;
	left: 7%;
}

#coa-app_dl .top_ph04 {
	width: 19%;
	top: 51%;
	left: 38%;
}

#coa-app_dl .top_ph05 {
	width: 15%;
	top: 0;
	left: 19%;
}

#coa-app_dl .top_ph06 {
	width: 13%;
	top: 5%;
	left: 48%;
}

#coa-app_dl .top_ph07 {
	width: 16%;
	top: 42%;
	left: 4%;
}

#coa-app_dl .top_ph08 {
	width: 19%;
	top: 59%;
	left: 25%;
}



/* #head
---------------------------------------------------- */

#head {
	position: relative;
}

#coa-app_dl .title_svg {
	margin: auto;
	width: 25%;
	min-width: 400px;
	padding: 0 1%;
}

#head .top_back {
	width: 62.5%;
	min-width: 850px;
}

#head .head_subtitle p {
	padding: 0;
	position: absolute;
	z-index: 3;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
	top: 3em;
	left: 3em;
	line-height: 2;
	min-height: 10em;
}

#head .btn a {
	font-weight: 500;
	animation: poyopoyo 2s ease-out infinite;
	background: var(--gradation-color1);
	background: linear-gradient(90deg, var(--gradation-color2) 0%, var(--gradation-color1) 51%, var(--gradation-color2) 100%);
	margin: 2em auto 0;
}


/* #caution
---------------------------------------------------- */

#caution .caution_all {
	width: 90%;
	max-width: 940px;
	margin: 0 auto;
	padding: 4em;
	border: solid 3px;
	border-radius: 1.5em;
	background-color: #fff;
}

#caution .caution_all .title {
	margin-bottom: 1em;
}


/* #entry_flow
---------------------------------------------------- */


#entry_flow .txt_center .subtitle {
	line-height: 1.8;
}


#entry_flow .txt_center .title {
	padding: 5% 0 10%;
}

#entry_flow .txt_center .flex {
	justify-content: center;
	align-items: center;
	margin-bottom: 3em;
	flex-direction: column;
}

#entry_flow .app_icn {
	margin: 0 auto 3%;
}

#entry_flow .entry_flow {
	width: 60%;
	max-width: 800px;
	min-width: 740px;
	position: relative;
	color: #fff;
	justify-content: center;
	align-items: center;
}

#entry_flow .step01 {
	margin: 10% 5% 0 auto;
}

#entry_flow .step02 {
	width: 70%;
	max-width: 1040px;
	margin: 40% auto 30% 5%;
	flex-direction: row-reverse;
}


#entry_flow .entry_flow::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	padding-bottom: 100%;
	border-radius: 50%;
}

#entry_flow .step01::before {
	background: var(--gradation-color1);
	background: linear-gradient(0deg, var(--gradation-color2), var(--gradation-color1));

}

#entry_flow .step02::before {
	background: var(--gradation-color1);
	background: linear-gradient(0deg, var(--main-color), var(--gradation-color2));

}

#entry_flow .step01 .flex {
	align-items: center;
}

#entry_flow .app_img {
	width: 25%;
	position: relative;
	filter: drop-shadow(0.4em 0.4em 0.2em rgb(26, 26, 26, .3));
}

#entry_flow .step01 .app_img {
	margin-right: 5%;
}

#entry_flow .step01 .app_icn {
	position: relative;
	margin: 0 5% 0 0;
}

#entry_flow .step02 .app_img {
	margin-left: 5%;
}

#entry_flow .step02 .app_img video {
	border-radius: 40px;
}

#entry_flow .step {
	width: 35%;
	max-width: 180px;
	opacity: .5;
}

#entry_flow .step01 .step {
	margin: 0 0 0 auto;
}

#entry_flow .box {
	position: relative;
	width: 35%;
}

#entry_flow .box .subtitle {
	margin: 3em 0 1em;
}

#entry_flow .step01 .box .text {
	margin-bottom: 2em;
}

#entry_flow .box .flex {
	justify-content: space-between;
}

#entry_flow .store_icn {
	width: 45%;
}

#entry_flow .coupon {
	width: 50%;
	max-width: 540px;
	position: relative;
	justify-content: center;
	align-items: center;
	margin: 20% 10% 20% auto;
}

#entry_flow .coupon::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	padding-bottom: 100%;
	border-radius: 50%;
	background: var(--gray-color);
}

#entry_flow .coupon a {
	width: 75%;
	display: block;
	text-decoration: none;
	margin: 0 auto;
	transition: all ease .3s;
}


#entry_flow .coupon a:hover .arrow p {
	margin-left: 2em;
}

#entry_flow .coupon .text {
	margin: 1em auto;
}

#entry_flow .arrow {
	text-align: center;
	font-size: var(--btn-f-size);
	margin: 2em auto 0;
}

#entry_flow .arrow p {
	display: inline-block;
	padding: 0 2.5em 0.5em 2em;
	border-bottom: solid 2px;
	position: relative;
	transition: all ease .3s;
}

#entry_flow .arrow p::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0.3em;
	right: -0.1em;
	width: 1.2em;
	border-top: solid 2px;
	transform: rotate(45deg);
}

/* #cpn_overview
---------------------------------------------------- */

#cpn_overview .title {
	margin-bottom: 1em;
}

#cpn_overview .cpn_table {
	margin: 0 auto 10%;
	border-radius: 1.5em;
	width: 90%;
	max-width: 940px;
	overflow: hidden;
}

#cpn_overview .cpn_table table {
	width: 100%;
}

#cpn_overview .cpn_table tr {
	width: 100%;
}

#cpn_overview .cpn_table th {
	width: 30%;
	padding: 1em 1.5em;
	background: var(--main-color);
	border-bottom: 3px solid #fff;
	vertical-align: middle;
	text-align: center;
	color: #fff;
}

#cpn_overview .cpn_table tr:last-of-type th,
#cpn_overview .cpn_table tr:last-of-type td {
	border: none;
}

#cpn_overview .cpn_table td {
	width: 70%;
	padding: 2em;
	text-align: left;
	background: #FFF;
	border-bottom: 3px solid var(--main-color);
}


#cpn_overview .btn a {
	max-width: 500px;
	background: var(--main-color);
	background: linear-gradient(90deg, var(--main-color) 0%, var(--gradation-color2) 51%, var(--main-color) 100%);
	animation: inherit;
	margin: 0 auto;
}



/* #download
---------------------------------------------------- */

#coa-app_dl #download {
	padding: 0 !important;
	position: relative;
}

#download .download_back {
	width: 62.5%;
	min-width: 850px;
	max-width: 90%;
	margin: 0 0 0 auto;
}

#download .download_all {
	width: 40%;
	min-width: 600px;
	text-align: center;
	color: #fff;
	position: absolute;
	bottom: 4em;
	right: 4em;
	margin: auto;
	height: max-content;
}

#download .download_all .app_icn {
	margin: 0 auto;
	display: block;
	position: relative;
}

#download .download_all .title {
	margin: 1em auto;
	position: relative;
}

#download .download_all .flex {
	justify-content: space-evenly;
	align-items: center;
	margin: 0 auto 5%;
	position: relative;
}

#download .download_all .store_all {
	width: 50%;
	justify-content: space-between;
}

#download .download_all .store_all:nth-child(1) {
	border-right: solid 2px #fff;
	padding-right: 10%;
}

#download .download_all .store_all:nth-child(2) {
	padding-left: calc(10% + 2px);
}

#download .download_all .qr {
	width: 100px;
}

#download .download_all .store_icn {
	width: 55%;
}

#download .download_all .remark {
	text-align: left;
	margin: 0 auto;
	position: relative;
}


/* .Android
---------------------------------------------------- */

.Android #coa-app_dl {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.Android #coa-app_dl .title,
.Android #coa-app_dl .subtitle {
	font-weight: 700;
}


/* 1485px以下
---------------------------------------------------- */
@media screen and (max-width: 1485px) {

	#entry_flow .step02 .app_img video {
		border-radius: 2.7vw;
	}
}

/* 1249px以下
---------------------------------------------------- */

@media screen and (max-width: 1249px) {


	/* #head
---------------------------------------------------- */

	#head .flex {
		display: block;
	}

	#head .top_back {
		width: 90%;
		min-width: inherit;
	}

	#coa-app_dl .top_ph01 {
		width: 20%;
		top: -1%;
		left: 21%;
	}

	#coa-app_dl .top_ph02 {
		width: 19%;
		top: 10%;
		left: 78%;
	}

	#coa-app_dl .top_ph03 {
		width: 23%;
		top: 30%;
		left: 7%;
	}

	#coa-app_dl .top_ph04 {
		width: 25%;
		top: 25%;
		left: 52%;
	}

	#coa-app_dl .title_svg {
		width: 100%;
		min-width: inherit;
		padding: 0;
		max-width: 640px;
		margin: 10% auto 0;
		text-align: center;
	}


	#entry_flow .step01 {
		margin: 20% -10% 0 auto;
	}

	#entry_flow .step02 {
		margin: 50% auto 40% -10%;
	}


	#download .download_back {
		width: 90%;
	}

	#download .download_all {
		width: 60%;
		min-width: inherit;
		bottom: 2em;
		right: 2em;
	}

	#coa-app_dl .top_ph05 {
		width: 20%;
		top: -21%;
		left: 35%;
	}

	#coa-app_dl .top_ph06 {
		width: 18%;
		top: -10%;
		left: 77%;
	}

	#coa-app_dl .top_ph07 {
		width: 23%;
		top: 3%;
		left: -3%;
	}

	#coa-app_dl .top_ph08 {
		width: 24%;
		top: 54%;
		left: 4%;
	}

	#cpn_overview .btn a {
		margin: 0 auto 15%;
	}

	#download .download_all .store_all:nth-child(1) {
		padding-right: 5%;
	}

	#download .download_all .store_all:nth-child(2) {
		padding-left: calc(5% + 2px);
	}

}


/* 640〜767px SP
---------------------------------------------------- */

@media screen and (max-width: 767px) {

	:root {
		--title-f-size: 25px;
		--sbtitle-f-size: 20px;
		--txt-f-size: 15px;
		--remark-f-size: 10px;
		--btn-f-size: 17px;
	}

	#coa-app_dl section {
		padding: 0 0 50% !important;
	}

	#coa-app_dl p,
	#coa-app_dl span,
	#coa-app_dl table {
		font-size: inherit;
		line-height: inherit;
	}

	#coa-app_dl p {
		color: inherit;
	}

	#coa-app_dl table {
		font-family: inherit;
	}

	/*　左右余白削除　*/
	#fftop_recomDetail section {
		padding: 0;
	}

	#coa-app_dl .sp {
		display: block !important;
	}

	#coa-app_dl .pc {
		display: none !important;
	}


	.delay-time1 {
		animation-delay: inherit;
	}


	/* balloon
	---------------------------------------------------- */
	#coa-app_dl .balloon {
		border-width: 1vw;
	}

	#coa-app_dl .top_ph01 {
		width: 25%;
		top: -1%;
		left: 32%;
	}

	#coa-app_dl .top_ph02 {
		width: 22%;
		top: 19%;
		left: 82%;
	}

	#coa-app_dl .top_ph03 {
		width: 27%;
		top: 20%;
		left: -3%;
	}



	/* #head
	---------------------------------------------------- */


	#head .top_back {
		width: 120%;
	}

	#head .head_subtitle p {
		top: 1em;
		left: 1em;
		line-height: 1.5;
	}


	#coa-app_dl .title_svg {
		margin: 20% auto 0;
	}

	#coa-app_dl .title_svg img {
		width: 80%;
	}

	#coa-app_dl .btn a {
		width: 90%;
	}

	/* #caution
---------------------------------------------------- */

	#caution .caution_all {
		padding: 1.5em;
	}


	/* #entry_flow
---------------------------------------------------- */


	#entry_flow .app_icn {
		margin: 0 auto 10%;
	}

	#entry_flow .entry_flow {
		width: 100%;
		margin: 15% auto 80%;
		display: block;
		min-width: inherit;
	}

	#entry_flow .entry_flow::before {
		display: none;
	}

	#entry_flow .box {
		width: 90%;
		min-width: 320px;
		max-width: 500px;
	}

	#entry_flow .step01 .box {
		margin: 0 5% 0 auto;
	}

	#entry_flow .step02 .box {
		margin: 0 auto 0 5%;
	}

	#entry_flow .box::before {
		content: "";
		display: block;
		position: absolute;
		top: -22%;
		width: 200%;
		padding-bottom: 200%;
		border-radius: 50%;
	}

	#entry_flow .step01 .box::before {
		background: var(--gradation-color1);
		background: linear-gradient(0deg, var(--gradation-color2), var(--gradation-color1));

	}

	#entry_flow .step02 .box::before {
		background: var(--gradation-color1);
		background: linear-gradient(0deg, var(--main-color), var(--gradation-color2));
		right: 0;
	}

	#entry_flow .box p {
		position: relative;
	}

	#entry_flow .box .text,
	#entry_flow .box .remark {
		width: 80%;
	}

	#entry_flow .step01 .box .text {
		margin: 0 0 2em auto;
	}

	#entry_flow .app_img {
		text-align: center;
		width: 40%;
		z-index: 2;
	}

	#entry_flow .step01 .app_img {
		margin: 0 0 -40% 10%;
	}

	#entry_flow .step02 .app_img {
		margin: 0 10% -40% auto;
	}

	#entry_flow .step02 .app_img video {
		border-radius: 6vw;
	}


	#entry_flow .app_img img,
	#entry_flow .app_img video {
		position: relative;
	}

	#entry_flow .coupon {
		width: 90%;
		max-width: 400px;
		margin: 80% 0 20% auto;
	}

	#entry_flow .coupon::before {
		width: 120%;
		padding-bottom: 120%;
		top: 50%;
		transform: translateY(-50%);
		bottom: inherit;
	}

	#entry_flow .coupon a {
		margin: 0 10% 0 auto;
	}


	/* #cpn_overview
---------------------------------------------------- */

	#cpn_overview .cpn_table th,
	#cpn_overview .cpn_table td {
		width: 100%;
		display: block;
		padding: 1em;
		border: none;
	}

	#cpn_overview .cpn_table {
		border: solid 2px var(--main-color);
	}


	/* #download
---------------------------------------------------- */

	#download .download_back {
		width: 120%;
		min-width: inherit;
		max-width: inherit;
		margin: 0 auto;
		left: -20%;
		position: relative;
	}

	#download .download_all {
		min-width: 90vw;
		bottom: 2em;
		right: 0;
		left: 0;
		margin: auto;
	}


	#download .download_all .store_icn {
		width: 100%;
	}

	#coa-app_dl .top_ph05 {
		width: 28%;
		top: -23%;
		left: 57%;
	}

	#coa-app_dl .top_ph06 {
		width: 22%;
		top: 11%;
		left: 80%;
	}

	#coa-app_dl .top_ph07 {
		width: 30%;
		top: -31%;
		left: 21%;
	}

	#coa-app_dl .top_ph08 {
		width: 31%;
		top: 13%;
		left: 4%;
	}

}


/* 639px以下 SP
---------------------------------------------------- */

@media screen and (max-width: 639px) {
	#download .download_back {
		width: 150%;
		left: -50%;
	}

	#coa-app_dl .top_ph05 {
		top: -28%;
	}

	#coa-app_dl .top_ph06 {
		top: 1%;
	}

	#coa-app_dl .top_ph07 {
		top: -38%;
	}

	#coa-app_dl .top_ph08 {
		top: 3%;
	}

}
