/** Default  Font **/
@import url("https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700&display=swap");

/** Japanese  Font **/
/* @import url("https://fonts.googleapis.com/css?family=M+PLUS+1p"); */
/* @import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/** Icons (BoxIcons) **/
/* @import url("https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css"); */

/*  ------------------------ */
/* -- Page Theme Part -- */
/*  ------------------------ */
/* Top-page theme */
#themeTop,
.themeTop {
    /*  
    --main-theme-color: #279B8F;
    --main-theme-color-rgb: 39, 155, 143;
    --main-theme-focused-color: #1C6E66;
    --main-theme-active-color: #2EB4A7;
    --main-theme-disabled-color: #7EDED5;
    */
    --main-theme-color: #605C5C;
    --main-theme-color-rgb: 96, 92, 92;
    --main-theme-focused-color: #3B3838;
    --main-theme-active-color: #706666;
    --main-theme-disabled-color: #C5C3C3;
}

#themeTop .home {
    background: url(../img/home.jpg) no-repeat center center fixed;
    background-size: cover;
    color: white;
}

#themeTop .home .btn-home {
    color: rgba(255, 255, 255, 0.7);
    border-color: rgba(255, 255, 255, 0.4);
    border-width: 2px;
}

#themeTop .home .btn-home:hover {
    color: black;
    background-color: rgba(255, 255, 255, 0.90);
}

/* Orange page theme */
#themeOrange,
.themeOrange {
    --main-theme-color: #F59E00;
    --main-theme-color-rgb: 245, 158, 0;
    --main-theme-focused-color: #EE7800;
    --main-theme-active-color: #FF8000;
    --main-theme-disabled-color: #FFA143;
}

#themeOrange .jumbotron-image {
    background: url(../img/jumbotron_orange.jpg) no-repeat right center fixed;
    background-size: cover;
    color: white;
    min-height: 740px;
}

/* Green page theme */
#themeGreen,
.themeGreen {
    --main-theme-color: #376729;
    --main-theme-color-rgb: 55, 103, 41;
    --main-theme-focused-color: #0A3C1F;
    --main-theme-active-color: #106032;
    --main-theme-disabled-color: #68B47C;
}

#themeGreen .jumbotron-image {
    background: url(../img/jumbotron_green.jpg) no-repeat right center fixed;
    background-size: cover;
    color: white;
    min-height: 740px;
}

/* Blue page theme */
#themeBlue,
.themeBlue {
    --main-theme-color: #2F5597;
    --main-theme-color-rgb: 47, 85, 151;
    --main-theme-focused-color: #203864;
    --main-theme-active-color: #4874C4;
    --main-theme-disabled-color: #8FAADC;
}

#themeBlue .jumbotron-image {
    background: url(../img/jumbotron_blue.jpg) no-repeat right center fixed;
    background-size: cover;
    color: white;
    min-height: 520px;
}

/* Gray page theme */
#themeGray,
.themeGray {
    --main-theme-color: #605C5C;
    --main-theme-color-rgb: 96, 92, 92;
    --main-theme-focused-color: #3B3838;
    --main-theme-active-color: #706666;
    --main-theme-disabled-color: #C5C3C3;
}

#themeGray .jumbotron-image {
    background: url(../img/jumbotron_gray.jpg) no-repeat right center fixed;
    background-size: cover;
    color: white;
    min-height: 520px;
}

/* Red page theme */
#themeRed,
.themeRed {
    --main-theme-color: #BA2718;
    --main-theme-color-rgb: 186, 39, 24;
    --main-theme-focused-color: #7B1A10;
    --main-theme-active-color: #E33B29;
    --main-theme-disabled-color: #EC766A;
}

#themeRed .jumbotron-image {
    background: url(../img/jumbotron_red.jpg) no-repeat right center fixed;
    background-size: cover;
    color: white;
    min-height: 520px;
}

.common-modal {
    --main-theme-color: #2F5597;
    --main-theme-color-rgb: 47, 85, 151;
    --main-theme-focused-color: #203864;
    --main-theme-active-color: #4874C4;
    --main-theme-disabled-color: #8FAADC;

    /* Bootstrap default: #dee2e6; */
    /* --bs-border-color: #dee2e6; */
    --bs-border-color: #C4CBD2;
}

/*  ------------------------ */
/* -- Contact us Design Part -- */
/*  ------------------------ */
#contactus {
    background-color: #F6F6F6;
    color: #081C3A;
}

.colored-title {
    color: var(--main-theme-focused-color);
}

/* Page font */
body {
    /* font-family: 'Poppins', 'M PLUS Rounded 1c'; */
    /* font-family: 'M PLUS 1p', sans-serif; */
    font-family: 'Noto Sans JP', sans-serif;
    /* font-family: 'Noto Sans JP', 'Poppins'; */
}

/* Common logo image */
.home-logo {
    margin-bottom: -2px;
}

/*  ------------------------ */
/* -- Footer Design Part -- */
/*  ------------------------ */
.border-bottom-muted {
    border-bottom: 0.15px var(--bs-border-style) rgba(108, 117, 125, 0.35) !important;
}

footer li a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.5) !important;
}

footer li a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

.footer-icon-link {
    color: rgba(255, 255, 255, 0.5) !important;
}

.footer-icon-link:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

/*  ------------------------ */
/* -- Navbar Dropdown Menu Design Part -- */
/*  ------------------------ */
#navbarNav .dropdown-menu-transparent {
    --bs-dropdown-color: #dee2e6;
    --bs-dropdown-bg: transparent;
    --bs-dropdown-border-color: var(--bs-border-color-translucent);
    --bs-dropdown-box-shadow: ;
    --bs-dropdown-link-color: #dee2e6;
    --bs-dropdown-link-hover-color: #fff;
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    --bs-dropdown-link-hover-bg: transparent;
    --bs-dropdown-link-active-color: #fff;
    --bs-dropdown-link-active-bg: #0d6efd;
    --bs-dropdown-link-disabled-color: #adb5bd;
    --bs-dropdown-header-color: #adb5bd;

    background-color: transparent;
}

@media (min-width: 992px) {
    #navbarNav .dropdown-menu-transparent {
        background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
    }
}

#navbarNav .badge-loggedin {
    /* color: #0070C0; */
    color: #0d6efd;
}

#navbarNav .badge-loggedin:hover {
    color: #0a58ca;
}

#navbarNav .nav-dropdown-link {
    color: var(--bs-nav-link-color);
}

#navbarNav .nav-dropdown-link:hover,
#navbarNav .nav-dropdown-link:focus {
    color: var(--bs-nav-link-hover-color);
    background-color: transparent;
}

#navbarNav .nav-dropdown-link.disabled {
    color: var(--bs-nav-link-disabled-color);
    pointer-events: none;
    cursor: default;
}

#navbarNav .nav-dropdown-link.active {
    color: var(--bs-nav-tabs-link-active-color);
    background-color: var(--bs-nav-tabs-link-active-bg);
    border-color: var(--bs-nav-tabs-link-active-border-color);
}

.header-icon {
    margin-left: 3px;
    margin-bottom: -13px;
}

/* Overwrite navbar color */
.bg-dark {
    --bs-bg-opacity: 0.8;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-footer {
    --bs-bg-opacity: 0.92;
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

/* Overwrite navbar-toggler button border */
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
    border: 0.1px solid var(--bs-navbar-brand-color);
}

.dropdown-menu-transparent {
    background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
    border-color: transparent;
    border-radius: 0px;
}

.navbar-dark .navbar-toggler {
    border-color: transparent !important;
}

/*  ------------------------ */
/* -- Text and Button colors Part -- */
/*  ------------------------ */
.bg-primary {
    background-color: var(--main-theme-color) !important;
    border-color: var(--main-theme-color);
}

.border-primary {
    border-color: var(--main-theme-color) !important;
}

.text-primary {
    color: var(--main-theme-color) !important;
}

.btn-primary {
    background-color: var(--main-theme-color);
    border-color: var(--main-theme-color);
}

.btn-primary:disabled {
    background-color: var(--main-theme-disabled-color);
    border-color: var(--main-theme-disabled-color);
    color: white;
}

.btn-primary:hover {
    background-color: var(--main-theme-focused-color);
    border-color: var(--main-theme-focused-color);
    color: white;
}

.btn-primary:active {
    background-color: var(--main-theme-active-color) !important;
    border-color: var(--main-theme-active-color) !important;
    color: white;
}

.btn-outline-primary {
    border-color: var(--main-theme-color);
    color: var(--main-theme-color);
}

.btn-outline-primary:disabled {
    border-color: var(--main-theme-disabled-color);
    color: var(--main-theme-disabled-color);
}

.btn-outline-primary:hover {
    border-color: var(--main-theme-focused-color);
    background-color: var(--main-theme-focused-color);
    color: white;
}

.btn-outline-primary:active {
    background-color: var(--main-theme-active-color) !important;
    border-color: var(--main-theme-active-color) !important;
    color: white;
}

/* -- form focused color -- */
.form-control:focus {
    border-color: var(--main-theme-color);
    box-shadow: 0px 0px 2px 2px var(--main-theme-color);
}

/* -- FAQ accordion design -- */
.accordion-button {
    background-color: white !important;
    color: var(--main-theme-color) !important;
    font-weight: bold;
}

.accordion-button.collapsed {
    background-color: white !important;
    color: var(--bs-text);
    font-weight: normal !important;
}

.accordion-button:focus {
    box-shadow: none;
    border-color: var(--main-theme-color);
    color: var(--main-theme-color);
    font-weight: bold;
}

.accordion-button:hover {
    color: var(--main-theme-color);
    font-weight: bold;
    box-shadow: 0px 0px 4px 4px var(--main-theme-color);
    z-index: 100;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* -- Table design -- */
table i {
    color: var(--main-theme-color);
}

/* -- Carousel design -- */
.carousel .carousel-indicators button {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background-color: var(--main-theme-color);
}

.carousel-indicators {
    bottom: -35px;
}

/* -- Icon background for the footer SNS links -- */
.link-icon-box {
    background-color: #3E4348;
    border-color: #3E4348;

    margin-right: 5px;
    margin-bottom: 10px;
}

/* -- hr tag for section separator line -- */
main hr {
    margin-top: 35px;
    margin-bottom: 0px;
}

.hr-d-none {
    border-style: none;
}

section {
    margin-top: 30px;
    padding-top: 30px;
}

.last-section {
    margin-top: 0px;
    padding-top: 30px;
    padding-bottom: 35px;
}

.last-section h1 {
    margin-top: 30px;
}

.d-hidden {
    visibility: hidden;
}

/*  ------------------------ */
/* -- Modal Window Part -- */
/*  ------------------------ */
.close-boxicon {
    color: #CBCBCC;
}

.close-boxicon:hover {
    color: #000010;
}

.message-boxicon {
    color: var(--main-theme-color);
    background: rgba(var(--main-theme-color-rgb), 0.15);
    border-radius: 50%;
    padding: 12px;
    text-align: center;
}

/* Privacy Policy */
#privacy_policy {
    margin-top: 10px;
    margin-left: 25px;
    margin-right: 25px;
    margin-bottom: 0px;
}

#privacy_policy p {
    text-align: justify;
    line-height: 1.5em;
}


/*  ------------------------ */
/* -- Cookie Consent Part -- */
/*  ------------------------ */
.cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 0.8em;
    color: #fff;
    background: rgba(59, 113, 202, .88);
    padding: 1.2em;
    border: solid rgba(59, 113, 202, 1) 0.2px;
    box-sizing: border-box;
    visibility: hidden;
}

.cookie-consent.is-shown {
    visibility: visible;
}

.cookie-consent a {
    color: lightblue !important;
}

.cookie-agree {
    color: lightblue;
}

.cookie-agree:hover {
    color: white;
    cursor: pointer;
}

/*  ------------------------ */
/* -- Text Alignment Part -- */
/*  ------------------------ */
.text-justify {
    text-align: justify;
}

/* Cokie consent animation to hide */
.cc-hide {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
}

@keyframes hide {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        visibility: hidden;
    }
}

/*  ------------------------ */
/* -- Text Decolation Part -- */
/*  ------------------------ */
a {
    text-decoration: none;
}

.body-link {
    cursor: pointer;
    color: var(--main-theme-color);
    text-decoration: none;
    margin-left: 2px;
    margin-right: 2px;
    font-weight: 600 !important;
}

.body-link:hover {
    color: var(--main-theme-disabled-color);
}

.body-link:hover .body-link-child {
    color: var(--main-theme-disabled-color);
}

/* Tutorial Contents */
.tutorial-card {
    margin-top: 30px;
}

.tutorial-card-img {
    margin-top: -30px;
    width: 15%;
}

.ul-square {
    list-style-type: square;
    margin-left: -15px;
}

/* Font size */
.fs-095 {
    font-size: 0.95em !important;
}

/* Font color */
.code-color {
    color: #d63384;
}