@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
div#CONTENTS_BLOCK.full_width {
	/* コンテンツサイズフルサイズ */
	max-width: none;
}
html.touch-device body,
html.touch-device #page {
	min-width: auto;
}
/* CSSファイル名をリネーム後に、独自の内容を追加 */
/* common */
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
}
#CONTENTS {
	color: #4c4a4a;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.5;
	font-feature-settings: "palt";
}
div#CONTENTS {
	color: #4c4a4a;
}
div#CONTENTS .cy-contents_blockInner a,
div#CONTENTS .cy-contents_blockInner a:link {
	color: inherit;
}
#CONTENTS img {
	vertical-align: top;
}
div#CONTENTS_BLOCK {
	margin: 0;
	position: relative;
}
.hidden {
	position: fixed;
	right: 0;
	bottom: 0;
	opacity: 0;
	visibility: hidden;
	user-select: none;
}
@media only screen and (min-width: 641px) {
	div#CONTENTS_BLOCK {
		margin: 0;
		padding: 0;
	}
}
@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	#CONTENTS a:hover {
		opacity: 1 !important;
	}
	#CONTENTS {
		font-size: min(3.571vw, 14px);
	}
}
#main_visual {
	position: relative;
}
#main_visual h1 {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	user-select: none;
	pointer-events: none;
	opacity: 0;
}
#main_visual p {
	padding: 22px 20px 15px;
	text-align: center;
	background: #7672A8;
}
#main_visual p img {
	width: 580px !important;
}
/* CONTENTS */
#CONTENTS .content {
	margin: 0 auto;
	width: 1100px;
	max-width: 95%;
	box-sizing: border-box;
}
#CONTENTS .campaign_details {
	margin-top: -2px;
	padding: 93px 0 78px;
	position: relative;
	background: #9F9CC2;
}
#CONTENTS .campaign_details::before,
#CONTENTS .campaign_details::after {
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	background: url(../img/bg01.png) no-repeat center center / 100% 100%;
	content: '';
	z-index: 1;
}
#CONTENTS .campaign_details::before {
	top: -49px;
}
#CONTENTS .campaign_details::after {
	background-image: url(../img/bg02.png);
	bottom: -49px;
}
#CONTENTS .campaign_details .content {
	padding: 1px min(4.813vw, 77px) min(4.563vw, 73px);
	border-radius: min(2.875vw, 46px);
	background: #fff;
}
#CONTENTS .campaign_details h2 {
	margin: max(-3.25vw, -52px) 0 37px;
	text-align: center;
}
#CONTENTS .campaign_details h2 img {
	width: 486px;
}
#CONTENTS .campaign_details .image {
	margin: 0 max(-2.364vw, -26px) 22px -3px;
	text-align: center;
}
#CONTENTS .campaign_details .image img {
	width: 971px;
}
#CONTENTS .campaign_details .time_box {
	margin: 30px 0 28px;
	padding: 39px 10px 40px 25px;
	background: #F4F2E8;
	border-radius: 12px;
}
#CONTENTS .campaign_details .time_list {
	display: flex;
	flex-wrap: wrap;
	gap: 36px 20px;
}
#CONTENTS .campaign_details .time_list dt {
	width: 170px;
	display: flex;
	align-items: flex-start;
}
#CONTENTS .campaign_details .time_list dt span {
	margin-top: 3px;
	width: 100%;
	padding: 10px 5px 13px;
	display: block;
	text-align: center;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0.15em;
	color: #fff;
	background: #7672A8;
	border-radius: 11px;
}
#CONTENTS .campaign_details .time_list dd {
	width: calc(100% - 190px);
	font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
	font-size: 31px;
	font-weight: 600;
	letter-spacing: -0.01em;
}
#CONTENTS .campaign_details .time_list dd .lg {
	font-size: 170%;
	line-height: 1;
}
#CONTENTS .campaign_details .text_list {
	margin: 0 0 60px 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 19px 0;
}
#CONTENTS .campaign_details .text_list dt {
	margin-top: 11px;
	padding: 0 15px;
	width: 170px;
	text-align: center;
	font-size: 28px;
	font-weight: 700;
	box-sizing: border-box;
	background: url(../img/icon07.png) no-repeat left center / 14px, url(../img/icon08.png) no-repeat right center / 14px;
}
#CONTENTS .campaign_details .text_list dd {
	width: calc(100% - 170px);
	padding-left: 20px;
	font-weight: 500;
	font-size: 34px;
	line-height: 1.361;
	box-sizing: border-box;
}
#CONTENTS .campaign_details .coupon {
	margin: 0 auto 23px;
	max-width: 944px;
	padding: 31px 30px 49px;
	text-align: center;
	box-sizing: border-box;
	background: #E4E3EE;
	border-radius: 15px;
}
#CONTENTS .campaign_details .coupon .ttl {
	margin-bottom: 11px;
	font-size: 25px;
	font-weight: 700;
}
#CONTENTS .campaign_details .coupon .code {
	margin: 0 auto 30px;
	width: 516px;
	max-width: 100%;
	box-sizing: border-box;
}
#CONTENTS .campaign_details .coupon .code input {
	width: 100%;
	height: 98px;
	text-align: center;
	color: inherit;
	font-size: 76px;
	font-family: "Roboto Mono", monospace;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1;
	border: 0;
	border-radius: 9px;
	background: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
	caret-color: transparent;
}
#CONTENTS .campaign_details .coupon .code input:focus {
	outline: none;
	background: #fff;
}
#CONTENTS .campaign_details .coupon .code input:focus-visible {
	outline: none;
	background: #fff;
}
#CONTENTS .campaign_details .coupon .btn {
	margin: 0 auto;
	width: 516px;
	max-width: 100%;
}
#CONTENTS .campaign_details .coupon .btn button {
	padding: 18px 20px;
	width: 100%;
	display: block;
	color: #fff;
	text-align: center;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.5;
	border: none;
	border-radius: 11px;
	background: #7672A8;
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	cursor: pointer;
}
#CONTENTS .campaign_details .coupon .btn button span {
	padding: 0 60px 2px 0;
	display: inline-block;
	background: url(../img/icon01.png) no-repeat right center / 30px;
}
#CONTENTS .campaign_details .note {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 16px;
	line-height: 1.7;
}
#CONTENTS .heading01 {
	margin-bottom: 47px;
	text-align: center;
}
#CONTENTS .heading01 img {
	width: auto;
	height: min(9.273vw, 102px);
}
#CONTENTS .apply {
	padding: 105px 0 169px;
	padding-left: 10px;
	position: relative;
	background: #F4F2E8;
}
#CONTENTS .apply::after {
	content: '';
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	bottom: -49px;
	background: url(../img/bg03.png) no-repeat center center / 100% 100%;
}
#CONTENTS .apply .text01 {
	margin-bottom: 44px;
	text-align: center;
	font-size: min(2.545vw, 28px);
	line-height: 1.62;
}
#CONTENTS .apply .text02 {
	margin-bottom: 138px;
	text-align: center;
	font-size: min(2.182vw, 24px);
	line-height: 1.62;
}
#CONTENTS .apply .step_list > li {
	margin-bottom: 154px;
	padding: 45px 75px 43px;
	position: relative;
	border-radius: 46px;
	border: 4px solid #7672A8;
	background: #fff;
}
#CONTENTS .apply .step_list > li::after {
	width: 0;
	height: 0;
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	bottom: -84px;
	border-top: 40px solid #7672A8;
	border-left: 49px solid transparent;
	border-right: 49px solid transparent;
	transform: translateX(-50%);
	content: '';
}
#CONTENTS .apply .step_list > li:last-child {
	margin-bottom: 0;
}
#CONTENTS .apply .step_list > li:last-child::after {
	display: none;
}
#CONTENTS .apply .step_list .ttl {
	box-sizing: border-box;
	padding: 9px 8px 5px;
	width: 382px;
	display: flex;
	align-items: center;
	position: absolute;
	left: 50%;
	top: -30px;
	text-align: center;
	color: #fff;
	font-size: 42px;
	font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	background: #7672A8;
	border-radius: 50px;
	transform: translateX(-50%);
}
#CONTENTS .apply .step_list .ttl .en {
	padding-left: 20px;
	padding-right: 10px;
	min-width: 144px;
	box-sizing: border-box;
	color: #F8E100;
	font-size: 37px;
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0.1em;
	white-space: nowrap;
	border-right: 2px solid #fff;
}
#CONTENTS .apply .step_list .ttl .txt {
	flex: 1;
}
#CONTENTS .apply .step_list .img_box {
	margin: 0 7px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#CONTENTS .apply .step_list .img_box .text_box {
	width: 65%;
}
#CONTENTS .apply .step_list .img_box .text_box p {
	font-weight: 500;
	font-size: 27px;
	color: #4C4A4A;
	line-height: 1.3;
}
#CONTENTS .apply .step_list .img_box .text_box p .inner_txt {
	font-size: 54px;
	font-weight: 700;
	line-height: 1.75;
	background: linear-gradient(#F8E100, #F8E100) no-repeat left bottom / 100% 17px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
#CONTENTS .apply .step_list .img_box .text_box p .sm {
	margin: 10px 0 0 10px;
	display: inline-block;
	vertical-align: 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 0.13em;
}
#CONTENTS .apply .step_list .img_box .photo_box {
	width: 29%;
}
#CONTENTS .apply .step_list .img_box .photo_box img {
	width: 100%;
}
#CONTENTS .apply .step_list .step02 {
	padding-top: 70px;
	padding-bottom: 37px;
}
#CONTENTS .apply .step_list .step02 .ttl {
	top: -36px;
}
#CONTENTS .apply .step_list .step02 .img_box {
	margin: 0 0 -53px;
	align-items: flex-start;
}
#CONTENTS .apply .step_list .step02 .img_box .text_box p .inner_txt {
	line-height: 1.5;
}
#CONTENTS .apply .step_list .step02 .img_box .text_box .note {
	margin-top: 12px;
	font-size: 21px;
	font-weight: 500;
}
#CONTENTS .apply .step_list .step02 .img_box .photo_box {
	margin-right: 1.7%;
	width: 23.5%;
}
#CONTENTS .apply .step_list .step03 .inner_box {
	position: relative;
}
#CONTENTS .apply .step_list .step03 .inner_box .logo {
	width: 272px;
	position: absolute;
	right: 0;
	top: 10px;
}
#CONTENTS .apply .step_list .step03 {
	padding-top: 63px;
}
#CONTENTS .apply .step_list .step03 p {
	font-size: 27px;
	font-weight: 600;
}
#CONTENTS .apply .step_list .step03 .txt_list {
	margin-bottom: 24px;
}
#CONTENTS .apply .step_list .step03 .txt_list li {
	margin-bottom: 6px;
	padding-left: 65px;
	position: relative;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.524;
}
#CONTENTS .apply .step_list .step03 .txt_list li:last-child {
	margin-bottom: 0;
}
#CONTENTS .apply .step_list .step03 .txt_list li .num {
	padding-top: 1px;
	box-sizing: border-box;
	width: 39px;
	height: 39px;
	position: absolute;
	left: 7px;
	top: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 36px;
	font-weight: 800;
	font-family: "Roboto Condensed", "Noto Sans JP", sans-serif;
	line-height: 1;
	border-radius: 4px;
	background: #7672A8;
}
#CONTENTS .apply .step_list .step03 .txt_list li .txt {
	background: linear-gradient(#F8E100, #F8E100) no-repeat left bottom / 100% 17px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
#CONTENTS .apply .step_list .step03 .photo {
	text-align: center;
	margin-bottom: 20px;
}
#CONTENTS .apply .step_list .step03 .photo img {
	width: 939px;
}
#CONTENTS .apply .btn {
	background: #fff;
	position: relative;
	z-index: 1;
}
#CONTENTS .apply .btn a {
	padding: 15px;
	display: block;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 27px;
	line-height: 1.5;
	background: #4AA3DF;
}
#CONTENTS .apply .btn03 a {
	background: #4C71AA;
}
#CONTENTS .apply .btn a .txt {
	padding-right: 60px;
	padding-left: 10px;
	display: inline-block;
	color: #fff;
	line-height: inherit;
	background: url(../img/icon02.png) no-repeat right center / 28px;
}
#CONTENTS .apply .btn a.disabled {
	background: #A6B8D5;
	pointer-events: none;
	cursor: default;
}
#CONTENTS .apply .btn a.disabled .txt {
	padding: 0 !important;
	background: none !important;
}
#CONTENTS .service {
	padding: 170px 0 106px;
	position: relative;
}
#CONTENTS .service h2 {
	margin-bottom: 63px;
	text-align: center;
}
#CONTENTS .service h2 img {
	width: 936px;
}
#CONTENTS .service .inner_box {
	margin: 0 auto;
	max-width: 940px;
}
#CONTENTS .service .image01 {
	margin: 0 0 43px;
	text-align: center;
}
#CONTENTS .service .image01 img {
	width: 940px;
}
#CONTENTS .service .text {
	margin-bottom: 5px;
	font-weight: 400;
	font-size: min(2.336vw, 27px);
	letter-spacing: 0.05em;
	line-height: 1.587;
}
#CONTENTS .service .note {
	margin-bottom: 37px;
	font-size: min(1.384vw, 16px);
	font-weight: 400;
	letter-spacing: 0;
}
#CONTENTS .service .image02 {
	margin-bottom: 43px;
	text-align: center;
}
#CONTENTS .service .link_box {
	margin: 0 auto 44px;
	max-width: 680px;
	box-sizing: border-box;
	padding: 15px 15px 33px;
	background: #F4F2E8;
	border-radius: 16px;
}
#CONTENTS .service .link_box p {
	margin-bottom: 12px;
	text-align: center;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: 0.04em;
}
#CONTENTS .service .link_box .btn {
	margin: 0 auto;
	width: 494px;
}
#CONTENTS .service .link_box .btn a {
	padding: 13px 15px 14px;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.06em;
	background: #4C71AA;
	border-radius: 9px;
}
#CONTENTS .service .link_box .btn a span {
	padding-right: 46px;
	display: inline-block;
	background: url(../img/icon02.png) no-repeat right center / 28px;
}
#CONTENTS .service .note_list {
	margin: 0 auto;
	max-width: 930px;
}
#CONTENTS .service .note_list li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.72;
}
#CONTENTS .important {
	padding: 27px 0 66px;
	position: relative;
	background: #E4E3EE;
}
#CONTENTS .important::before,
#CONTENTS .important::after {
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	background: url(../img/bg04.png) no-repeat center center / 100% 100%;
	content: '';
}
#CONTENTS .important::before {
	top: -49px;
}
#CONTENTS .important::after {
	bottom: -49px;
	background-image: url(../img/bg05.png);
}
#CONTENTS .important .heading01 {
	margin-bottom: 20px;
}
#CONTENTS .important .list_box {
	margin: 0 auto;
	max-width: 936px;
	border-top: 3px dotted #4C4A4A;
}
#CONTENTS .important .list_box .list_item {
	padding: 22px 0 23px;
	border-bottom: 3px dotted #4C4A4A;
}
#CONTENTS .important .list_box .text_list {
	font-size: min(1.818vw, 20px);
	line-height: 1.885;
}
#CONTENTS .important .list_box .text_list > li {
	padding-left: 1em;
	text-indent: -1em;
}
#CONTENTS .important .list_box .text_list .sub_list {
	margin: 40px 0 39px 0;
}
#CONTENTS .important .list_box .text_list .sub_list > li {
	padding-left: 0.5em;
	text-indent: -0.5em;
	font-size: min(1.818vw, 20px);
	line-height: 1.88;
}
#CONTENTS .important .list_box .sub_ttl {
	font-size: min(1.818vw, 20px);
	font-weight: 500;
	line-height: 1.88;
}
#CONTENTS .important .list_box a {
	color: inherit !important;
}
#CONTENTS .faq {
	padding: 110px 0 152px;
	position: relative;
}
#CONTENTS .faq .heading01 {
	margin-bottom: 35px;
}
#CONTENTS .faq .faq_list {
	margin: 0 auto 56px;
	max-width: 940px;
	border-bottom: 2px dotted #4C4A4A;
}
#CONTENTS .faq .faq_list dt {
	margin-top: 5px;
	padding: 14px 50px 14px 2px;
	display: flex;
	gap: 5px;
	position: relative;
	cursor: pointer;
	border-top: 2px dotted #4C4A4A;
}
#CONTENTS .faq .faq_list dt:first-child {
	margin-top: 0;
}
#CONTENTS .faq .faq_list dt::before {
	width: 19px;
	height: 3px;
	position: absolute;
	right: 22px;
	top: 29px;
	background: #4C4A4A;
	content: '';
}
#CONTENTS .faq .faq_list dt::after {
	width: 3px;
	height: 19px;
	position: absolute;
	right: 30px;
	top: 21px;
	background: #4C4A4A;
	content: '';
}
#CONTENTS .faq .faq_list dt.on::after {
	display: none;
}
#CONTENTS .faq .faq_list dt .num {
	margin-top: 3px;
	width: min(5.818vw, 64px);
	display: block;
	flex-shrink: 0;
	font-size: min(2.909vw, 32px);
	font-weight: 700;
	font-family: "Roboto Condensed", sans-serif;
	line-height: 1.05;
}
#CONTENTS .faq .faq_list dt .ttl {
	margin-top: 4px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	flex: 1;
	font-size: min(1.818vw, 20px);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.44;
}
#CONTENTS .faq .faq_list dt .ttl .tag {
	margin-top: 4px;
	padding: 3px 9px 4px;
	box-sizing: border-box;
	min-width: min(10.909vw, 120px);
	text-align: center;
	color: #fff;
	font-size: min(1.182vw, 13px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	background: #CA6267;
	border-radius: 50px;
}
#CONTENTS .faq .faq_list dt .ttl .tag01 {
	background: #6091D0;
}
#CONTENTS .faq .faq_list dt .ttl .tag02 {
	background: #81BC80;
}
#CONTENTS .faq .faq_list dt .ttl .tag03 {
	background: #DF5FC1;
}
#CONTENTS .faq .faq_list dt .ttl .tag04 {
	background: #947DFF;
}
#CONTENTS .faq .faq_list dt .ttl .tag05 {
	background: #999999;
}
#CONTENTS .faq .faq_list dt .ttl .txt {
	flex: 1;
}
#CONTENTS .faq .faq_list dd {
	display: none;
}
#CONTENTS .faq .faq_list dd .inner_wrap {
	padding: 16px 40px 16px 72px;
	position: relative;
}
#CONTENTS .faq .faq_list dd .num {
	display: block;
	position: absolute;
	left: 0;
	top: 18px;
	font-size: min(2.909vw, 32px);
	font-weight: 700;
	font-family: "Roboto Condensed", sans-serif;
	line-height: 1.05;
	white-space: nowrap;
}
#CONTENTS .faq .faq_list dd p {
	margin-bottom: min(1.909vw, 21px);
	font-size: min(1.818vw, 20px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}
#CONTENTS .faq .faq_list dd p:last-child {
	margin-bottom: 0 !important;
}
#CONTENTS .faq .faq_list dd p sup {
	font-size: 60%;
}
#CONTENTS .faq .faq_list dd .sm {
	font-size: 16px;
}
#CONTENTS .faq .faq_list dd .info_box {
	max-width: 481px;
	padding: 8px 16px 18px;
	background: #F4F2E8;
	box-sizing: border-box;
}
#CONTENTS .faq .faq_list dd .info_box p {
	margin: 0;
	font-weight: 500;
	font-size: min(1.455vw, 16px);
	line-height: 1.75;
}
#CONTENTS .faq .faq_list dd .info_box .sub_ttl {
	font-weight: 700;
	color: #7672a8;
}
#CONTENTS .faq .faq_list dd .info_box p a {
	text-decoration: underline;
	color: inherit;
}
#CONTENTS .faq .faq_list dd .info_box p a[href^="tel:"] {
	text-decoration: none !important;
}
#CONTENTS .faq .link_box .ttl {
	margin-bottom: 50px;
	text-align: center;
	font-weight: 700;
	font-size: 27px;
	letter-spacing: 0.04em;
}
#CONTENTS .faq .link_box .link_list {
	margin-bottom: 58px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px min(5vw, 90px);
}
#CONTENTS .faq .link_box .link_list li a {
	padding: 0 min(4.091vw, 45px) 2px 0;
	display: block;
	width: fit-content;
	font-size: 20px;
	font-weight: 500;
	text-decoration: none !important;
	background: url(../img/icon03.png) no-repeat right center / 15px;
}
#CONTENTS .faq .link_box .btn {
	display: flex;
	justify-content: center;
}
#CONTENTS .faq .link_box .btn a {
	padding: 10px 60px 10px 40px;
	display: block;
	font-weight: 500;
	font-size: 20px;
	color: #fff;
	text-decoration: none !important;
	background: #7672A8 url(../img/icon04.png) no-repeat right 20px center / 15px;
	border-radius: 50px;
}
#CONTENTS .contact {
	padding: 126px 0 237px;
	position: relative;
	background: #7672A8;
}
#CONTENTS .contact::before {
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	top: -49px;
	background: url(../img/bg06.png) no-repeat center center / 100% 100%;
	content: '';
}
#CONTENTS .contact .inner_box {
	padding: 1px 50px 39px;
	background: #fff;
	border-radius: 46px;
}
#CONTENTS .contact .heading01 {
	margin-top: -57px;
	margin-bottom: 18px;
}
#CONTENTS .contact .text01 {
	margin-bottom: 35px;
	text-align: center;
	font-size: min(2.455vw, 27px);
	font-weight: 400;
	letter-spacing: 0.05em;
}
#CONTENTS .contact .name {
	margin-bottom: 38px;
	text-align: center;
}
#CONTENTS .contact .name img {
	width: 342px;
}
#CONTENTS .contact .tel {
	text-align: center;
	margin-bottom: 19px;
}
#CONTENTS .contact .tel a {
	display: inline-block;
}
#CONTENTS .contact .tel img {
	width: 533px;
}
#CONTENTS .contact .text02 {
	margin-bottom: 32px;
	text-align: center;
	font-size: min(2.182vw, 24px);
	line-height: 1.55;
	letter-spacing: 0.05em;
}
#CONTENTS .contact .cta_btn {
	margin-bottom: 34px;
	display: flex;
	justify-content: center;
}
#CONTENTS .contact .cta_btn a {
	box-sizing: border-box;
	padding: 28px 25px 26px;
	width: 522px;
	display: block;
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-decoration: none !important;
	border-radius: 60px;
	background: #F4F2E8;
}
#CONTENTS .contact .cta_btn a span {
	display: inline-block;
	padding: 0 0 3px 66px;
	background: url(../img/icon05.png) no-repeat left center / 42px;
}
#CONTENTS .contact .note {
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.06em;
}
#CONTENTS .fix_btn {
	width: 100%;
	display: flex;
	justify-content: center;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 20;
}
#CONTENTS .fix_btn.on {
	position: absolute;
}
#CONTENTS .fix_btn a {
	padding: 23px 20px;
	width: 755px;
	max-width: 100%;
	display: block;
	text-align: center;
	font-weight: 700;
	font-size: 39px;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	border-radius: 30px 30px 0 0;
	background: #F8E100;
	box-sizing: border-box;
}
#CONTENTS .fix_btn a span {
	display: inline-block;
	padding-right: 68px;
	letter-spacing: 0.04em;
	background: url(../img/icon06.png) no-repeat right center / 37px;
}
#CONTENTS .fix_btn a.disabled {
	color: #949392;
	background: #FCF080;
	pointer-events: none;
	cursor: default;
}
#CONTENTS .fix_btn a.disabled span {
	color: #949392 !important;
	padding: 0 !important;
	background: none !important;
}
@media screen and (min-width: 768px) {
	#CONTENTS .apply .btn a:hover,
	#CONTENTS .service .link_box .btn a:hover,
	#CONTENTS .faq .link_box .link_list li a:hover,
	#CONTENTS .faq .link_box .btn a:hover,
	#CONTENTS .contact .cta_btn a:hover,
	#CONTENTS .fix_btn a:hover {
		opacity: 0.7;
	}
	#CONTENTS .campaign_details .coupon .btn button:hover {
		opacity: 0.7;
	}
	#CONTENTS .faq .faq_list dd .info_box p a:hover {
		text-decoration: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1156px) {
	#CONTENTS .campaign_details .time_box {
		margin: 2.595vw 0 2.422vw;
		padding: 3.374vw 0.865vw 3.46vw 2.163vw;
		border-radius: 1.038vw;
	}
	#CONTENTS .campaign_details .time_list {
		gap: 3.114vw 1.73vw;
	}
	#CONTENTS .campaign_details .time_list dt {
		width: 14.706vw;
	}
	#CONTENTS .campaign_details .time_list dt span {
		margin-top: 0.26vw;
		padding: 0.865vw 0.433vw 1.125vw;
		font-size: 2.422vw;
		border-radius: 0.952vw;
	}
	#CONTENTS .campaign_details .time_list dd {
		width: calc(100% - 16.436vw);
		font-size: 2.682vw;
	}
	#CONTENTS .campaign_details .text_list {
		margin: 0 0 5.19vw 2.422vw;
		gap: 1.644vw 0;
	}
	#CONTENTS .campaign_details .text_list dt {
		margin-top: 0.952vw;
		padding: 0 1.298vw;
		width: 14.706vw;
		font-size: 2.422vw;
		background-size: 1.211vw;
	}
	#CONTENTS .campaign_details .text_list dd {
		width: calc(100% - 14.706vw);
		padding-left: 1.73vw;
		font-size: 2.941vw;
	}
	#CONTENTS .apply .step_list > li {
		padding: 3.893vw 6.488vw 3.72vw;
		border-radius: 3.979vw;
	}
	#CONTENTS .apply .step_list .ttl {
		padding: 0.779vw 0.692vw 0.433vw;
		width: 33.045vw;
		top: -2.595vw;
		font-size: 3.633vw;
	}
	#CONTENTS .apply .step_list .ttl .en {
		padding-left: 1.73vw;
		padding-right: 0.865vw;
		min-width: 12.457vw;
		font-size: 3.201vw;
	}
	#CONTENTS .apply .step_list .img_box {
		margin: 0 0.606vw 2.768vw;
	}
	#CONTENTS .apply .step_list .img_box .text_box p {
		font-size: 2.336vw;
	}
	#CONTENTS .apply .step_list .img_box .text_box p .inner_txt {
		font-size: 4.671vw;
	}
	#CONTENTS .apply .step_list .img_box .text_box p .sm {
		margin: 0.865vw 0 0 0.865vw;
		font-size: 2.076vw;
	}
	#CONTENTS .apply .step_list .step02 {
		padding-top: 6.055vw;
		padding-bottom: 3.201vw;
	}
	#CONTENTS .apply .step_list .step02 .ttl {
		top: -3.114vw;
	}
	#CONTENTS .apply .step_list .step02 .img_box {
		margin: 0 0 -4.325vw;
	}
	#CONTENTS .apply .step_list .step02 .img_box .text_box .note {
		margin-top: 1.211vw;
		font-size: 1.817vw;
	}
	#CONTENTS .apply .step_list .step03 .inner_box .logo {
		width: 23.529vw;
		top: 0.865vw;
	}
	#CONTENTS .apply .step_list .step03 {
		padding-top: 5.45vw;
	}
	#CONTENTS .apply .step_list .step03 p {
		font-size: 2.336vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list {
		margin-bottom: 2.076vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li {
		margin-bottom: 0.519vw;
		padding-left: 5.623vw;
		font-size: 3.114vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li .num {
		padding-top: 0.087vw;
		width: 3.374vw;
		height: 3.374vw;
		left: 0.606vw;
		top: 1.038vw;
		font-size: 3.114vw;
	}
	#CONTENTS .apply .step_list .step03 .photo {
		margin-bottom: 1.73vw;
	}
	#CONTENTS .apply .btn a {
		padding: 1.298vw;
		font-size: 2.334vw;
	}
	#CONTENTS .apply .btn a .txt {
		padding-right: 5.186vw;
		padding-left: 0.864vw;
		background-size: 2.42vw;
	}
}
@media screen and (max-width: 767px) {
	#main_visual p {
		padding: 2.821vw 5.128vw;
	}
	#main_visual p img {
		width: 86.153vw !important;
	}
	/* CONTENTS */
	#CONTENTS .content {
		margin: 0 3.077vw;
		width: auto;
		max-width: initial;
	}
	#CONTENTS .campaign_details {
		margin-top: 0;
		padding: 7.179vw 0 4.103vw;
	}
	#CONTENTS .campaign_details::before,
	#CONTENTS .campaign_details::after {
		height: 7.692vw;
	}
	#CONTENTS .campaign_details::before {
		top: -7.436vw;
	}
	#CONTENTS .campaign_details::after {
		bottom: -7.436vw;
	}
	#CONTENTS .campaign_details .content {
		padding: 0.256vw 4.359vw 6.667vw;
		border-radius: 5.641vw;
	}
	#CONTENTS .campaign_details h2 {
		margin: -6.923vw 0 2.95vw;
	}
	#CONTENTS .campaign_details h2 img {
		width: 55.897vw;
	}
	#CONTENTS .campaign_details .image {
		margin: 0 -2.821vw 2vw 0;
	}
	#CONTENTS .campaign_details .image img {
		width: 100%;
	}
	#CONTENTS .campaign_details .time_box {
		margin: 3.6vw 0.513vw 2.5vw 0.256vw;
		padding: 4.103vw 3.846vw 3.59vw 5.128vw;
		border-radius: 1.538vw;
	}
	#CONTENTS .campaign_details .time_list {
		margin-right: -2vw;
		gap: 4.359vw 4.5vw;
	}
	#CONTENTS .campaign_details .time_list dt {
		width: 15.385vw;
	}
	#CONTENTS .campaign_details .time_list dt span {
		margin-top: 0.769vw;
		padding: 1.026vw;
		font-size: 4.103vw;
		line-height: 1.4;
		border-radius: 1.795vw;
	}
	#CONTENTS .campaign_details .time_list dd {
		width: calc(100% - 20.513vw);
		font-size: 4.615vw;
	}
	#CONTENTS .campaign_details .text_list {
		margin: 0 0 2.821vw;
		flex-direction: column;
		align-items: center;
		gap: 1.58vw 0;
	}
	#CONTENTS .campaign_details .text_list dt {
		margin: 0;
		padding: 0 2.564vw;
		width: 31.282vw;
		font-size: 5.128vw;
		background-size: 2.564vw;
		line-height: 1.5;
	}
	#CONTENTS .campaign_details .text_list dd {
		width: 100%;
		padding: 0 0 1.282vw;
		font-size: 4.103vw;
		text-align: center;
		line-height: 1.5625;
	}
	#CONTENTS .campaign_details .coupon {
		margin-bottom: 5.128vw;
		padding: 1.795vw 4.359vw 4.615vw;
		border-radius: 2.308vw;
	}
	#CONTENTS .campaign_details .coupon .ttl {
		margin-bottom: 1.538vw;
		font-size: 3.846vw;
		letter-spacing: 0;
	}
	#CONTENTS .campaign_details .coupon .code {
		margin-bottom: 4.615vw;
		width: auto;
	}
	#CONTENTS .campaign_details .coupon .code input {
		height: 14.35vw;
		font-size: 10.769vw;
		border-radius: 1.282vw;
	}
	#CONTENTS .campaign_details .coupon .btn {
		width: auto;
	}
	#CONTENTS .campaign_details .coupon .btn a {
		padding: 4.103vw 2.564vw 4.103vw;
		font-size: 3.846vw;
		border-radius: 1.795vw;
	}
	#CONTENTS .campaign_details .coupon .btn a span {}
	#CONTENTS .campaign_details .coupon .btn button {
		padding: 4.103vw 2.564vw 4.103vw;
		font-size: 3.846vw;
		border-radius: 1.795vw;
	}
	#CONTENTS .campaign_details .coupon .btn button span {
		padding: 0 9.231vw 0.513vw 1.538vw;
		letter-spacing: 0;
		background-size: 4.615vw;
	}
	#CONTENTS .campaign_details .note {
		font-size: 2.564vw;
		line-height: 1.593;
	}
	#CONTENTS .heading01 {
		margin-bottom: 2.821vw;
	}
	#CONTENTS .heading01 img {
		height: 10.769vw;
		object-fit: contain;
	}
	#CONTENTS .apply {
		padding: 11.282vw 0 4.8vw;
	}
	#CONTENTS .apply::after {
		height: 6.1vw;
		bottom: -6vw;
		background-color: #fff;
	}
	#CONTENTS .apply .text01 {
		margin-bottom: 7.179vw;
		font-size: 4.103vw;
		line-height: 1.68;
	}
	#CONTENTS .apply .text02 {
		margin-bottom: 11vw;
		font-size: 3.846vw;
		line-height: 1.68;
	}
	#CONTENTS .apply .image {
		margin-right: -0.256vw;
	}
	#CONTENTS .apply .image img {
		width: 100%;
	}
	#CONTENTS .apply .step_list > li {
		margin-bottom: 17.436vw;
		padding: 5vw 3.8vw 4.6vw;
		border-radius: 5.897vw;
		border-width: 1vw;
	}
	#CONTENTS .apply .step_list > li::after {
		bottom: -9.744vw;
		border-left-width: 5.385vw;
		border-right-width: 5.385vw;
		border-top-width: 4.615vw;
	}
	#CONTENTS .apply .step_list > li:last-child {
		margin-bottom: 0;
	}
	#CONTENTS .apply .step_list .ttl {
		padding: 1.282vw 1.282vw 1.026vw;
		width: 56.154vw;
		top: -5.6vw;
		font-size: 6.154vw;
	}
	#CONTENTS .apply .step_list .ttl .en {
		padding: 0 1.026vw;
		min-width: 20.513vw;
		font-size: 5.385vw;
		border-right-width: 1px;
	}
	#CONTENTS .apply .step_list .img_box {
		margin: 0 0 5.641vw;
	}
	#CONTENTS .apply .step_list .img_box {
		display: block;
	}
	#CONTENTS .apply .step_list .img_box .text_box {
		margin-bottom: 2.3vw;
		width: auto;
	}
	#CONTENTS .apply .step_list .img_box .text_box p {
		font-size: 3.846vw;
	}
	#CONTENTS .apply .step_list .img_box .text_box p .inner_txt {
		padding: 0 1.282vw;
		font-size: 7.692vw;
		line-height: 1.88;
		background-size: 100% 2.564vw;
	}
	#CONTENTS .apply .step_list .img_box .text_box p .sm {
		margin: 1.282vw 0 0 1.282vw;
		font-size: 3.59vw;
		line-height: 1.3;
	}
	#CONTENTS .apply .step_list .img_box .photo_box {
		width: auto;
		margin: 0 -0.513vw;
	}
	#CONTENTS .apply .step_list .step02 {
		padding-top: 6.7vw;
		padding-bottom: 4vw;
	}
	#CONTENTS .apply .step_list .step02 .ttl {
		top: -5.6vw;
	}
	#CONTENTS .apply .step_list .step02 .img_box {
		margin: 0;
		position: relative;
	}
	#CONTENTS .apply .step_list .step02 .img_box .text_box {
		margin-bottom: 0;
		padding-bottom: 1.795vw;
	}
	#CONTENTS .apply .step_list .step02 .img_box .text_box .note {
		margin-top: 3.077vw;
		margin-left: -1.026vw;
		font-size: 3.077vw;
		line-height: 1.5;
	}
	#CONTENTS .apply .step_list .step02 .img_box .photo_box {
		margin: 0;
		width: 46%;
		position: absolute;
		right: 0.256vw;
		bottom: -1.538vw;
	}
	#CONTENTS .apply .step_list .step03 .inner_box .logo {
		width: 38.462vw;
		margin: 0 auto 5.128vw;
		position: relative;
		right: auto;
		top: auto;
	}
	#CONTENTS .apply .step_list .step03 {
		padding-top: 6.41vw;
	}
	#CONTENTS .apply .step_list .step03 p {
		margin-bottom: 0.769vw;
		font-size: 3.846vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list {
		margin-bottom: 6.154vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li {
		margin-bottom: 0.7vw;
		padding-left: 7.692vw;
		font-size: 4.5vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li:last-child {
		margin-bottom: 0;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li .num {
		padding-top: 0;
		width: 4.872vw;
		height: 4.872vw;
		left: 0.256vw;
		top: 1.538vw;
		font-size: 4.359vw;
		border-radius: 0.513vw;
	}
	#CONTENTS .apply .step_list .step03 .txt_list li .txt {
		background-size: 100% 2.564vw;
	}
	#CONTENTS .apply .step_list .step03 .photo {
		margin-bottom: 6.667vw;
	}
	#CONTENTS .apply .step_list .step03 .photo img {
		width: 100%;
	}
	#CONTENTS .apply .btn a {
		padding: 2.8vw 2.5vw;
		font-size: 4.615vw;
		line-height: 1.5;
	}
	#CONTENTS .apply .btn a .txt {
		padding-right: 10.256vw;
		padding-left: 1.282vw;
		background-size: 4.872vw;
	}
	#CONTENTS .service {
		padding: 8.2vw 0 12.308vw;
	}
	#CONTENTS .service h2 {
		margin-bottom: 5.7vw;
	}
	#CONTENTS .service h2 img {
		width: 64.359vw;
	}
	#CONTENTS .service .inner_box {
		margin: 0 4.5vw;
		max-width: initial;
	}
	#CONTENTS .service .image01 {
		margin: 0 0 5.128vw;
	}
	#CONTENTS .service .image01 img {
		width: 100%;
	}
	#CONTENTS .service .text {
		margin-bottom: 1.026vw;
		font-size: 3.077vw;
		line-height: 1.85;
	}
	#CONTENTS .service .note {
		margin-bottom: 7.692vw;
		font-size: 2.564vw;
	}
	#CONTENTS .service .image02 {
		margin: 0 -3.846vw 2.564vw -0.513vw;
	}
	#CONTENTS .service .image02 img {
		width: 100%;
	}
	#CONTENTS .service .link_box {
		margin-bottom: 4.615vw;
		max-width: initial;
		padding: 1.282vw 4.359vw 3.59vw;
		border-radius: 2.051vw;
	}
	#CONTENTS .service .link_box p {
		margin-bottom: 0.513vw;
		font-size: 4.103vw;
	}
	#CONTENTS .service .link_box .btn {
		width: auto;
	}
	#CONTENTS .service .link_box .btn a {
		padding: 2.564vw 2.564vw 2.821vw;
		font-size: 4.615vw;
		border-radius: 1.538vw;
	}
	#CONTENTS .service .link_box .btn a span {
		padding-right: 8.974vw;
		background-size: 4.615vw;
		background-position: right 0.769vw center;
	}
	#CONTENTS .service .note_list {
		max-width: initial;
	}
	#CONTENTS .service .note_list li {
		font-size: 2.564vw;
		letter-spacing: 0;
		line-height: 1.593;
	}
	#CONTENTS .important {
		padding: 3.333vw 0 4.872vw;
	}
	#CONTENTS .important::before,
	#CONTENTS .important::after {
		height: 7.692vw;
	}
	#CONTENTS .important::before {
		top: -7.436vw;
	}
	#CONTENTS .important::after {
		bottom: -7.436vw;
	}
	#CONTENTS .important .heading01 {
		margin: 0 0 7.692vw;
	}
	#CONTENTS .important .heading01 img {
		height: 12.564vw;
	}
	#CONTENTS .important .list_box {
		margin: 0 0.256vw;
		max-width: initial;
		border-width: 0.513vw;
	}
	#CONTENTS .important .list_box .list_item {
		padding: 3.077vw 0;
		border-width: 0.513vw;
	}
	#CONTENTS .important .list_box .text_list {
		font-size: 3.077vw;
		line-height: 1.753;
	}
	#CONTENTS .important .list_box .text_list .sub_list {
		margin: 5.128vw 0 5.385vw 0;
	}
	#CONTENTS .important .list_box .text_list .sub_list > li {
		padding-left: 0;
		text-indent: 0;
		font-size: 3.077vw;
		line-height: 1.753;
	}
	#CONTENTS .important .list_box .sub_ttl {
		font-size: 3.077vw;
		line-height: 1.753;
	}
	#CONTENTS .important .list_box a {
		text-decoration: underline !important;
	}
	#CONTENTS .faq {
		padding: 14.103vw 0 17.436vw;
	}
	#CONTENTS .faq .heading01 {
		margin-bottom: 6.41vw;
	}
	#CONTENTS .faq .heading01 img {
		height: 12vw;
	}
	#CONTENTS .faq .faq_list {
		margin: 0 1.282vw 6.154vw;
		max-width: initial;
	}
	#CONTENTS .faq .faq_list dt {
		margin-top: 0;
		padding: 1.538vw 12.821vw 2.821vw 0;
		display: flex;
		gap: 1.282vw;
	}
	#CONTENTS .faq .faq_list dt:first-child {
		margin-top: 0;
	}
	#CONTENTS .faq .faq_list dt::before {
		width: 2.821vw;
		height: 0.256vw;
		right: 3.077vw;
		top: 4.103vw;
	}
	#CONTENTS .faq .faq_list dt::after {
		width: 0.256vw;
		height: 2.821vw;
		right: 4.359vw;
		top: 2.821vw;
	}
	#CONTENTS .faq .faq_list dt .num {
		margin-top: 0.256vw;
		width: 9.231vw;
		font-size: 4.103vw;
	}
	#CONTENTS .faq .faq_list dt .ttl {
		margin-top: 0;
		flex-direction: column;
		gap: 1.282vw;
		font-size: 3.59vw;
	}
	#CONTENTS .faq .faq_list dt .ttl .tag {
		margin-top: 0;
		padding: 0.513vw 2.051vw 0.769vw;
		min-width: 22.821vw;
		font-size: 2.564vw;
		letter-spacing: 0;
	}
	#CONTENTS .faq .faq_list dd .inner_wrap {
		padding: 1.282vw 7.692vw 2.564vw 10.513vw;
	}
	#CONTENTS .faq .faq_list dd .num {
		top: 2.308vw;
		font-size: 3.59vw;
	}
	#CONTENTS .faq .faq_list dd p {
		margin-bottom: 2.564vw;
		font-size: 3.59vw;
	}
	#CONTENTS .faq .faq_list dd .sm {
		font-size: 3.077vw;
	}
	#CONTENTS .faq .faq_list dd .info_box {
		padding: 3.846vw;
		max-width: 100%;
	}
	#CONTENTS .faq .faq_list dd .info_box p {
		font-size: 3.333vw;
	}
	#CONTENTS .faq .link_box .ttl {
		margin-bottom: 6vw;
		font-size: 5.128vw;
		line-height: 1.3;
	}
	#CONTENTS .faq .link_box .link_list {
		margin: 0 auto 6.4vw;
		width: fit-content;
		flex-direction: column;
		gap: 2.8vw 0;
	}
	#CONTENTS .faq .link_box .link_list li a {
		padding: 0 8vw 0.513vw 0;
		font-size: 3.846vw;
		background-size: 2.821vw;
		line-height: 1.5;
	}
	#CONTENTS .faq .link_box .btn a {
		padding: 1.795vw 10.769vw 1.9vw 7.436vw;
		font-size: 3.846vw;
		background-position: right 3.846vw center;
		background-size: 2.821vw;
	}
	#CONTENTS .contact {
		padding: 12.051vw 0 22.051vw;
	}
	#CONTENTS .contact::before {
		height: 7.692vw;
		top: -7.436vw;
	}
	#CONTENTS .contact .inner_box {
		padding: 0.256vw 5.128vw 3.59vw;
		border-radius: 4.103vw;
	}
	#CONTENTS .contact .heading01 {
		margin-top: -8.462vw;
		margin-bottom: 3.333vw;
	}
	#CONTENTS .contact .heading01 img {
		height: 17.18vw;
	}
	#CONTENTS .contact .text01 {
		margin-bottom: 4.3vw;
		font-size: 3.59vw;
		line-height: 1.55;
	}
	#CONTENTS .contact .name {
		margin-bottom: 4.1vw;
	}
	#CONTENTS .contact .name img {
		width: 44.103vw;
	}
	#CONTENTS .contact .tel {
		margin-bottom: 4.359vw;
	}
	#CONTENTS .contact .tel img {
		width: 78.462vw;
	}
	#CONTENTS .contact .text02 {
		margin-bottom: 2.6vw;
		font-size: 3.077vw;
	}
	#CONTENTS .contact .cta_btn {
		margin-bottom: 3.846vw;
	}
	#CONTENTS .contact .cta_btn a {
		padding: 4.359vw 3.846vw 4.1vw;
		width: 80vw;
		font-size: 3.59vw;
	}
	#CONTENTS .contact .cta_btn a span {
		padding: 0.256vw 0 0.256vw 10.256vw;
		background-size: 6.41vw;
	}
	#CONTENTS .contact .note {
		font-size: 2.564vw;
		letter-spacing: 0;
	}
	#CONTENTS .fix_btn a {
		padding: 3.5vw 2vw 3.95vw;
		width: 78.205vw;
		font-size: 4.103vw;
		border-radius: 3.333vw 3.333vw 0 0;
	}
	#CONTENTS .fix_btn a span {
		padding-right: 9.231vw;
		padding-left: 0.769vw;
		background-size: 4.872vw;
	}
}
.holdings-footer__pagetop {
	z-index: 30;
}