@charset "UTF-8";
/* ===========================================
 * ROOT
 * ======================================== */
:root {
  --font_fm-main: "Zen Maru Gothic", serif;
}

/* ===========================================
 * COMMON
 * ======================================== */
header {
	background-color: #ffffff;
}
footer {
	background-color: #40210F;
}
.sp {
	display: none!important;
}
.pc {
	display: block!important;
}
@media screen and (max-width: 767px) {
	.sp {
		display: block!important;
	}
	.pc {
		display: none!important;
	}
}

/* ===========================================
 * HEADER
 * ======================================== */
.headerWrap {
	position: relative;
	z-index: auto;
	padding: 25px 0;
	margin-inline: auto;
	font: bold 1.6rem / 1.5 "Zen Maru Gothic", serif;
	color: #40210F;
}
.headerInner {
	width: 1000px;
	padding: 0 50px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.headerBoxLogo {
	width: fit-content;
	display: grid;
	grid-template-columns: repeat(2, auto);
	gap: 20px;
}
.headerBoxLogo > p {
	display: block;
}
.headerBoxNavi {
	width: fit-content;
	display: grid;
	grid-template-columns: repeat(3, auto);
	gap: 40px;
}
.headerBoxMenu {
	display: none;
}
.headerBoxBtn {
width: fit-content;
}
.headerBoxBtn > a {
	width: fit-content;
	padding: 0.5em 2em;
	margin-inline: auto;
	color: #ffffff;
	border-radius: 9999px;
	background-color: #40210F;
	display: block;
}
@media screen and (max-width: 767px) {
	.headerWrap {
		padding: 10px 0;
		font: bold 1.2rem / 1.5 "Zen Maru Gothic", serif;
	}
	.headerInner {
		width: min(100%, 346px);
		padding: 0 15px;
	}
	.headerBoxLogo {
		gap: 10px;
	}
	.headerBoxLogo > p > img,
	.headerBoxLogo > a > img {
		width: auto;
		height: 30px;
	}
	.headerBoxNavi {
		display: none;
	}
	.headerBoxMenu {
		position: relative;
		width: 36px;
		height: 30px;
		background-color: transparent;
		border: none;
		cursor: pointer;
		z-index: 999;
		display: block;
	}
	.headerBoxMenu > span {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 2rem;
		height: 2px;
		background-color: black;
		transform: translateX(-50%);
	}
	.headerBoxMenu > span:first-child {
		transform: translate(-50%, calc(-50% - 7.5px));
		transition: transform 0.3s ease;
	}
	.headerBoxMenu > span:nth-child(2) {
		transform: translate(-50%, -50%);
		transition: opacity 0.3s ease;
	}
	.headerBoxMenu > span:last-child {
		transform: translate(-50%, calc(-50% + 7.5px));
		transition: transform 0.3s ease;
	}
	.headerBoxMenu.active > span:first-child {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.headerBoxMenu.active > span:nth-child(2) {
		opacity: 0;
	}
	.headerBoxMenu.active > span:last-child {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.drawerWrap {
		position: fixed;
		z-index: 11;
		top: 50px;
		right: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		transition: opacity 0.3s ease;
		opacity: 0;
		visibility: hidden;
		display: block;
		padding: 0 0;
		font: bold 1.4rem / 1.5 "Zen Maru Gothic", serif;
	}
	.drawerWrap.active {
		opacity: 1;
		visibility: visible;
	}
	.drawerInner {
		position: relative;
		width: 100%;
		height: auto;
		background-color: white;
		transform: translateY(0);
		transition: transform 0.3s ease;
	}
	.drawerBox {
		width: min(100%, 346px);
		padding: 30px 15px;
		margin-inline: auto;
		display: grid;
		gap: 0.5em;
	}
	.drawerBox li > a {
		text-decoration: underline;
	}
	.headerBoxBtn {
		/* width: fit-content; */
	}
	.headerBoxBtn > a {
		padding: 0.5em 2em;
		margin-inline: auto;
		color: #ffffff;
		border-radius: 9999px;
		background-color: #40210F;
		display: block;
	}
}

/* ===========================================
 * FOOTER
 * ======================================== */
.footerWrap {
	padding: 40px 0;
	margin-inline: auto;
	font: normal 1.4rem / 1.5 "Zen Maru Gothic", serif;
	color: #ffffff;
}
.footerInner {
	width: 1000px;
	padding: 0 50px;
	margin-inline: auto;
}
.footerInner > small {
	text-align: center;
	font: normal 1.2rem / 1.5 "Zen Maru Gothic", serif;
}
.footerBox {
	/* padding-inline: 50px; */
	padding-bottom: 2em;
	margin-bottom: 2em;
	border-bottom: 1px solid #ffffff;
}
.footerBox > h6 {
	margin-bottom: 1em;
	font: bold 1.6rem / 1.5 "Zen Maru Gothic", serif;
}
.footerBox > ul {
	width: fit-content;
	display: grid;
	grid-template-columns: repeat(3, auto);
	gap: 40px;
}
.footerBox > ul a {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.footerWrap {
		padding: 30px 0;
		font: normal 1.2rem / 1.5 "Zen Maru Gothic", serif;
	}
	.footerInner {
		width: min(100%, 346px);
		padding: 0 15px;
	}
	.footerInner > small {
		font: normal 1.0rem / 1.5 "Zen Maru Gothic", serif;
	}
	.footerBox > h6 {
		font: bold 1.4rem / 1.5 "Zen Maru Gothic", serif;
	}
	.footerBox > ul {
		grid-template-columns: auto;
		gap: 1em;
	}
}

/* ===========================================
 * TOP
 * ======================================== */
.topWrap {
  padding-block: 40px;
  background-color: #005E2D;
}
.topInner {
  width: 1000px;
	padding-inline: 50px;
	margin-inline: auto;
}
.topTitle {
  text-align: center;
  font: 700 6.4rem / 1.25 var(--font_fm-main);
  color: #FFFFFF;
}
.topTitle > span {
  font: 700 3.7rem / 1.6 var(--font_fm-main);
}
@media screen and (max-width: 767px) {
  .topWrap {
    padding-block: 25px;
  }
  .topInner {
    width: min(100%, 346px);
		padding-inline: 15px;
  }
  .topTitle {
    font: 700 2.5rem / 1.25 var(--font_fm-main);
  }
  .topTitle > span {
    font: 700 1.5rem / 1.6 var(--font_fm-main);
  }
}

/* ===========================================
 * CONFIRM
 * ======================================== */
.confirmWrap {
  padding-block: 75px;
  background-color: #FEF1DD;
}
.confirmInner {
  width: 1000px;
	padding-inline: 50px;
	margin-inline: auto;
}
.confirmtext {
  margin-bottom: 25px;
  text-align: center;
  font: 700 4.6rem / 1.5 var(--font_fm-main);
  letter-spacing: -0.1em;
  color: #F08300;
}
.confirmBtn {
  width: min(100%, 900px);
  height: 100px;
  margin-inline: auto;
  text-align: center;
  font: 700 3.2rem / 1.0 var(--font_fm-main);
  color: #FFFFFF;
  border-radius: 9999px;
  background-color: #6FBA2C;
  display: flex;
  align-items: center;
  justify-content: center;
}
.confirmBtn > span {
  display: block;
}
@media screen and (max-width: 767px) {
	.confirmWrap {
		padding-block: 30px;
	}
  .confirmInner {
    width: min(100%, 346px);
		padding-inline: 15px;
  }
  .confirmtext {
    margin-bottom: 18px;
    font: 700 1.7rem / 1.5 var(--font_fm-main);
		word-break: keep-all;
  }
  .confirmBtn {
    width: min(100%, 280px);
    height: 42px;
    font: 700 1.6rem / 1.0 var(--font_fm-main);
  }
}

/* ===========================================
 * APP
 * ======================================== */
.appWrap {
	padding: 25px 0 0 0;
	margin-inline: auto;
	color: #40210F;
	background-color: #F5D660;
}
.appInner {
	width: 1000px;
	margin-inline: auto;
	padding: 0 50px;
	display: grid;
	grid-template-columns: 350px auto;
	gap: 25px;
	align-items: flex-end;
}
.appInner::before {
	content: "";
	width: 350px;
	height: 365px;
	background: center center / 350px 365px no-repeat url(../img/app_img.png);
	display: block;
}
/* .appBox {} */
.appBox > h3 {
	margin-bottom: 0.25em;
	text-align: center;
	font: 700 2.8rem / 1.5 "Zen Maru Gothic", serif;
	letter-spacing: -0.03em;
	display: block;
}
.appBox > h3 > span {
	font: 700 2.6rem / 1.2 "Zen Maru Gothic", serif;
	color: #F08300;
	display: block;
}
.appBox > small {
	margin-top: 0.25em;
	text-align: center;
	font: 500 1.2rem / 1.5 "Zen Maru Gothic", serif;
}
.appGroupFeature {
	padding: 15px 25px;
	border-radius: 30px;
	background-color: #F08300;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
.appGroupFeature > li {
	border-right: 1px solid #ffffff;
	display: grid;
	gap: 15px;
}
.appGroupFeature > li:last-child {
	border: none;
}
.appGroupFeature > li > p {
	text-align: center;
	font: 700 2.0rem / 1.2 "Zen Maru Gothic", serif;
}
.appGroupFeature > li > p > b {
	font: 700 2.6rem / 1.2 "Zen Maru Gothic", serif;
}
.appGroupFeature > li > dl > dd {
	text-align: center;
	font: 700 2.0rem / 1.0 "Zen Maru Gothic", serif;
	color: #FFFFFF;
}
.appGroupDownload {
  padding: 15px 0 25px 0;
  display: grid;
  gap: 15px;
}
.appGroupDownload > h4 {
	text-align: center;
	font: 700 1.6rem / 1.0 "Zen Maru Gothic", serif;
}
.appGroupDownload > p {
	font: 700 1.2rem / 1.5 "Zen Maru Gothic", serif;
}
.appGroupDownload > p > small {
	font: 500 1.2rem / 1.2 "Zen Maru Gothic", serif;
}
.appSetDownload {
	display: grid;
	grid-template-columns: repeat(2, auto);
	gap: 25px;
	justify-content: center;
}
.appSetDownload > a {
	width: fit-content;
	display: block;
}
@media screen and (max-width: 767px) {
	.appWrap {
		padding: 0 0 15px 0;
    background: linear-gradient(180deg, #FEF1DD 0%, #FEF1DD 30px, #F5D660 30px, #F5D660 100%);
	}
	.appInner {
		width: min(100%, 346px);
		padding: 0 15px;
		grid-template-columns: auto;
		gap: 5px;
		justify-content: center;
	}
	.appInner::before {
		content: "";
		width: calc(350px / 2);
		height: calc(365px / 2);
		margin-inline: auto;
		background: center center / calc(350px / 2) calc(365px / 2) no-repeat url(../img/app_img.png);
	}
	.appBox {
	
	}
	.appBox > h3 {
		margin-bottom: 0.25em;
		font: 700 1.8rem / 1.5 "Zen Maru Gothic", serif;
	}
	.appBox > h3 > span {
		font: 700 1.8rem / 1.2 "Zen Maru Gothic", serif;
	}
	.appBox > small {
		text-align: left;
	}
	.appGroupFeature {
		padding: 15px;
		border-radius: 15px;
		background-color: #F08300;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	.appGroupFeature > li {
		border-right: 1px solid #ffffff;
		display: grid;
		gap: 5px;
	}
	.appGroupFeature > li:last-child {
		border: none;
	}
	.appGroupFeature > li > p {
		text-align: center;
		font: 700 1.4rem / 1.2 "Zen Maru Gothic", serif;
	}
	.appGroupFeature > li > p > b {
		font: 700 1.4rem / 1.2 "Zen Maru Gothic", serif;
	}
	.appGroupFeature > li > dl > dt {
		width: 30px;
		margin-inline: auto;
	}
	.appGroupFeature > li > dl > dd {
		font: 700 1.2rem / 1.0 "Zen Maru Gothic", serif;
	}
	.appGroupDownload {
	padding: 15px 0 0 0;
	gap: 15px;
	}
	.appGroupDownload > h4 {
		text-align: center;
		font: 700 1.4rem / 1.0 "Zen Maru Gothic", serif;
	}
	.appSetDownload {
		gap: 15px;
	}
}

/* ===========================================
 * HOWTO SP ONLY
 * ======================================== */
@media screen and (max-width: 767px) {
  .howtoWrap {
    padding-block: 25px;
    background-color: #FEF1DD;
  }
  .howtoInner {
    width: min(100%, 346px);
		padding: 0 15px;
    margin-inline: auto;
  }
  .howtoBtn {
    width: 100%;
    height: 42px;
    text-align: center;
    font: 700 1.6rem / 1.0 var(--font_fm-main);
    color: #FFFFFF;
    border-radius: 9999px;
    background-color: #40210F;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}