@charset "utf-8";
/* デフォルト
---------------------------------------------------- */

@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: #b51a00;
	--sub-color: #f8f5ee;
	--gold-color: #e2cca3;
	--black-color: #1a1a1a;
	--gradation-color1: linear-gradient(90deg, rgba(181,26,0,1) 0%, rgba(222,44,0,1) 50%, rgba(181,26,0,1) 100%);
	--gradation-color2: linear-gradient(90deg, rgba(244, 227, 202, 1) 0%, rgba(218, 191, 141, 1) 15%, rgba(165, 137, 98, 1) 40%);
	--coa-app_color: #30a1aa;
	--gray-color: #eee;
	--black-color: #1a1a1a;
	--title-f-size: 35px;
	--sbtitle-f-size: 22px;
	--txt-f-size: 15px;
	--remark-f-size: 13px;
	--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;
}

/* COA_App
---------------------------------------------------- */
#COA_App {
	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/back.svg) repeat;
	background-color: var(--sub-color);
	background-blend-mode:multiply;
	background-size:100px;
}

#COA_App * {
	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 img {
	width: 100%;
	max-width: 100%;
	vertical-align: bottom;
	font-size: 0;
}

#COA_App .pc {
	display: block !important;
}

#COA_App .sp {
	display: none !important;
}


#COA_App ol,
#COA_App ul {
	list-style-type: none;
}

#COA_App a {
	outline: none;
	font-size: inherit;
	position: relative;
}


/* font
---------------------------------------------------- */

#COA_App .title {
	font-size: var(--title-f-size);
	line-height: 1.5;
	font-weight: 500;
}

#COA_App .subtitle {
	font-size: var(--sbtitle-f-size);
	line-height: 1.5;
	font-weight: 500;
}

#COA_App .text {
	font-size: var(--txt-f-size);
	font-weight: 400;
	line-height: 2;
}

#COA_App .remark {
	font-size: var(--remark-f-size);
	font-weight: 400;
	line-height: 1.5;
}

#COA_App .big {
	font-size: var(--big-f-size);
}

#COA_App .line {
	text-decoration: underline;
}

#COA_App .dot {
	position: relative;
}

#COA_App .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: #fff;
}

#COA_App .copyright {
	color: #888;
	margin-top: 0.5em;
}

#COA_App .txt_center {
	text-align: center;
}

#COA_App .txt_left {
	text-align: left;
}

#COA_App .txt_right {
	text-align: right;
}


/* .btn
---------------------------------------------------- */

#COA_App .btn .text {
	margin: 2em 0 1em;
	line-height: 1.5;
}

#COA_App .btn a {
	color: #fff;
	padding: 1.2em 3em;
	margin: 0 auto;
	text-decoration: none;
	border-radius: 5em;
	display: block;
	transition: all ease .3s;
	text-align: center;
	font-size: var(--btn-f-size);
	background-size: 200% auto !important;
	font-weight: 500;
	animation: poyopoyo 2s ease-out infinite;
	background: var(--gradation-color2);
	margin: 0 auto;
}


#COA_App .btn a:hover {
}

@keyframes poyopoyo {

	0%,
	40%,
	60%,
	80% {
		transform: scale(1.0);
	}

	50%,
	70% {
		transform: scale(0.95);
	}
}


/* flex-box
---------------------------------------------------- */
#COA_App .flex {
	display: flex;
}


/* .app_icn
---------------------------------------------------- */

#COA_App .app_icn {
	width: min(30%, 80px);
}



/* #head
---------------------------------------------------- */

#COA_App #head {
	position: relative;
	background-color: var(--main-color);
	background: url(../img/back_pc.webp) no-repeat, var(--gradation-color1), url(../img/back.svg) repeat;
	background-blend-mode: normal, multiply;
	background-size: contain, 100%, 100px;
	width: 94%;
	padding: 0 0 5%;
	margin: 3% auto;
	border-radius: 2em;
}


#COA_App #head .flex {
	width: min(80%, 1200px);
	margin: 0 auto;
	justify-content: space-around;
	align-items: center;
	color: #fff;
}

#COA_App .title_svg {
	width: 45%
}

#COA_App #head .subtitle {
	line-height: 2;
	margin: 4em 0 0;
}

/* #entry_flow
---------------------------------------------------- */
#COA_App .grad_title {
	margin: 2em auto 0.5em;
}

#entry_flow {
	padding: 5% 0 0;
	width: min(90%, 1200px);
	margin: 0 auto;
}

#entry_flow .entry_flow {
	width: min(90vw, 840px);
	height: min(90vw, 840px);
	position: relative;
	justify-content: center;
	align-items: center;
	margin: 0 auto 5%;
	border-radius: 2em;
	color: #fff;
}

#entry_flow .step {
	width: min(25%, 180px);
}

#entry_flow .step01 {
	background: var(--gradation-color2);
	background: url(../img/ph01.webp)no-repeat, var(--gradation-color2);
	background-size: cover;
	background-blend-mode: multiply;
	margin: 0 0 5% auto;
	position: relative;
}

#entry_flow .step01::before {
	content: "";
	width: 200px;
	height: 200px;
	background: url(../img/ornament01.webp) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top:5%;
	left: -15%;
	rotate: 20deg;
}

#entry_flow .step02 {
	flex-direction: row-reverse;
	background: var(--gradation-color2);
	background: url(../img/ph02.webp)no-repeat, var(--gradation-color2);
	background-size: cover;
	background-blend-mode: multiply;
	margin: 0 auto 0 0;
}

#entry_flow .step02::before {
	content: "";
	width: 200px;
	height: 200px;
	background: url(../img/ornament02.webp) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top:1%;
	right: -9%;
	rotate: -25deg;
}

#entry_flow .step01 .flex {
	align-items: center;
}

#entry_flow .app_img {
	width: 30%;
	position: relative;
}

#entry_flow .step01 .app_img {
	padding-right: 5%;
}

#entry_flow .step01 .app_icn {
	position: relative;
	margin: 0 5% 0 0;
}

#entry_flow .step02 .app_img {
	padding-left: 5%;
}

#entry_flow .step02 .app_img #app_popup {
	clip-path: inset(0 round 33px);
	overflow: hidden;
}

#entry_flow .step02 .app_img #app_popup iframe {
	z-index: 1;
}

#entry_flow .step01 .step {
	margin: 0 0 0 auto;
}

#entry_flow .box {
	position: relative;
	width: 50%;
}

#entry_flow .box .subtitle {
	margin: 2em 0 0.5em;
}

#entry_flow .step01 .box .text {
	margin-bottom: 2em;
}

#entry_flow .box .flex {
	justify-content: space-between;
}

#entry_flow .store_icn {
	width: 47%;
}

#howto_movie {
	width: min(90vw, 740px);
	padding: 5%;
	position: relative;
	margin: 5% 0 5% auto;
	border-radius: 2em;
	background: rgba(48, 161, 170, .1);
}

#howto_movie::before {
	content: "";
	width: 200px;
	height: 200px;
	background: url(../img/ornament03.webp) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top:30%;
	left: -20%;
	rotate: 20deg;
}

#howto_movie .subtitle {
	margin: 1em auto;
}

#howto_movie .howto_movie {
	border-radius: 1em;
	overflow: hidden;
}

#howto_movie .remark {
	margin: 1em 0 0;
}

#howto_movie a {
	transition: all ease .3s;
}

#entry_flow .coupon {
	display: flex;
	width: min(90vw, 640px);
	height: min(90vw, 540px);
	position: relative;
	justify-content: center;
	align-items: center;
	margin: 0 auto 0 0;
	border-radius: 2em;
	background: rgba(200, 200, 200, .5);
}

#entry_flow .coupon::before {
	content: "";
	width: 200px;
	height: 200px;
	background: url(../img/ornament04.webp) no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top:50%;
	right: -20%;
	rotate: -35deg;
}

#entry_flow .coupon a {
	width: 65%;
	display: block;
	text-decoration: none;
	margin: 0 auto;
	transition: all ease .3s;
}


#entry_flow .coupon a:hover .arrow p,
#entry_flow .arrow a:hover {
	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.35em;
	right: -0.1em;
	width: 1.2em;
	border-top: solid 2px;
	transform: rotate(45deg);
}

#entry_flow .video_remark {
	width: min(90%, 840px);
	margin: 1.5em 0 0;
}



/* #cpn_overview
---------------------------------------------------- */


#cpn_overview {
	padding: 5% 0;
}

#cpn_overview .cpn_table {
	width: min(90%, 1200px);
	overflow-x: hidden;
	overflow-y: auto;
	max-height: 65vh;
	margin: 0 auto;
}

#cpn_overview .cpn_table::-webkit-scrollbar {
	width: 0.5em;
}

#cpn_overview .cpn_table::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 1.5em;
}

#cpn_overview .cpn_table table {
	width: 99%;
	border-radius: 1.5em;
	margin: 0 auto;
	overflow: hidden;
}

#cpn_overview .cpn_table tr {
	width: 100%;
}

#cpn_overview .cpn_table th {
	width: 20%;
	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: 80%;
	padding: 1em;
	text-align: left;
	background:#fff;
	border-bottom: 3px solid var(--main-color);
}





/* #download
---------------------------------------------------- */

#COA_App #download {
	padding: 5% 0 10%;
	position: relative;
	background-color: var(--main-color);
	background: url(../img/foot_back_pc.webp) no-repeat, var(--gradation-color1), url(../img/back.svg) repeat;
	background-blend-mode: normal, multiply;
	background-size: contain, 100%, 100px;
	background-position: bottom center, top, top;
	margin: 3% auto;
	width: 94%;
	border-radius: 2em;
	color: #fff;
}

#download .download_all {
	text-align: center;
	margin: auto;
	width: min(90%, 740px);
}

#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 .remark {
	width: min(100%, 740px);
	text-align: left;
	margin: 0 auto;
	position: relative;
}


/* .Android
---------------------------------------------------- */

.Android #COA_App {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.Android #COA_App .title,
.Android #COA_App .subtitle {
	font-weight: 700;
}


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

	#COA_App #head .flex {
		width: 85%;
		display: block;
	}

	#COA_App .title_svg {
		width: 85%;
		margin: 0 auto;
	}

	#COA_App #head {
		width: 90%;
		margin: 5% auto;
		background: url(../img/back_sp.webp) no-repeat, var(--gradation-color1), url(../img/back.svg) repeat;
		background-size: contain, 100%, 100px;
	}

	#COA_App #head .subtitle {
		margin: 2em 0 0;
	}

	#entry_flow {
		width: 100%;
	}

	#entry_flow .entry_flow {
		width: min(90%, 640px);
		height: auto;
		padding: 1.5em;
		display: block;
		border-radius: 1em;
		margin: 0 auto 10%;
	}

	#entry_flow .box {
		position: relative;
		width: 100%;
	}

	#entry_flow .box p {
		position: relative;
		text-align: left !important;
	}

	#entry_flow .step01 {
		background: var(--gradation-color2);
		background: url(../img/ph01_sp.webp)no-repeat, var(--gradation-color2);
		background-size: cover;
		background-blend-mode: multiply;
	}

	#entry_flow .step01 .flex {
		flex-direction: column;
	}

	#entry_flow .step01 .flex .flex {
		flex-direction: row;
	}

	#entry_flow .step01 .app_icn {
		margin: 0 auto 5%;
	}

	#entry_flow .step02 {
		background: var(--gradation-color2);
		background: url(../img/ph02_sp.webp)no-repeat, var(--gradation-color2);
		background-size: cover;
		background-blend-mode: multiply;
		margin: 0 auto 0;
	}

	#entry_flow .step01 .step {
		margin: 0;
	}

	#entry_flow .app_img {
		width: 70%;
		margin: 0 auto 5%;
		padding: 0 !important;
	}


	#entry_flow .step01 .box .text {
		margin: 0 0 2em;
	}

	#entry_flow .step02 .app_img #app_popup {
		clip-path: inset(0 round 9vw);
	}


	#entry_flow .app_img img,
	#entry_flow .app_img #app_popup {
		position: relative;
	}


	#entry_flow .coupon {
		display: block;
		width: min(90%, 640px);
		height: auto;
		position: relative;
		margin: 0 auto;
		padding: 2em 1.5em;
		border-radius: 1em;
	}

	#entry_flow .coupon a {
		width: 100%;
	}

	#howto_movie {
		width: min(90%, 640px);
		height: auto;
		position: relative;
		margin: 10% auto;
		padding: 2em 1.5em;
		border-radius: 1em;
	}

	#entry_flow .video_remark {
		width: min(90%, 640px);
		margin: 1.5em auto 0;
	}

}


/* 640px ～ 767px SP
---------------------------------------------------- */

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

	:root {
		--title-f-size: 25px;
		--txt-f-size: 16px;
		--btn-f-size: 17px;
	}

	#COA_App p,
	#COA_App span,
	#COA_App table {
		font-size: inherit;
		line-height: inherit;
	}

	#COA_App p {
		color: inherit;
	}

	#COA_App table {
		font-family: inherit;
	}

	/*　左右余白削除　*/
	#fftop_recomDetail section {
		padding: 0;
	}

	#COA_App .sp {
		display: block !important;
	}

	#COA_App .pc {
		display: none !important;
	}


	.delay-time1 {
		animation-delay: inherit;
	}

	#COA_App #head {
		border-radius: 1em;
		padding: 0 0 1.5em;
	}

	#COA_App #head .subtitle {
		font-size: var(--txt-f-size);
		text-align: left;
	}

	#COA_App .title_svg {
		width: 100%;
	}

	#COA_App .btn a {
		padding: 0.5em 0;
	}


	/* #entry_flow
---------------------------------------------------- */


#COA_App .dot::before {
	background-color:var(--black-color);
}

#entry_flow .step01::before {
	width: 100px;
	height: 100px;
	left: -10%;
}

#entry_flow .step02::before {
	width: 100px;
	height: 100px;
}

#howto_movie::before {
	width: 100px;
	height: 100px;
	top:3%;
	left: -12%;
}

#entry_flow .coupon::before {
	width: 100px;
	height: 100px;
	right: -12%;
	top: 60%;
}

	/* #cpn_overview
---------------------------------------------------- */

	#cpn_overview .cpn_table {
		border-radius: 1em;
		background: #fff;
		padding: 1em;
	}

	#cpn_overview .cpn_table table {
		width: 100%;
		border-radius: 0;
	}

	#cpn_overview .cpn_table th {
		width: 100%;
		display: block;
		padding: 0.75em 0;
		border: none;
		line-height: 1.2;
		border-radius: 0.5em;
	}

	#cpn_overview .cpn_table td {
		width: 100%;
		display: block;
		padding: 1em 0;
		border: none;
		line-height: 1.5;
	}

	#COA_App #download {
		width: 90%;
		left: inherit;
		transform: inherit;
		margin: 10% auto 5%;
		border-radius: 1em;
		padding: 1.5em 1.5em 20%;
		background: url(../img/foot_back_sp.webp) no-repeat, var(--gradation-color1), url(../img/back.svg) repeat;
		background-size: contain, 100%, 100px;
		background-position: bottom center, top, top;
	}

	#download .download_all {
		width: 100%;
	}

	#download .download_all .flex {
		margin: 5% auto;
	}

	#download .download_all .store_icn {
		width: 100%;
	}

	#download .download_all .store_all:nth-child(1) {
		padding-right: 5%;
	}

	#download .download_all .store_all:nth-child(2) {
		padding-left: calc(5% + 2px);
	}

}
