@charset "utf-8";
@font-face {
	font-family: 'icomoon';
	src: url("../fonts/icomoon.eot?t121w2");
	src: url("../fonts/icomoon.eot?t121w2#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?t121w2") format("truetype"), url("../../css/fonts/icomoon.woff?t121w2") format("woff"), url("../../css/fonts/icomoon.svg?t121w2#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: block
}
[class^='icon-'], [class*=' icon-'] {
font-family:'icomoon', sans-serif !important;
speak:none;
font-style:normal;
font-weight:normal;
font-feature-settings:normal;
font-variant:normal;
text-transform:none;
line-height:1;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale
}
* {
	font-family: "PingFang TC", "Roboto", "Noto Sans TC", "sans-serif", "Microsoft JhengHei", "微軟正黑體", "STHeitiTC-Light", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
	box-sizing: border-box;
	outline: 0;
}
#root { overflow: auto; }
.red-txt { color: #ef3123 !important; }
.inline { display: inline !important; }
.underline { text-decoration: underline !important; }
.nocolor-txt{ color:#000 !important;}
.maincont {
	position: relative;
	max-width: 1200px;
	padding: 0 15px;
	margin: 0 auto;
	min-height: calc(100vh - 173px);
	background-color: #fafafa;
}
@media screen and (min-width: 960px) {
.maincont {
	width: 90%;
	padding: 60px 0 0;
}
}
.main-title {
	font-weight: 600;
	font-size: 2.25rem;
	line-height: 54px;
	margin-top: 0;
	color: #1F1F24;
}
.main-btn-area {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -6px 0 -6px;
	margin-bottom: 30px;
}
.main-btn-area-btn {
	box-sizing: border-box;
	outline: 0;
	box-shadow: 0 6px 12px 0 rgba(75,88,105,0.12) !important;
	transition: all .3s ease;
	scroll-margin-top: 100px;
	vertical-align: top;
	margin: 0 6px 12px;
	display: inline-flex;
	flex-grow: 1;
	max-width: none;
	position: relative;
	display: flex;
	width: calc(33.3333333% - 12px);
	color: #1F1F24;
	background-color: #FFF;
	max-width: calc(33.3333333% - 12px);
}
.main-btn-area-btn:hover { background-color: #F7F7F7; }
.main-btn-area-btn a {
	text-decoration: none;
	width: 100%;
}
.main-btn-area-btn .btn-cont {
	font: inherit;
	cursor: pointer;
	color: #202020;
	text-align: left;
	flex: 1 1 auto;
	padding: 22px 22px 0;
	font-size: 22px;
	height: 210px;
	font-weight: bold;
}
.main-btn-area-btn .btn-cont .icon-area {
	display: block;
	width: 75px;
	margin-bottom: 10px;
}
.main-btn-area-btn .btn-cont .icon-area img { width: 100%; }
.main-btn-area-btn .btn-arrow {
	font: inherit;
	cursor: pointer;
	white-space: initial;
	color: #202020;
	padding: 0 24px 16px;
	padding-left: 24px;
	padding-right: 24px;
}
.main-btn-area-btn .btn-arrow .is-arrow {
	margin-bottom: 0 !important;
	position: relative;
	display: inline-block;
	white-space: nowrap;
	padding: 0 16px;
	border: 0;
	font-size: 20px;
	text-align: center;
	opacity: 1;
	vertical-align: top;
	font-weight: 500;
	margin-right: 8px;
	background: 0;
	cursor: pointer;
	min-width: 0;
	color: transparent;
	height: 36px;
	line-height: 36px;
	padding-left: 0;
	padding-right: 0;
	transition: color .3s ease;
}
.main-btn-area-btn:hover .btn-arrow .is-arrow {
	color: #ef3123;
	transition: color .4s ease;
	font-weight: bold;
}
.main-btn-area-btn .btn-arrow .is-arrow::after {
	font-size: 42px;
	content: "";
	text-align: left;
	position: absolute;
	display: block;
	width: 100%;
	height: 32px;
	font-size: 42px;
	color: #ef3123;
	font-family: "icomoon" !important;
	speak: none;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	font-style: normal;
	font-weight: normal;
	font-feature-settings: normal;
	font-variant: normal;
	text-transform: none;
	line-height: .75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: all .3s ease;
}
.main-btn-area-btn:hover .btn-arrow .is-arrow::after {
	-webkit-transform: translateX(120%);
	transform: translateX(120%);
}
.other-btn-area {
	font-size: 18px;
	color: #000000;
	padding: 10px;
	padding-bottom: 70px;
	text-align: center;
	display: block;
}
.other-btn-area .button-red {
	width: 180px;
	margin-top: 20px;
}
.other-btn-area a {
	color: #ef3123;
	text-decoration: none;
	margin-left: 10px;
}
@media screen and (max-width: 960px) {
.main-title { font-size: 21px; }
.main-btn-area { margin-bottom: 30px; }
.main-btn-area-btn {
	width: 100%;
	margin-bottom: 20px;
	max-width: inherit;
}
.main-btn-area-btn .btn-cont {
	font-size: 21px;
	height: 200px;
}
.other-btn-area {
	font-size: 16px;
	width: 100%;
}
}
.caption-area {
	background: #FFF;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	font-size: 24px;
	margin-bottom: 30px;
	box-shadow: none;
	font-weight: bold;
}
.caption-area span { color: #ef3123; }
.btn-area {
	text-align: center;
	margin-bottom: 30px;
}
.button-red {
	outline: 0;
	position: relative;
	display: inline-block;
	border: 0;
	font-size: 1rem;
	text-align: center;
	opacity: 1;
	vertical-align: top;
	font-weight: 600;
	margin-right: 0;
	transition: all .3s ease;
	line-height: 0;
	cursor: pointer;
	height: 50px;
	line-height: 50px;
	color: #fff;
	background: #d3060f;
	width: 160px;
}
.button-red::after {
	content: "⇀";
	speak: none;
	position: absolute;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
	opacity: 0;
	transform: translateX(-5px);
	background-size: contain;
	transition: all 0.3s ease;
	opacity: 0;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 28px;
}
.button-red:hover { background: #ef3123; }
.button-red:hover::after {
	-webkit-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
}
a.button-red { color: #FFF; }
.step-area-title {
	font-size: 20px;
	font-weight: 600;
	margin-top: 0;
	border-left: 6.0px solid rgb(239,49,35);
	line-height: 120.0%;
	padding-left: 10.0px;
	margin-bottom: 10px;
}
.step-area {
	margin-bottom: 0 !important;
	padding-bottom: 30px !important;
	background: #fff;
	box-shadow: 0 6px 12px 0 rgba(75,88,105,0.12);
	padding: 30px;
}
.slider-area { counter-reset: num; }
.slider-area .step-block { position: relative; }
.slider-area .step-block div:before {
	content: ''counter(num)'';
	counter-increment: num;
	position: absolute;
	top: 22px;
	left: 30px;
	background-color: #5f7b80;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin-right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 2.3;
}
.step-area-slider-area .step-block {
	padding-top: 55px !important;
	margin: 0;
	box-sizing: border-box;
	flex-grow: 0;
	padding: 8px;
}
.step-area-slider-area .step-block img {
	width: 100%;
	max-width: 400px;
}
.step-area-slider-area .slick-prev, .step-area-slider-area .slick-next {
	width: 30px;
	height: 70px;
	z-index: 1;
}
.step-area-slider-area .slick-prev:before, .step-area-slider-area .slick-next:before {
	display: block;
	width: 30px;
	height: 70px;
	margin-top: 0px;
}
.step-area-slider-area .slick-prev { left: -30px; }
.step-area-slider-area .slick-prev:before {
	content: '';
	background-image: url(../img/arrow_l.png)
}
.step-area-slider-area .slick-next { right: -30px; }
.step-area-slider-area .slick-next:before {
	content: '';
	background-image: url(../img/arrow_r.png)
}
.step-area-slider-area .slick-prev.slick-disabled, .step-area-slider-area .slick-next.slick-disabled, .step-area-slider-area .step-area-slider-area .slick-prev.slick-disabled:before, .step-area-slider-area .slick-next.slick-disabled:before {
	opacity: 0;
	cursor: default;
}
.step-area-slider-area .step-block span {
	text-align: center;
	display: block;
}
.step-area-slider-area .step-block span strong {
	text-align: left;
	padding: 6px 12px 6px 42px;
	background: #fafafa;
	min-width: 0;
	margin-top: 10px;
	color: #8a8a8a;
	margin-bottom: 0;
	font-size: 14px;
	display: inline-block;
}
.step-area-slider-area .step-block span strong::before {
	content: "";
	float: left;
	margin-left: -20px;
	margin-top: 0;
	border-top: 7px solid transparent;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 7px solid #ef3123;
}
.only-txt {
	padding-left: 20px;
	padding-top: 40px;
	font-size: 23px;
	color: #1F1F24;
	font-weight: bold;
	word-wrap: break-word;
}
.step-area-slider-area.slick-initialized .slick-slide { height: auto; }
.step-area-note article { overflow: hidden; }
.step-area-note article p { margin: 5px; }
.step-area-note article ol { margin-left: 5px; }
.step-area-note a {
	color: unset;
	transition: 400ms transform ease;
}
.step-area-note input[type="checkbox"] {
	position: absolute;
	margin: 0;
	width: 100%;
	height: 30px;
	right: 10px;
	top: 30px;
	z-index: 1;
	opacity: 0;
	cursor: pointer;
	display: block;
}
.step-area-note input[type="checkbox"]:checked ~ .portlet-header a { transform: rotate(180deg); }
.step-area-note input[type="checkbox"]:checked ~ .portlet-content { height: auto; }
.step-area-note .portlet {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
}
.step-area-note .portlet-header {
	color: #000;
	padding: 30px 0 10px;
	text-align: center;
	display: block;
	font-size: 18px;
}
.step-area-note .portlet-content {
	height: 0;
	transition: 400ms height ease;
	padding: 0 25px;
}
.step-area.option2 { margin-bottom: 0px !important; }
.step-area.option2 .step-area-slider-area .step-block { padding-top: 0 !important; }
.step-area.option2 .only-txt {
	padding-left: 20px;
	padding-top: 0px;
}
@media screen and (max-width: 960px) {
.step-area.option2 { padding: 24px; }
.step-area.option2 .only-txt {
	font-size: 21px;
	padding-left: 0px;
}
.step-area-note .portlet-header { font-size: 16px; }
}
.step-area2 {
	margin-bottom: 0 !important;
	padding-bottom: 30px !important;
	background: #fff;
	box-shadow: 0 6px 12px 0 rgba(75,88,105,0.12);
	padding: 30px;
}
.slider-area2 { counter-reset: num; }
.slider-area2 .step-block { position: relative; }
.slider-area2 .step-block div:before {
	content: ''counter(num)'';
	counter-increment: num;
	position: absolute;
	top: 22px;
	left: 7px;
	background-color: #ea574d;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	margin-right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 2.3;
}
.step-area-slider-area2 .step-block {
	padding-top: 55px !important;
	margin: 0;
	box-sizing: border-box;
	flex-grow: 0;
	padding: 8px;
}
.step-area-slider-area2 .step-block img { width: 100%; }
.step-area-slider-area2 .step-block span {
	text-align: center;
	display: block;
}
.step-area-slider-area2 .step-block span strong {
	text-align: left;
	padding: 6px 12px 6px 42px;
	min-width: 0;
	margin-top: 10px;
	color: #8a8a8a;
	margin-bottom: 0;
	font-size: 14px;
	display: inline-block;
}
.step-area-slider-area2 .step-block span strong::before {
	content: "";
	float: left;
	margin-left: -20px;
	margin-top: 0;
	border-top: 7px solid transparent;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 7px solid #ef3123;
}
.step-area-slider-area2 .slick-prev, .step-area-slider-area2 .slick-next {
	width: 30px;
	height: 70px;
	z-index: 1;
}
.step-area-slider-area2 .slick-prev:before, .step-area-slider-area2 .slick-next:before {
	display: block;
	width: 30px;
	height: 70px;
	margin-top: 0px;
}
.step-area-slider-area2 .slick-prev { left: -20px; }
.step-area-slider-area2 .slick-prev:before {
	content: '';
	background-image: url(../img/arrow_l.png)
}
.step-area-slider-area2 .slick-next { right: -20px; }
.step-area-slider-area2 .slick-next:before {
	content: '';
	background-image: url(../img/arrow_r.png)
}
.step-area-slider-area2 .slick-prev.slick-disabled, .step-area-slider-area2 .slick-next.slick-disabled, .step-area-slider-area2 .slick-prev.slick-disabled:before, .step-area-slider-area2 .slick-next.slick-disabled:before {
	opacity: 0;
	cursor: default;
}
.step-area-slider-area2.slick-initialized .slick-slide { height: auto; }
.payment article {
	overflow: hidden;
	padding: 0 20px;
}
.payment article p { margin: 5px; }
.payment article ol { margin-left: 5px; }
.payment a {
	color: unset;
	transition: 400ms transform ease;
}
.payment input[type="checkbox"] {
	position: absolute;
	margin: 0;
	width: 100%;
	height: 30px;
	right: 10px;
	top: 30px;
	z-index: 1;
	opacity: 0;
	cursor: pointer;
	display: block;
}
.payment a::after {
	content: "＋";
	font-size: 28px;
	font-weight: bold;
}
.payment input[type="checkbox"]:checked ~ .portlet-header a::after { content: "－"; }
.payment input[type="checkbox"]:checked ~ .portlet-content { height: auto; }
.payment .portlet {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
}
.payment .portlet-header {
	font-size: 20px;
	font-weight: 600;
	margin-top: 30px;
	border-left: 6.0px solid rgb(239,49,35);
	line-height: 120.0%;
	padding-left: 10.0px;
	margin-bottom: 10px;
}
.payment .portlet-content {
	height: 0;
	transition: 400ms height ease;
	padding: 0 25px;
}
@media screen and (max-width: 768px) {
.payment .portlet-header { font-size: 18px; }
.payment input[type="checkbox"] {
	height: 60px;
	right: 0px;
}
.payment .portlet-content { padding: 0 5px; }
.payment article { padding: 0 20px; }
.step-area-slider-area2 .slick-prev { left: -25px; }
.step-area-slider-area2 .slick-next { right: -25px; }
.payment a::after {
	font-size: 20px;
	font-weight: normal;
}
}
.other-btn-area.txt-area {
	margin-top: 30px;
	padding-bottom: 0px;
!important;
}
.step-area-note.txt-area-header { margin-bottom: 30px; }
.step-area-note.txt-area-header .portlet-header { padding: 30px 0 10px; }
@media screen and (max-width: 768px) {
.step-area-note.txt-area-header .portlet-header { padding: 20px 0 10px; }
}
