@charset "UTF-8";



/* -------------------------------------------

header

------------------------------------------- */
/* ---- wrap ---- */
header .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.5rem 2rem 1.5rem 3rem;
}
header .wrap > div {
	display: flex;
	align-items: center;
}
header .wrap > div > div {
	display: flex;
	flex-direction: column;
}
@media screen and (max-width: 768px) {
	header {
		background-color: #fff;
		position: sticky;
		top: 0;
		z-index: 999;
	}
	header .wrap {
		padding: 0 1rem 0 1.2rem;
		height: 6rem;
	}
	.anchor {
		padding-top: 6rem;
		margin-top: -6rem;
		display: block;
	}
}

/* ---- h1 ---- */
h1 {
	width: 30rem;
}
@media screen and (max-width: 768px) {
	h1 {
		width: 22rem;
	}
}
/* ---- tel ---- */
.header-tel {
	display: flex;
	align-items: center;
	line-height: 1;
}
.header-tel span {
	background: var(--red);
	color: #fff;
	font-weight: 500;
	padding: 0.5rem 0.75rem 0.5rem 1rem;
}
.header-tel a {
	color: var(--red);
	display: flex;
	align-items: center;
	font-weight: 900;
	font-size: 4rem;
	letter-spacing: -0.03em;
}
.header-tel a img {
	width: 4rem;
	margin: 0 0.5rem;
}
.header-tel a i {
	margin-bottom: 0.5rem;
}
/* ---- feature ---- */
.header-feature {
	display: flex;
	color: #fff;
	margin-top: 0.3rem;
}
.header-feature li {
	background: var(--red);
	font-weight: 500;
	font-size: 1.2rem;
	padding: 0.3rem 0.3rem 0.45rem 0.5rem; 
	line-height: 1;
}
.header-feature li i {
	color: var(--yellow);
	font-size: 1.6rem;
	font-weight: bold;
	vertical-align: -0.1rem;
}
.header-feature li:not(:last-child) {
	margin-right: 0.8rem;
}
@media screen and (max-width: 768px) {
	.header-feature {
		margin-top: 0;
	}
	.header-feature li {
		font-size: 1rem;
		padding: 0.5rem 0.5rem 0.45rem 0.5rem; 
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 4.4rem;
	}
	.header-feature li i {
		font-size: 1.3rem;
	}
	.header-feature li:not(:last-child) {
		margin-right: 0.3rem;
	}
	.header-feature li:nth-child(1) {
		display: flex;
		align-items: center;
		text-align: left;
	}
	.header-feature li:nth-child(1) span:nth-child(1) {
		writing-mode: vertical-lr;
		font-size: 0.8rem;
		margin-right: 0.3rem;
		white-space: nowrap;
	}
}
/* ---- cv ---- */
.header-cv {
	margin-left: 1rem;
}
.header-cv li:nth-child(1) {
	margin-bottom: 0.5rem;
}
.header-cv a {
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
	border: solid 0.3rem #fff;
	box-shadow: 0 0 0.5rem rgba(0,0,0,0.1);
	padding: 0.5rem 2.5rem 0.5rem 1.5rem;
	font-weight: 500;
}
.header-cv a > i {
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translate(0,-50%);
	font-size: 1.2rem;
	margin-top: 0.1rem;
}
.header-cv a span i {
	color: var(--yellow);
}
.header-cv-form {
	display: flex;
	align-items: center;
	position: relative;
	background: linear-gradient(to top, #f6631a, #f89e04);
	line-height: 1.2;
}
.header-cv-form img {
	width: 3rem;
	margin-right: 1rem;
}
.header-cv-form > span {
	display: flex;
	flex-direction: column;
}
.header-cv-form > span > span:nth-child(1) {
	font-size: 2rem;
}
.header-cv-cp {
	background: #0071bc;
}



/* -------------------------------------------

gnav

------------------------------------------- */
.gnav-menu {
	display: flex;
	justify-content: center;
}
.gnav-menu li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 5rem 1rem 5rem;
	color: #343233;
	font-weight: 500;
}



/* -------------------------------------------

kv

------------------------------------------- */
.kv {
	position: relative;
}
/* ---- timer ---- */
#kv-timer {
	position: absolute;
	right: 29.5rem;
	top: 43rem;
	z-index: 10;
	font-weight: bold;
	font-size: 1rem;
}
@media screen and (max-width: 768px) {
	#kv-timer {
		right: 9%;
		top: 70.9%;
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 540px) {
	#kv-timer {
		top: 65.2%;
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 414px) {
	#kv-timer {
		top: 62.2%;
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 320px) {
	#kv-timer {
		top: 62.5%;
	}
}
.kv-img {
	position: relative;
}
.kv-txt {
	background: var(--blue-2);
	position: relative;
	color: #fff;
	padding: 1.2rem 0 1.4rem 0;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.4;
}
.kv-txt::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 5rem solid transparent;
	border-right: 5rem solid transparent;
	border-top: 2.6rem solid var(--blue-2);	
	position: absolute;
	left: calc(50% - 5rem);
	bottom: -2.5rem;
}
.kv-txt img {
	position: absolute;
	right: 6rem;
	top: -5rem;
	width: 22rem;
}
.kv-txt strong {
	color: var(--yellow);
	font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
	.kv-txt {
		padding: 1rem 0 1.2rem 35%;
		text-align: left;
		font-size: 1.4rem;
	}
	.kv-txt::before {
		border-left: 4rem solid transparent;
		border-right: 4rem solid transparent;
		left: calc(50% - 4rem);
		bottom: -1.7rem;
	}
	.kv-txt img {
		right: auto;
		left: 2%;
		top: 50%;
		transform: translate(0,-50%);
		width: 30%;
	}
	.kv-txt strong {
		font-size: 1.6rem;
	}
}



/* -------------------------------------------

contact

------------------------------------------- */
.contact {
	background: url(../img/stripe-yellow.webp);
	background-size: 6rem;
	padding: 3rem 0 9rem 0;
}
@media screen and (max-width: 768px) {
	.contact {
		padding: 3rem 3rem 7rem 3rem;
	}
}
.contact .cv-timer {
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.contact .cv-timer {
		margin-bottom: 1rem;
	}
}
/* ---- wrap ---- */
.contact .wrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.contact .wrap > div {
	width: 48rem;
}
@media screen and (max-width: 768px) {
	.contact .wrap {
		display: block;
	}
	.contact .wrap > div {
		width: 100%;
		margin-bottom: 1rem;
	}
}
.contact .wrap > div a {
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 20.5rem;
	background: #a90000;
	border: solid 0.5rem #333;
	border-radius: 2rem;
	padding: 0 2rem 1.5rem 2rem;
	position: relative;
}
.contact .wrap > div a::before {
	content: "";
	width: 100%;
	height: calc(100% - 1.2rem);
	background: linear-gradient(to bottom,#ed2e35,#d70000);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 1.5rem;
}
@media screen and (max-width: 768px) {
	.contact .wrap > div a::before {
		height: calc(100% - 0.7rem);
	}
}
.contact .wrap > div a > * {
	position: relative;
	z-index: 10;
}
.contact .wrap > div span:nth-child(1) {
	display: block;
	text-align: center;
	font-weight: bold;
	border-bottom: solid 0.15rem #fff;
	font-size: 2.9rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}
.contact .wrap > div span:nth-child(1) strong {
	color: var(--yellow);
}
.contact .wrap > div span:nth-child(2) {
	display: flex;
	align-items: center;
	justify-self: center;
} 
.contact .wrap > div span:nth-child(2) {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	line-height: 1;
	font-size: 5.2rem;
}
.contact .wrap > div span:nth-child(2) img {
	width: 5.2rem;
	margin-top: 0.5rem;
	margin-right: 0.8rem;
}
@media screen and (max-width: 768px) {
	.contact .wrap > div a {
		height: 11rem;
		background: #a90000;
		border-radius: 2rem;
		padding: 0 2rem 1.2rem 2rem;
		text-decoration: none;
	}
	.contact .wrap > div a > * {
		position: relative;
		z-index: 10;
	}
	.contact .wrap > div span:nth-child(1) {
		font-size: 2rem;
		margin-bottom: 0.2rem;
		padding-bottom: 0.2rem;
	}
	.contact .wrap > div span:nth-child(2) {
		font-size: 3.6rem;
	}
	.contact .wrap > div span:nth-child(2) img {
		width: 4rem;
	}
}
/* ---- cv-btn ---- */
.contact .cv-btn li:not(:last-child) {
	margin-bottom: 1rem;
}
.cv-btn {
	width: 38rem;
}
@media screen and (max-width: 768px) {
	.cv-btn {
		width: 100%;
	}
}
.cv-btn a {
	display: flex;
	position: relative;
	align-items: center;
	border-radius: 1.5rem;
	border: solid 0.5rem var(--grey);
	color: #fff;
	height: 9.7rem;
	padding-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
	.cv-btn a {
		height: 7.7rem;
		line-height: 1.2;
		justify-content: center;
		padding-bottom: 0.5rem;
	}
}
.cv-btn a > * {
	position: relative;
	z-index: 10;
}
.cv-btn a > span {
	display: flex;
	flex-direction: column;
}
.cv-btn a > span > span:nth-child(1) {
	font-size: 2.4rem;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.cv-btn a > span > span:nth-child(1) {
		font-size: 2rem;
	}
}
.cv-btn a > span > span:nth-child(1) strong {
	color: var(--yellow);
}
.cv-btn a > i {
	position: absolute;
	right: 1.2rem;
	top: 50%;
	transform: translate(0,-50%);
	font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
	.cv-btn a > i {
		right: 1rem;
		font-size: 1.4rem;
	}
}
.cv-btn-form {
	background: #cb5215;
	padding-left: 2rem;
}
.cv-btn-form::before {
	content: "";
	width: 100%;
	height: calc(100% - 1rem);
	background: linear-gradient(to top, #f6631a, #f8a103);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 1rem 1rem 1.5rem 1.5rem;
}
@media screen and (max-width: 768px) {
	.cv-btn-form::before {
		height: calc(100% - 0.6rem);
	}
}
.cv-btn-form > span {
	margin-left: 1rem;
}
.cv-btn-form  img {
	width: 4.5rem;
}
@media screen and (max-width: 768px) {
	.cv-btn-form  img {
		width: 3rem;
	}
}
.cv-btn-line {
	background: #029b00;
	padding-left: 0.8rem;
}
.cv-btn-line::before {
	content: "";
	width: 100%;
	height: calc(100% - 1rem);
	background: linear-gradient(to top, #06c755, #06c755);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 1rem 1rem 1.5rem 1.5rem;
}
@media screen and (max-width: 768px) {
	.cv-btn-line::before {
		height: calc(100% - 0.6rem);
	}
}
.cv-btn-line img {
	width: 6.8rem;
}
@media screen and (max-width: 768px) {
	.cv-btn-line img {
		width: 4.4rem;
	}
}
.cv-btn-line > span {
	margin-left: 0;
}
/* ---- contact-caution ---- */
.contact-caution {
	display: flex;
	margin-top: 2.5rem;
	border: solid 0.4rem var(--red);
	border-radius: 1.5rem;
	background: #ffeaea;
	padding: 1.5rem 2rem;
}
.contact-caution > * {
	width: 50%;
}
.contact-caution dt {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2.4rem;
	border-right: solid 0.2rem var(--red);
}
.contact-caution dt img {
	width: 6rem;
}
.contact-caution dd {
	padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
	.contact-caution {
		display: block;
		margin-top: 2rem;
		padding: 1.5rem 2rem;
	}
	.contact-caution > * {
		width: 100%;
	}
	.contact-caution dt {
		justify-content: center;
		font-size: 1.7rem;
		border-right: none;
		border-bottom: solid 0.25rem var(--red);
		padding-bottom: 1rem;
		margin-bottom: 1rem;
	}
	.contact-caution dt img {
		width: 4rem;
		margin-right: 0.5rem;
	}
	.contact-caution dd {
		padding-left: 0;
	}
}



/* -------------------------------------------

cv

------------------------------------------- */
.cv {
	background: #fff8e8;
	padding: 3rem 0 6rem 0;
}
.cv.adjust {
	padding: 3rem 0 8rem 0;
}
@media screen and (max-width: 768px) {
	.cv {
		padding: 2rem 3rem 3rem 3rem;
	}
	.cv.adjust {
		padding: 2rem 3rem 8rem 3rem;
	}	
}
/* ---- cv-timer ---- */
.cv-timer {
	color: var(--red);
	font-weight: bold;
	text-align: center;
	margin-bottom: 1.5rem;
	font-size: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cv-timer::before,
.cv-timer::after {
	content: "";
	width: 0.3rem;
	height: 7rem;
	background: var(--red);
	margin-top: 2rem;
}
.cv-timer::before {
	transform: rotate(-20deg);
	margin-right: 2rem;
}
.cv-timer::after {
	transform: rotate(20deg);
	margin-left: 1rem;
}
.cv-timer > span > span {
	font-size: 4.8rem;
	vertical-align: -0.2rem;
}
.cv-timer > span > span i {
	font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
	.cv-timer {
		font-size: 2.4rem;
		line-height: 1.3
	}
	.cv-timer > span > span {
		font-size: 3.6rem;
	}	
	.cv-timer::after {
		margin-left: 1.4rem;
	}
}
/* ---- cv-tel ---- */
.cv-tel {
	width: 78rem;
	margin: 0 auto 2rem auto;
}
@media screen and (max-width: 768px) {
	.cv-tel {
		width: auto;
		margin: 0 auto 1rem auto;
	}
}
.cv-tel a > * {
	position: relative;
	z-index: 10;
}
.cv-tel a {
	background: #a90000;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	position: relative;
	border: solid 0.4rem var(--grey);
	border-radius: 1.5rem;
	padding: 2rem 0 2rem 0;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.cv-tel a {
		text-decoration: none;
		padding: 1.6rem 0 2.2rem 0;
	}
}
.cv-tel a::before {
	content: "";
	width: 100%;
	height: calc(100% - 1rem);
	background: linear-gradient(to top, #d70000, #ec2d34);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 1rem 1rem 1.5rem 1.5rem;
}
.cv-tel a > span:nth-child(1) {
	font-size: 2.8rem;
	font-weight: 900;
}
@media screen and (max-width: 768px) {
	.cv-tel a > span:nth-child(1) {
		font-size: 1.9rem;
		margin-bottom: 0.5rem;
	}
}
.cv-tel a > span:nth-child(1) strong {
	color: var(--yellow);
	margin-left: 1rem;
}
.cv-tel a > span:nth-child(2) {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.5rem;
}
.cv-tel a > span:nth-child(2) img {
	width: 7rem;
	margin: 0 0.8rem;
}
@media screen and (max-width: 768px) {
	.cv-tel a > span:nth-child(2) {
		border-top: solid 0.1rem #fff;
		padding-top: 0.6rem;
	}
	.cv-tel a > span:nth-child(2) img {
		width: 4.8rem;
		margin: 0 0.8rem 0 0;
		margin-top: 0.3rem;
	}
	.cv-tel a > span:nth-child(2) img + i {
		font-size: 3.6rem;
	}
}
.cv-tel a > span:nth-child(2) > span:nth-child(1) {
	background: #fff;
	color: var(--red);
	font-weight: bold;
	font-size: 2.4rem;
	padding: 0.6rem 1.2rem 0.8rem 1.5rem;
}
@media screen and (max-width: 768px) {
	.cv-tel a > span:nth-child(2) > span:nth-child(1) {
		font-size: 1.4rem;
		padding: 0.5rem 0.5rem 0.6rem 0.7rem;
		margin-right: 0.6rem;
	}
}
.cv-tel a > span:nth-child(2) > span:nth-child(2) {
	display: flex;
	align-items: center;
	font-weight: 900;
	font-size: 5.6rem;
}
@media screen and (max-width: 768px) {
	.cv-tel a > span:nth-child(2) > span:nth-child(2) {
		font-weight: bold;
		font-size: 2.2rem;
	}
}
.cv-tel a > span:nth-child(2) > span:nth-child(2) i {
	margin-bottom: 0.7rem;
}
@media screen and (max-width: 768px) {
	.cv-tel a > span:nth-child(2) > span:nth-child(2) i {
		margin-bottom: 0;
	}
}
.cv .cv-btn {
	width: 78rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.cv .cv-btn li {
	width: 38rem;
}
@media screen and (max-width: 768px) {
	.cv .cv-btn {
		width: auto;
		display: block;
	}
	.cv .cv-btn li {
		width: auto;
	}	
	.cv .cv-btn li:not(:last-child) {
		margin-bottom: 1rem;
	}
}



/* -------------------------------------------

purchase

------------------------------------------- */
.cp-up {
	position: relative;
	top: -4rem;
	margin-bottom: -4rem;
}
.purchase {
	padding-bottom: 10rem;
	padding-top: 4rem;
}
/* ---- h2 ---- */
.purchase h2 {
	margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
	.purchase h2 {
		margin-bottom: 2.5rem;
	}
}
/* ---- h3 ---- */
.purchase h3 span:last-child {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 3.2rem;
	font-weight: 900;
}
.purchase h3 span:last-child strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
}
.purchase h3 img {
	width: 13.5rem;
	position: absolute;
	left: -14.5rem;
	bottom: -3rem;
}
@media screen and (max-width: 768px) {
	.purchase .ttl-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 2rem;
	}
	.purchase .ttl-wrap img {
		width: 12rem;
	}
	.purchase h3 {
		line-height: 1.2;
		margin-bottom: 0;
	}
	.purchase h3 span:last-child {
		flex-direction: column;
		align-items: flex-start;
		font-size: 2.4rem;
	}
	.purchase h3 span:last-child strong {
		font-size: 4.4rem;
	}
}
/* ---- ul ---- */
.purchase ul {
	display: flex;
	flex-wrap: wrap;
}
.purchase ul li {
    width: calc((100% - 6rem) / 4);
    margin-right: 2rem;
}
.purchase ul li:nth-child(4n) {
    margin-right: 0;
}
.purchase ul li:nth-child(n + 5) {
    margin-top: 2rem;
}
@media screen and (max-width: 768px) {
	.purchase ul {
		padding: 0 3rem;
	}
	.purchase ul li {
		width: calc((100% - 4rem) / 3);
	}
	.purchase ul li:nth-child(3n) {
		margin-right: 0;
	}
	.purchase ul li:nth-child(4n) {
		margin-right: 2rem;
	}
	.purchase ul li:nth-child(n + 4) {
		margin-top: 2rem;
	}
}
.purchase ul img {
	border-radius: 1rem;
	border: solid 0.4rem var(--grey);
	margin-bottom: 0.5rem;
}
.purchase dl {
	text-align: center;
}
.purchase dd {
	font-weight: bold;
	font-size: 2.2rem;
	color: var(--red);
	line-height: 1.2;
}
.purchase dd i {
	font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
	.purchase dt {
		font-size: 1.2rem;
	}
	.purchase dd {
		font-size: 1.8rem;
	}
}



/* -------------------------------------------

prize

------------------------------------------- */
.prize {
	background: url(../img/prize-bg.webp) no-repeat center / cover;
}
/* ---- wrap ---- */
.prize .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	top: -4rem;
	margin-bottom: -3.5rem;
}
.prize .wrap h2 {
	width: 40rem;
}
.prize .wrap > div {
	width: 45rem;
	position: relative;
}
.prize .wrap > div img {
	position: absolute;
	width: 11rem;
	right: -3rem;
	top: 50%;
	transform: translate(0,-50%);
}
.prize .wrap > div > div {
	background: #fff;
	border-radius: 1.5rem;
	padding: 0.3rem;
}
.prize .wrap > div > div p {
	border-radius: 1.2rem;
	border: solid 0.4rem var(--grey);
	padding: 1.5rem 8rem 1.5rem 2rem;
}
@media screen and (max-width: 768px) {
	.prize .wrap {
		flex-direction: column;
		top: -4rem;
		margin-bottom: -3.5rem;
	}
	.prize .wrap h2 {
		width: 28rem;
		margin-bottom: 1rem;
	}
	.prize .wrap > div {
		width: 33rem;
		position: relative;
	}
	.prize .wrap > div img {
		width: 9rem;
		right: -1.5rem;
	}
}
/* ---- figure ---- */
.prize figure {
	width: 80rem;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.prize figure {
		width: auto;
		padding: 0 4rem;
		margin: 0 auto;
	}
}
/* ---- note ---- */
.prize .note {
	color: #fff;
	text-align: center;
	padding: 1rem;
}
@media screen and (max-width: 768px) {
	.prize .note {
		text-align: left;
		font-size: 1rem;
	}
}



/* -------------------------------------------

qual

------------------------------------------- */
.qual {
	padding: 2.5rem 0 6rem 0;
	width: 80rem;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.qual {
		padding: 2.5rem 2rem 6rem 2rem;
		width: auto;
	}
}



/* -------------------------------------------

cp-pack

------------------------------------------- */
.cp-pack {
	background: #fff8e8;
}
/* ---- timer ---- */
.cp-pack-timer-1 {
	background: var(--blue-2);
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	padding-bottom: 2rem;
}
.cp-pack-timer-1 strong {
	color: var(--yellow);
	font-size: 3.6rem;
}
#cp-pack-timer {
	color: var(--yellow);
	font-size: 3.6rem;
}
#cp-pack-timer i {
	color: #fff;
	font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-1 {
		align-items: flex-start;
	}
	.cp-pack-timer-1 > span {
		margin-top: -1.5rem;
	}
	.cp-pack-timer-1 strong {
		font-size: 4.8rem;
		line-height: 0.8;
	}
	#cp-pack-timer {
		font-size: 4.8rem;
	}
	#cp-pack-timer i {
		font-size: 2.8rem;
	}	
}
.cp-pack-timer-1::before {
	content: "";
	width: 0;
	height: 0;
	border-left: 3.5rem solid transparent;
	border-right: 3.5rem solid transparent;
	border-top: 2.4rem solid var(--blue-2);
	position: absolute;
	left: calc(50% - 3.5rem);
	bottom: -2rem;
}
.cp-pack-timer-1 > img:nth-of-type(1) {
	width: 24rem;
	position: relative;
	top: -2rem;
	margin-bottom: -0.5rem;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-1 > img:nth-of-type(1) {
		width: 20rem;
		margin-left: auto;
		margin-right: auto;
	}
}
.cp-pack-timer-1 > img:nth-of-type(2) {
	width: 18rem;
	position: absolute;
	right: 10rem;
	top: 50%;
	transform: translate(0,-50%);
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-1 > img:nth-of-type(2) {
		width: 14rem;
		right: 0;
	}
}
.cp-pack-timer-1 > span {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-1 > span {
		padding-left: 3rem;
		display: flex;
		flex-direction: column;
		line-height: 1.4;
	}
}
/* ---- wrap ---- */
.cp-pack > .wrap {
	padding: 3rem 0;
}
.cp-pack > .wrap p {
	text-align: center;
	font-weight: 500;
	font-size: 1.8rem;
	margin: 1rem 0;
}
.cp-pack > .wrap ul {
	display: flex;
	justify-content: space-between;
}
.cp-pack > .wrap ul li {
	width: 32%;
}
@media screen and (max-width: 768px) {
	.cp-pack > .wrap {
		padding: 3rem 2rem;
	}
	.cp-pack > .wrap p {
		font-size: 1.4rem;
	}
	.cp-pack > .wrap ul {
		display: block;
	}
	.cp-pack > .wrap ul li {
		width: 100%;
	}
	.cp-pack > .wrap ul li:not(:last-child) {
		margin-bottom: 1.5rem;
	}
}
/* ---- timer ---- */
.cp-pack-timer-2 {
	background: var(--blue-2);
	color: #fff;
	font-weight: 500;
	padding: 1.5rem 0 2rem 0;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-2 {
		padding: 2rem 3rem 2rem 3rem;
	}
}
.cp-pack-timer-2 .timer {
	white-space: nowrap;
}
/* ---- contdown ---- */
.timer,
.timer-done,
.timer-loop {
	color: var(--red);
}
.jst-hours,
.jst-minutes,
.jst-seconds {
	float: left;
	position: relative;
	background: url(../img/bg-timer.webp) no-repeat left top;
	background-size: 7rem;
	height: 7rem;
	font-size: 4.6rem;
	line-height: 1.42;
	letter-spacing: 0.2em;
	padding-left: 0.3rem;
}
.jst-hours {
	padding-right: 5.4rem;
	margin-right: 1rem;
}
.jst-minutes {
	margin-right: 1rem;
}
.jst-minutes,
.jst-seconds {
	padding-right: 2.8rem;
}
@media screen and (max-width: 768px) {
	.jst-hours {
		padding-right: 4rem;
		margin-right: 1rem;
	}
	.jst-minutes {
		margin-right: 0.5rem;
	}
	.jst-minutes,
	.jst-seconds {
		padding-right: 2.0rem;
	}
}
.jst-hours::after,
.jst-minutes::after,
.jst-seconds::after {
	position: absolute;
	font-size: 2.6rem;
	letter-spacing: 0;
	color: #fff;
	right: 0;
	bottom: 0.7rem;
}
@media screen and (max-width: 768px) {
	.jst-hours::after,
	.jst-minutes::after,
	.jst-seconds::after {
		font-size: 2rem;
	}
}
.jst-hours::after {
	content: "時間";
}
.jst-minutes::after {
	content: "分";
}
.jst-seconds::after {
	content: "秒";
}
.jst-clearDiv {
	clear: both;
}
.jst-timeout {
	color: var(--red);
}


.cp-pack-timer-2 .wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-2 .wrap {
		display: block;
		margin-bottom: 2rem;
	}
}
.cp-pack-timer-2 .note {
	text-align: center;
	font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-2 .note {
		text-align: left;
		font-size: 1.1rem;
	}	
}
.cp-pack-timer-2 dl {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.cp-pack-timer-2 dl dt {
	font-size: 2.4rem;
}
.cp-pack-timer-2 dl dt strong {
	color: var(--yellow);
}
.cp-pack-timer-2 dl:nth-of-type(1) {
	margin-right: 2rem;
	padding-right: 2rem;
	border-right: solid 0.2rem #fff;
}
@media screen and (max-width: 768px) {
	.cp-pack-timer-2 dl:nth-of-type(1) {
		margin-right: 0;
		padding-right: 0;
		margin-bottom: 1.5rem;
		padding-bottom: 1.5rem;
		border-right: none;
		border-bottom: solid 0.2rem #fff;
	}
}
.cp-pack-timer-2 dl:nth-of-type(1) dd {
	font-size: 2.4rem;
	font-weight: bold;
}
.cp-pack-timer-2 dl:nth-of-type(2) dd {
	font-size: 2.4rem;
	line-height: 1;
} 
.cp-pack-timer-2 dl:nth-of-type(2) dd  strong {
	color: var(--yellow);
	font-size: 3.6rem;
}



/* -------------------------------------------

cp-gift

------------------------------------------- */
.cp-gift {
	background: url(../img/stripe-yellow.webp);
	background-size: 6rem;
	padding: 12rem 0 7rem 0;
}
@media screen and (max-width: 768px) {
	.cp-gift {
		background: url(../img/stripe-yellow.webp);
		background-size: 6rem;
		padding: 10rem 2rem 7rem 2rem;
	}
}
/* ---- h2 ---- */
.cp-gift h2 {
	position: relative;
	top: -11rem;
	left: -4rem;
	margin-bottom: -13.5rem;
}
.cp-gift h2 + div {
	width: 70%;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.cp-gift h2 {
		position: relative;
		top: -7rem;
		left: 0;
		margin-bottom: -6rem;
	}
	.cp-gift h2 + div {
		width: 100%;
		position: relative;
		left: -1rem;
	}
}
/* ---- div ---- */
.cp-gift > div {
	background: #fff;
	border: solid 0.6rem var(--grey);
	border-radius: 3rem;
	position: relative;
	padding-bottom: 0.5rem;
}
/* ---- wrap ---- */
.cp-gift .wrap {
	padding-left: 25rem;
	padding-right: 2rem;
	margin-top: 1rem;
}
@media screen and (max-width: 768px) {
	.cp-gift .wrap {
		padding: 0 3rem;
		margin: -2rem 0 1rem 0;
	}
}
.cp-gift .wrap > img {
	position: absolute;
	left: -1.5rem;
	bottom: -0.8rem;
	width: 26rem;
}
/* ---- p ---- */
.cp-gift > p {
	text-align: center;
	font-weight: 500;
	font-size: 2.8rem;
	margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
	.cp-gift > p {
		font-size: 2rem;
		margin-top: 1.5rem;
	}
}
/* ---- timer ---- */
.cp-gift-timer {
	font-weight: 500;
	border-bottom: solid 0.2rem var(--grey);
}
.cp-gift-timer dt {
	font-size: 2rem;
	text-align: center;
	position: relative;
}
.cp-gift-timer dt span {
	position: relative;
	z-index: 10;
}
.cp-gift-timer dt::before {
	content: "";
	width: 100%;
	height: 0.2rem;
	background-color: var(--grey);
	position: absolute;
	left: 0;
	top: calc(50% - 0.1rem)
}
.cp-gift-timer dt span {
	background: #fff;
	padding: 0 1rem;
}
.cp-gift-timer dd {
	display: flex;
	justify-content: center;
	font-size: 2.4rem;
	padding-bottom: 0.6rem;
	text-align: center;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.cp-gift-timer dd {
		font-size: 2.2rem;
		line-height: 1.3;
	}
}
#cp-gift-timer-1 span:nth-child(2),
#cp-gift-timer-1 span:nth-child(3),
#cp-gift-timer-2 span:nth-child(2),
#cp-gift-timer-2 span:nth-child(3) {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 0.8;
}

@media screen and (max-width: 768px) {
	.cp-gift-timer dd > span {
		display: flex;
		flex-direction: column;
	}
}
.cp-gift-timer + img {
	padding: 0 2rem;
	margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
	.cp-gift-timer + img {
		padding: 0;
		margin-top: 1rem;
	}	
}



/* -------------------------------------------

reason

------------------------------------------- */
.reason {
	background: url(../img/stripe-blue.webp);
	background-size: 6rem;
	padding: 6rem 0;
}
@media screen and (max-width: 768px) {
	.reason {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.reason h2 {
	margin-bottom: 2rem;
}
.reason h2 img {
	width: 48rem;
}
@media screen and (max-width: 768px) {
	.reason h2 {
		margin-bottom: 1rem;
	}
	.reason h2 img {
		width: 100%;
	}
}
.reason h2 + p {
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.reason h2 + p {
		margin-bottom: 2.5rem;
	}
}
/* ---- ul ---- */
.reason ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.reason ul li {
	width: 32%;
	background: #fff;
	border: solid 0.4rem var(--grey);
	border-radius: 2rem;
	position: relative;
	padding-top: 3rem;
	padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
	.reason ul li {
		width: 49%;
	}
}
.reason ul li::before {
	content: "1";
	width: 6rem;
	height: 6rem;
	background: var(--yellow);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 1.6rem 0 1.6rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	font-size: 3.2rem;
	padding-bottom: 0.2rem;
}
.reason ul li:nth-child(2)::before {
	content: "2";
}
.reason ul li:nth-child(3)::before {
	content: "3";
}
.reason ul li:nth-child(4)::before {
	content: "4";
}
.reason ul li:nth-child(5)::before {
	content: "5";
}
.reason ul li:nth-child(6)::before {
	content: "6";
}
.reason ul li:nth-child(n + 4) {
	margin-top: 2%;
}
@media screen and (max-width: 768px) {
	.reason ul li:nth-child(n + 3) {
		margin-top: 2%;
	}
}
.reason ul li > * {
	position: relative;
	z-index: 10;
}
.reason ul img {
	width: 65%;
	display: block;
	margin: 0 auto;
}
.reason ul dl {
	padding: 0 1.5rem;
	margin-top: 0.5rem;
}
.reason dt {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
}
.reason dt strong {
	color: var(--red);
}
@media screen and (max-width: 768px) {
	.reason dt {
		font-size: 1.5rem;
		margin-bottom: 0.4rem;
	}
}



/* -------------------------------------------

comparison

------------------------------------------- */
.comparison {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.comparison {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.comparison h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.comparison h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
.comparison h2 img {
	width: 12.5rem;
	position: absolute;
	right: -18.5rem;
	bottom: -6.5rem;
}
.comparison .ttl-wrap + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
	.comparison h2 {
		margin-bottom: 0.5rem;
	}
	.comparison h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.comparison h2 span:nth-child(2) strong {
		font-size: 4.4rem;
	}
	.comparison .ttl-wrap + p {
		display: flex;
		align-items: center;
		text-align: left;
		font-size: 1.4rem;
		margin-bottom: 4rem;
	}
	.comparison .ttl-wrap + p img {
		width: 9rem;
	}
}
/* ---- ul ---- */
.comparison ul li {
	border-radius: 2rem;
	border: solid 0.4rem var(--grey);
	background: var(--blue-1);
}
.comparison ul li:not(:last-child) {
	margin-bottom: 6rem;
}
.comparison ul li > div {
	padding: 2rem;
}
.comparison .note {
	text-align: center;
	margin-top: 1rem;
}
/* ---- h3 ---- */
.comparison h3 {
	background: var(--yellow);
	border-radius: 1.6rem 1.6rem 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 2.6rem;
	text-align: center;
	padding-bottom: 1.5rem;
}
.comparison h3 > span:nth-child(1) {
	background: var(--red);
	color: #fff;
	border-radius: 0.5rem;
	border: solid 0.4rem var(--grey);
	padding: 1.2rem 1rem;
	line-height: 1.2;
	position: relative;
	top: -2.5rem;
	margin-bottom: -2rem;
}
.comparison h3 > span:nth-child(2) {
	font-size: 3.2rem;
	font-weight: 900;
	line-height: 1.3;
}
@media screen and (max-width: 768px) {
	.comparison h3 {
		font-size: 2.4rem;
	}
	.comparison h3 > span:nth-child(2) {
		font-size: 2.4rem;
	}	
}



/* -------------------------------------------

plan

------------------------------------------- */
.plan {
	background: url(../img/stripe-blue.webp);
	background-size: 6rem;
	padding: 6rem 0;
}
@media screen and (max-width: 768px) {
	.plan {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.plan h2 span img {
	width: 64rem;
}
@media screen and (max-width: 768px) {
	.plan h2 {
		margin-bottom: 1rem;
	}
	.plan h2 span img {
		width: 100%;
	}
}
.plan h2 > img {
	position: absolute;
	width: 15rem;
	left: -11rem;
	bottom: -8rem;
}
.plan .ttl-wrap + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
	.plan .ttl-wrap + p {
		text-align: left;
		display: flex;
		align-items: flex-start;
	}
	.plan .ttl-wrap + p img {
		width: 12rem;
	}
}
/* ---- ul ---- */
.plan > ul > li:not(:last-child) {
	margin-bottom: 4rem;
}
.plan > ul p {
	text-align: center;
	margin-top: 1rem;
}
@media screen and (max-width: 768px) {
	.plan > ul p {
		text-align: left;
	}
}
.plan > ul ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.plan > ul ul li {
	width: 32.5%;
}
.plan > ul ul li:nth-child(n + 4) {
	margin-top: 2%;
}
@media screen and (max-width: 768px) {
	.plan > ul ul li {
		width: 49%;
	}
	.plan > ul ul li:nth-child(n + 3) {
		margin-top: 2%;
	}	
}




/* -------------------------------------------

discount

------------------------------------------- */
.discount {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.discount {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.discount h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.discount h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
.discount h2 + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.discount h2 {
		margin-bottom: 1rem;
	}
	.discount h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.discount h2 span:nth-child(2) strong {
		font-size: 4.4rem;
	}
	.discount h2 + p {
		font-size: 1.6rem;
		margin-bottom: 4rem;
	}
}
/* ---- wrap ---- */
.discount .wrap {
	background: #fff8e8;
	border-radius: 2rem;
	border: solid 0.4rem var(--grey);
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.discount .wrap > * {
	width: 48%;
}
.discount .wrap p {
	font-size: 1.6rem;
}
.discount .wrap p span {
	color: var(--red);
}
.discount .wrap + p {
	text-align: center;
	font-size: 1.6rem;
	margin-top: 1.5rem;
}
.discount .wrap + p strong {
	color: var(--red);
	font-weight: normal;
}
@media screen and (max-width: 768px) {
	.discount .wrap {
		display: block;
	}
	.discount .wrap > * {
		width: 100%;
	}
	.discount .wrap > figure {
		width: 80%;
		margin: 2rem auto 0 auto;
	}
}



/* -------------------------------------------

item-purchase

------------------------------------------- */
.item-purchase {
	background: url(../img/stripe-blue.webp);
	background-size: 6rem;
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.item-purchase {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.item-purchase h2 {
	width: 36rem;
	margin: 0 auto 4rem auto;
}
@media screen and (max-width: 768px) {
	.item-purchase h2 {
		width: 80%;
		margin: 0 auto 3rem auto;
	}
}
/* ---- ul ---- */
.item-purchase ul {
	display: flex;
	flex-wrap: wrap;
}
.item-purchase ul li {
    width: calc((100% - 6rem) / 4);
    margin-right: 2rem;
	border-radius: 1rem;
	background: #fff;
	border: solid 0.4rem var(--grey);
	outline: #fff 0.4rem solid;
}
.item-purchase ul li:nth-child(4n) {
    margin-right: 0;
}
.item-purchase ul li:nth-child(n + 5) {
    margin-top: 2rem;
}
@media screen and (max-width: 768px) {
	.item-purchase ul {
		justify-content: space-between;
	}
	.item-purchase ul li {
		width: 48%;
		margin-right: 0;
	}
	.item-purchase ul li:nth-child(4n) {
		margin-right: 0;
	}
	.item-purchase ul li:nth-child(n + 3) {
		margin-top: 2rem;
	}
}
/* ---- dl ---- */
.item-purchase dt {
	background-color: var(--yellow);
	border-radius: 0.5rem 0.5rem 0 0;
	text-align: center;
	line-height: 1;
	font-size: 2rem;
	font-weight: bold;
	padding: 1.2rem 0 1.3rem 0;
	border-bottom: solid 0.4rem var(--grey);
}
.item-purchase dd {
	padding: 1rem 1.5rem;
}
.item-purchase dd img {
	width: 80%;
	display: block;
	margin: 1rem auto;
}



/* -------------------------------------------

case

------------------------------------------- */
.case {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.case {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.case h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
	text-align: center;
}
.case h2 span:nth-child(2) {
	line-height: 1.2;
}
.case h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
}
.case h2 span:nth-child(2) strong i {
	font-size: 4rem;
}
.case h2 img {
	width: 15rem;
	position: absolute;
	left: -15rem;
	bottom: -3rem;
}
.case .ttl-wrap + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.case h2 {
		margin-bottom: 2rem;
	}
	.case h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.case h2 span:nth-child(2) strong {
		font-size: 3.6rem;
	}
	.case h2 span:nth-child(2) strong i {
		font-size: 2.4rem;
	}
	.case h2 img {
		width: 6rem;
		left: -3.8rem;
		bottom: 1rem;
	}
	.case .ttl-wrap + p {
		margin-bottom: 2rem;
	}
}
/* ---- ul ---- */
.case ul li {
	border: solid 0.4rem var(--grey);
	border-radius: 2rem;
	overflow: hidden;
}
.case ul li:not(:last-child) {
	margin-bottom: 4rem;
}
/* ---- dl ---- */
.case dt {
	display: flex;
	align-items: center;
	background: var(--yellow);
	padding: 2rem 2.5rem;
	font-weight: bold;
}
.case dt span:nth-child(1) {
	background: var(--grey);
	color: #fff;
	border-radius: 10rem;
	width: 12rem;
	text-align: center;
	padding: 0.8rem 0 1rem 0;  
	font-size: 1.8rem;
}
.case dt span:nth-child(2) {
	width: calc(100% - 12rem);
	padding-left: 2rem;
	font-size: 2.4rem;
	padding-bottom: 0.2rem;
}
@media screen and (max-width: 768px) {
	.case dt {
		flex-direction: column;
		padding: 1.5rem 0;
	}
	.case dt span:nth-child(1) {
		padding: 0.4rem 0 0.6rem 0;  
		margin-bottom: 0.5rem;
	}	
	.case dt span:nth-child(2) {
		width: 100%;
		padding-left: 0;
		font-size: 2rem;
		text-align: center;
		padding-bottom: 0;
	}
}
.case dd:last-of-type {
	position: relative;
	padding: 2rem 2rem 2rem 16rem;
	background: #d5effb;
}
.case dd:last-of-type img {
	width: 10rem;
	position: absolute;
	left: 3.5rem;
	bottom: -3rem;
}
@media screen and (max-width: 768px) {
	.case dd:last-of-type {
		display: flex;
		align-items: center;
		padding: 1.5rem 2rem;
	}
	.case dd:last-of-type img {
		width: 8rem;
		position: relative;
		left: auto;
		bottom: auto;
	}
	.case dd:last-of-type p {
		width: calc(100% - 8rem);
		padding-left: 1.5rem;
	}
}
/* ---- figure ---- */
.case figure {
	margin: 2.5rem 0;
	padding: 0 2.5rem;
}



/* -------------------------------------------

item-unwanted

------------------------------------------- */
.item-unwanted {
	background: url(../img/stripe-blue.webp);
	background-size: 6rem;
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.item-unwanted {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.item-unwanted h2 span img {
	width: 30rem;
}
@media screen and (max-width: 768px) {
	.item-unwanted h2 span img {
		width: 22rem;
	}
}
.item-unwanted h2 > img {
	width: 12.5rem;
	position: absolute;
	right: -17rem;
	bottom: -3.5rem;
}
@media screen and (max-width: 768px) {
	.item-unwanted h2 > img {
		width: 9rem;
		right: -7.5rem;
		bottom: auto;
		top: 0;
	}
}
.item-unwanted .ttl-wrap + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.item-unwanted .ttl-wrap + p {
		text-align: left;
		margin-bottom: 3rem;
	}
}
/* ---- ul ---- */
.item-unwanted > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (max-width: 768px) {
	.item-unwanted > ul {
		display: block;
	}
}
.item-unwanted > ul > li {
	width: 48%;
	border-radius: 1rem;
	background: #fff;
	border: solid 0.4rem var(--grey);
	outline: #fff 0.4rem solid;
}
.item-unwanted > ul > li:nth-child(n + 3) {
	margin-top: 4rem;
}
@media screen and (max-width: 768px) {
	.item-unwanted > ul > li {
		width: 100%;
	}
	.item-unwanted > ul > li:nth-child(n + 2) {
		margin-top: 3rem;
	}
}
/* ---- dl ---- */
.item-unwanted dt {
	background: var(--yellow);
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: solid 0.4rem var(--grey);
	padding: 0.5rem 0 0.6rem 0;
	border-radius: 0.5rem 0.5rem 0 0;
}
.item-unwanted dd {
	padding: 1.5rem;
	display: flex;
	justify-content: space-between
}
.item-unwanted dd > ul {
	width: 32%;
}
.item-unwanted dd > ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f0f0f0;
	border-radius: 0.5rem;
	color: var(--blue-2);
	padding: 0.5rem 0 0.6rem 0;
	font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
	.item-unwanted dd > ul li {
		font-size: 0.9rem;
	}
}
.item-unwanted dd > ul li:not(:last-child) {
	margin-bottom: 0.5rem;
}
/* ---- img ---- */
.item-unwanted dt img {
	position: absolute;
	left: 1.5rem;
	top: -1.8rem
}
.item-unwanted li:nth-child(1) dt img {
	width: 7.5rem;
}
.item-unwanted li:nth-child(2) dt img {
	width: 7.5rem;
}
.item-unwanted li:nth-child(3) dt img {
	width: 9rem;
}
.item-unwanted li:nth-child(4) dt img {
	width: 11rem;
}
.item-unwanted li:nth-child(5) dt img {
	width: 8rem;
}
.item-unwanted li:nth-child(6) dt img {
	width: 12rem;
}
.item-unwanted li:nth-child(7) dt img {
	width: 9.5rem;
}
.item-unwanted li:nth-child(8) dt img {
	width: 9rem;
}



/* -------------------------------------------

flow

------------------------------------------- */
.flow {
	background: url(../img/stripe-yellow.webp);
	background-size: 6rem;
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.flow {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.flow h2 {
	margin-bottom: 2rem;
}
.flow h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.flow h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
.flow h2 + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.flow h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.flow h2 span:nth-child(2) strong {
		font-size: 4.4rem;
		text-align: center;
	}
	.flow h2 + p {
		margin-bottom: 3rem;
	}
}
/* ---- ul ---- */
.flow ul li {
	background: #fff;
	border-radius: 3rem;
	border: solid 0.4rem var(--grey);
	position: relative;
	display: flex;
}
.flow ul li:not(:last-child) {
	margin-bottom: 5rem;
}
.flow ul li:not(:last-child)::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 2rem solid transparent;
	border-right: 2rem solid transparent;
	border-top: 2rem solid var(--grey);
	position: absolute;
	left: calc(50% - 2rem);
	bottom: -3.8rem;
}
/* ---- step ---- */
.step {
	background: var(--grey);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	line-height: 1;
	width: 7rem;
	height: 7rem;
	border-radius: 2.6rem 0 2.6rem 0;
}
.step i {
	font-size: 3.6rem;
}
/* ---- dl ---- */
.flow ul dl {
	width: calc(100% - 7rem);
	padding: 1.5rem 18rem 2rem 2rem;
}
@media screen and (max-width: 768px) {
	.flow ul dl {
		padding: 1.5rem 12rem 2rem 2rem;
	}
}
.flow ul dt {
	font-weight: bold;
	font-size: 2.4rem;
	margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
	.flow ul dt {
		white-space: nowrap;
		font-size: 2rem;
	}
	.flow ul dd {
		margin-top: 3.5rem;
		margin-left: -7rem;
	}
}
/* ---- img ---- */
.flow ul li img {
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translate(0,-50%);
	display: block;
	width: 16rem;
}
@media screen and (max-width: 768px) {
	.flow ul li img {
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translate(0,-50%);
		display: block;
		width: 10rem;
	}	
}



/* -------------------------------------------

trouble

------------------------------------------- */
.trouble {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.trouble {
		padding: 6rem 3rem;
	}
}
/* ---- h2 ---- */
.trouble h2 {
	margin-bottom: 2rem;
}
.trouble h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.trouble h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
.trouble h2 + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
	.trouble h2 {
		margin-bottom: 2rem;
	}
	.trouble h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.trouble h2 span:nth-child(2) strong {
		font-size: 4.4rem;
	}
	.trouble h2 + p {
		text-align: left;
	}
}
/* ---- ul ---- */
.trouble ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3rem;
}
.trouble ul li {
	width: 32%;
}
@media screen and (max-width: 768px) {
	.trouble ul {
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: 3rem;
	}
	.trouble ul li {
		width: 48%;
	}
	.trouble ul li:nth-child(1) {
		margin-right: 2%;
	}
	.trouble ul li:nth-child(3) {
		margin-top: 2%;
	}
}
/* ---- p ---- */
.trouble p {
	text-align: center;
	font-size: 1.6rem;
}
.trouble p:not(:last-of-type) {
	margin-bottom: 2rem;
}
.trouble p:nth-of-type(3) {
	font-weight: bold;
	font-size: 2.2rem;
	color: var(--red);
}



/* -------------------------------------------

faq

------------------------------------------- */
.faq {
	background: url(../img/stripe-blue.webp);
	background-size: 6rem;
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.faq {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.faq h2 {
	margin-bottom: 1.5rem;
}
.faq h2 img {
	width: 42rem;
}
.faq h2 + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
	.faq h2 {
		margin-bottom: 1.5rem;
	}
	.faq h2 img {
		width: 32rem;
	}
	.faq h2 + p {
		text-align: center;
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
}
/* ---- ul ---- */
.faq ul li {
	border-radius: 1rem;
	background: #fff;
	border: solid 0.4rem var(--grey);
	outline: #fff 0.4rem solid;
}
.faq ul li:not(:last-child) {
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.faq ul li:not(:last-child) {
		margin-bottom: 2rem;
	}
}
/* ---- dl ---- */
.faq dt {
	display: flex;
	align-items: center;
	background: var(--yellow);
	border-bottom: solid 0.4rem var(--grey);
	border-radius: 0.5rem 0.5rem 0 0;
	padding: 1rem 2rem;
	font-weight: 500;
	font-size: 1.6rem;
}
.faq dd {
	display: flex;
	align-items: flex-start;
	padding: 1rem 2rem;
	font-size: 1.6rem;
}
.faq dt img,
.faq dd img {
	width: 5rem;
}
.faq dt span,
.faq dd span {
	width: calc(100% - 5rem);
	padding-left: 1.5rem;
}
.faq dd span {
	padding-top: 0.7rem;
}



/* -------------------------------------------

area

------------------------------------------- */
.area {
	padding: 8rem 0;
	background: #fff8e8;
}
@media screen and (max-width: 768px) {
	.area {
		padding: 6rem 2rem;
	}	
}
/* ---- h2 ---- */
.area h2 {
	margin-bottom: 2rem;
}
.area h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.area h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
.area h2 + p {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.area h2 {
		margin-bottom: 1.5rem;
	}
	.area h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.area h2 span:nth-child(2) strong {
		font-size: 4.4rem;
	}
	.area h2 + p {
		margin-bottom: 2rem;
	}
}
/* ---- wrap ---- */
.area .wrap {
	background: #fff;
	border-radius: 2rem;
	padding: 3rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.area .wrap > * {
	width: 49%;
}
.area .wrap > div {
	display: flex;
	justify-content: space-between;
}
.area .wrap > div > * {
	width: 32%;
}
.area ul li:not(:last-child) {
	margin-bottom: 0.5rem;
}
.area ul li {
	background: #d5effb;
	color: var(--blue-2);
	border-radius: 0.5rem;
	text-align: center;
	font-weight: 500;
	padding: 0.3rem 0 0.45rem 0;
}
@media screen and (max-width: 768px) {
	.area .wrap {
		background: #fff;
		border-radius: 2rem;
		padding: 3rem;
		display: block;
	}
	.area .wrap > * {
		width: 100%;
	}
	.area .wrap > div {
		margin-top: 2rem;
	}
}



/* -------------------------------------------

form

------------------------------------------- */
.form {
	background: url(../img/stripe-yellow.webp);
	background-size: 6rem;
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.form {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.form h2 {
	margin-bottom: 2rem;
}
.form h2 span:nth-child(2) {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 900;
}
.form h2 span:nth-child(2) strong {
	color: var(--red);
	font-size: 6.4rem;
	font-weight: 900;
	margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
	.form h2 {
		text-align: center;
	}
	.form h2 span:nth-child(2) {
		font-size: 2.4rem;
	}
	.form h2 span:nth-child(2) strong {
		font-size: 4.4rem;
	}
}
/* ---- wrap ---- */
.form .wrap {
	background-color: #fff;
	border-radius: 2rem;
	border: solid 0.4rem var(--grey);
	padding: 3rem;
}
@media screen and (max-width: 768px) {
	.form .wrap {
		padding: 2.5rem;
	}
}
.form .wrap > div:not(:last-of-type) {
	border-bottom: dotted 2px #c4c4c4; 
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}
.form .wrap > div > label {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
	font-size: 1.8rem;
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.form .wrap > div > label {
		font-size: 1.5rem;
	}
}
input[type="text"],
input[type="email"],
textarea {
	width: 100%;
	border: none;
	background: #f9f9f9;
	box-shadow: inset 0 0 0.6rem rgba(0,0,0,0.2);
	border-radius: 0.5rem;
	padding: 1.5rem;
}
@media screen and (max-width: 768px) {
	input[type="text"],
	input[type="email"],
	textarea {
		padding: 1.2rem;
	}
}
textarea {
	height: 20rem;
}
.form .wrap > div > label span,
span.his {
	color: #fff;
	background: var(--blue-2);
	border-radius: 10rem;
	font-size: 1.2rem;
	margin-left: 1rem;
	padding: 0.3rem 1rem 0.4rem 1rem;
	margin-top: 0.15rem;
}
.form .wrap > div > label span.nini,
span.nini {
	background: #a0a0a0;
}
.form-tel {
	display: flex;
	align-items: center;
}
.form-tel input {
	width: 16rem;
}
@media screen and (max-width: 768px) {
	.form-tel {
		justify-content: space-between;
	}
	.form-tel input {
		width: 25%;
	}
}
select {
	background: #f9f9f9;
	box-shadow: inset 0 0 0.6rem rgba(0,0,0,0.2);
	border-radius: 0.5rem;
	border: none;
    appearance: none;
    border-radius: 0;
    padding: 1.5rem;
    font-size: 1.7rem;
    position: relative;
    background: #fff;
    color: #000;
	width: 100%;
	border-radius: 0.5rem;
}
.form-select {
    position: relative;
	width: 28rem;
}
@media screen and (max-width: 768px) {
	.form-select {
		width: 100%;
	}
}
.form-select::before {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border-right: solid 0.15rem #333;
    border-bottom: solid 0.15rem #333;
    transform: rotate(45deg);
    position: absolute;
    right: 1.2rem;
    top: calc(50% - 0.6rem);
    z-index: 10;
}
.form-check {
	display: flex;
}
@media screen and (max-width: 768px) {
	.form-check {
		display: block;
	}
}
.form-check > div {
	display: flex;
	font-size: 1.6rem;
	align-items: center;
}
.form-check > div:not(:last-of-type) {
	margin-right: 3rem;
}
.form-date > div {
	display: flex;
	align-items: center;
}
.form-date > div label {
	width: 15%;
	text-align: center;
	font-size: 1.6rem;
}
.form-date > div input {
	width: 60%;
}
@media screen and (max-width: 768px) {
	.form-date > div label {
		width: 7rem;
		text-align: left;
		font-size: 1.4rem;
	}
	.form-date > div input {
		width: calc(100% - 7rem);
	}
}
.form-date > div:not(:last-of-type) {
	margin-bottom: 1.5rem;
}
.form .wrap p {
	margin-bottom: 2rem;
}
input[type="submit"] {
    border-radius: 1rem;
    -webkit-appearance: button;
    appearance: button;
    border: solid 0.4rem var(--grey);
	background: url(../img/arrow.webp) no-repeat center right 2rem;
	background-size: 1.5rem;
	background-color: #004ea2;
	color: #fff;
	width: 36rem;
	padding: 2.5rem 0 2.65rem 0;
	font-weight: bold;
	font-size: 2rem;
	margin: 0 auto;
	display: block;
}
input[type="submit"]::-webkit-search-decoration {
    display: none;
}
@media screen and (max-width: 768px) {
	input[type="submit"] {
		width: 100%;
		padding: 2.5rem 0 2.65rem 0;
	}
}



/* -------------------------------------------

company

------------------------------------------- */
.company {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.company {
		padding: 6rem 2rem;
	}
}
/* ---- h2 ---- */
.company h2 {
	text-align: center;
	line-height: 1;
	font-size: 2.8rem;
	font-weight: 900;
	margin-bottom: 3rem;
}
/* ---- dl ---- */
.company > dl {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
	.company > dl {
		font-size: 1.2rem;
	}
}
.company > dl > dt {
	width: 20%;
	border-radius: 1rem 0 0 1rem;
	padding: 1.5rem 2rem;
}
@media screen and (max-width: 768px) {
	.company > dl > dt {
		width: 25%;
		padding: 1.5rem 0;
		text-align: center;
	}
}
.company > dl > dd {
	width: 80%;
	border-left: solid 0.5rem #fff;
	padding: 1.5rem 2rem;
	border-radius: 0 1rem 1rem 0;
}
@media screen and (max-width: 768px) {
	.company > dl > dd {
		width: 75%;
		padding: 1.5rem 1rem;
	}
}
.company > dl > dd.adjust {
	padding: 0;
}
.company > dl > dt:nth-of-type(odd),
.company > dl > dd:nth-of-type(odd) {
	background: #efefef;
}
.company > dl dl {
	display: flex;
	flex-wrap: wrap;
}
.company > dl dl dt {
	width: 15%;
	padding: 1rem 2rem;
}
@media screen and (max-width: 768px) {
	.company > dl dl dt {
		width: 25%;
		padding: 1rem 1rem;
	}
}
.company > dl dl dd {
	width: 85%;
	padding: 1rem 2rem;
}
@media screen and (max-width: 768px) {
	.company > dl dl dd {
		width: 75%;
		padding: 1rem 1rem;
	}
}
.company > dl dl dt:nth-of-type(even),
.company > dl dl dd:nth-of-type(even) {
	background: #fbfbfb;
}



/* -------------------------------------------

footer

------------------------------------------- */
footer {
	background: #004ea2;
}
footer .logo {
	padding: 2rem;
	width: 28rem;
	margin: 0 auto;
}
footer small {
	background: var(--grey);
	color: #fff;
	font-size: 1.2rem;
	padding: 1rem 0 1.1rem 0;
	display: block;
	text-align: center;
}
@media screen and (max-width: 768px) {
	footer {
		padding-bottom: 11rem;
	}
	footer small {
		font-size: 1rem;
		padding-bottom: 3rem;
	}
}



/* -------------------------------------------

fixed

------------------------------------------- */
.fixed {
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: 12rem;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 100;
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	width: 100%;
}	
.fixed ul {
	display: flex;
	justify-content: space-between;
	height: 12rem;
	width: 100%;
	position: relative;
	bottom: -4rem;
}
.fixed a {
	border: solid 0.4rem var(--grey);
	outline: #fff 0.3rem solid;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: 1rem;
	position: relative;
	color: #fff;
	height: 7rem;
}
.fixed a::before {
	content: "";
	width: 100%;
	height: calc(100% - 0.6rem);
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 0.6rem 0.6rem 0.7rem 0.7rem;
}
.fixed a > * {
	position: relative;
	z-index: 10;
}
.fixed-mail {
	width: 25%;
}
.fixed-tel {
	width: 73%;
}
/* ---- img ---- */
.fixed > img {
	position: absolute;
	width: 38rem;
	left: calc(50% - 19rem);
	top: -0.5rem
}
/* ---- mail ---- */
.fixed-mail > a {
	background: var(--yellow);
	font-size: 1rem;
	color: var(--red);
	font-weight: bold;
	line-height: 1;
	padding-top: 0.2rem;
	pointer-events: none;
}
.fixed-mail > a > span {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.fixed-mail > a > span > span:nth-child(1) i {
	font-size: 1.3rem;
	font-weight: 900;
}
.fixed-mail > a > span > span:nth-child(2) {
	font-size: 1.4rem;
	font-weight: 900;
	letter-spacing: -0.03em;
}
.fixed-mail > a > span > span:nth-child(2) i {
	font-size: 3.0rem;
	margin-right: 0.1rem;
	vertical-align: -0.1rem;
}


/* ---- line ---- */
.fixed-line a {
	background: #029b00;
}
.fixed-line a::before {
	background: linear-gradient(to top, #06c755, #06c755);
}
.fixed-line img {
	width: 3rem;
	padding-bottom: 0.4rem;
}
/* ---- tel ---- */
.fixed-tel a {
	background: #971212;
	padding-bottom: 0.4rem;
}
.fixed-tel a::before {
	background: linear-gradient(to top, #c50000, #f14a4a);
}
.fixed-tel a {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
}
.fixed-tel a > span:nth-child(1) {
	margin-bottom: 0.4rem;
}
.fixed-tel a > span:nth-child(1) strong {
	color: var(--yellow);
}
.fixed-tel a > span:nth-child(2) {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 2.4rem;
}
.fixed-tel a > span:nth-child(2) img {
	width: 3rem;	
	margin-right: 0.6rem;
	margin-top: 0.15rem;
}


/* .fixed-tel a > span:nth-child(1) {
	display: flex;
	align-items: center;
	font-weight: 500;
}
.fixed-tel a > span:nth-child(1) > span:nth-child(1) {
	background: #fff;
	color: var(--red);
	font-size: 1.2rem;
	line-height: 1;
	padding: 0.2rem 0.2rem 0.3rem 0.3rem;
	margin-right: 0.4rem;
}
.fixed-tel a > span:nth-child(1) > span:nth-child(2) {
	font-weight: bold;
	font-size: 1.55rem;
	line-height: 1.2;
}
.fixed-tel a > span:nth-child(2) {
	font-size: 0.7rem;
}
.fixed-tel a > span:nth-child(2) i {
	font-size: 1rem;
	font-weight: 500;
} */



/* -------------------------------------------

confirm

------------------------------------------- */
.confirm {
	padding: 10rem 0;
}
@media screen and (max-width: 768px) {
	.confirm {
		padding: 6rem 2rem;
	}
}
.confirm h2 {
	text-align: center;
	line-height: 1;
	margin-bottom: 2rem;
	font-size: 4.8rem;
	color: var(--blue-2);
}
@media screen and (max-width: 768px) {
	.confirm h2 {
		font-size: 4.4rem;
	}
}
.confirm p {
	text-align: center;
	margin-bottom: 4rem;
	font-weight: 500;
	font-size: 1.6rem;
}
.confirm .wrap {
	font-size: 1.6rem;
}
.confirm .wrap > div:not(:last-of-type) {
	border-bottom: dotted 2px #c4c4c4; 
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}
.confirm .wrap > div > div:first-of-type {
	margin-bottom: 0.5rem;
	font-weight: 500;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
}
.confirm dl {
	font-size: 1.4rem;
	margin-bottom: 4rem;
}
.confirm dl dt {
	font-weight: bold;
	color: var(--blue-2);
	margin-bottom: 0.3rem;
}



/* -------------------------------------------

thanx

------------------------------------------- */
.thanx {
	padding: 8rem 0;
}
@media screen and (max-width: 768px) {
	.thanx {
		padding: 6rem 2rem;
	}
}
.thanx h2 {
	text-align: center;
	color: var(--blue-2);
	font-size: 2rem;
	margin-bottom: 2rem;
}
.thanx + .cv > p {
	text-align: center;
	margin-top: 3rem;
	font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
	.thanx + .cv > p {
		text-align: center;
		margin-top: 3rem;
		font-size: 2.4rem;
	}
}