@charset "UTF-8";
/* CSS Document */
/* ===========================================
 * ベース
 * ======================================== */
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	width: 100%;
	color: #231815;
	font-size: 1.6em;
	font-weight: lighter;
	font-family: YakuHanJPs, "Hiragino Kaku Gothic ProN", 'Noto Sans JP', "Hiragino Sans", Meiryo, sans-serif;
	background-color: #ffffff;
	overflow-x: hidden;
}
img {
	border: none;
	margin: 0px auto;
	padding: 0px;
	max-width: 100%;
	height: auto;
	display: block;
}
h1, h2, h3, h4 {
	display: block;
}
p {
	margin: 0px;
	padding: 0px;
}
ul {
	list-style: none;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
	transition: .3s;
}
.clear {
	clear: both;
	margin: 0px;
	padding: 0px;
}
.clearfix {
	zoom: 1;
}
.clearfix::after {
	content: '';
	display: block;
	clear: both;
}
* {
	box-sizing: border-box;
	margin: 0px;
	padding: 0px;
}
@media (min-width: 768px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/* ===========================================
 * アセット
 * ======================================== */
.btn {
	display: block;
}
.btn:hover {
	opacity: .7;
}
.mark {
	display: inline-block;
	width: 1em;
	text-indent: 0;
}

/* ===========================================
 * ヘッダー
 * ======================================== */
header {
	width: 100%;
	height: min(calc(93 / 1024 * 100vw), 93px);
	background: linear-gradient(-32deg, #101a38 0%, #14347c 19%, #003993 26%, #355ca8 35%, #008ace 42%, #004298 53%, #0e3286 62%, #1d2a57 77%, #0c1532 100%);
}
@media screen and (max-width:768px) {
	header {
		height: calc(33 / 375 * 100vw);
	}
}

/* ===========================================
 * メイン
 * ======================================== */
main {
	width: 100%;
	background-color: #ffffff;
}

/* ===========================================
 * トップ
 * ======================================== */
.topWrap {
	width: 100%;
	margin-inline: auto;
}
.topInner {
	width: 100%;
	max-width: 1024px;
	margin-inline: auto;
}
@media screen and (max-width:768px) {
	.topInner {
		padding-inline: calc(20 / 375 * 100vw);
	}
}

/* ===========================================
 * コンテンツ
 * ======================================== */
.contentsWrap {
	width: 100%;
	padding-block: min(calc(60 / 1024 * 100vw), 60px);
	margin-inline: auto;
}
.contentsInner {
	width: 100%;
	max-width: 1024px;
	margin-inline: auto;
	padding-inline: min(calc(52 / 1024 * 100vw), 52px);
}
.contentsBox {
	margin-bottom: min(calc(40 / 1024 * 100vw), 40px);
	position: relative;
	z-index: auto;
}
.contentsBox:last-child {
	margin-bottom: 0;
}
.contentsTitle {
	width: 100%;
	height: min(calc(60 / 1024 * 100vw), 60px);
	margin-bottom: min(calc(15 / 1024 * 100vw), 15px);
	text-align: center;
	font-size:  min(calc(30 / 1024 * 100vw), 30px);
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #ffffff;
	background: linear-gradient(-32deg, #101a38 0%, #14347c 19%, #003993 26%, #355ca8 35%, #008ace 42%, #004298 53%, #0e3286 62%, #1d2a57 77%, #0c1532 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.contentsTitle > span {
	display: block;
}
.contentsText {
	text-align: center;
	font-size: min(calc(48 / 1024 * 100vw), 48px);
	font-weight: 600;
}
.contentsText.textadjust {
	font-size: min(calc(34 / 1024 * 100vw), 34px);
}
.contentsText > span {
	font-size: 75%;
	font-weight: 800;
}
.contentsText > .half {
	font-size: 50%;
}
.contentsBtn {
	width: min(calc(731 / 1024 * 100vw), 731px);
	margin-inline: auto;
	border-radius: min(calc(25 / 1024 * 100vw), 25px);
	filter: drop-shadow(min(calc(10 / 1024 * 100vw), 10px) min(calc(10 / 1024 * 100vw), 10px) min(calc(10 / 1024 * 100vw), 10px) #9a9b9b);
	transition: .3s;
	transform: translateZ(0);
	overflow: hidden;
	display: block;
	position: absolute;
	z-index: 1;
	right: 0;
	left: 0;
	bottom: min(calc(30 / 1024 * 100vw), 30px);
}
@media screen and (max-width:768px) {
	.contentsWrap {
		padding-block: calc(30 / 375 * 100vw);
	}
	.contentsInner {
		padding-inline: calc(20 / 375 * 100vw);
	}
	.contentsBox {
		margin-bottom: calc(15 / 375 * 100vw);
	}
	.contentsTitle {
		height: calc(25 / 375 * 100vw);
		margin-bottom: calc(8 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
	}
	.contentsText {
		font-size: calc(17 / 375 * 100vw);
	}
	.contentsBtn {
		width: calc(268 / 375 * 100vw);
		border-radius: calc(7 / 375 * 100vw);
		filter: drop-shadow(calc(5 / 375 * 100vw) calc(5 / 375 * 100vw) calc(5 / 375 * 100vw)#9a9b9b);
		bottom: 0;
	}
}


/* ===========================================
 * 記事
 * ======================================== */
article {
	width: 100%;
	background-color: #e2eef5;
}
/* ===========================================
 * 規約
 * ======================================== */
.articleWrap {
	width: 100%;
	padding-block: min(calc(60 / 1024 * 100vw), 60px);
}
.articleInner {
	width: 100%;
	max-width: 1024px;
	padding-inline: min(calc(52 / 1024 * 100vw), 52px);
	margin-inline: auto;
}
.articleBox {
	margin-bottom:  min(calc(60 / 1024 * 100vw), 60px);
}
.articleTitle {
	width: 100%;
	height: min(calc(125 / 1024 * 100vw), 125px);
	margin-bottom: min(calc(30 / 1024 * 100vw), 30px);
	font-size: min(calc(42 / 1024 * 100vw), 42px);
	font-weight: 700;
	letter-spacing: 0.3em;
	color: #002b77;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: auto;
}
.articleTitle::before,
.articleTitle::after {
	content: "";
	width: 100%;
	height: min(calc(10 / 1024 * 100vw), 10px);
	background: linear-gradient(-32deg, #101a38 0%, #14347c 19%, #003993 26%, #355ca8 35%, #008ace 42%, #004298 53%, #0e3286 62%, #1d2a57 77%, #0c1532 100%);
	position: absolute;
	z-index: auto;
}
.articleTitle::before {
top: 0;
}
.articleTitle::after {
	bottom: 0;
}
.articleText {
	font-size: clamp(12px, calc(15 / 1024 * 100vw), 15px);
	font-weight: 300;
	line-height: 1.8;
}
.TextMarginTop {
	margin-top: 0.3em;
	margin-bottom: 0.3em;
}
.articlMethodContainer {
	padding-block: min(calc(52 / 1024 * 100vw), 52px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(calc(48 / 1024 * 100vw), 48px);
}
.articleListContainer {
	margin-left: 1em;
	text-indent: -1em;
}
.articleList {
	margin-bottom: 0.3em;
	font-size: clamp(12px, calc(15 / 1024 * 100vw), 15px);
	font-weight: 300;
	line-height: 1.8;
}
.articleList:last-child {
	margin-bottom: 0;
}
@media screen and (max-width:768px) {
	.articleWrap {
		padding-block: calc(30 / 375 * 100vw);
	}
	.articleInner {
		padding-inline: min(calc(20 / 375 * 100vw), 20px);
	}
	.articleBox {
		margin-bottom: calc(30 / 375 * 100vw);
	}
	.articleTitle {
		height: calc(45 / 375 * 100vw);
		margin-bottom: calc(15 / 375 * 100vw);
		font-size: calc(18 / 375 * 100vw);
		letter-spacing: 0.1em;
	}
	.articleTitle::before,
	.articleTitle::after {
		height: calc(5 / 375 * 100vw);
	}
	.articleText {
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
	.articlMethodContainer {
		padding-block: calc(20 / 375 * 100vw);
		gap: calc(17 / 375 * 100vw);
	}
	.articleList {
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
}
.articlCautionContainer {
	margin-left: 1em;
	text-indent: -1em;
}
.articlCaution {
	margin-bottom: 0.3em;
	font-size: clamp(12px, calc(15 / 1024 * 100vw), 15px);
	font-weight: 300;
	line-height: 1.8;
}
@media screen and (max-width:768px) {
	.articlCaution {
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
}
/* 応募方法 */
/* ======================================= */
#method .articleText {
	font-size: clamp(12px, calc(21 / 1024 * 100vw), 21px);
	font-weight: 700;
}
#method .articlCaution {
	font-size: clamp(12px, calc(19 / 1024 * 100vw), 19px);
}
#method .articleList {
	font-size: clamp(12px, calc(19 / 1024 * 100vw), 19px);
}
#method .articlBtn {
	width: min(calc(686 / 1024 * 100vw), 686px);
	margin-inline: auto;
	margin-bottom: min(calc(52 / 1024 * 100vw), 52px);
	border-radius: min(calc(25 / 1024 * 100vw), 25px);
	filter: drop-shadow(min(calc(10 / 1024 * 100vw), 10px) min(calc(10 / 1024 * 100vw), 10px) min(calc(10 / 1024 * 100vw), 10px) #9a9b9b);
	transition: .3s;
	transform: translateZ(0);
	overflow: hidden;
	display: block;
}
@media screen and (max-width:768px) {
	#method .articleText {
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
	#method .articleList {
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
	#method .articlBtn {
		width: calc(280 / 375 * 100vw);
		margin-bottom: calc(20 / 375 * 100vw);
		border-radius: min(calc(10 / 375 * 100vw), 25px);
		filter: drop-shadow(calc(5 / 375 * 100vw) calc(5 / 375 * 100vw) calc(5 / 375 * 100vw)#9a9b9b);
	}
}
/* キャンペーンに関する問い合わせ */
/* ======================================= */
.infoCampaign {
	margin-bottom: 1em;
	font-size: min(calc(26 / 1024 * 100vw), 26px);
	font-weight: 600;
}
.infoContactContainer {
	margin-bottom: min(calc(20 / 1024 * 100vw), 20px);
	display: grid;
	gap: min(calc(17 / 1024 * 100vw), 17px);
}
.infoContact {
	width: 100%;
	display: flex;
	font-weight: bold;
	align-items: flex-start;
}
.infoContactTitle {
	width: 25%;
	text-align: center;
	background-color: #000;
	padding: 0.25em;
	color: #fff;
	font-weight: 500;
	font-size: min(calc(22 / 1024 * 100vw), 22px);
	display: inline-block;
	align-self: flex-start;
}
.infoContactNumber {
	padding-left: 0.5em;
	font-size: min(calc(26 / 1024 * 100vw), 26px);
	padding-top: 0.25em;
	align-self: flex-start;
	flex: 1;
}
.infoTime {
	margin-bottom: min(calc(20 / 1024 * 100vw), 20px);
}
.infoTimeText {
	margin-bottom: 0.5em;
	font-size: min(calc(22 / 1024 * 100vw), 22px);
	font-weight: 300;
	line-height: 1.0;
}
.infoTimeText:last-of-type {
	margin-bottom: 0;
}
.infoTimeText > span > small {
	font-size: max(10px, 60%);
}
@media screen and (max-width:768px) {
	.infoCampaign {
		margin-bottom: 0.5em;
		font-size: calc(17 / 375 * 100vw);
	}
	.infoContactContainer {
		margin-bottom: calc(14 / 375 * 100vw);
		gap: calc(5 / 375 * 100vw);
	}
	.infoContactTitle {
		font-size: max(10px, calc(10 / 375 * 100vw));
	}
	.infoContactNumber {
		padding-left: 0.5em;
		font-size: max(10px, calc(12 / 375 * 100vw));
		padding-top: 0.1em;
		align-self: flex-start;
		flex: 1;
	}
	.infoTime {
		margin-bottom: 1em;
	}
	.infoTimeText {
		font-weight: 600;
		font-size: max(12px, calc(14 / 375 * 100vw));
		line-height: 1.35;
	}
	.infoTimeText > span {
		font-size: 100%;
	}
	.infoTimeText > span small {
		font-size: 100%;
		font-weight: lighter;
		text-indent: -1em;
		margin-left: 1em;
		display: inline-block;
	}
}

/* ===========================================
 * 表示・非表示
 * ======================================== */
.pc {
	display: block;}
.tab {
	display: none;
}
.sp {
	display: none;
}
@media screen and (max-width:968px) {
	.tab {
		display: block;
	}
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}