@charset "UTF-8";
/* ===========================================
 * 変数
 * ======================================== */
:root {
	--font__fm--main: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--color__font--main: #FFFFFF;
	--color__btn--entry: linear-gradient(to top, #E60012 0%, #EB613B 47%, #F29A76 55%, #E60012 100%);
} 

/* ===========================================
 * COMMON
 * ======================================== */
.main, header  {
	width: min(100%, 750px);
	margin-inline: auto;
}
.container {
	margin-inline: auto;
	font: 400 16px / 1.5 var(--font__fm--main);
	color: #000000;
	background-color: #FFFFFF;
}
.header_img {
	display: block;
}

/* ===========================================
 * PC・SP・NONE
 * ======================================== */
.sp {
	display: none!important;
}
.pc {
	display: inline!important;
}
@media screen and (max-width: 414px) {
	.sp {
		display: block!important;
	}
	.pc {
		display: none!important;
	}
}
.none {
	display: none!important;
}

/* ===========================================
 * TOP
 * ======================================== */
.topWrap {
	width: 100%;
	margin-inline: auto;
}
.topInner {
	margin-inline: auto;
}
.topKv,
.topContents {
	display: block;
}

/* ===========================================
 * MOVIE
 * ======================================== */
.movieWrap {
	width: 100%;
	padding-block: min(6vw, 45px) 0;
	margin-inline: auto;
}
.movieInner {
	width: min(86.666%, 650px);
	margin-inline: auto;
}
.movieYoutube {
	width: min(100%, 595px);
	height: 100%;
	aspect-ratio: 16 / 9;
	margin-inline: auto;
	display: block;
}

/* ===========================================
 * CONTENTS
 * ======================================== */
.contentsWrap {
	width: 100%;
	padding-block: min(6vw, 45px);
	margin-inline: auto;
	background-color: #0091D7;
}
.contentsInner {
	width: min(86.666%, 650px);
	margin-inline: auto;
}
.contentsGroup {
	margin-inline: auto;
	margin-bottom: 1.5em;
}
.contentsGroup:last-child {
	margin-bottom: 0;
}
.contentsTitle {
	padding: 0.25em 0.5em;
	margin-bottom: 0.5em;
	font: 700 20px / 1.25 var(--font__fm--main);
	letter-spacing: 0.05em;
	color: #FFFFFF;
	background-color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contentsText {
	font: 400 20px / 1.5 var(--font__fm--main);
	color: var(--color__font--main);
}
.contentsText > span {
	display: block;
}
.contentsCautioin {
	margin-top: 0.25em;
	font: 400 16px / 1.5 var(--font__fm--main);
	color: var(--color__font--main);
}
.contentsCautioin > span {
	color: #fff100;
}
.contentsNote {
	font: 400 16px / 1.5 var(--font__fm--main);
	color: var(--color__font--main);
}
@media screen and (max-width: 414px) {
	.contentsTitle {
		font: 700 16px / 1.25 var(--font__fm--main);
	}
	.contentsText {
		font: 400 14px / 1.5 var(--font__fm--main);
	}
	.contentsCautioin {
		font: 400 12px / 1.5 var(--font__fm--main);
	}
	.contentsNote {
		font: 400 14px / 1.5 var(--font__fm--main);
	}
}
/* product */
/* ======================================= */
#products .contentsTitle {
	padding-block: 0.5em;
	background-color: #0066b3;
}
@media screen and (max-width: 414px) {
	#products .contentsTitle > span {
		width: 150px;
		margin-inline: auto;
	}
}
/* period */
/* ======================================= */
.contentsPeriod {
	width: fit-content;
	margin-inline: auto;
	font: 700 30px / 1.25 var(--font__fm--main);
	color: var(--color__font--main);
}
.contentsPeriod > span {
	display: inline-block;
}
.contentsPeriod > span:nth-of-type(even) {
font-size: 75%;
}
.contentsLimit {
	margin-top: 0.25em;
	text-align: center;
	font: 400 16px / 1.5 var(--font__fm--main);
	color: var(--color__font--main);
}
@media screen and (max-width: 414px) {
	.contentsPeriod {
		text-align: center;
	}
	.contentsLimit {
		font: 400 12px / 1.5 var(--font__fm--main);
	}
}
/* apply */
/* ======================================= */
#apply .applyTextIcon {
	display: block;
}
#apply .contentsGroupInner {
	display: grid;
	grid-template-columns: calc(200 / 650 * 100%) auto;
}
#apply .contentBox {
	width: 100%;
}
#apply .contentsText {
	font: 700 27px / 1.5 var(--font__fm--main);
}
#apply .contentsText > span {
	color: #FFF226;
	display: inline;
}
@media screen and (max-width: 414px) {
	#apply .contentsText {
		font: 700 16px / 1.5 var(--font__fm--main);
	}
}


/* ===========================================
 * ENTRY
 * ======================================== */
.entryWrap {
	padding-block: min(6vw, 45px);
	margin-inline: auto;
	background-color: #0091D7;
}
.entryText {
	text-align: center;
	font: 700 20px / 1.5 var(--font__fm--main);
	color: #FFFFFF;
	margin-bottom: 0.5em;
}
.entryText > span,
.entryText > a {
	display: inline-block;
}
.entryInduction {
	width: fit-content;
	margin-inline: auto;
	margin-bottom: 1em;
	font: 700 27px / 1.5 var(--font__fm--main);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
}
.entryInduction::before,
.entryInduction::after {
	content: "";
	width: 1em;
	height: 1em;
	clip-path: polygon(50% 100%, 80% 65%, 60% 65%, 60% 10%, 40% 10%, 40% 65%, 20% 65%);/*下矢印*/
	background-color: #FFFFFF;
	display: block;
}
.entryBtn {
	width: min(100%, 400px);
	padding: 0.5em 1.5em;
	margin-inline: auto;
	font: 700 20px / 1.5 var(--font__fm--main);
	color: #FFFFFF;
	text-decoration: none;
	background: var(--color__btn--entry);
	border-radius: 9999px;
	box-shadow: inset 0 0 10px rgba(0,0,0,.5);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.entryBtn:after {
	content: "";
	width: calc(100% + 5px);
	height: calc(100% + 5px);
	border-radius: 9999px;
	background-color: #FFFFFF;
	position: absolute;
	z-index: -1;
	flex: 1;
}
.entryBtn::before {
	content: "";
	width: 1em;
	height: 1em;
	clip-path: polygon(0 0, 0% 100%, 70% 50%);/*三角*/
	background-color: #FFFFFF;
	display: block;
}
.entryBtn > span {
	width: fit-content;
	display: block;
}
.entryInner {
	width: min(80%, 600px);
	margin-inline: auto;
	position: relative;
	z-index: 2;
}
.entryInputArea {
	margin-bottom: 45px;
}
.entryInputText {
	width: fit-content;
	margin-inline: auto;
	margin-bottom: 0.5em;
	font: 700 18px / 1.5 var(--font__fm--main);
	color: #FFFFFF;
}
.entryInput {
	width: 100%;
	height: 3em;
	padding: 0.25em 0.5em;
	font: 700 14px / 1.5 var(--font__fm--main);
	color: #CBCCCD;
	border: none;
	border-radius: 5px;
}
@media screen and (max-width: 414px) {
	.entryText {
		text-align: center;
		font: 700 18px / 1.5 var(--font__fm--main);
		margin-bottom: 0.5em;
	}
	.entryInduction {
		font: 700 21px / 1.5 var(--font__fm--main);
	}
	.entryBtn {
		font: 900 18px / 1.5 var(--font__fm--main);
	}
}
/* ===========================================
 * ABOUT
 * ======================================== */
.aboutWrap {
	width: 100%;
	margin-inline: auto;
}
.aboutInner {
	width: min(86.666%, 650px);
	padding-block: min(6vw, 45px) 0;
	margin-inline: auto;
}
.aboutTitle {
	width: 100%;
	padding: 0.25em 1em;
	font: 400 23px / 1.6 var(--font__fm--main);
	color: #FFFFFF;
	background-color: #900000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aboutList {
	text-indent: -1em;
	margin-left: 1em;
	font: 400 18px / 1.6 var(--font__fm--main);
}
.aboutLink {
	width: min(100%, 640px);
	margin-inline: auto;
	display: block;
}
@media screen and (max-width: 414px) {
	.aboutTitle {
		text-align: left;
		font: 400 16px / 1.6 var(--font__fm--main);
	}
	.aboutList {
		font: 400 14px / 1.6 var(--font__fm--main);
	}
}
/* ===========================================
 * BANNER
 * ======================================== */
.bannerWrap {
	width: 100%;
	margin-inline: auto;
}
.bannerInner {
	width: min(86.666%, 650px);
	padding-block: min(6vw, 45px) 0;
	margin-inline: auto;
}
.bannerImg {
	width: min(100%, 640px);
	margin-inline: auto;
}
.bannerText {
	margin-top: 0.25em;
	font: 600 21px / 1.5 var(--font__fm--main);
}
@media screen and (max-width: 414px) {
	.bannerText {
		font: 600 14px / 1.5 var(--font__fm--main);
	}
}

/* ===========================================
 * INFO
 * ======================================== */
.infoWrap {
	width: 100%;
	margin-inline: auto;
}
.infoInner {
	width: min(86.666%, 650px);
	padding-block: min(6vw, 45px);
	margin-inline: auto;
}
.infoTitle {
	width: 100%;
	padding: 0.25em 1em;
	margin-bottom: 1em;
	font: 400 23px / 1.6 var(--font__fm--main);
	color: #FFFFFF;
	border-radius: 9999px;
	background-color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
}
.infoNumber {
	margin-bottom: 0.25em;
	font: 700 min(calc(60 / 750 * 100vw), 60px) / 1.0 var(--font__fm--main);
	color: #000000;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.infoNumber > span {
	display: block;
}
.infoPeriod {
	margin-bottom: 0.5em;
	font: 700 min(calc(23 / 750 * 100vw), 23px) / 1.25 var(--font__fm--main);
	display: flex;
	align-items: center;
	gap: 0.5em;
}
.infoPeriod > dt {
	padding: 0.1em 0.75em;
	border: 2px solid #000000;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.infoPeriod > dt > span {
	display: block;
}
.infoText {
	text-align: center;
	font: 700 min(calc(23 / 750 * 100vw), 23px) / 1.25 var(--font__fm--main);
}
.infoIcon {
	width: min(calc(97 / 750 * 100vw), 97px);
}
@media screen and (max-width: 414px) {
	.infoTitle {
		font: 400 16px / 1.6 var(--font__fm--main);
	}
	.infoNumber {
		font: 700 30px / 1.0 var(--font__fm--main);
	}
	.infoIcon {
		width: 50px;
	}
	.infoPeriod {
		font: 700 11px / 1.25 var(--font__fm--main);
	}
	.infoPeriod > dt {
		width: 76px;
		height: 100%;
	}
	.infoPeriod > dd {
		flex: 1;
	}
	.infoText {
		text-align: left;
		font: 700 16px / 1.25 var(--font__fm--main);
	}
}

/* ===========================================
 * キャンペーン規約・注意事項
 * ======================================== */
.termWrap {
	padding: calc(50 / 750 * 100%) 0 calc(150 / 750 * 100%) 0;
	margin-inline: auto;
	font: 400 14px / 1.6 var(--font__fm--main);
}
.termInner {
	width: calc(650 / 750 * 100%);
	margin-inline: auto;
	display: grid;
	gap: 2em;
}
.termBox {
	width: 100%;
	margin-inline: auto;
}
.termIndent01 {
	padding-left: 0;
}
.termIndent02 {
	padding-left: 1em;
}
.termIndent01 > li,
.termIndent02 > li {
	margin: 0 0 0 1em;
	text-indent: -1em;
	display: block;
}
.termLink {
	font-weight: bold;
	color: #6d0d18;
}
.termBtn {
	width: fit-content;
	padding: 0.5em 4em;
	margin-inline: auto;
	text-align: center;
	font: 700 16px / 1.5 var(--font__fm--main);
	color: #000000;
	text-decoration: none;
	border: 2px solid #000000;
	border-radius: 9999px;
	background-color: #E4E4E4;
	position: relative;
	z-index: auto;
	display: block;
}
.termBtn::before {
  content: '';
  width: 0.5em;
  height: 0.5em;
	margin: auto;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
	transform: rotate(-135deg);
	position: absolute;
	z-index: auto;
	left: 1em;
	top: 0;
	bottom: 0;
	display: block;
}

/* ===========================================
 * ご登録住所の確認方法
 * ======================================== */
.addressWrap {
	padding: calc(50 / 750 * 100%) 0 calc(150 / 750 * 100%) 0;
	margin-inline: auto;
	background-color: #FFFF99;
}
.addressInner {
	width: calc(650 / 750 * 100%);
	margin-inline: auto;
	display: grid;
	gap: 2em;
}
.addressTtile {
	text-align: center;
	font: 700 32px / 1.6 var(--font__fm--main);
}
.addressBtn {
	width: fit-content;
	padding: 0.5em 4em;
	margin-inline: auto;
	text-align: center;
	font: 700 16px / 1.5 var(--font__fm--main);
	color: #000000;
	text-decoration: none;
	border: 2px solid #000000;
	border-radius: 9999px;
	background-color: #E4E4E4;
	position: relative;
	z-index: auto;
	display: block;
}
.addressBtn::before {
  content: '';
  width: 0.5em;
  height: 0.5em;
	margin: auto;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
	transform: rotate(-135deg);
	position: absolute;
	z-index: auto;
	left: 1em;
	top: 0;
	bottom: 0;
	display: block;
}
@media screen and (max-width: 414px) {
	.addressTtile {
		font: 700 20px / 1.6 var(--font__fm--main);
	}
}

/* ===========================================
 * お問い合わせ
 * ======================================== */
.wrap_info {
	padding: min(calc(50 / 750 * 100vw), 50px) 0;
	margin-inline: auto;
	font: normal 1.6rem / 1.5 YakuHanJPs_Noto, 'Noto Sans JP', sans-serif;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	background-color: #000000;
}
.wrap_info + .wrap_info {
	padding-top: 0;
}
@media screen and (max-width:414px) {
	.wrap_info {
		font: normal 1.4rem / 1.5 YakuHanJPs_Noto, 'Noto Sans JP', sans-serif;
	}
}
.inner_info {
	width: min(calc(650 / 750 * 100vw), 650px);
	margin-inline: auto;
}
.inner_info > h3 {
	padding: 0.2em 1em;
	margin-bottom: 1em;
	font: bold 1.7rem / 1.5 YakuHanJPs_Noto, 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
	color: #000000;
	background-color: #FFFFFF;
}
.box_info {
	display: grid;
	gap: 0.5em;
}
.box_info dl > dt {
	font-weight: bold;
}
.box_info dl:first-child > dd {
	display: grid;
	grid-template-columns: 36px auto;
	align-items: center;
	gap: 0.25em;
}
.box_info dl:first-child > dd > span {
	width: 36px;
	display: block;
}
.box_info dl:first-child > dd > strong {
	font: bold 2.1rem / 1.5 YakuHanJPs_Noto, 'Noto Sans JP', sans-serif;
}

.box_info ul.inner li {
	text-indent: -1em;
	margin-left: 1em;
}