@charset "utf-8";
.entry_inner {
		max-width: 1080px;
		margin: 0 auto;
		padding: 0 30px;
}
@media(max-width: 767px) {
		.entry_inner {
				padding: 0 20px;
		}
}
.step_col {
		margin: 0 0 25px;
		background-repeat: repeat-y;
		background-position: center center;
		background-size: 1200px;
		background-image: url(../images/campaign_col_bg.png);
		padding: 7px;
		position: relative;
		z-index: 1;
}
.step_col_inner {
		background: #fff;
		padding: 40px 30px;
}
.step_hd {
		font-size: 36px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 40px;
}
.step_flex {
		display: flex;
		justify-content: space-between;
		max-width: 910px;
		margin: 0 auto;
}
.step_item {
		width: 190px;
		position: relative;
}
.step_item img {
		width: 100%;
		height: auto
}
.step_item_thumb {
		margin: 0 0 10px;
		position: relative;
}
.step_item_thumb::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		right: -35px;
		width: 20px;
		height: 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 20px;
		background-image: url("../images/step_arw_pc.png");
}
.step_flex .step_item:last-child .step_item_thumb::after {
		display: none
}
.step_item_caption {
		line-height: 1.6;
		font-weight: 500;
}
.step_item_notes {
		font-size: 12px;
		margin-left: 1em;
		margin-top: 0.5em;
		position: relative;
		line-height: 1.8;
}
.step_item_notes span {
		display: block;
		position: absolute;
		top: 0;
		left: -1em
}
.step_item_hd {
		font-size: 24px;
		text-align: center;
		font-family: 'Roboto', sans-serif;
		font-weight: 700;
		margin: 0 0 15px;
		line-height: 1;
}
.step_notes {
		text-align: center;
		line-height: 1.8;
		margin-top: 35px;
}
@media(min-width: 768px) {
		.step_item_sp {
				display: none
		}
}
@media(max-width: 1200px) {
		.step_hd {
				font-size: 28px;
				margin: 0 0 30px;
		}
		.step_item {
				width: calc(calc(100% - 105px) / 4);
		}
		.step_item_hd {
				font-size: 20px;
				margin: 0 0 10px;
		}
		.step_item_thumb::after {
				right: -29px;
		}
		.step_item_caption p {
				font-size: 14px;
		}
		.step_item_caption p.step_item_notes {
				font-size: 11px;
		}
		.step_notes {
				font-size: 14px;
				margin-top: 20px;
		}
}
@media(max-width: 767px) {
		.step_col_inner {
				padding: 40px 15px;
		}
		.step_hd {
				font-size: 22px;
				margin: 0 0 30px;
		}
		.step_flex {
				display: block;
		}
		.step_item {
				width: 100%;
				display: flex;
				margin: 0 0 40px;
				position: relative;
		}
		.step_item::after {
				content: '';
				display: block;
				position: absolute;
				bottom: -28px;
				left: 45px;
				width: 20px;
				height: 20px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 20px;
				background-image: url("../images/step_arw_sp.png")
		}
		.step_flex .step_item:nth-child(3)::after {
				bottom: -16px;
		}
		.step_flex .step_item:last-child::after {
				display: none;
		}
		.step_item_hd {
				display: none
		}
		.step_item_thumb::after {
				display: none
		}
		.step_item_thumb {
				width: 110px;
				margin-right: 10px;
		}
		.step_item_caption {
				flex: 1
		}
		.step_item_sp {
				font-size: 18px;
				font-weight: 700;
				margin: 0 0 5px;
		}
		.step_item_caption p.step_item_notes {
				font-size: 10px;
		}
		.step_notes {
				text-align: left;
				margin-top: 35px;
		}
}
/*============================
#terms.terms_col
============================*/
.terms_col {
		margin-top: 80px;
		margin-bottom: 40px;
}
.terms_btn_inner {
		background: #000;
		border: 2px solid #000;
		color: #000;
		height: 90px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		cursor: pointer;
}
.terms_btn_txt {
		color: #fff;
		text-align: center;
		font-size: 32px;
		font-weight: 600;
}
.terms_btn_inner .terms_trigger {
		position: absolute;
		top: calc(50% - 15px);
		right: 30px;
		width: 30px;
		height: 30px;
}
.terms_trigger::before, .terms_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 14px;
		left: 0;
		width: 30px;
		height: 2px;
		background: #fff;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.terms_trigger::after {
		transform: rotate(90deg)
}
.contOpen .terms_trigger::before {
		transform: rotate(180deg);
		opacity: 0
}
.contOpen .terms_trigger::after {
		transform: rotate(180deg)
}
.terms_cont {
		display: none;
		background: #fff;
		color: #000;
}
.terms_cont_inner {
		padding: 50px 70px;
		font-weight: 500;
}
.terms_cont_inner a {
		color: #000;
		text-decoration: underline;
		word-break: break-all;
}
@media (hover: hover) {
		.terms_cont_inner a:hover {
				text-decoration: none;
		}
}
.terms_cont_inner h5 {
		font-weight: 700;
		font-size: 110%;
		margin: 2em 0 0.75em;
		line-height: 1.6;
}
.terms_cont_inner h6 {
		font-weight: 700;
		font-size: 110%;
		margin: 2.5em 0 0.5em;
}
.terms_cont_inner ul {
		margin-left: 1em;
}
.terms_cont_inner li {
		position: relative;
		line-height: 1.8;
		margin: 0 0 5px;
		list-style: none;
}
.terms_cont_inner li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.terms_cont_inner ul.circle li::after {
		content: '●';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.terms_cont_inner .attention li::after {
		content: '';
		display: none;
}
.terms_cont_inner .attention li li {
		margin-bottom: 5px;
}
.terms_cont_inner li .attention {
		padding: 10px 0;
}
.terms_cont_inner .attention li li:after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.terms_cont_inner .attention li span {
		position: absolute;
		top: 0;
		left: -1em;
}
.terms_cont_inner ul li:last-child {
		margin-bottom: 0;
}
.terms_cont_inner p {
		line-height: 1.8;
		margin: 0 0 1em;
}
.terms_cont_inner p.extra {
		margin-bottom: 5px;
}
.terms_cont_inner dl {
		display: flex;
		margin: 0 0 10px;
}
.terms_cont_inner dl p {
		margin-bottom: 0;
}
.terms_cont_inner dt {
		width: 4em;
		line-height: 1.8;
}
.terms_cont_inner dd {
		flex: 1;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.terms_col {
				margin-top: 35px;
				margin-bottom: 20px;
		}
		.terms_btn_inner {
				height: 90px;
		}
		.terms_btn_txt {
				font-size: 24px;
		}
		.terms_btn_inner .terms_trigger {
				top: 37px;
				right: 15px;
				width: 16px;
				height: 16px;
		}
		.terms_trigger::before, .terms_trigger::after {
				top: 7px;
				left: 0;
				width: 16px;
				height: 2px;
		}
		.terms_cont_inner {
				padding: 30px 15px;
		}
		.terms_cont_inner p, .terms_cont_inner li {
				font-size: 15px;
		}
		.terms_cont_inner h5 {
				font-size: 105%;
				margin: 1.5em 0 0.5em;
		}
}
/* ============ */
.apply_btn_center {
		display: flex;
		justify-content: center;
}
.apply_btn {
		width: 640px;
		font-size: 48px;
		font-weight: 700;
}
.apply_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		background: #FFF100;
		height: 140px;
		color: #000;
		box-sizing: border-box;
		padding: 5px;
		transition: background 0.4s;
}
.apply_btn_in {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 130px;
		border: 1px solid #000;
		width: 100%;
		position: relative;
}
.apply_btn_in::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		right: 40px;
		width: 24px;
		height: 24px;
		border-top: 3px solid #000;
		border-right: 3px solid #000;
		transform: rotate(45deg)
}
@media (hover: hover) {
		.apply_btn a:hover {
				background: #000;
				color: #FFF100;
		}
		.apply_btn a:hover .apply_btn_in {
				border: 1px solid #FFF100;
		}
		.apply_btn a:hover .apply_btn_in::after {
				border-top: 3px solid #FFF100;
				border-right: 3px solid #FFF100;
		}
}
@media(max-width: 960px) {
		.apply_btn {
				width: 520px;
				font-size: 38px;
		}
		.apply_btn a {
				height: 110px;
				padding: 4px;
		}
		.apply_btn_in {
				height: 102px;
		}
		.apply_btn_in::after {
				top: calc(50% - 10px);
				right: 30px;
				width: 20px;
				height: 20px;
		}
}
@media(max-width: 960px) {
		.apply_btn {
				width: 100%;
		}
		.apply_btn_in::after {
				top: calc(50% - 10px);
				right: 30px;
				width: 20px;
				height: 20px;
		}
}
@media(max-width: 767px) {
		.apply_btn {
				width: 100%;
		}
		.apply_btn_in::after {
				top: calc(50% - 7px);
				right: 18px;
				width: 14px;
				height: 14px;
				border-top: 2px solid #000;
				border-right: 2px solid #000;
		}
}
.fullset_link {
		font-size: 32px;
		font-weight: 600;
		margin-top: 40px;
		width: calc(100% - 20px);
}
.fullset_link.right {
		margin-left: 20px;
}
.fullset_link a {
		display: block;
		display: flex;
		align-items: center;
		height: 86px;
		padding-left: 35px;
		color: #fff;
		text-decoration: none;
		position: relative;
		transition: opacity 0.3s;
}
.fullset_link a.brwnLink {
		background: #75431F;
}
.fullset_link a.grnLink {
		background: #109B95;
}
.fullset_link a.brwnLink::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 46px;
		height: 86px;
		box-sizing: border-box;
		transition: background 0.2s;
		background: #75431F;
		right: -23px;
		transform: skewX(-25deg);
}
.fullset_link a.grnLink::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		width: 46px;
		height: 86px;
		box-sizing: border-box;
		transition: background 0.2s;
		background: #109B95;
		left: -23px;
		transform: skewX(-25deg);
}
.fullset_link a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 9px);
		right: 14px;
		width: 18px;
		height: 18px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		z-index: 2
}
.fullset_link.right a::after {
		right: 30px;
}
@media (hover: hover) {
		.fullset_link a:hover {
				opacity: 0.7
		}
}
@media(max-width: 1200px) {
		.fullset_link {
				font-size: 24px;
		}
}
@media(max-width: 767px) {
		.fullset_link {
				font-size: 20px;
				margin-top: 35px;
				width: calc(100% - 40px);
				margin-left: auto;
				margin-right: auto;
		}
		.fullset_link.right {
				margin-left: auto;
				margin-right: auto;
		}
		.fullset_link a {
				height: 56px;
				padding-left: 12px!important;
		}
		.fullset_link a.grnLink::before, .fullset_link a.brwnLink::before {
				display: none
		}
		.fullset_link a::after {
				top: calc(50% - 6px);
				right: 14px!important;
				width: 12px;
				height: 12px;
		}
}