body {
    width: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-feature-settings: "palt" on, "trad" on;
}

ul {
    list-style: none;
}

li::marker {
    font-size: .8rem;
}

.image-wrapper {
    width: 100%;
}

.image-raw {
    max-width: 100%;
    height: auto;
}

.fs-80rem {
    font-size: .8rem;
}

/* YouTube responsive size */
.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.embed-container iframe, .embed-container object, .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*
 * Customized Bootstrap Components
 */
.form-select:focus {
    border-color: unset !important;
    box-shadow: none !important;
}

.btn:focus {
    box-shadow: none !important;
}

#noticeModal .btn-close {
    opacity: unset !important;
}

#noticeModal .modal-header {
    border-bottom: 0;
}

#noticeModal .modal-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#noticeModal .modal-body img {
    padding-bottom: 1.5rem;
}

.open-new-window {
    color: #2C96EF;
}

.open-new-window::after {
    content: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_5_2)"><path d="M52 64H12C10.9396 63.9986 9.92299 63.5767 9.17315 62.8269C8.42331 62.077 8.00143 61.0604 8 60V20C8.00143 18.9396 8.42331 17.923 9.17315 17.1732C9.92299 16.4233 10.9396 16.0014 12 16H32V20H12V60H52V40H56V60C55.9986 61.0604 55.5767 62.077 54.8269 62.8269C54.077 63.5767 53.0604 63.9986 52 64Z" fill="%232C96EF" stroke="%232C96EF" stroke-width="2"/><path d="M40 8V12H53.172L36 29.172L38.828 32L56 14.828V28H60V8H40Z" fill="%232C96EF" stroke="%232C96EF" stroke-width="2"/></g><defs><clipPath id="clip0_5_2"><rect width="64" height="64" fill="white"/></clipPath></defs></svg>');
}

/*
 * customized Navbar
 */
.navbar {
    background-color: white;
}

.navbar>.container {
    max-width: 1000px;
}

.navbar-toggler {
    color: rgba(0, 0, 0, 1) !important;
    border-color: rgba(0, 0, 0, 0) !important;
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0 !important;
}

.navbar-toggler span {
    display: block;
    background-color: black;
    height: 2px;
    width: 30px;
    margin-top: 0px;
    margin-bottom: 8px;
    position: relative;
    left: 0;
    opacity: 1;
    transition: all 0.35s ease-out;
    transform-origin: center left;
}

.navbar-toggler span:nth-child(1) {
    transform: translate(0%, 0%) rotate(0deg);
}

.navbar-toggler span:nth-child(2) {
    opacity: 1;
}

.navbar-toggler span:nth-child(3) {
    transform: translate(0%, 0%) rotate(0deg);
}

.navbar-toggler span:nth-child(1) {
    margin-top: 0.3em;
}

.navbar-toggler:not(.collapsed) span:nth-child(1) {
    transform: translate(15%, -33%) rotate(45deg);
}

.navbar-toggler:not(.collapsed) span:nth-child(2) {
    opacity: 0;
}

.navbar-toggler:not(.collapsed) span:nth-child(3) {
    transform: translate(15%, 33%) rotate(-45deg);
}

/*
 * customized Accordion
 */
.accordion-item {
    background-color: transparent;
    border: 2px solid rgba(0, 0, 0, 1);
    border-style: dashed solid;
}

.accordion-flush .accordion-item:first-child {
    border-top: 2px solid rgba(0, 0, 0, 1);
    border-style: dashed solid;
}

/*
.accordion-flush .accordion-item:last-child {
    border-bottom: 2px solid rgba(0, 0, 0, 1);
    border-style: dashed solid;
}
*/
.accordion-button {
    background-color: transparent;
}

.accordion-button:not(.collapsed) {
    color: black;
    background-color: transparent;
    box-shadow: none;
}

.accordion-button::after,
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='iso-8859-1'%3F%3E%3C!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --%3E%3Csvg fill='%23000000' height='800px' width='800px' version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 491.996 491.996' xml:space='preserve'%3E%3Cg%3E%3Cg%3E%3Cpath d='M484.132,124.986l-16.116-16.228c-5.072-5.068-11.82-7.86-19.032-7.86c-7.208,0-13.964,2.792-19.036,7.86l-183.84,183.848 L62.056,108.554c-5.064-5.068-11.82-7.856-19.028-7.856s-13.968,2.788-19.036,7.856l-16.12,16.128 c-10.496,10.488-10.496,27.572,0,38.06l219.136,219.924c5.064,5.064,11.812,8.632,19.084,8.632h0.084 c7.212,0,13.96-3.572,19.024-8.632l218.932-219.328c5.072-5.064,7.856-12.016,7.864-19.224 C491.996,136.902,489.204,130.046,484.132,124.986z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-body {
    background-color: #efce53;
    margin: 0 1rem 1rem 1rem;
}

.home-section-01 .accordion-body {
    background-color: #ebebeb;
    margin: 0 1rem 1rem 1rem;
}

.home-section-01 .accordion-flush .accordion-item:last-child {
    border-bottom: 2px solid rgba(0, 0, 0, 1);
    border-style: dashed solid;
}

/*
 * Menu (Fullsize)
 */
#navbarToggleExternalContent {
    width: 100vw;
    height: 100vh;
    background-color: #fbdb65;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 13px;
    z-index: 2000;
    transition: 0s transform linear;
}

#navbarToggleExternalContent>.container {
    max-width: 1000px;
}

.menu-on-links a {
    text-decoration: none;
    color: black;
    font-weight: 400;
}

.menu-on-links a:visited {
    text-decoration: none;
}

.menu-on-links a:hover {
    text-decoration: underline;
}

@media (max-width: 430px) {
    .navbar-logo img {
        width: 220px;
    }
}

@media (max-width: 300px) {
    .navbar-logo img {
        width: 160px;
    }
}

.menu-on-copyright {
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: .8rem;
}

@media (max-width: 600px) {
    .menu-on-copyright {
        text-align: center;
        margin-left: 2rem;
        margin-right: 2rem;
    }
}

/*
 * Footer
 */
footer {
    font-size: .8rem;
    margin: 3rem 0;
}

.footer-links {
    margin: 2rem 1rem 2rem 1rem;
}

.footer-links a {
    text-decoration: none;
    color: black;
    font-weight: 400;
}

.footer-links a:visited {
    text-decoration: none;
}

.footer-links a:hover {
    text-decoration: underline;
}

.footer-links li {
    margin: 0 .75rem .5rem .75rem
}

.float-partner {
    display: inline-block;
    position: fixed;
    right: 0;
    bottom: 3rem;
    padding: 1rem;
    z-index: 20;
    text-align: right;
}
.float-partner img {
    width: 80%;
}
@media (max-width: 790px) {
    .float-partner img {
        width: 65%;
    }
}
@media (max-width: 720px) {
    .float-partner {
        padding: 1rem;
    }

    .footer-links ul {
        flex-direction: column;
    }

    .footer-links li {
        margin: .5rem 0;
    }

    .float-partner img {
        width: 65%;
        padding: 0;
    }
}

@media (max-width: 430px) {
    .float-partner {
        padding: .5rem;
    }

    .float-partner img {
        width: 50%;
        padding: 0;
    }
}

/*
 * Home Header
 */
.home-brand-container {
    background-image: url(/image/home_brand_background.png);
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 550px;
    padding-top: 1rem;
}

.home-brand-container>div {
    max-width: 1000px;
}

@media (max-width: 990px) {
    .home-brand-container {
        height: 450px;
    }
}

@media (max-width: 768px) {
    .home-brand-container {
        height: 380px;
    }
}

@media (max-width: 576px) {
    .home-brand-container {
        height: 320px;
    }
}

@media (max-width: 430px) {
    .home-brand-container {
        height: 550px;
    }

    .home-brand-container>div {
        flex-direction: column !important;
    }
}

.home-brand-head-1 {
    width: 430px;
}

.home-brand-head-2 {
    display: flex;
    margin-top: 2rem;
}

.home-brand-head-3 {
    width: 430px;
}

.home-brand-head-4 {
    display: none !important;
}

.home-brand-notice {
    margin-left: 1rem;
    position: absolute;
    line-height: 100%;
    padding-bottom: 12px;
    border-width: 12px;
    border-style: solid;
    border-image: url(/image/home_notice_title_bg.png);
    border-image-slice: 12 fill;
    border-image-repeat: round;
}

@media (max-width: 768px) {
    .home-brand-notice {
        font-size: .9rem;
    }
}

@media (max-width: 430px) {
    .home-brand-head-1 {
        width: 240px;
        padding-left: .5rem;
        margin-bottom: 1rem;
    }

    .home-brand-head-2 {
        display: none !important;
    }

    .home-brand-head-3 {
        width: 300px;
        padding-left: 0;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .home-brand-head-4 {
        display: flex !important;
        justify-content: space-between !important;
    }

    .home-brand-head-4>div {
        padding: .5rem .5rem;
    }

    .home-brand-notice {
        font-size: .9rem;
    }
}

@media (max-width: 320px) {
    .home-brand-head-3 {
        width: 250px;
    }
}

/*
 * Home Section - Common
 */
.home-section-title {
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    font-family: "UDShinGoPro", "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    width: 80%;
    height: 10rem;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1rem;
}

.title-bg-gray {
    background-image: url(/image/home_background_logo_gray.png);
}

.title-bg-yellow {
    background-image: url(/image/home_background_logo_yellow.png);
}

.title-bg-white {
    background-image: url(/image/home_background_logo_white.png);
}

.title-bg-black {
    background-image: url(/image/home_background_logo_black.png);
}

.section-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: "UDShinGoPro", "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    margin: 0 1rem 1.5rem 1rem;
}

.section-item-title {
    font-weight: 700;
    font-size: 1.2rem;
    margin: .75rem 0;
    text-align: center;
    word-break: break-all;
    line-break: loose;
}

.section-item-description {
    text-align: center;
    word-break: break-all;
    line-break: loose;
}

@media (max-width: 1026px) {
    .section-item {
        font-size: .9rem;
    }

    .section-item-title {
        font-size: 1.2rem;
    }
}

@media (max-width: 430px) {
    .home-section-title {
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
        font-family: "UDShinGoPro", "M PLUS Rounded 1c", sans-serif;
        font-weight: 700;
        font-size: 1.8rem;
        width: 80%;
        height: 10rem;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 1rem;
    }

    .section-item {
        margin: 0 0 1.5rem 0;
        font-size: 1rem;
    }

    .section-item-title {
        font-weight: 700;
        font-size: 1.4rem;
        margin: .5rem 0;
    }

    .section-item-description {
        font-weight: 400;
        font-size: .9rem;
        text-align: center;
    }
}

@media (max-width: 300px) {
    .home-section-title {
        font-size: 1.6rem;
    }
}

.home-section-wrap {
    width: 100%;
    min-height: 460px;
}

.home-section-wrap-content {
    width: 80%;
    justify-content: center;
    max-width: 1000px;
    margin: 0 auto;
}

@media (max-width: 430px) {
    .home-section-wrap-content {
        width: 100%;
        flex-direction: column !important;
    }
}

.blog-title {
    background-color:#232f3e;
    color:#ffffff;
    font-weight:bold;
    text-align:center;
    padding: 1rem;
    width: 100%;
}

@media (max-width: 430px) {
    .blog-title {
        font-size: .9rem;
    }
}

/*
 * Home Section 01 - Point
 */

.home-section-01 {
    background-image: url(/image/home_background_grid_small_gray1.png);
    background-position: center top;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.home-section-01-content {
    top: -2rem;
    width: 80%;
    justify-content: center;
    align-items: flex-start;
    max-width: 1000px;
}

@media (max-width: 430px) {
    .home-section-01-content {
        top: -2rem;
        width: 80%;
        flex-direction: column !important;
    }
}

/*
 * Home Section 02 - Flow
 */
.home-section-02 {
    background-image: url(/image/home_background_yellow_grid_small.png);
    background-position: center top;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.home-section-02-content {
    width: 80%;
    max-width: 1000px;
}

.home-section-02-flow {
    background-image: url(/image/home_background_flow_right.png);
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: auto 158px;
    width: 50%;
}

.home-section-02-flow>div {
    align-self: flex-start;
    width: 50%;
}

.home-section-02-flow .image-wrapper {
    text-align: center;
}

@media (max-width: 790px) {
    .home-section-02-content {
        flex-direction: column;
    }

    .home-section-02-flow {
        width: 100%;
    }
}

@media (max-width: 430px) {

    .home-section-02-content {
        width: 100%;
        background-image: url(/image/home_background_flow_down.png);
        background-position: left top;
        background-repeat: repeat-y;
        background-size: 40% auto;
    }

    .home-section-02-flow {
        background-image: none;
        flex-direction: column;
    }

    .home-section-02-flow>div {
        width: auto;
        margin: 0 2rem 2rem 2rem;
        align-self: center;
    }
}


/*
 * Home Section 03 - Price
 */

.home-section-03 {
    background-image: url(/image/home_background_strip_white_v.png);
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.home-section-03-content {
    top: -2rem;
    width: 80%;
    justify-content: center;
    max-width: 1000px;
}

@media (max-width: 430px) {
    .home-section-03-content {
        top: -2rem;
        width: 80%;
        flex-direction: column !important;
    }
}

.flag-title {
    background-image: url(/image/icon_flag_ribon.png);
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    max-width: 1000px;
    height: 33px;
    line-height: 3rem;
    top: 20px;
}

.ribon-title {
    border-image: url(/image/icon_ribbon.png);
    border-image-slice: 57 0 36 0;
    border-image-width: 57px 0 36px 0;
    width: 100%;
    height: 4rem;
    max-width: 720px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 3rem;
}

.ribon-title-tall {
    border-image: url(/image/icon_ribbon.png);
    border-image-slice: 57 0 36 0;
    border-image-width: 57px 0 36px 0;
    width: 100%;
    height: 5.5rem;
    max-width: 720px;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 130%;
    padding-top: .5rem;
    padding-bottom: .5rem;
}

@media (max-width: 430px) {
    .ribon-title-tall {
        font-size: 1.2rem;
    }
}

.recommend-title {
    border-image: unset;
}

@media (max-width: 790px) {
    .recommend-title {
        border-image: url(/image/icon_ribbon.png);
        border-image-slice: 57 0 36 0;
        border-image-width: 57px 0 36px 0;
    }
}

.home-section-03-flow {
    max-width: 790px;
    margin-top: 2.5rem;
    display: flex;
    flex-wrap: wrap;
}

.section-product {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    align-items: center;
    margin-bottom: 2rem;
    justify-content: flex-start;
    flex-direction: row;
    align-content: flex-start;
}

.section-product a {
    color: #006cff;
}

@media (max-width: 790px) {
    .home-section-03-flow {
        max-width: none;
        flex-flow: column;
    }

    .section-product {
        width: 100%;
        margin-bottom: 1.5rem;
    }
}

@media (max-width: 430px) {
    .section-product {
        width: 100%;
    }

    .section-product .section-item-title {
        font-size: 1rem;
        word-wrap: break-word;
        word-break: break-all;
        margin-top: 0;
    }

    .section-product .section-item-description {
        text-align: start;
    }
}

/*
 * Home Section 04 - Service Area
 */
.home-section-04 {
    background-image: url(/image/home_background_strip_gray_v.png);
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.home-section-04-content {
    top: -2rem;
    width: 80%;
    justify-content: center;
    max-width: 1000px;
    text-align: center;
}

.home-section-04-etc {
    display: inline-block;
    bottom: 0;
    left: 40%;
    text-align: left;
    font-weight: 700;
    font-size: .9rem;
    text-wrap: nowrap;
}

@media (max-width: 790px) {
    .home-section-04-content {
        max-width: none;
    }

    .home-section-04-etc {
        position: unset !important;
        margin-top: 1rem;
        text-wrap: wrap;
        word-wrap: break-word;
    }
}

@media (max-width: 430px) {
    .home-section-04-content {
        top: -2rem;
        width: 80%;
        flex-direction: column !important;
    }

    .home-section-04-etc {
        font-size: .8rem;
        text-wrap: wrap;
    }
}


/*
 * Home Section 05 - FAQ
 */
.home-section-05 {
    background-image: url(/image/home_background_yellow_grid_small.png);
    background-position: center top;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.home-section-05-content {
    width: 80%;
    max-width: 1000px;
}

@media (max-width: 430px) {

    .home-section-05-content {
        width: 100%;
    }
}


/*
 * Home Section 06 - Inquiry
 */
.home-section-06 {
    background-image: url(/image/home_background_strip_black_h.png);
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    padding-top: 1rem;
    padding-bottom: 3rem;
    color: #fbdb65;
}

.home-section-06-content {
    width: 80%;
    max-width: 1000px;
}

.gs-inquiry a,
.gs-inquiry a:visited {
    color: #fbdb65;
    word-wrap: break-word;
}

.gs-inquiry span {
    display: inline-block;
    color: black;
    font-size: .7rem;
    background-color: #fbdb65;
    margin-left: .5rem;
    padding: .1rem .5rem;
}

@media (max-width: 430px) {
    .home-section-06-content {
        width: 80%;
    }
}

@media (max-width: 300px) {
    .home-section-06-content {
        font-size: 0.9rem;
    }
}

/*
 * Home Section 07 - Point
 */

 .home-section-07 {
    background-image: url(/image/home_background_grid_small_white.png);
    background-position: center top;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}
@media (max-width: 430px) {
    .home-section-07-content {
        top: -2rem;
        width: 80%;
        flex-direction: column !important;
    }
}


/*
 * Home Section - News
 */

.home-section-news-title {
    background-image: url(/image/home_news_title.png);
    background-position: center top;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 70px;
    padding-top: 1rem;
    padding-bottom: 3rem;
    text-indent: -9999px;
}
.home-section-news-content {
    min-height: 200px;
    padding-top:90px;
}
.home-news-list {
    max-width: 1000px;
}
.home-news-list li {
    border-left: 1rem solid #ebebeb;
    margin-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 2rem;
}
.home-news-list a, .home-news-list a:visited {
    color:#1f8fee;
}
@media (max-width: 990px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:170px;
    }
}
@media (max-width: 830px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:150px;
    }
}
@media (max-width: 768px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:180px;
    }
}
@media (max-width: 700px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:160px;
    }
}
@media (max-width: 650px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:130px;
    }
}
@media (max-width: 540px) {
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:100px;
    }
}
@media (max-width: 430px) {
    .home-section-news-title {
        margin-top: 3rem;
    }
    .home-section-news-content {
        padding-bottom: 0;
        padding-top:250px;
    }
    .home-news-list {
        margin-top: 12px;
        max-width: unset;
        padding-left: 0;
    }
    .home-news-list li {
        padding-right: 0;
    }
}

/*
 * Subpage
 */
.sub-title {
    font-family: "UDShinGoPro", "M PLUS Rounded 1c", sans-serif;
    font-size: 2.4rem;
    font-weight: 900;
    width: 100%;
    text-align: center;
    padding-top: 1rem;
}

@media (max-width: 790px) {
    .sub-title {
        font-size: 2rem;
    }
}

@media (max-width: 430px) {
    .sub-title {
        font-size: 1.6rem;
    }
}

/*
 * Category - Section 02 - Flow
 */
.category-section-01 {
    position: relative;
    max-width: 900px;
    min-height: 204px;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
}

.category-section-01-item-01 {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 40px;
    z-index: 6;
}

.category-section-01-item-02 {
    position: absolute;
    display: inline-block;
    right: 0;
    top: 0;
    z-index: 5;
}

.category-section-01-menu {
    display: flex;
    flex-direction: row;
    max-width: 1000px;
    padding-left: 2rem;
    padding-right: 2rem;
    margin-right: auto;
    margin-left: auto;
    justify-content: center;
}

.category-section-01-menu-group {
    display: flex;
    flex-direction: row;
    z-index: 10;
}

.category-section-01-menu-group>div {
    padding: .5rem;
}

.category-section-02-content {
    width: 80%;
    max-width: 1000px;
}

@media (max-width: 790px) {
    .category-section-01-item-01 {
        top: 54px;
        max-width: 400px;
    }

    .category-section-01-menu {
        flex-direction: column;
        max-width: 600px;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (max-width: 430px) {
    .main-category .ribon-title {
        font-size: 1rem;
    }

    .category-section-01 {
        margin-bottom: 0 !important;
    }

    .category-section-01-item-01 {
        top: 68px;
    }

}

.category-section-01-menu-popup {
    position: absolute;
    top: 43%;
    left: 15%;
    right: 15%;
    font-size: .9rem;
    font-weight: 600;
    padding: 3px 8px 12px 8px;
    border-image: url(/image/category_header_title_background.png);
    border-image-slice: 2 fill;
    border-image-repeat: round;
}

@media (max-width: 1000px) {
    .category-section-01-menu-popup {
        font-size: .75rem;
    }
}

@media (max-width: 790px) {
    .category-section-01-menu-popup {
        font-size: .9rem;
    }
}

@media (max-width: 500px) {
    .category-section-01-menu-popup {
        font-size: .8rem;
    }
}

@media (max-width: 430px) {
    .category-section-01-menu-popup {
        font-size: .6rem;
    }
}

@media (max-width: 360px) {
    .category-section-01-menu-popup {
        font-size: .5rem;
    }
}

@media (max-width: 320px) {
    .category-section-01-menu-popup {
        font-size: .45rem;
        font-weight: 500;
    }
}

.category-price-item {
    display: flex;
    width: 100%;
    margin-left: 1.25rem;
    margin-right: 1.25rem;
    padding-top: .75rem;
    padding-bottom: .75rem;
    justify-content: space-between;
    font-size: .9rem;
    border-bottom: 2px solid black;
    min-height: 55px;
}

.category-price-item:first-child {
    justify-content: center;
    font-weight: 700;
    font-size: 1.1rem;
}

.category-price-item>div:first-child {
    padding-right: 1rem;
}

@media (max-width: 790px) {
    .category-price-item {
        margin: 0;
    }
}

.category-section-02 {
    background-image: url(/image/home_background_yellow_grid_small.png);
    background-position: center;
    background-repeat: repeat;
    width: 100%;
    min-height: 460px;
    padding-top: 1rem;
    padding-bottom: 3rem;
}

.category-section-02-flow {
    background-image: url(/image/home_background_flow_right.png);
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: auto 158px;
    width: 50%;
}

.category-section-02-flow>div {
    align-self: flex-start;
    width: 50%;
}

.category-section-02-flow .image-wrapper {
    text-align: center;
}

@media (max-width: 790px) {
    .category-section-02-flow {
        width: 100%;
    }

    .category-section-02-content {
        flex-direction: column;
    }
}

@media (max-width: 430px) {

    .category-section-02-content {
        width: 100%;
        background-image: url(/image/home_background_flow_down.png);
        background-position: left top;
        background-repeat: repeat-y;
        background-size: 40% auto;
    }

    .category-section-02-flow {
        background-image: none;
        flex-direction: column;
    }

    .category-section-02-flow>div {
        width: auto;
        align-self: center;
        margin-left: 2rem;
        margin-right: 2rem;
        margin-bottom: 2rem;
    }
}




/*
 * FAQ - Section
 */
.faq-top-select {
    max-width: 400px;
    padding: 1rem 1.5rem 1.5rem 1.5rem;
    margin-right: auto;
    margin-left: auto;
}

.faq-top-select select {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30px" height="19px"><path fill-rule="evenodd" stroke="rgb(0, 0, 0)" stroke-width="0px" stroke-linecap="butt" stroke-linejoin="miter" fill="rgb(0, 0, 0)" d="M11.429,18.621 L0.819,0.247 L22.038,0.247 L11.429,18.621 Z"/></svg>');
    background-repeat: no-repeat;
    background-position: right;
    border-radius: unset;
    border-color: black;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
}

.faq-page .accordion-item {
    line-height: 180%;
}

.faq-page ul {
    list-style: disc;
}

#faqAccordion {
    border-top-width: 2px;
    border-top-color: rgb(0, 0, 0);
    border-top-style: dashed;
    width: 100%;
}

#faqAccordion .accordion-item:first-child {
    border-top: 0;
}

@media (max-width: 430px) {
    .faq-top-select {
        max-width: 80%;
    }
}

/*
 * Terms - Section
 */
.terms-content {
    font-size: 1rem;
}

.terms-content dt::before {
    content: url(/image/icon_pin_yellow.png);
    vertical-align: middle;
    padding-right: 8px;
    transform: scale(0.9);
    display: inline-block;
}

.terms-content dt {
    font-weight: 400;
    color: #221816;
    margin-top: 1.5rem;
}

.terms-content dd {
    font-weight: 400;
    color: #221816;
}

.terms-content ul {
    padding-left: 1.4rem;
    margin-top: .5rem;
    margin-bottom: .5rem;
    list-style: disc;
}

.terms-content li {
    margin-bottom: .5rem;
}

.terms-content p {
    margin-bottom: 1rem;
}

@media (max-width: 430px) {
    .terms-content {
        font-size: .9rem;
    }
}

/*
 * Partner - Section
 */
.partner-section-01 {
    position: relative;
    max-width: 1000px;
    min-height: 270px;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
}

.partner-section-01-item-01 {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 40px;
    z-index: 6;
}

.partner-section-01-item-02 {
    position: absolute;
    display: inline-block;
    right: 0;
    top: 0;
    z-index: 5;
}

.partner-section-02-content {
    width: 80%;
    max-width: 1000px;
}

@media (max-width: 790px) {
    .partner-section-01-item-01 {
        top: 76px;
        max-width: 400px;
    }
}

@media (max-width: 430px) {
    .partner-section-01-item-01 {
        top: 132px;
    }

}

.partner-section-02-flow {
    background-image: url(/image/partner_background_flow_right.png);
    background-position: bottom left;
    background-repeat: repeat-x;
    background-size: auto 158px;
}

.partner-section-02-flow>div {
    width: 25%;
}

.partner-section-02-flow .image-wrapper {
    text-align: center;
}

.partner-section-02-flow .section-item {
    justify-content: start;
}

.partner-section-02-flow .section-item-title {
    font-size: 1.1rem;
    text-align: center;
    height: 3rem;
}

.partner-section-02-flow .section-item-description {
    font-size: .9rem;
    display: flex;
    flex-direction: column;
}

.partner-section-02-flow ul {
    list-style: disc;
    padding-left: 1rem;
    width: 100%;
}

@media (max-width: 900px) {
    .partner-section-02-flow .section-item-title {
        font-size: 1rem;
    }

    .partner-section-02-flow .section-item-description {
        font-size: .8rem;
    }
}

@media (max-width: 720px) {
    .partner-section-02-content {
        width: 100%;
        background-image: url(/image/partner_background_flow_down.png);
        background-position: left top;
        background-repeat: repeat-y;
        background-size: 40% auto;
    }

    .partner-section-02-flow {
        background-image: none;
        flex-direction: column;
    }

    .partner-section-02-flow>div {
        width: auto;
        margin-left: 2rem;
        margin-right: 2rem;
        margin-bottom: 2rem;
    }

    .partner-section-02-flow .section-item-title {
        font-size: 1.2rem;
    }

    .partner-section-02-flow .section-item-description {
        font-size: 1rem;
        flex-direction: row;
        justify-content: center;
        word-wrap: unset;
        word-break: keep-all;
    }

    .partner-section-02-flow ul {
        margin-left: 1rem;
        text-align: start;
    }
}

/*
 * Corporation - Section
 */

.corporate-section-title-wrap {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 900px;
    min-height: 134px;
    margin-left: auto;
    margin-right: auto;
}

.corporate-section-title-blank {
    background: linear-gradient(0deg, transparent 48%, #000 50%, transparent 52%);
    width: 100%;
    min-height: 40px;
}

.corporate-section-title-content {
    font-family: "UDShinGoPro", "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    word-break: keep-all;
    padding: 0 3rem;
}

.title-bg-company {
    background-image: url(/image/background_text_company.png);
}

.title-bg-mission {
    background-image: url(/image/background_text_mission.png);
}

.title-bg-vision {
    background-image: url(/image/background_text_vision.png);
}

.title-bg-service {
    background-image: url(/image/background_text_service.png);
}

.corporate-section-container {
    display: flex;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
    padding-left: 2rem;
    padding-right: 2rem;
}

.bg-color-accent {
    background-color: #f2d567;
    font-weight: 500;
    margin-bottom: .5rem;
    padding: 0.2rem 0rem;
    line-height: 250%;
    font-size: 1rem;
}

@media (max-width: 576px) {
    .corporate-section-title-wrap {
        background-size: 70%;
    }

    .corporate-section-container {
        flex-direction: column;
        align-items: center;
    }
}

.corporate-mission-item-title {
    text-align: center;
    background-image: url(/image/corporate_mission_title_bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 2rem;
    color: white;
    line-height: 260%;
    padding-bottom: .5rem;
}

.corporate-mission-item-content {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
}

.corporate-mission-item-content>div {
    margin-top: 1rem;
}

.corporate-mission-item-content ul {
    margin: 0;
    list-style: disc;
}

@media (max-width: 576px) {
    .corporate-section-container>div {
        width: 80%;
        margin-bottom: 2rem;
    }
}

.corporate-company-container {
    display: flex;
    flex-direction: column;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2rem;
    padding-right: 2rem;
}

.corporate-company-item-set {
    display: flex;
    flex-direction: row;
}

.corporate-company-item {
    display: flex;
    margin-bottom: 1rem;
    width: 50%;
}

.corporate-company-item:nth-child(-n+2) {
    width: 100%;
}

.corporate-company-item-wrap {
    position: relative;
    min-height: 2.5rem;
    min-width: 8rem;
    padding: .5rem 0;
    align-content: center;
}

.corporate-company-item-wrap .bg-color-primary {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2.5rem;
    background: #f2d567;
}

.corporate-company-item-wrap .bg-color-secondary {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2.5rem;
    background-color: #ebebeb;
}

.corporate-company-item-content {
    position: relative;
    left: 1rem;
    min-height: 2.5rem;
    align-content: center;
    word-break: break-all;
}

.company-wrap-title {
    width: 8rem;
}

@media (max-width: 630px) {
    .corporate-company-item-wrap {
        min-width: 6rem;
    }

    .company-wrap-title {
        width: 4rem;
    }

    .corporate-company-item-set {
        flex-direction: column;
    }

    .corporate-company-item-set .corporate-company-item {
        width: 100%;
    }

}


/*
 * Service - Setup - Section
 */
.service-section-01-item-01 {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 40px;
    z-index: 6;
}

@media (max-width: 790px) {
    .service-section-01-item-01 {
        top: 70px;
        max-width: 400px;
    }
}

@media (max-width: 430px) {
    .service-section-01-item-01 {
        top: 54px;
    }
}

#priceOptionAccordion {
    padding: 0 !important;
    flex-direction: column;
}

#priceOptionAccordion .accordion-item:first-child {
    border-top: 0;
}

#priceOptionAccordion .accordion-item {
    padding: 0 !important;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 1);
}

#priceOptionAccordion .accordion-item:last-child {
    border-bottom: 0;
    border-style: dashed solid;
}

#priceOptionAccordion .accordion-body {
    background-color: transparent;
    margin: 0;
    padding: 0 0 0 2rem;
}

.accordion-price-item:first-child {
    border-top: 1px dashed black;
}

.accordion-price-item {
    display: flex;
    width: 100%;
    justify-content: space-between;
    border-bottom: 1px dashed black;
    line-height: 300%;
    font-size: .85rem;
}

.accordion-price-item:last-child {
    border-bottom: 0;
}


/*
 * Carpart - header - Section
 */
.carparts-header-title {
    width: 100%;
    height: 4rem;
    max-width: 720px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    padding-top: 1.5rem;
}

@media (max-width: 430px) {
    .carparts-header-title {
        font-size: 1.3rem;
        line-height: 150%;
    }
}

.icon-amazon-round {
    height: 1.8rem;
    margin-right: .2rem;
}

.img-recommend-product {
    max-height: 6rem;
}

.recommend-link {
    text-align: left;
    margin: 0 .5rem .5rem .5rem;
    display: flex;
    align-items: center;
}

.carpart-lp-banner-title {
    padding: 2rem 2.5rem 1rem 2.5rem;
    font-size: 1.1rem;
}
.carpart-lp-banner-contents {
    margin-bottom: 2rem;
}
@media (max-width: 790px) {
    .carpart-lp-banner-title {
        padding: 2rem 2rem 1rem 2rem;
        font-size: 1.3rem;
    }
}

.carparts-header-driverecorder {
    width: 100%;
    max-width: 860px;
    height: 153px;
    min-height: 153px;
    max-height: 153px;
    background-image: url(/image/carparts/bg_driverecorder_head_pc.png);
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 790px) {
    .carparts-header-driverecorder {
        width: 100%;
        height: 223px;
        min-height: 223px;
        max-height: 223px;
        background-image: url(/image/carparts/bg_driverecorder_head_mo.png);
    }
}

.carparts-header-radarsearch {
    width: 100%;
    max-width: 860px;
    height: 153px;
    min-height: 153px;
    max-height: 153px;
    background-image: url(/image/carparts/bg_radarsearch_head_pc.png);
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 790px) {
    .carparts-header-radarsearch {
        width: 100%;
        height: 378px;
        min-height: 378px;
        max-height: 378px;
        background-image: url(/image/carparts/bg_radarsearch_head_mo.png);
    }
}

.carparts-header-battery {
    width: 100%;
    max-width: 860px;
    height: 300px;
    min-height: 300px;
    max-height: 300px;
    background-image: url(/image/carparts/bg_battery_head_pc.png);
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 790px) {
    .carparts-header-battery {
        width: 100%;
        height: 378px;
        min-height: 378px;
        max-height: 378px;
        background-image: url(/image/carparts/bg_battery_head_mo.png);
    }
}
.carparts-header-etc {
    width: 100%;
    max-width: 860px;
    height: 300px;
    min-height: 300px;
    max-height: 300px;
    background-image: url(/image/carparts/bg_etc_head_pc.png);
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 790px) {
    .carparts-header-etc {
        width: 100%;
        height: 378px;
        min-height: 378px;
        max-height: 378px;
        background-image: url(/image/carparts/bg_etc_head_mo.png);
    }
}

/*
 * Aircon - Section
 */
 .aircon-section-01 {
    position: relative;
    max-width: 900px;
    min-height: 222px;
    margin-top: 1rem;
    margin-right: auto;
    margin-left: auto;
}

 .aircon-section-01-item-01 {
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50px;
    z-index: 6;
}

.aircon-section-01-item-02 {
    position: absolute;
    display: inline-block;
    right: 0;
    top: 0;
    z-index: 5;
}

@media (max-width: 790px) {
    .aircon-section-01-item-01 {
        top: 90px;
        max-width: 400px;
    }
}

@media (max-width: 430px) {
    .aircon-section-01-item-01 {
        top: 102px;
    }
}

.aircon-recommend-background {
    border: 1px solid rgba(200, 200, 200, .8);
    background-color: #FFF;
}


/*
 * SecurityCam - Section
 */
 .securitycam-header {
    width: 100%;
    height: 390px;
    background: url(/image/cctv/bg_cctv_head_pc.png);
    background-position: top;
    background-repeat: no-repeat;
}
.securitycam-header .sub-title {
    width: 80%;
    margin: 0 auto;
    font-size: 3rem;
    font-weight: bolder;
    padding-top: 40px;
    text-shadow: 6px 6px 10px white,
                -6px -6px 10px white,
                 6px -6px 10px white,
                -6px 6px 10px white,
                 6px 0 10px white,
                -6px 0 10px white,
                 0 6px 10px white,
                 0 -6px 10px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white;
}
@media (max-width: 790px) {
    .securitycam-header {
        min-width: unset;
        min-height: 420px;
        background:url(/image/cctv/bg_cctv_head_mo.png);
        background-position: top;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .securitycam-header .sub-title {
        width: 380px;
        text-align: left;
        margin: 0 20px;
        line-height: 110%;
    }
    .securitycam-header .category-section-01-item-01 {
        margin-left: 20px;
    }
}

.securitycam-section-01-content {
    top: 2rem;
    width: 80%;
    justify-content: center;
    align-items: flex-start;
    max-width: 1000px;
}
.securitycam-section-01-content .section-item {
    width: 25%;
}
.securitycam-section-01-content .section-item-title {
    font-size: 1rem;
    font-weight: bold;
    border: 2px solid black;
    text-align: center;
    padding: .5rem 1rem;
    width: 100%;
    word-break: keep-all;
}
@media (max-width: 1000px) {
    .securitycam-section-01-content {
        width: 100%;
    }
}
@media (max-width: 790px) {
    .securitycam-section-01-content {
        width: 100%;
        flex-flow: column;
    }
    .securitycam-section-01-content .section-item {
        width: 100%;
        flex-flow: row;
        margin: 0 0 2rem 0;
    }
    .securitycam-section-01-content .section-item > div {
        width: 50%;
    }
    .securitycam-section-01-content .section-item .image-wrapper {
        padding:0 1rem;
    }
}
@media (max-width: 430px) {
    .securitycam-section-01-content {
        top: 2rem;
        width: 100%;
        flex-direction: column !important;
    }
}
.securitycam-check-list h5 {
    margin: 2rem 0 1rem 0;
}
.securitycam-check-list ul {
    padding-left: 1.5rem;
}
.securitycam-check-list li {
    list-style: disc;
    margin-bottom: .5rem;
}


/*
 * SmartLock - Section
 */
 .smartlock-header {
    width: 100%;
    height: 470px;
    background: url(/image/smartlock/bg_smartlock_head_pc.png);
    background-position: top;
    background-repeat: no-repeat;
}
.smartlock-header .sub-title {
    width: 80%;
    margin: 0 auto;
    font-size: 3rem;
    font-weight: bolder;
    padding-top: 40px;
    text-shadow: 6px 6px 10px white,
                -6px -6px 10px white,
                 6px -6px 10px white,
                -6px 6px 10px white,
                 6px 0 10px white,
                -6px 0 10px white,
                 0 6px 10px white,
                 0 -6px 10px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white,
                 0 0 20px white;
}
.smartlock-header .category-section-01 {
    top: 70px;
}
@media (max-width: 1040px) {
    .smartlock-header .sub-title {
        width: 470px;
        line-height: 110%;
    }
    .smartlock-header .category-section-01-item-01 {
        top: 6px;
    }
}
@media (max-width: 790px) {
    .smartlock-header {
        min-width: unset;
        min-height: 420px;
        background:url(/image/smartlock/bg_smartlock_head_mo.png);
        background-position: top;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .smartlock-header .sub-title {
        width: 470px;
        text-align: left;
        margin: 0 20px;
        line-height: 110%;
    }
    .smartlock-header .category-section-01-item-01 {
        margin-left: 20px;
    }
}

.smartlock-section-01-content {
    top: 2rem;
    width: 80%;
    justify-content: center;
    align-items: flex-start;
    max-width: 1000px;
}
.smartlock-section-01-content .section-item {
    width: 25%;
}
.smartlock-section-01-content .section-item-title {
    font-size: 1rem;
    font-weight: bold;
    border: 2px solid black;
    text-align: center;
    padding: .5rem 1rem;
    width: 100%;
    word-break: keep-all;
}
@media (max-width: 1000px) {
    .smartlock-section-01-content {
        width: 100%;
    }
}
@media (max-width: 790px) {
    .smartlock-section-01-content {
        width: 100%;
        flex-flow: column;
    }
    .smartlock-section-01-content .section-item {
        width: 100%;
        flex-flow: row;
        margin: 0 0 2rem 0;
    }
    .smartlock-section-01-content .section-item > div {
        width: 50%;
    }
    .smartlock-section-01-content .section-item .image-wrapper {
        padding:0 1rem;
    }
}
@media (max-width: 430px) {
    .smartlock-section-01-content {
        top: 2rem;
        width: 100%;
        flex-direction: column !important;
    }
}
