@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700;900&family=Roboto:wght@100;300;400;500;700;900&family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Serif+TC:wght@100;300;400;500;700;900&display=swap&subset=chinese-traditional');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
*, ::after, ::before {
    box-sizing: border-box;
    -moz-box-sizing :border-box;
    -webkit-box-sizing: border-box;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6,p, blockquote, pre,hr, a, abbr, acronym, address,
big, cite, code, del, dfn, rem, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure,
figcaption, article, aside, canvas, details, embed, figure, figcaption, footer, header, main, hgroup, menu, nav,
output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-family: Montserrat, Roboto, "Noto Sans TC", "Microsoft JhengHei", "Apple LiGothic Medium", sans-serif, serif;
    vertical-align: baseline;
    background: transparent;
    //line-height: 1;
}
body, html {
    width: 100%;
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
}
body.noscroll {
    position: fixed;
    overflow-y: scroll;
    width: 100%;
}
input, button, select, select option {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding:0;
    border: none;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
    cursor: pointer;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
ol, ul {
    list-style:none;
    list-style-position: outside;
}
a, a:link, a:visited, a:focus, a:hover, a:active {
	text-decoration: none;
}
img {
    max-width: 100%;
    height: auto ;
}
button.btn {
    border-radius: 50px;
    //line-height: 1;
}
button.btn.registration {
    font-size: 1.25rem;
    font-weight: 500;
    background-color: #22A2C3;
    transition: 0.3s ease-out;
    color: #fff;
}
button.btn.registration:hover {
    background-color: #51C6D6;
    transition: 0.3s ease-out;
}
:root {
  --header-height: 110px;
  --header-bgcolor: #FFFFFF;
  --main-bgcolor: #F3F5F6;
  --footer-bgcolor: #FFFFFF;
}
.website_container {
  width: 100%;
  min-height: 100vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  //user-select: none;
}

/*header*/
header {
    width: 100%;
    background-color: var(--header-bgcolor);
    border-bottom: thin solid #C7CDD4;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    transition: transform 0.3s linear;
}
header.go_down {
    transform: translateY(0);
}
header.go_up {
    transform: translateY(calc(var(--header-height) * -1));
}
header .wrapper {
    //width: 80%;
    max-width: 1440px;
    height: var(--header-height);
    margin: 0 auto;
    //padding: 5px 0;
    padding: 5px 60px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
header .logo {
    flex-basis: 14%;
    display: flex;
    align-items: flex-end;
}
header .navbar {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.mobileNavBar {
    display: none;
}
.navbar .navbar_top {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.navbar .navbar_menu_nav {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.navbar .navbar_menu_nav > nav {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}
.navbar a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2A3342;
    transition: color 0.3s ease-out;
}
.navbar .navbar_top a {
    font-size: 1.125rem;
    font-weight: 500;
    opacity: 1;
    transition: opacity 0.3s ease-out;
}
.navbar .navbar_top a:nth-child(n+2) {
    margin-left: 20px;
}
.navbar_top a::before {
    font-family: "Material Symbols Outlined";
    font-variation-settings: 'FILL' 0, 'wght' 600;
    font-size: 1.375rem;
    color: #ff8200;
}
.navbar_top a:nth-child(1)::before {
    content: "\e8b6";
}
.navbar_top a:nth-child(2)::before {
    content: "\ea77";
}
.navbar .navbar_menu_nav a {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.navbar .navbar_top a:hover {
    opacity: 0.7;
    transition: opacity 0.3s ease-out;
}
.navbar_menu_nav a:hover {
    color: #22A2C3;
    transition: color 0.3s ease-out;
}
.navbar_menu_nav button.btn.registration {
    padding: 10px 25px;
}
.title_content button.btn.registration {
    flex-basis:55%;
    //line-height: 1;
    padding: 13px 20px;
}
header .wrapper .navbar_btn {
    display: none;
    align-items: center;
    justify-content: flex-end;
}
.mobileNavBar .navbar_btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.openbtn {
    display: none;
    align-items: center;
    justify-content: center;
}
.closebtn {
    display: flex;
    align-items: center;
    justify-content: center;
}
.openbtn::before {
    font-family: "Material Symbols Outlined";
    font-size: 2.8125rem;
    content: "\e5d2";
    color: #22A2C3;
}
.closebtn::before {
    font-family: "Material Symbols Outlined";
    font-size: 3.125rem;
    content: "\e5cd";
}
.mobileNavBar .closebtn::before {
    color: #22A2C3;
}

/*main*/
main {
    width: 100%;
    margin-top: var(--header-height);
    flex-grow: 1;
    display: flex;
    align-items: stretch;
}
main .wrapper {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background-color: var(--main-bgcolor);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
}
#mainPage main .wrapper {
    background-image: url("../invoice/main_bg_01.png");
}
#featurePage main .wrapper, #planPage main .wrapper,
#hardwarePage main .wrapper, #apiPage main .wrapper {
    background-image: url("../invoice/main_bg_02.png");
}
#applyPage main .wrapper {
    background-image: url("../invoice/main_bg_03.png");
    background-color: #1B2028;
    background-size: cover;
}
form {
    width: 82%;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
}
main .section {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#applyPage .section.banner_container {
    flex-basis: 40%;
    align-items: stretch;
}
.banner_title {
    margin-top: 60px;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
}
#mainPage .banner_title {
    width: 75%;
    min-height: 475px;
}
#planPage .banner_title, #hardwarePage .banner_title,
#featurePage .banner_title, #apiPage .banner_title {
    width: 70%;
    min-height: 294px;
}
#applyPage .banner_title {
    flex-grow: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: sticky;
    top: 160px;
    z-index: 1;
}
#applyPage .finish .banner_title {
    align-items: center;
    position: static;
}
.banner_title .title_content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#mainPage .banner_title .title_content {
    flex-basis: 35%;
}
#hardwarePage .banner_title .title_content, #planPage .banner_title .title_content,
#featurePage .banner_title .title_content, #apiPage .banner_title .title_content {
    flex-basis: 50%;
}
#applyPage .banner_title .title_content {
    flex-grow: 0;
}
#applyPage .banner_title .title_content:nth-child(2) {
    margin-top: 50px;
    margin-bottom: 70px;
}
.banner_title .txt {
    color: #000;
}
.banner_title .title_text {
    font-size: 3.125rem;
    font-weight: 900;
    color: #fff;
}
#mainPage .banner_title .title_text {
    background: linear-gradient(90deg, #1a9baa 0%, #0de6f4 40.4%, #76f6ff 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
    letter-spacing: -2px;
    margin-top: 10px;
}
#applyPage .banner_title .title_text {
    font-size: 2.8125rem;
}
#applyPage .finish .banner_title .title_text {
    display: flex;
    justify-content: center;
    margin-top: 0;
}
#applyPage .finish .banner_title .material-symbols-outlined {
    font-size: 8rem;
    font-weight: 800;
    color: #87cf17;
    text-align: center;
    order: 1;
}
.banner_title .title_txt1 {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
}
#mainPage .banner_title .title_txt1 {
    color: #000;
}
#applyPage .banner_title .title_txt1 {
    font-size: 3.4375rem;
    font-weight: 800;
}
#applyPage .finish .banner_title .title_txt1 {
    text-align: center;
    margin-top: 10px;
    order: 2;
}
#featurePage .banner_title .title_txt1, #hardwarePage .banner_title .title_txt1,
#planPage .banner_title .title_txt1, #apiPage .banner_title .title_txt1 {
    font-size: 1.6875rem;
    margin-top: 20px;
}
.banner_title .title_txt2 {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 10px;
    line-height: 1.1;
    color: #FFFFFF;
}
#mainPage .banner_title .title_txt2 {
    color: #000;
}
.banner_title .title_txt3 {
    font-size: 1.3125rem;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 15px;
    word-break: break-all;
    text-align: justify;
}
.banner_title div:nth-child(4) {
    display: flex;
    align-items: center;
    margin-top: 50px;
}
.banner_title .title_figur {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top right;
}
#mainPage .banner_title .title_figur {
    flex-basis: 60%;
    background-image: url("../invoice/e-invoice-01.png");
    //background-position: top center;
}
#featurePage .banner_title .title_figur {
    flex-basis: 50%;
    background-image: url("../invoice/featurepage_bannertitle_bg.png");
}
#planPage .banner_title .title_figur {
    flex-basis: 50%;
    background-image: url("../invoice/planpage_bannertitle_bg01.png");
}
#applyPage .banner_title .title_figur {
    flex-basis: 400px;
    background-image: url("../invoice/e-invoice-pg-02.png");
    background-position: center;
    margin-top: 30px;
    margin-bottom: 30px;
}
#hardwarePage .banner_title .title_figur {
    flex-basis: 50%;
    background-image: url("../invoice/hardwarepage_bannertitle_bg.png");
}
#apiPage .banner_title .title_figur {
    flex-basis: 50%;
    background-image: url("../invoice/apipage_bannertitle_bg.png");
    background-size: contain;
    background-repeat: no-repeat;
}
.banner_navigation {
    width: 100%;
    color: #0C131E;
    background-color: #FFFFFF;
    box-shadow: 0px 4px 10px rgba(54, 64, 83, 0.1), inset 1px 1px 8px rgba(182, 190, 199, 0.08), inset -2px -3px 4px rgba(182, 190, 199, 0.08);
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
#mainPage .banner_navigation {
    width: 80%;
    background-color: rgba(12, 19, 30, 0.9);
    border: 2px solid rgba(72, 85, 108, 0.18);
    box-shadow: 0px 13px 24px 14px rgba(48, 221, 232, 0.03);
    backdrop-filter: blur(17.5px);
    border-radius: 30px;
    color: #fff;
    margin-top: -100px;
    padding: 0;
    align-items: stretch;
}
#planPage .banner_navigation {
    position: relative;
    z-index: 1;
}
#applyPage .finish .banner_content {
    margin: 100px auto;
}
#mainPage .content_article {
    padding-top: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}
#mainPage #section-point2 .content_article {
    width: 80%;
    flex-direction: row;
    align-items: stretch;
}
#mainPage #section-point3 .content_article {
    width: 80%;
    padding: 70px 0;
    flex-direction: row;
    align-items: stretch;
}
#mainPage .items_header .header_title {
    font-weight: 600;
    line-height: 1.5;
    color: #2A3342;
}
#mainPage #section-point1 .items_header .header_title,
#mainPage #section-point3 .items_header .header_title {
    font-size: 2.5rem;
}
#mainPage #section-point3 .items_header .header_title {
    color: #fff;
}
#mainPage #section-point2 .items_header .header_title {
    font-size: 1.8125rem;
    line-height: 1.1;
}
#mainPage .white_card .items_figure {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#mainPage #section-point1 .white_card .items_figure {
    flex-basis: 40%;
}
#mainPage #section-point1 .white_card:nth-child(odd) .items_figure {
    transform: rotate(1deg);
}
#mainPage #section-point1 .white_card:nth-child(even) .items_figure {
    transform: rotate(-1deg);
}
#mainPage #section-point1 .white_card .items_figure img {
    width: 90%;
    height: auto;
}
#mainPage #section-point3 .white_card .items_figure {
    flex-basis: 45%;
}
#mainPage #section-point2 .white_card .items_figure {
    width: 100%;
    justify-content: flex-end;
}
#mainPage #section-point2 .white_card .items_figure img {
    width: 60%;
}
#mainPage #section-point3 .white_card .items_figure img {
    width: 80%;
}
#featurePage .white_card .items_figure {
    flex-basis: 50%;
    background-color: #FDFDFD;
    display: flex;
    align-items: center;
}
#apiPage .white_card .items_figure {
    flex-basis: 45%;
    background-color: #FDFDFD;
    display: flex;
    align-items: center;
}
#featurePage #section-point1 .white_card .items_figure {
    flex-basis: 55%;
    min-height: 530px;
    border: 0.5px solid #DCE0E5;
    box-shadow:0 6px 20px 3px rgb(4 0 0 / 15%);
    border-radius: 32px;
    padding: 40px;
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#featurePage #section-point1 .white_card .items_figure .figure_img {
    flex-grow: 1;
    display: none;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}
#featurePage #section-point1 .white_card .items_figure .figure_img.display {
    display: flex;
    animation: fadein .8s;
}
#featurePage #section-point1 .white_card .items_figure .figure_img img {
    width: 90%;
    height: auto;
}
#featurePage #section-point2 .white_card .items_figure img,
#apiPage #section-point1 .white_card .items_figure img {
    width: 96%;
}
#featurePage #section-point3 .white_card > div,
#featurePage #section-point4 .white_card > div {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#featurePage #section-point3 .white_card > div {
    flex-basis: 30%;
    padding: 0 50px;
}
#apiPage #section-point2 .white_card > div {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-basis: 30%;
    padding: 0 20px;
}
#featurePage #section-point4 .white_card > div {
    flex-basis: 20%;
}
#featurePage #section-point3 .white_card > div:nth-child(n+2) {
    border-left: 1px solid #DCDCDC;
}
#featurePage #section-point3 .white_card > div > h3,
#featurePage #section-point4 .white_card > div > h3  {
    font-size: 1.5625rem;
    font-weight: 600;
    color: #2A3342;
    //margin-top: 20px;
}
#apiPage .white_card > div > h3 {
    font-size: 1.5625rem;
    font-weight: 600;
    color: #2A3342;
}
#featurePage #section-point3 .white_card > div > div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    line-height: 1.3;
    text-align: center;
}
#featurePage #section-point3 .white_card > div > div:last-child {
    margin-top: 25px;
}
#apiPage #section-point2 .white_card > div > div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    line-height: 1.3;
    text-align: center;
}
#apiPage #section-point2 .white_card > div > div:last-child {
    margin-top: 25px;
}
#apiPage #section-point3 .white_card > div > h3 + div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    margin-top: 20px;
}
#apiPage #section-point3 .white_card > div > h3 + div > div + ul {
    list-style: disc;
    padding-left: 19px;
}
#apiPage #section-point3 .white_card > div > h3 + div > div + ul > li {
    word-break: break-all;
    text-align: justify;
}
#featurePage #section-point4 .white_card > div > div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    line-height: 1.3;
    padding: 25px 20px;
    text-align: center;
}
#featurePage #section-point4 .white_card > div > div:first-child {
    padding: 0;
    text-align: center;
}
#featurePage #section-point4 .white_card > div > div > img {
    width: 70%;
    height: auto;
}
#hardwarePage .white_card .items_figure {
    flex-basis: 48%;
}
#hardwarePage .white_card #modelA-img {
    background-image: url(../invoice/sale_model13.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#hardwarePage .white_card #modelB-img {
    background-image: url(../invoice/sale_model10.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#hardwarePage .white_card #itembox2-img {
    background-image: url(../invoice/img_invoicepaper.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.header_link, .header_tabs, .figure_tabs {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
#mainPage .header_link {
    margin-top: 45px;
}
#featurePage #section-point1 .white_card .header_link {
    flex-grow: 1;
    flex-direction: column;
    justify-content: flex-end;
}
#featurePage #section-point1 .white_card .figure_tabs > div {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
#featurePage #section-point1 .white_card .figure_tabs > div > label {
    flex-grow: 1;
    flex-shrink: 1;
    cursor: pointer;
    text-align:center;
    padding:15px 0;
    border-bottom:thick solid #DCDCDC;
    font-size:1.375rem;
    font-weight:500;
    color:#555
}
#featurePage #section-point1 .white_card .figure_tabs > div > .tabs:hover + label,
#featurePage #section-point1 .white_card .figure_tabs > div > .tabs:checked + label {
    color: #22A2C3;
    border-color: #22A2C3;
}
#featurePage #section-point2 .white_card .header_tabs {
    margin-top: 45px;
}
#featurePage #section-point2 .white_card .header_tabs > div {
    display: flex;
    align-items: center;
}
#featurePage #section-point2 .white_card .header_tabs > div:nth-child(n+2) {
    margin-left: 20px;
}
.header_link .link {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: #22A2C3;
    font-size: 1.25rem;
    font-weight: 500;
    //line-height: 1;
    cursor: pointer;
}
#mainPage .header_link .link {
    border: 2px solid #22A2C3;
    border-radius: 50px;
    padding: 12px 25px;
    transition: 0.5s;
}
#mainPage .header_link .link:hover {
    background-color: #22A2C3;
    color: #fff;
    transition: 0.5s;
}
#featurePage .header_link .link::after {
    content: '\e5cc';
    font-family: "Material Symbols Outlined";
    font-variation-settings:  'wght' 300;
    font-size: 1.875rem;
    transition: 0.3s;
    margin-left: -3px;
}
#featurePage .header_link .link:hover {
    font-weight: 600;
}
#featurePage .header_link .link:hover::after {
    margin-left: 3px;
    transition: 0.5s;
}
#featurePage .header_link .link:nth-child(n+2) {
    margin-top: 8px;
}
#applyPage .white_card h1 {
    width: 100%;
    font-size: 1.875rem;
    font-weight: 700;
    color: #2A3342;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#applyPage .white_card h1 span.warning {
    font-size: 1.125rem;
    font-weight: 400;
    color: #2A3342;
}
#applyPage .white_card h1 span.warning::before {
    content: "＊";
    color: #FF2E63;
    font-weight: 800;
}
#applyPage .form_wrap label.form_items {
    width: 100%;
    border: 1px solid #DCE0E5;
    border-radius: 25px;
    background-color: #fff;
    padding: 35px 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
#applyPage input[type="radio"]:checked + label.form_items {
    border-color: #22A2C3;
    background-color: #fbfbfb;
}
#applyPage .items_title {
    font-size: 1.875rem;
    font-weight: 600;
    color: #2A3342;
    display: flex;
    align-items: center;
    line-height: 1;
}
#applyPage .items_title::before {
    content: "\e147";
    font-family: "Material Symbols Outlined";
    font-variation-settings: 'FILL' 1;
    font-size: 3.125rem;
    color: #22A2C3;
    line-height: 1.875rem;
}
#applyPage .items_title span {
    flex-grow: 0;
    color: #2A3342;//#2A3342;
    background-color: #DAFA5F;//#DAFA5F;
    border-radius: 50px;
    margin-right: 0.3rem;
    padding: 7px 14px;
    display: flex;
    justify-content: center;
}
#applyPage .title_content .items_title span {
    flex-basis: 30%;
}
main .fixed_nav.invisible {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}
header .fixed_nav {
    background-color: rgba(255, 255, 255, 0.5);
    border-top: thin solid #C7CDD4;
}
.banner_navigation .point_item {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content:center;
    cursor: pointer;
    margin: 0px 50px;
}
#mainPage .banner_navigation .point_item {
    flex-grow: 1;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 60px 0;
    margin: 0;
}
#mainPage .banner_navigation .point_item:hover {
    background: radial-gradient(circle at center, rgba(13,230,244,0.5) 0%, rgba(12,19,30,0) 70%);
    transition: 0.3s;
}
.banner_navigation .point_item .item_text {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1;
    transition: all ease-out 0.2s;
}
#mainPage .banner_navigation .point_item .item_text {
    width: 100%;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#mainPage .banner_navigation .point_item .item_text:first-child {
    line-height: 2.1875rem;
}
#featurePage .banner_navigation .point_item .item_text,
#planPage .banner_navigation .point_item .item_text,
#hardwarePage .banner_navigation .point_item .item_text {
    color: #555;
}
#featurePage .banner_navigation .point_item:hover .item_text,
#featurePage .banner_navigation .point_item.active .item_text,
#planPage .banner_navigation .point_item:hover .item_text,
#planPage .banner_navigation .point_item.active .item_text,
#hardwarePage .banner_navigation .point_item:hover .item_text,
#hardwarePage .banner_navigation .point_item.active .item_text {
    color: #22A2C3;
}
#hardwarePage .banner_navigation .point_item .item_text,
#featurePage .banner_navigation .point_item .item_text {
    display: flex;
    align-items: center;
    justify-content: center;
}
.banner_navigation .point_item .item_text span {
    font-weight: 700;
    color: #ff8200;
}
.banner_navigation .point_item .item_text span.n_txt {
    font-size: 2.1875rem;
}
.banner_navigation .point_item .item_text span.c_txt {
    font-size: 1.6875rem;
}
#featurePage #section-point1 .header_title span {
    color: #ff8200;
}
#featurePage .header_title span.n_txt {
    font-size: 3.125rem;
    font-weight: 700;
    line-height: 2.3125rem;
}
.banner_navigation .point_item .item_txt {
    font-size: 1.25rem;
    line-height: 1.2;
    margin-top: 15px;
    color: #E7E7E7;
}
.arrow_bar {
    margin-top: 2rem;
}
.arrow_bar .icon_arrow_down {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: jumpInfinite 1s infinite;
}
.arrow_bar .icon_arrow_down::before {
    font-family: "Material Symbols Outlined";
    font-size: 5rem;
    content: "\e0bc";
}
#mainPage #section-point1 {
    background: url("../invoice/img-greate.png") right top/26% no-repeat;
}
#mainPage #section-point2 {
    background: url("../invoice/img-greate.png") left top/26% no-repeat;
}
#mainPage #section-point3 {
    background-image: url("../invoice/mainpage_point3_bg.png");
    background-color: #1B2028;
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: left 20% bottom 50%;
}
#featurePage .section.content_container {
    padding: 60px 0;
}
#planPage .section.content_container {
    padding: 60px 0;
}
#planPage .section.steps_container {
    padding: 60px 0;
}
#hardwarePage .section.content_container {
    padding: 60px 0;
}
#applyPage .section.content_container {
    flex-basis: 55%;
    padding: 50px 0;
    align-items: stretch;
}
#apiPage .section.content_container {
    padding: 80px 0;
}
#apiPage #section-point3 {
    background-color: #E9EDF1;
}
.content_wrap {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#mainPage #section-point1 .content_wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
#mainPage #section-point2 .content_wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
#planPage #section-point1 .content_wrap:nth-child(n+2) {
    margin-top: 50px;
}
#mainPage .content_wrap .content_title {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#mainPage .content_wrap .content_title .title_txt {
    font-size: 1.5625rem;
    font-weight: 500;
    margin-bottom: 30px;
    color: #777;
}
.content_wrap h1 {
    font-size: 2.3125rem;
    font-weight: 700;
    color: #2A3342;
    display: flex;
    align-items: center;
    justify-content: center;
}
#apiPage #section-point3 .content_wrap h1::after {
    content: "\e94c";
    font-family: "Material Symbols Outlined";
    font-size: 5rem;
}
#apiPage .items_header .header_title {
    font-size: 2.3125rem;
    font-weight: 600;
    line-height: 1.5;
    color: #2A3342;
    text-align: left;
}
.white_card {
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
    background-color: #FDFDFD;
    border: 0.5px solid #DCE0E5;
    box-shadow:0 6px 20px 3px rgb(4 0 0 / 15%);
    border-radius: 32px;
}
#mainPage #section-point1 .white_card {
    width: 80%;
    padding: 80px;
    will-change: transform;
    transform-style: preserve-3d;
}
#mainPage #section-point1 .white_card:nth-child(odd) {
    transform: rotate(-1deg);
}
#mainPage #section-point1 .white_card:nth-child(even) {
    transform: rotate(1deg);
}
#mainPage #section-point1 .white_card:nth-child(odd) .white_card {
    transform: rotate(1deg);
}
#mainPage #section-point1 .white_card:nth-child(even) .white_card {
    transform: rotate(-1deg);
}
#mainPage #section-point1 .white_card:nth-child(n+2) {
    margin-top: 50px;
}
#mainPage #section-point2 .white_card {
    flex-basis: 30%;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px;
    background: linear-gradient(-15deg,#FFF 0% 20% , #F1F5F6 33%, #FFF 33% 100%);
}
#mainPage #section-point3 .white_card {
    flex-grow: 1;
    margin: 0 auto;
    background-color: inherit;
    border: none;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
}
#featurePage .white_card {
    width: 85%;
    margin: 0 auto;
    border: none;
    box-shadow: none;
    background-color: inherit;
}
#featurePage #section-point2 .white_card,
#featurePage #section-point3 .white_card,
#featurePage #section-point4 .white_card {
    width: 80%;
    margin-top: 50px;
    padding: 50px;
    border: 0.5px solid #DCE0E5;
    box-shadow:0 6px 20px 3px rgb(4 0 0 / 15%);
    border-radius: 32px;
    background-color: #FDFDFD;
}
#featurePage #section-point3 .white_card {
    padding: 50px 0;
}
#featurePage #section-point4 .white_card {
    border: none;
    box-shadow: none;
    background-color: inherit;
    padding: 0;
}
#featurePage #section-point4 .white_card + .white_card {
    margin-top: 0;
}
#apiPage .white_card {
    width: 80%;
    margin: 0 auto;
    padding: 60px 50px;
    border: 0.5px solid #DCE0E5;
    box-shadow:0 6px 20px 3px rgb(4 0 0 / 15%);
    border-radius: 32px;
    background-color: #FDFDFD;
}
#apiPage #section-point2 .white_card {
    margin-top: 50px;
}
#apiPage #section-point3 .white_card {
    width: 55%;
    margin-top: 50px;
    padding: 35px 40px;
    border-radius: 16px;
    box-shadow: none;
    flex-direction: column;
}
#planPage .white_card {
    width: 80%;
    margin: 0 auto;
    padding: 50px 70px;
    display: flex;
    align-items: stretch;
}
#planPage .white_card:nth-child(n+2) {
    margin-top: 50px;
}
#hardwarePage .white_card {
    width: 80%;
    min-height: 600px;
    margin: 0 auto;
    padding: 50px 80px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
#applyPage .white_card {
    width: 100%;
    flex-grow: 1;
    padding: 40px;
    margin: 0 auto;
    border: 1px solid rgba(54, 64, 83, 0.1);
    box-shadow: 0px 4px 20px rgba(54, 64, 83, 0.2), inset 1px 1px 8px rgba(182, 190, 199, 0.08), inset -2px -3px 4px rgba(182, 190, 199, 0.08);
    background-color: #fff;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
#applyPage .title_content + .white_card {
    margin-top: 30px;
}
.white_card .items_header {
    display: flex;
    flex-direction: column;
}
#mainPage .white_card .items_header {
    flex-basis: 45%;
}
#mainPage #section-point1 .white_card:nth-child(odd) .items_header {
    transform: rotate(1deg);
}
#mainPage #section-point1 .white_card:nth-child(even) .items_header {
    transform: rotate(-1deg);
}
#featurePage .white_card .items_header {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    background-color: #FDFDFD;
}
#featurePage #section-point1 .white_card .items_header {
    flex-basis: 35%;
    border: 0.5px solid #DCE0E5;
    box-shadow:0 6px 20px 3px rgb(4 0 0 / 15%);
    border-radius: 32px;
    padding: 40px;
    order: 0;
}
#featurePage #section-point2 .white_card .items_header {
    flex-basis: 50%;
    justify-content: center;
    padding: 0 30px;
    order: 2;
}
#planPage .white_card .items_header {
    flex-basis: 35%;
    justify-content: flex-start;
    padding: 10px 10px 10px 0;
    border-right: 1px solid #ccc;
}
#apiPage #section-point1 .white_card .items_header {
    flex-basis: 55%;
    justify-content: center;
    padding: 0 30px;
    //order: 2;
}
#hardwarePage .white_card .items_header {
    flex-basis: 48%;
    justify-content: flex-start;
    padding: 10px 0;
    order: 2;
}
.white_card .items_content {
    flex-basis: 65%;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
}
#planPage .white_card .items_content {
    padding: 10px 0 10px 30px;
    justify-content: space-between;
}
#hardwarePage .white_card .items_content {
    flex-grow: 1;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 20px;
}

#applyPage .white_card .form_wrap {
    width: 100%;
    cursor: pointer;
}
#applyPage .white_card .form_wrap[name='planBig'] {
    margin-top: 10px;
}
#applyPage .title_content .form_wrap {
    width: 100%;
}
#applyPage .form_wrap .items_content {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    margin-top: 15px;
}
.form_group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: 15px;
}
.form_group label.field {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.form_group div.field {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.form_group div.field + div.field {
    margin-top: 40px;
    justify-content: center;
}
.form_group div.field button.btn {
    flex-basis: 30%;
    padding: 15px 20px;
}
.form_group div.field span.fontset {
	cursor: pointer;
	text-decoration: underline;
	font-weight: 500;
    color: #2eb6c7;
    transition: color 0.3s;
}
.form_group div.field span.fontset:hover {
    color: rgba(46, 182, 199, 0.8);
    transition: color 0.3s;
}
.form_group div.field input[type="checkbox"] + label::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    content:"\a0";
    width: 28px;
	height: 28px;
    border: 1px solid #ccc;
    border-radius: 3px;
    margin-right: 0.2rem;
    cursor: pointer;
}
.form_group div.field input[type="checkbox"]:checked + label::before {
    content:"✔";
    border-color: #22A2C3;
    background-color: #22A2C3;
    color: #fff;
}
.form_group .field:nth-child(n+2) {
    margin-top: 1.25rem;
}
.form_group label.field .field_name {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2A3342;
}
.form_group label.field .field_input {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 0.5rem;
    margin-top: 5px;
}
.form_group label.field .field_input input {
    font-size: 1.25rem;
}
.form_group label.field:focus-within .field_input {
    border-color: #2eb6c7;
}
.form_group .field .info {
    font-size: 1rem;
    color: #2A3342;
    margin-top: 5px;
    display: flex;
    align-items: center;
}
.form_group .field .info::before {
    content: "\e88e";
    font-family: "Material Symbols Outlined";
    font-size: 1.5625rem;
    color: #22A2C3;
}
#applyPage [name='planSmall'] .items_content {
    display: flex;
    justify-content: flex-start;
}
#planPage .items_header .header_title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
#planPage .items_header .header_title span.title {
    font-size: 2.3125rem;
    font-weight: 600;
    line-height: 1;
    color: #2A3342;
    border-bottom: 5px solid #ff8200;
    padding-bottom: 8px;
}
#hardwarePage .items_header .header_title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
#hardwarePage .items_header .header_title span.title {
    font-size: 2.3125rem;
    font-weight: 600;
    color: #2A3342;
}
#featurePage .items_header .header_title {
    font-size: 2.3125rem;
    font-weight: 600;
    line-height: 1.5;
    color: #2A3342;
}
.items_header .header_text {
    margin-top: 20px;
    color: #2A3342;
    text-align: justify;
    padding: 0;
}
#mainPage .items_header .header_text, #featurePage .items_header .header_text,
#hardwarePage .items_header .header_text, #planPage .items_header .header_text,
#apiPage .items_header .header_text {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.3;
}
#planPage .items_header .header_text {
    padding-right: 30px;
}
#mainPage #section-point3 .items_header .header_text {
    color: #f6f6f6;
}
#apiPage .items_header .header_text ul {
    margin-top: 20px;
    padding: 20px;
    background-color: #F3F5F6;
    //border-radius: 20px;
}
#apiPage .items_header .header_text ul > div {
    font-size: 1.375rem;
    font-weight:600;
}
.items_header .header_text ul li,
.tab-panel .type-content ul li {
    display: flex;
    align-items: flex-start;
    line-height: 1.375rem;
}
#featurePage .items_header .header_text ul li:nth-child(n+2) {
    margin-top: 40px;
}
#apiPage .items_header .header_text ul li:nth-child(n+2) {
    margin-top: 15px;
}
.items_header .header_text ul li:nth-child(n+2),
.tab-panel .type-content ul li:nth-child(n+2) {
    margin-top: 10px;
}
.items_header .header_text ul li::before,
.tab-panel .type-content ul li::before {
    content: "\e57b";
    font-family: "Material Symbols Outlined";
    font-variation-settings: 'FILL' 1;
    font-size: 1.375rem;
    color: #ff8200;
    margin-right: 5px;
}
#featurePage .items_header .header_text ul li::before {
    content: "\e837";
    font-family: "Material Symbols Outlined";
    font-variation-settings: 'FILL' 1, 'wght' 700;
    font-size: 2.1875rem;
    margin-right: 15px;
}
#apiPage .items_header .header_text ul li::before {
    content: "\e86c";
    font-family: "Material Symbols Outlined";
    font-variation-settings: 'FILL' 1, 'wght' 700;
    font-size: 1.75rem;
    margin-right: 7px;
}
#featurePage .items_header .header_text ul li h3 {
    font-size: 1.5625rem;
    font-weight: 600;
    color: #2A3342;
}
#apiPage .items_header .header_text ul li h3 {
    font-size: 1.3125rem;
    font-weight: 500;
    color: #2A3342;
}
#featurePage .items_header .header_text ul li h3 + div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    line-height: 1.3;
    margin-top: 15px;
}
#apiPage .items_header .header_text ul li h3 + div {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #555;
    line-height: 1.3;
    margin-top: 5px;
    text-align: justify;
}
.items_header .header_figure {
    flex-grow: 1;
    background: linear-gradient(-15deg, #FFF 0% 20%, #EFEFEF 33%, #FFF 33% 100%);
}
.items_content .plan_box {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
[name='planSmall'] .items_content .plan_box {
    flex-basis: 49%;
}
[name='planBig'] .items_content .plan_box {
    flex-basis: 49%;
}
.title_content .items_content .plan_box {
    flex-basis: 100%;
}
#applyPage .plan_box.invisible {
    display: none;
}
.items_content .plan_box > div {
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.items_content .plan_box > div:nth-child(n+2) {
    margin-top: 3px;
}
#applyPage .items_content .plan_box > div:last-child {
    margin-top: 15px;
}
#planPage .items_content .plan_box > div.remark + div.total,
#applyPage .items_content .plan_box > div.fee + div.total,
#applyPage .items_content .plan_box > div.discount + div.total {
    border-top: thin solid #727D8C;
    margin-top: 3px;
}
#planPage .items_content .plan_box > div.remark + div.total + div.total,
#applyPage .items_content .plan_box > div.fee + div.total + div.total,
#applyPage .items_content .plan_box > div.discount + div.total + div.total {
    border-top: thin solid #727D8C;
    border-bottom: thin solid #727D8C;
    margin-top: 0;
}
.items_content .plan_box > div > div {
    display: flex;
    align-items: center;
    padding: 1px;
}
.items_content .plan_box > div > div:nth-child(1) {
    flex-basis: 55%;
    justify-content: center;
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}
.items_content .plan_box > div > div:nth-child(2) {
    flex-basis: 45%;
    justify-content: flex-end;
}
.items_content .plan_box > div.contract {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1;
    color: #2A3342;
    background-color: #F2F3F4;
    padding: 12px 0;
}
.items_content .plan_box > div.remark {
    align-items: center;
    justify-content: flex-start;
    font-size: 1rem;
    line-height: 1.2;
}
.items_content .plan_box > div.remark::before {
    content: "▪";
    color: #FF2E63;
}
.items_content .plan_box > div.remark > span {
    font-size: 0.875rem;
    color: #DB1A1A;
    margin-left: 3px;
}
#applyPage .items_content .plan_box > div.total > div:nth-child(2),
#planPage .items_content .plan_box > div.total > div:nth-child(2) {
    color: #FF8200;
}
.items_content .plan_box label.btn.registration {
    flex-grow: 1;
    padding: 13px 25px;
    border-radius: 50px;
    background-color: #22A2C3;
    color: #FFFFFF;
    font-size: 1.25rem;
    font-weight: 500;
    //line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.items_content .plan_box > div.count > div:nth-child(1) {
    background-color: #22a2c3;
}
.items_content .plan_box > div.count > div:nth-child(2) {
    background-color: rgba(34, 162, 195, 0.1);
    color: #22a2c3;
}
.items_content .plan_box > div.rent > div:nth-child(1),
.items_content .plan_box > div.fee > div:nth-child(1) {
    background-color: #727D8C;
}
.items_content .plan_box > div.rent > div:nth-child(2),
.items_content .plan_box > div.fee > div:nth-child(2) {
    background-color: hsl(0, 0%, 95%);
    color: #2A3342;
}
.items_content .plan_box > div.discount > div:nth-child(1) {
    background-color: #DE1A58;
}
.items_content .plan_box > div.discount > div:nth-child(2) {
    background-color: rgba(222, 26, 88, 0.1);
    color: #DE1A58;
}
.items_content .plan_box > div.total > div:nth-child(1) {
    display: flex;
    font-weight: 600;
    color: #2A3342;
    padding: 10px 0;
}
.items_content .plan_box > div > div:nth-child(2) span {
    display: flex;
    align-items: center;
}
.number {
    font-size: 1.375rem;
    font-weight: 500;
    display: flex;
    align-items: center;
}
#applyPage .items_content .plan_box > div.total > div:nth-child(2) .number,
#planPage .items_content .plan_box > div.total > div:nth-child(2) .number {
    font-size: 1.6875rem;
    font-weight: 600;
}
#hardwarePage .header_text .number, #hardwarePage .items_content .number {
    font-size: 1.875rem;
    font-weight: 600;
    line-height: 1.125rem;
    color: #FF6F01;
    display: flex;
    align-items: center;
}
#hardwarePage .header_text .number::before, #hardwarePage .items_content .number::before {
    content: "NT$";
    font-size: 1.4375rem;
}
.dollar.dis::before {
    content: "—";
    font-size: 1.125rem;
    font-weight: 500;
    margin-right: 0.2rem;
}
.dollar::after {
    content: "元";
    font-size: 1.125rem;
    font-weight: 400;
}
.record::after {
    content: "筆";
    font-size: 1.125rem;
    font-weight: 400;
}
ol.explain {
    margin: 0 auto;
    padding-left: 25px;
    list-style-type: decimal;
}
#planPage ol.explain {
    width: 79%;
    margin-top: 30px;
}
#applyPage ol.explain {
    width: 100%;
    border: 1px solid #ACACAC;
    border-radius: 25px;
    background-color: #fff;
    margin-top: 30px;
    padding: 40px 40px 40px 60px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
}
#applyPage .finish ol.explain {
    width: 100%;
    margin: 0 auto;
}
ol.explain h4 {
    font-size: 1.4375rem;
    margin-left: -20px;
}
ol.explain li {
    font-size: 1.125rem;
    line-height: 1.2;
    text-align: justify;
}
ol.explain li:nth-child(n+2) {
    margin-top: 10px;
}
#applyPage .finish ol.explain a.link_btn {
    font-weight: 600;
    background-color: #42C507;
    color: #FFFFFF;
    padding: 2px 5px;
    border-radius: 3px;
}
.items_header .tabs-wrap {
    width: 100%;
    display: flex;
    align-items: center;
    margin-top: 20px;
}
.items_header .tabs-wrap > div {
    flex-grow: 1;
}
#hardwarePage .items_header input {
    display: none;
}
#featurePage .items_header input[type="radio"] {
    width: 25px;
    height: 25px;
    border: thin solid #22A2C3;
    border-radius: 50%;
    cursor: pointer;
    margin-right: 5px;
}
#featurePage .items_header input[type="radio"]:checked {
    background-color: #22A2C3;
    background-clip:content-box;
    padding:4px;
}
#featurePage .items_header input[type="radio"] + label {
    font-size: 1.375rem;
    font-weight: 500;
}
.items_header .tabs-wrap label {
    flex-basis: 1;
    flex-shrink: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.375rem;
    font-weight: 500;
    color: #22A2C3;
    cursor: pointer;
    padding: 20px;
}
#section-point2 .tabs-wrap label {
    background-color: #22A2C3;
    color: #fff;
    border-radius: 50px;
}
.items_header .tabs-wrap #tab1 {
    border-radius: 40px 0 0 40px;
}
.items_header .tabs-wrap #tab2 {
    border-radius: 0 40px 40px 0;
}
#hardwarePage .items_header #tabs1:checked + #tab1,
#hardwarePage .items_header #tabs2:checked + #tab2 {
    background-color: #22A2C3;
    color: #fff;
}
.tabs-info {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
}
.tabs-info .info-panel {
    display: none;
}
.tabs-info .info-panel.display {
    flex-grow: 1;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    animation: fadein .8s;
}
.items_content ul.tab-nav {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    margin-top: 20px;
}
.items_content ul.tab-nav li {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.items_content ul.tab-nav li label {
    flex-grow: 1;
    font-size: 1.375rem;
    font-weight: 500;
    color: #777;
    cursor: pointer;
    text-align: center;
    padding: 15px 0;
    border-bottom: thick solid #DCDCDC;
}
.items_content .tabs:hover + label,
.items_content .tabs:checked + label {
    color: #22A2C3;
    border-color: #22A2C3;
}
.items_content .tab-panel {
    display: none;
    margin-top: 30px;
}
.items_content .tab-panel.display {
    display: flex;
    flex-direction: column;
    animation: fadein .8s;
}
.items_content .tab-panel h3 {
    font-size: 1.375rem;
    color: #000;
    margin-bottom: 10px;
}
.header_text {
    padding: 10px 5px;
    display: flex;
    flex-direction: column;
}
.header_text > .show {
    font-size: 1.25rem;
    line-height: 1.2;
}
.header_text .price, .items_content .price {
    display: flex;
    align-items: center;
}
.header_text .price > div:first-child,
.items_content .price > div:first-child {
    font-size: 1.25rem;
    font-weight: 500;
}
.header_text .price > div:last-child,
.items_content .price > div:last-child {
    margin-left: 10px;
    display: flex;
    align-items: center;
    font-size: 1.125rem;
}
.tab-panel .type-content {
    height: 80px;
    font-size: 1.125rem;
    line-height: 1.3;
}
.steps_wrap {
    width: 85%;
    margin: 0 auto;
    border-radius: 300px;
    background-color: #E9EDF1;
    padding: 4rem 0;
    display:flex;
    flex-direction: column;
    align-items: center;
}
.steps_wrap h1 {
    font-size: 2.3125rem;
    font-weight: 700;
    text-align: center;
}
.steps_content {
    width: 100%;
    margin: 2rem auto;
    padding: 0 25px;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
}
.step_item {
    flex-basis: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 25px 0;
}
.step_icon {
    width: 200px;
    height: 200px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.step_icon img {
    width: 70%;
    height: 70%;
}
.step_title {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #2A3342;
    margin-top: 20px;
}
.step_text {
    font-size: 1.1875rem;
    line-height: 1.2;
    margin-top: 15px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    text-align: center;
}
.steps_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}
.steps_btn button.btn.registration {
    padding: 15px 50px;
}
#apiPage #section-point3 .steps_btn {
    margin-top: 30px;
    justify-content: flex-start;
}
#apiPage #section-point3 .steps_btn button.btn.registration,
#mainPage #section-point2 .steps_btn button.btn.registration {
    background-color: inherit;
    border: 2px solid #22A2C3;
    color: #22A2C3;
    padding: 12px 25px;
}
#apiPage #section-point3 .steps_btn button.btn.registration:hover,
#mainPage #section-point2 .steps_btn button.btn.registration:hover {
    background-color: #22A2C3;
    color: #fff;
    transition: background-color 0.3s, color 0.3s;
}
#terms {
    position: fixed;
    width: 90%;
    height: 90%;
    top: 50%;
    left: 50%;
    z-index: 4;
    transform: translateX(-50%) translateY(-50%);
    background-color: #FFFFFF;
    box-shadow: 4px 5px 2px 0 rgb(0 0 0 / 10%);
    border-radius: 30px;
    animation: fadein 0.1s;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    padding: 45px 0;
}
#terms .title {
    flex-grow: 0;
    font-size: 1.5625rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
#terms .term_wrap {
    flex-grow: 1;
    display: flex;
    align-items: stretch;
    justify-content: center;
    border-top: 1px solid #ccc;
    overflow-x: auto;
    margin-top: 20px;
}
#terms .term_content {
    flex-grow: 1;
    padding: 45px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}
#terms .term_content p {
    font-size: 1.125rem;
    line-height: 1.5;
    word-break: break-all;
    overflow-wrap: break-word;
    text-align: justify;
}
#terms .term_content p + p, article#terms .term_content ol + p {
    margin-top: 1rem;
}
#terms .term_content h4 {
    font-size: 1.125rem;
    line-height: 1.5;
    margin-top: 1rem;
}
#terms .term_content h4 + ol,
#terms .term_content p + ol,
#terms .term_content h4 + p {
    margin-top: 0.3rem;
}
#terms .term_content ol {
    list-style-position: outside;
}
#terms .term_content ol.decimal {
    list-style-type: decimal;
    padding-inline-start: 28px;
}
#terms .term_content ol.square {
    list-style-type: square;
    padding-inline-start: 23px;
}
#terms .term_content ol.ideographic {
    list-style-type: cjk-ideographic;
    padding-inline-start: 35px;
}
#terms .term_content ol li {
    font-size: 1.125rem;
    line-height: 1.5;
}
#terms .term_content ol li:nth-child(n+2) {
    margin-top: 0.5rem;
}
#terms .closebtn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    padding: 2px 5px;
    border-radius: 50%;
    background-color: #FF2E63;
}
#terms .closebtn::before {
    color: #FFFFFF;
}
.checkbox_text {
    font-size: 1.125rem;
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/*footer*/
footer {
    width: 100%;
    background-color: var(--footer-bgcolor);
    display: flex;
    align-items: stretch;
    justify-content: center;
}
footer .wrapper {
    flex-grow: 1;
}
.footer_bar {
    //width: 80%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 50px 60px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}
.footer_bar .slogan {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.footer_bar .slogan > .txt_top {
    font-size: 1.8125rem;
    font-weight: 700;
    line-height: 1;
    color: #17B6C9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer_bar .slogan > .txt_top > span {
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1.8125rem;
}
.footer_bar .slogan > .txt_middle {
    font-size: 1.3125rem;
    font-weight: 600;
    color: #364053;
    line-height: 1;
    margin-top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer_bar .slogan > .txt_bottom {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: 1px;
    padding: 4px 0 1px 0;
    margin-top: 3px;
    border-top: thin #000 solid;
    border-bottom: thin #000 solid;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer_bar .contact {
    flex-grow: 1;
    display: flex;
    align-items: stretch;
    justify-content: space-evenly;
}
.footer_bar .contact_info {
    flex-basis: 75%;
    border-right: 1px solid #BCBCBC;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.footer_bar .contact_info > div {
    display: flex;
    justify-content: flex-start;
    font-size: 1rem;
    letter-spacing: 1px;
}
.footer_bar .contact_info > div:nth-child(n+2) {
    margin-top: 10px;
}
.footer_bar .contact_info > div > span {
    line-height: 1.2;
}
.footer_bar .contact_info > div > span:first-child {
    flex-grow: 0;
    flex-shrink: 0;
}
.footer_bar .contact_info > div > span:last-child {
    flex-grow: 1;
    word-break: break-all;
}
.footer_bar .online_service {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}
.footer_bar .online_service > div {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}
.footer_bar .online_service > div.title {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1;
    color: #2A3342;
}
.footer_bar .online_service > div.line_link {
    margin-top: 10px;
}
div.line_link > a.link_btn {
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}
div.line_link > a > img {
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background-color: #42C507;
}
div.line_link > a > span {
    font-size: 1rem;
    line-height: 1.1;
    margin-left: 3px;
}
.footer_copyright {
    width: 100%;
    background-color: #22A2C3;
    color: #fff;
}
.footer_copyright .textcontent {
    //width: 80%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 20px 60px;
    display: flex;
    align-items: center;
}
.footer_copyright .textcontent > span {
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.5px;
}
.footer_copyright .textcontent > span:last-child {
    margin-left: 5px;
}

/*modal_mark*/
.modal_mark {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 3;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal_mark.hidden {
    display: none;
    background-color: rgba(0, 0, 0, 0);
    transition: 0.3s;
}
.modal_container {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 4;
    transform: translateX(-50%) translateY(-50%);
}
#videoplayer {
    z-index: 4;
    width: auto;
    height: 75%;
    //padding: 1px;
    background-color: #FFFFFF;
    border: thin solid #FFF;
    //border-radius: 30px;
    //box-shadow: 4px 5px 2px 0 rgb(0 0 0 / 10%);
    display: flex;
    align-items: stretch;
    justify-content: center;
    animation: fadein 0.1s;
}
#videoplayer #videoPlayer {
    flex-grow: 1;
    height: auto;
    border: none;
}
#videoplayer .closebtn {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 10px;
    right: 10px;
    padding: 2px 5px;
    border-radius: 50%;
    background-color: #FF2E63;
}
#videoplayer .closebtn::before {
    color: #FFFFFF;

}
#videoplayer .closebtn:hover {
    background-color: #FF2E63;
}
#videoplayer .closebtn:hover::before {
    color: #FFFFFF;
}

/*radio button hidden*/
#applyPage .white_card .plan_box input[type="radio"] {
    display: none;
    width: 20px;
    height: 20px;
    border: thin solid #22A2C3;
    border-radius: 50%;
    cursor: pointer;

}

/*goto_top*/
.goto_top {
    position: fixed;
    right: 50px;
    bottom: 30px;
    width: 70px;
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #364053;
    border: thin solid #777;
    border-radius: 50%;
    box-shadow: 0 0 6px rgba(54, 64, 83, 0.24);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}
.goto_top::before {
    content: "\e698";
    font-family: "Material Symbols Outlined";
    font-size: 2.1875rem;
    line-height: 0.5;
}
.goto_top::after {
    content: "TOP";
    font-size: 1.125rem;
    font-weight: 600;
}
.goto_top span.text {
    font-size: 1.125rem;
    font-weight: 600;
}
.goto_top.visible {
    opacity: 1;
    visibility: visible;
    transition: 0.3s;
}
.goto_top:hover {
	background-color: #5e6675;
    transition: 0.3s;
}

/*animation*/
@keyframes jumpInfinite {
    0% { transform: translateY(0); }
    50% { transform: translateY(20px); }
    100% { transform: translateY(0); }
}
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@keyframes fadeout {
    from {
        opacity:1;
    }
    to {
        opacity:0;
    }
}