@charset "Shift_JIS";

/**
 * Common
 */

body.renew_page #contents #contents_wrapper.tasuke_wrap {
	font-size: 16px;
	line-height: 1.5;
	margin: 0;
	width: 100%;
}

body.renew_page #contents .tasuke_wrap h2 {
	border: none;
	padding: 0;
	letter-spacing: normal;
	line-height: 1.5;
}

body.renew_page #contents .tasuke_wrap h3,
body.renew_page #contents .tasuke_wrap h4 {
	color: #333;
	letter-spacing: normal;
}

body.renew_page #contents .tasuke_wrap p,
.tasuke_wrap ol,
.tasuke_wrap ul,
.tasuke_wrap dl,
.tasuke_wrap li {
	line-height: 1.75;
}

.tasuke_wrap picture,
.tasuke_wrap img {
	height: auto;
	max-width: 100%;
}

ul.note_list {
	padding: 0 0 0 1em;
}

ul.note_list > li {
	position: relative;
}

ul.note_list > li::before {
	content: "\0203b";
	display: block;
	left: -1em;
	position: absolute;
	top: 0;
	width: 1em;
}

ul.def_list {
	padding: 0 0 0 1.5em;
	list-style-type: disc;
}

/**
 * Media Queriesimin-width: 641pxj
 */

@media screen and (min-width: 641px), print {
	/* Hero */
	.tasuke_hero_content {
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		width: 1170px;
	}

	.tasuke_sec_content {
		margin: 0 auto;
		width: 1130px;
	}

	.tasuke_hero {
		background: url(../images/bg_hero_pc.jpg) center top no-repeat;
	}

	body.renew_page #contents .tasuke_hero .note_list {
		color: #742;
		width: fit-content;
		font-size: 14px;
		margin: 0 50px 0 auto;
	}

	.tasuke_hero .note_list li {
		line-height: 1.5;
	}

	/* Gaiyo */
	.campaign_gaiyo {
		background: url(../images/bg_campaign_gaiyo.png) center top repeat-x;
		background-color: #fae1d2;
		background-size: 128px 10px;
		margin: 110px 0 0;
		padding: 70px 0 60px;
	}

	body.renew_page #contents h2.gaiyo_risu {
		margin: -160px 0 0;
		text-align: center;
	}

	body.renew_page #contents h2 + .gaiyo_content {
		margin-top: -28px !important;
	}

	.gaiyo_content {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
	}

	.gaiyo_chui {
		width: 310px;
	}

	body.renew_page #contents .gaiyo_chui h3 {
		background-color: #fff;
		font-size: 16px;
		font-weight: bold;
		margin: 0;
		padding: 6px;
		text-align: center;
	}

	body.renew_page #contents .gaiyo_chui .note_list {
		font-size: 14px;
		margin-top: 15px;
	}

	/* Step */
	.campaign_step {
		padding: 60px 0 80px;
	}

	body.renew_page #contents .campaign_step h2 {
		font-size: 40px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
		text-align: center;
	}

	body.renew_page #contents h2 + .step_content {
		margin-top: 40px !important;
	}

	.step_content {
		display: flex;
		justify-content: space-between;
	}

	.step_block {
		border: 4px solid #cc9977;
		border-radius: 16px;
		position: relative;
		width: 342px;
	}

	.step_block:not(:first-child)::before {
		border-color: transparent transparent transparent #fa5;
		border-style: solid;
		border-width: 20px 0 20px 20px;
		content: "";
		height: 0;
		left: -32px;
		margin-top: -20px;
		position: absolute;
		top: 50%;
		width: 0;
	}

	.step_head {
		background-color: #cc9977;
		color: #fff;
		font-size: 32px;
		font-weight: bold;
		line-height: 1;
		padding: 4px 0 14px;
		position: relative;
		text-align: center;
	}

	.step_head span {
		left: 40px;
		position: absolute;
		top: -20px;
	}

	.step_block_body {
		padding: 25px 19px 14px;
	}

	body.renew_page #contents .step_block h3 {
		border-bottom: 1px solid #c97;
		font-size: 24px;
		font-weight: bold;
		margin: 15px 0 0;
		padding: 0 0 4px;
		text-align: center;
	}

	body.renew_page #contents .step_block p {
		margin: 10px 0 0;
	}

	/* Form */
	.campaign_form {
		background-color: #fff5e1;
		padding: 60px 0 80px;
	}

	body.renew_page #contents .campaign_form h2 {
		font-size: 40px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
		text-align: center;
	}

	body.renew_page #contents h2 + .form_content {
		margin-top: 40px !important;
	}

	/* Notice */
	.campaign_notice {
		padding: 80px 0;
	}

	.notice_content:not(:first-child) {
		margin: 60px 0 0;
	}

	.notice_head {
		background-color: #ddd;
		display: flex;
		justify-content: center;
		padding: 12px 12px 14px;
	}

	body.renew_page #contents .campaign_notice h2 {
		font-size: 22px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
	}

	.notice_body {
		margin-top: 30px;
	}

	.notice_body .def_list li {
		margin-top: .5em;
	}

	body.renew_page #contents .notice_body .def_list + .note_list {
		margin-top: 1.5em;
	}

	/* Link */
	.tasuke_link {
		border-top: 1px solid #ddd;
		padding: 60px 0 0;
	}

	.link_head {
		display: flex;
		justify-content: center;
	}

	body.renew_page #contents .tasuke_link h2 {
		background: url(../images/ico_search.png) center left no-repeat;
		background-size: 32px;
		font-size: 24px;
		font-weight: bold;
		line-height: 32px;
		margin: 0;
		padding: 0 0 0 36px;
	}

	.tasuke_link_banner {
		margin: 40px auto 0;
		width: 810px;
	}

	body.renew_page #contents .tasuke_link_banner a {
		border: 1px solid #ddd;
		display: block;
		padding: 4px;
		transition: border-color 0.2s ease-in;
	}

	body.renew_page #contents .tasuke_link_banner a:hover {
		border-color: #1269c9;
		opacity: 1;
	}
}

/**
 * Media Queriesimax-width: 640pxj
 */

@media screen and (max-width: 640px) {
	/* Hero */
	.tasuke_hero_content {
		width: 100%;
	}

	.tasuke_sec_content {
		margin: 0 5.5%;
		width: auto;
	}

	body.renew_page #contents .tasuke_hero .note_list {
		color: #742;
		font-size: 14px;
		margin: 8px 3% 0;
	}

	.tasuke_hero .note_list li {
		line-height: 1.5;
	}

	/* Gaiyo */
	.campaign_gaiyo {
		background: url(../images/bg_campaign_gaiyo.png) center top repeat-x;
		background-color: #fae1d2;
		background-size: 128px 10px;
		margin: 110px 0 0;
		padding: 60px 0 45px;
	}

	body.renew_page #contents h2.gaiyo_risu {
		margin: -140px auto 0;
		text-align: center;
		width: 280px;
	}

	body.renew_page #contents h2 + .gaiyo_content {
		margin-top: -5px !important;
	}

	.gaiyo_key {
		margin: 20px 0 0;
	}

	.gaiyo_chui {
		margin: 30px 0 0;
	}

	body.renew_page #contents .gaiyo_chui h3 {
		background-color: #fff;
		font-size: 16px;
		font-weight: bold;
		margin: 0;
		padding: 4px;
		text-align: center;
	}

	body.renew_page #contents .gaiyo_chui .note_list {
		font-size: 14px;
		margin-top: 10px;
	}

	/* Step */
	.campaign_step {
		padding: 45px 0 60px;
	}

	body.renew_page #contents .campaign_step h2 {
		font-size: 28px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
		text-align: center;
	}

	body.renew_page #contents h2 + .step_content {
		margin-top: 30px !important;
	}

	.step_block {
		border: 4px solid #cc9977;
		border-radius: 16px;
		position: relative;
	}

	.step_block:not(:first-child) {
		margin: 40px 0 0;
	}

	.step_block:not(:first-child)::before {
		border-color: #fa5 transparent transparent transparent;
		border-style: solid;
		border-width: 20px 20px 0 20px;
		content: "";
		height: 0;
		left: 50%;
		position: absolute;
		top: -32px;
		width: 0;
		margin-left: -20px;
	}

	.step_head {
		background-color: #cc9977;
		color: #fff;
		font-size: 28px;
		font-weight: bold;
		line-height: 1;
		padding: 4px 0 14px;
		position: relative;
		text-align: center;
	}

	.step_head span {
		position: absolute;
		height: 63px;
		left: 25px;
		top: -22px;
		width: 59px;
	}

	.step_block_body {
		padding: 20px 19px 14px;
	}

	.step_fig {
		margin: 0 auto;
		max-width: 304px;
	}

	body.renew_page #contents .step_block h3 {
		border-bottom: 1px solid #c97;
		font-size: 24px;
		font-weight: bold;
		margin: 15px 0 0;
		padding: 0 0 4px;
		text-align: center;
	}

	body.renew_page #contents .step_block p {
		margin: 10px 0 0;
	}

	/* Form */
	.campaign_form {
		background-color: #fff5e1;
		padding: 45px 0 60px;
	}


	body.renew_page #contents .campaign_form h2 {
		font-size: 28px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
		text-align: center;
	}

	body.renew_page #contents h2 + .form_content {
		margin-top: 30px !important;
	}

	/* Notice */
	.campaign_notice {
		padding: 60px 0;
	}

	.notice_content:not(:first-child) {
		margin: 45px 0 0;
	}

	.notice_head {
		background-color: #ddd;
		display: flex;
		justify-content: center;
		padding: 10px 10px 11px;
	}

	body.renew_page #contents .campaign_notice h2 {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.3;
		margin: 0;
	}

	.notice_body {
		font-size: 14px;
		margin-top: 25px;
		overflow-wrap: break-word;
	}

	.notice_body .def_list li {
		margin-top: .5em;
	}

	body.renew_page #contents .notice_body .def_list + .note_list {
		margin-top: 1.5em;
	}

	/* Link */
	.tasuke_link {
		border-top: 1px solid #ddd;
		padding: 45px 0 0;
	}

	.link_head {
		display: flex;
		justify-content: center;
	}

	body.renew_page #contents .tasuke_link h2 {
		background: url(../images/ico_search.png) center left no-repeat;
		background-size: 30px;
		font-size: 22px;
		font-weight: bold;
		line-height: 30px;
		margin: 0;
		padding: 0 0 0 34px;
	}

	.tasuke_link_banner {
		margin: 30px auto 0;
	}

	body.renew_page #contents .tasuke_link_banner a {
		border: 1px solid #ddd;
		display: block;
		padding: 4px;
		transition: border-color 0.2s ease-in;
	}

	body.renew_page #contents .tasuke_link_banner a:hover {
		border-color: #1269c9;
		opacity: 1;
	}
}

/**
 * Satori form
 */

.campaign_form #satori__custom_form .satori__custom_form {
	background: transparent;
	color: #333;
	padding: 0;
	width:100%;
}

#satori__custom_form .satori__input_group {
	margin: 0 0 24px;
	padding:0;
}

#satori__custom_form .satori__horiz_group {
	display: flex;
	gap: 16px;
}

#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css .satori__input_group label:first-child {
	color: #666;
	font-weight: bold;
}

#satori__custom_form .satori__notes {
	background: transparent;
	border: none;
	font-size: 14px;
	margin-top: 4px;
}

#satori__custom_form input,
#satori__custom_form textarea {
	background: #fff;
	border: 2px solid #c8c8c8;
	border-radius: 4px;
	box-shadow: none;
	line-height: 1.5;
	padding:8px
}

#satori__custom_form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='20' viewBox='0 0 8 20'%3E%3Cpath d='M8 8H0l4-8 4 8Zm0 4H0l4 8 4-8Z' style='fill:%23666'/%3E%3C/svg%3E");
	background-position: right 8px center;
	background-repeat: no-repeat;
	background-size: 8px 20px;
	border: 2px solid #c8c8c8;
	border-radius: 4px;
	box-shadow: none;
	cursor: pointer;
	height: auto;
	line-height: 1.5;
	overflow: hidden;
	padding: 8px;
	width: 557px;
}

#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css input[type=checkbox]+label,
#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css input[type=radio]+label {
	color: #333;
	margin: 0;
	padding: 2px;
}

#satori__custom_form .satori__not_require,
#satori__custom_form .satori__require {
	border: none;
	color: #fff;
	font-size: 13px;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 0 8px;
	padding: 3px 8px 4px;
}

#satori__custom_form .satori__not_require {
	background: #7fbee7;
}

#satori__custom_form .satori__require {
	background: #fc92a5;
}

#satori__custom_form #satori__custom_field_5cfcd4be796792cbf_1f5ebe196fe437af .satori__not_require {
	margin: 0;
}

#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css .satori__input_group .satori__error_messages {
	color: #c00;
	font-size: 14px;
	margin: 4px 0 0;
}

#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css .satori__input_group select + .satori__error_messages {
	margin: 0 0 0 4px;
}

#satori__custom_form .satori__custom_form .satori__input_group:nth-child(5) {
	background-image: url("../images/img_product_code_pc.png");
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 335px 265px;
	padding-bottom: 275px;
}

#satori__custom_form .satori__custom_form .satori__input_group:nth-child(7) {
	display: none;
}

body.renew_page #contents .satori__privacy_policy_message_1f5ebe196fe437af {
	margin: 0;
}

body.renew_page #contents .satori__privacy_policy_message_1f5ebe196fe437af {
	margin: 1em 0;
}

#satori__privacy_policy_agreement_1f5ebe196fe437af {
	font-weight: bold;
}

body.renew_page #contents p.satori__submit_group {
	margin: 0;
}

#satori__custom_form input[type=button] {
	background-color: #1269c9;
	background-image: url("../images/ico_submit.png");
	background-position: right 16px center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	border: none;
	border-radius: 4px;
	color: #fff;
	font-size: 18px;
	letter-spacing: .05em;
	line-height: 1;
	padding: 1em;
	transition: background-color .3s ease-out;
	width: 480px;
}

#satori__custom_form input[type=button]:hover {
	background-color: #00048f;
	opacity: 1;
}

@media screen and (max-width: 640px) {
	#satori__custom_form .satori__horiz_group {
		gap: 8px;
	}

	#satori__custom_form select,
	#satori__custom_form input[type=button] {
		width: 100%;
	}

	#satori__custom_form .satori__custom_form_1f5ebe196fe437af_css .satori__input_group select + .satori__error_messages {
		margin: 4px 0 0;
	}

	#satori__custom_form .satori__custom_form .satori__input_group:nth-child(5) {
		background-image: url("../images/img_product_code_sp.png");
		background-size: 280px 280px;
		padding-bottom: 290px;
	}

	.satori__privacy_policy_agreement_wrapper_1f5ebe196fe437af {
		font-size: 14px;
		overflow-wrap: break-word;
	}
}

/**
 * In view settings
 */

.fadein {
	opacity: .01;
	transition: opacity 1.2s ease-out .1s;
}

.fadein.inview {
	opacity: 1;
}

.fadein.moveup {
	transform: translateY(40px);
	transition: opacity 1.2s ease-out .1s, transform 1.2s ease-out .1s;
}

.fadein.moveup.inview {
	transform: translateY(0);
}
