@charset "utf-8";

/*-------------------------
import_css
---------------------------*/
@import url("./contents1280.css") screen and (min-width:751px);
@import url("./contents640.css") screen and (max-width:750px);

/*-------------------------
CSS変数
---------------------------*/
:root {
	--color-01: #46a670;
	--color-02: #0089b1;
	--color-03: #ffe300;
	--font-num: 'Bebas Neue', cursive;
}

/*-------------------------
共通CSS
---------------------------*/
/* color */
.font-color-01 {
	color: var(--color-01);
}
.font-color-02 {
	color: var(--color-02);
}

/* タイトル */
.title-03 {
	width: -moz-fit-content;
	width: fit-content;
	background-color: var(--color-01);
	color: var(--color-03);
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	padding: 10px 40px;
	margin: 0 auto;
	border-radius: 30px;
	position: relative;
}
.title-03::after {
	display: block;
	content: "";
	background-color: inherit;
	width: 12px;
	height: 12px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 50%) rotate(45deg);
}
@media screen and (max-width: 750px) {
	.title-03 {
		width: auto;
	}
}

/* テキスト見出し */
.text-hedding {
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	padding: 0;
	margin: 0;
}
.text-hedding > span {
	background: linear-gradient(transparent 70%, var(--color-03) 0%);
}
.text-hedding > span > span {
	font-size: .7em;
}
@media screen and (max-width: 750px) {
	.text-hedding {
		font-size: 24px;
		text-align: center;
	}
}

/* テキスト */
.text-st {
	display: inline-block;
	color: #e3467e;
	font-size: 1.125em;
	font-weight: 700;
}
.text-em {
	display: inline-block;
	color: #e3467e;
	font-weight: 700;
}
.text-nowrap {
	display: inline-block;
}

/* フォントサイズ */
.font-s {
	font-size: .88em;
}
.font-m {
	font-size: 1.375em;
	font-weight: bold;
}

/* リストスタイル */
.ico-list > li {
	padding-left: 1.2em;
	position: relative;
}
.ico-list > li::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.ico-list > li + li {
	margin-top: 10px;
}
.list-disk > li::before {
	content: "";
	background-color: var(--color-01);
	width: 1em;
	height: 1em;
	top: .3em;
	border-radius: 50%;
}
.list-txt > li + li {
	margin-top: 0;
}
.list-txt > li > span {
	position: absolute;
	top: 0;
	left: 0;
}

.scroll-contents {
	background-color: #fff;
	padding: 20px 0 20px 20px;
	border: 1px solid #c5c5c5;
}
.scroll-contents > * {
	height: 300px;
	padding-right: 20px;
	overflow-x: hidden;
	overflow-y: auto;
}

/*-------------------------
contents
---------------------------*/
* {
	box-sizing: border-box;
}
body {
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
body::after {
	display: block;
	content: "";
	background: url("../img/bg_main01.jpg") center center / cover no-repeat;
	width: 100%;
	height: 815px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
article h2 {
	font-size: 70px;
	font-weight: 400;
}
figure {
	display: block;
	margin: 0;
}
@media screen and (max-width: 750px) {
	body > header {
		height: 330px;
	}
	body::after {
		height: 330px;
	}
	article h2 {
		font-size: 32px;
		text-align: center;
	}
}

/* cashback01 */
#cashback01 {
	padding-top: 50px;
}
#cashback01 h2 {
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	position: relative;
}
#cashback01 h2 img {
	display: block;
	width: 176px;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(100%, -50%);
	transform: translate(100%, -50%);
}
#And {
	margin: 30px 0;
}
#And img {
	display: block;
	margin: 0 auto;
}
#photoCon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 596px;
	margin: 0 auto;
}
#photoCon > p {
	width: 70px;
}
#photoCon img {
	display: block;
	width: 100%;
}
#photoCon > div {
	width: calc(100% - 90px);
}
#cashback01-bottom {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 50px 0;
	margin-top: 50px;
	border-top: 1px solid var(--color-01);
}
#cashback01-bottom ul {
	width: 50%;
	padding: 0 20px;
}
#cashback01-bottom dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 16px;
}
#cashback01-bottom dt {
	background-color: var(--color-01);
	width: 6rem;
	height: 100%;
	color: #fff;
	font-size: .77em;
	font-weight: 700;
	text-align: center;
	margin-top: .3rem;
	border-radius: 30px;
}
#cashback01-bottom dd {
	width: calc(100% - 7rem);
}
#cashback01-bottom li:nth-child(n+2) {
	margin-top: 16px;
}
@media screen and (max-width: 750px) {
	#cashback01 h2 img {
		width: 100px;
		-webkit-transform: translate(70%, -100%);
		transform: translate(70%, -100%);
	}
	#photoCon > p {
		width: 50px;
	}
	#photoCon > div {
		width: calc(100% - 70px);
	}
	#photoCon > div p {
		text-align: left !important;
	}
	#cashback01-bottom {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#cashback01-bottom ul {
		width: 100%;
		max-width: 340px;
		padding: 0;
	}
	#cashback01-bottom ul+ul {
		margin-top: 16px;
	}
	#cashback01-bottom dl {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	#cashback01-bottom dd {
		width: 100%;
		margin-top: 10px;
	}
}

/* cashback02 */
#cashback02 {
	background-color: #fff7d9;
}
#cashback02 section {
	position: relative;
}
#cashback02 img {
	display: block;
	width: 100%;
}
#cashback02 h3 {
	width: 100%;
}
#cashback02 li+li {
	margin-top: 30px;
}
#cashback02 dl {
	font-weight: bold;
	font-size: 18px;
}
#cashback02 li:first-child dl {
	font-size: 22px;
}
#cashback02 dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
#cashback02 dt {
	color: var(--color-01);
}
#cashback02 aside {
	font-size: .88em;
	text-align: justify;
	padding-left: 1em;
	margin-top: 10px;
	position: relative;
}
#cashback02 aside::before {
	display: block;
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}
#cashback02 figure {
	position: absolute;
}
#cashback02a dt {
	width: 3em;
}
#cashback02a dd {
	width: calc(100% - 3em);
}
#cashback02a figure {
	width: 200px;
	bottom: -30px;
	right: -60px;
}
#cashback02b .title-03 {
	background-color: var(--color-02);
}
#cashback02b p {
	font-size: 22px;
	font-weight: bold;
	padding-left: 1em;
	position: relative;
}
#cashback02b p::before {
	display: block;
	content: "";
	background-color: var(--color-02);
	width: 18px;
	height: 18px;
	position: absolute;
	top: .4em;
	left: 0;
	border-radius: 50%;
}
#cashback02b figure {
	width: 270px;
	bottom: -10px;
	right: -10px;	
}
@media screen and (max-width: 750px) {
	#cashback02a figure {
		width: 100%;
		max-width: 120px;
		position: absolute;
		bottom: -10px;
		right: -10px;
	}
	#cashback02b figure {
		width: 150px;
		bottom: -50px;	
	}
}

/* cashback03 */
#cashback03 a,
#cashback03 img {
	display: block;
	width: 100%;
}
#cashback03 ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 40px;
}
#cashback03 li {
	padding: 10px 20px;
}
#cashback03 dt {
	text-align: center;
}
#cashback03 dt span:first-child {
	display: block;
	font-family: var(--font-num);
	font-size: 40px;
}
#cashback03 dt span:last-child {
	background: linear-gradient(transparent 70%, var(--color-03) 0%);
	font-size: 20px;
	font-weight: bold;
}
#cashback03 dd {
	text-align: justify;
	margin-top: 20px;
}
#cashback03a li {
	width: 25%;
}
#cashback03a li+li {
	border-left: 1px dotted var(--color-01);
}
#cashback03a dt {
	color: var(--color-01);
}
#cashback03b li {
	width: 27%;
}
#cashback03b li:nth-child(2) {
	width: 46%;
}
#cashback03b li+li {
	border-left: 1px dotted var(--color-02);
}
#cashback03b dt {
	color: var(--color-02);
}
@media screen and (max-width: 750px) {
	#cashback03 dt span:last-child {
		font-size: 16px;
	}
	#cashback03a li {
		width: 50%;
	}
	#cashback03a li:nth-child(2n-1) {
		padding: 10px 20px 10px 0;
		border-width: 0;
	}
	#cashback03a li:nth-child(2n) {
		padding: 10px 0 10px 20px;
	}
	#cashback03a li:nth-child(n+3) {
		margin-top: 40px;
	}
	#cashback03b li {
		width: 100%;
		padding: 40px 0;
	}
	#cashback03b li:first-child {
		padding-top: 0;
	}
	#cashback03b li:last-child {
		padding-bottom: 0;
	}
	#cashback03b li:nth-child(2) {
		width: 100%;
	}
	#cashback03b li+li {
		border-left: none;
		border-top: 1px dotted var(--color-02);
	}
	#cashback03b dl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#cashback03b dt {
		width: 100%;
	}
	#cashback03b dd:nth-child(2) {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
		width: 55%;
	}
	#cashback03b dd:nth-child(3) {
		width: 45%;
	}
	#cashback03b li:nth-child(2) dd {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
		width: 100%;
	}
}

/* cashback04 */
#cashback04 {
	background-color: #f2f2f2;
}
#cashback04 ul {
	font-size: 14px;
}
#cashback04 li {
	text-align: justify;
}
#cashback04 dl.d-list {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}