@charset "UTF-8";

:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #7987a1;
    --bs-gray-dark: #212a3a;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #cbd1db;
    --bs-gray-500: #aeb7c5;
    --bs-gray-600: #7987a1;
    --bs-gray-700: #41516c;
    --bs-gray-800: #212a3a;
    --bs-gray-900: #060c17;
    --bs-primary: #6571ff;
    --bs-secondary: #7987a1;
    --bs-success: #05a34a;
    --bs-info: #66d1d1;
    --bs-warning: #fbbc06;
    --bs-danger: #ff3366;
    --bs-light: #e9ecef;
    --bs-dark: #060c17;
    --bs-primary-rgb: 101, 113, 255;
    --bs-secondary-rgb: 121, 135, 161;
    --bs-success-rgb: 5, 163, 74;
    --bs-info-rgb: 102, 209, 209;
    --bs-warning-rgb: 251, 188, 6;
    --bs-danger-rgb: 255, 51, 102;
    --bs-light-rgb: 233, 236, 239;
    --bs-dark-rgb: 6, 12, 23;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-body-color-rgb: 208, 214, 225;
    --bs-body-bg-rgb: 7, 13, 25;
    --bs-font-sans-serif: "Roboto", Helvetica, sans-serif;
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 0.875rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #d0d6e1;
    --bs-body-bg: #070d19;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #252525;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.25rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;
    --bs-link-color: #6571ff;
    --bs-link-hover-color: #515acc;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd;
    --background-color:#000;
    --background-color-light: #f4f5f6;
    --background-color-dark: #101111;
    --background-color-muted: #f7f7f7;
    --background-color-primary-light: #d9e4f7;
    --background-color-danger: #f8d7da;
    --background-color-danger-hover: #f2bdc2;
    --background-color-detail-th: #1c1c1c;
    --side-background-color: #fff;
    --bs-card-border-color:#000;
    --color-thema:#f08300;
}

.card {
    --bs-card-spacer-y: 3rem;
    --bs-card-spacer-x: 3rem;
    --bs-card-title-spacer-y: 0.875rem;
    --bs-card-border-width: 1px;
    --bs-card-border-color: #353535;
    --bs-card-border-radius: 0.25rem;
    --bs-card-box-shadow: 3px 0 10px 0 #060b15;
    --bs-card-inner-border-radius: calc(0.25rem - 1px);
    --bs-card-cap-padding-y: 0.875rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: #0a1122;
    --bs-card-bg: #0c1427;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius)
}


@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: var(--scroll-behavior);
    }
}

@media (prefers-reduced-motion: reduce) {
    :root {
        scroll-behavior: "auto" !important;
    }
}

@media (min-width: 576px) {
    :root {
        --header-height: 67px;
        --sidenav-width: 28rem;
    }
}

@media (min-width: 768px) {
    :root {
        /* text */
        --font-size: 14px;
        /* size */
        --sidenav-width: 26rem;
        --main-header-height: 3.85rem;
    }
}

@media (min-width: 1280px) {
    :root {
        /* text */
        --font-size: 14px;
        --header-height: 71px;
    }
}

html {
    scroll-padding-top: var(--header-height);
    font-size: 16px;
}

@media (min-width: 768px) {
    html {
        font-size: 13px;
    }
}

body {
    background: var(--background-color);
    color: var(--font-color);
    font-size: var(--font-size);
    line-height: 1.8;
    overflow-x: hidden;
}

:focus:not(:focus-visible) {
    outline: 0;
    box-shadow: none !important;
}

img {
    max-width: 100%;
    height: auto;
}

iframe {
    transition: height 0.08s ease-out 0s;
}
.bs-white{
    color: var(--bs-white);
}

#features .page-title{
    color: #fff;
    padding-bottom: 3rem;
    font-size: 4rem;
}

#features .page-title span{
    font-size: 6rem;
}
.bold{
    font-weight: bold;
}

.horizontal-menu .navbar {
    width: 100%;
    height: 120px;
}
.main-wrapper .page-wrapper{
    min-height: 100vh;
    background: #070d19;
    width: 100%;
    overflow-x: hidden;
    margin-left: 0px;
    display: flex;
    flex-direction: column;
    -webkit-transition: margin 0.1s ease, width 0.1s ease;
    transition: margin 0.1s 
}
.navbar-toggler{
    color: var(--font-color);
}
.navbar-brand{
    display: block;
}
.navbar-brand img{
    width: 100%;
    max-width: 260px;
    min-width: 120px;
}

.horizontal-menu .navbar .navbar-content .navbar-nav .nav-item .nav-link {
    color: #fff;
    padding: 10px 0;
    font-size: 16px;
}

.horizontal-menu .navbar .navbar-content .navbar-nav .nav-item{
    margin:0 15px;
}

.feather{
    font-size: 18px;
    color: var(--bs-white);
}

.nav-item .feather{
    margin-right: 10px;
}

.parallax-container {
    perspective: 1px;
    overflow: hidden;

}

.main-visual {
    position: relative;
    height: 60svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: white;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
}

.main-visual p{
    font-size: 1.6rem;
    text-align: left;
}
h1 {
    font-size: 3.2rem;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: left;
}


a{
    color: var(--color-thema);
        text-decoration: none;
}

a.nav-link:hover > i,
a.nav-link:hover,
a:hover{
    color: #ffa84a!important;
}


p{
    color: #fff;
}

.page-wrapper .page-content{
    min-height: auto;
        padding:5rem 0;
}

.main-wrapper .page-wrapper{
        background-color: var(--background-color-dark);
}
.horizontal-menu .navbar{
    background-color: var(--background-color);
}

.card{
    background-color: var(--background-color-detail-th);
    border:1px solid var(--bs-card-border-color);
}


.card {
    color: var(--bs-white);

}
.horizontal-menu .navbar {
    border-bottom: 1px solid var(--bs-card-border-color);
}


.pr{
    background-color: #2d3436;
    padding: 100px 15px;
}
.pr h1,
.pr h3{
    color: #fff;
    text-align: center;
}

.pr p{
    font-size: 1.6rem;
    color: #fff;
}

.footer-content{
    padding-top: 100px!important;
}

#product,
#features{
    background-color: #000;
    z-index: 1;
}
#footer{
    background-color: #0f0f0f;

}


#particles-js{
    position: fixed;
    width: 100%;
    height: 100%;
    min-height: 100svh;
    top: 0;
    z-index: 0;
}


#contact{
    z-index: 1;
}

.fademove {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .8s cubic-bezier(.215,.61,.355,1), transform .8s cubic-bezier(.215,.61,.355,1);
}

.fademove.is-show {
    opacity: 1;
    transform: none;
}

.product-image{
    text-align: center;
    z-index: 1;
    position: relative;
}
#bg{
    background-image: url(../images/bg.jpg);
    background-size: contain;
    background-repeat: no-repeat;
}

#product .card h3{
    font-size: 3.2rem;
}

#product .card  p{
    font-size: 1.5rem;
}


.swiper-slide{
    color: #fff;
    text-align: center;
}

.swiper-slide p{
    font-size: 1.8rem;
}
@media (min-width: 1200px) {
    .h3, h3 {
        font-size: 1.8rem;
    }
}

.card-body p{
    font-size: 1.4rem;
}
@media screen and (max-width:992px) {
    body{

    }
    h1{
        font-size: 2rem;
    }
    .main-visual{
        height: auto;
        text-align: center;
        width: 100%;
        display: block;
    }
    .main-visual p{
        font-size: 1.1rem;
    }

    .navbar-collapse {
        position: fixed;
        top: 0;
        left: 0;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        width: 100%;
        height: 100%;
        background-color: var(--background-color-dark); /* または任意の背景色 */
        transform: translateY(-100%);
        transition: all 0.3s ease;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .navbar-collapse.show {
        transform: translateY(0);
    }
    
    .navbar-nav {
        flex-direction: column;
        width: 100%;
    }
    
    .navbar-nav .nav-item {
        margin: 10px 0;
    }
    
    .close-nav {
        align-self: flex-end;
        background: none;
        border: none;
        font-size: 1.5rem;
        margin-top: 10px;
        margin-right: 10px;
        color: #fff;
    }

    .close-nav .feather{
        font-size: 2rem;
    }
    .horizontal-menu .navbar .navbar-content .navbar-nav{
        display: block;
    }
    .horizontal-menu .navbar .navbar-content .navbar-nav .nav-item{
        border-bottom: 1px solid var(--bs-border-color);
        display: block;
        text-align: center;
    }
    .navbar-toggler{
        margin-left: auto;
    }

    .pr p{
        font-size: 1.4rem;
        text-align: left;
    }
   .footer-content p{
    font-size: 14px;
   }
   #bg{ 
        background-image: url(../images/bg_sp.jpg);
        background-size: contain;

        background-repeat: no-repeat;
    }
    .particles-js-canvas-el,
    #particles-js {
        min-height: 100svh;

    }
    .footer-content{
        padding-left:20px!important;
        padding-right:20px!important;
    }
    .pr h1{
        text-align: left;
        font-size: 1.4rem;
    }
    #product .card h3{
    font-size: 2.4rem;
    }

    #product .card  p{
        font-size: 1.1rem;
    }
    .card-body{
        padding: 20px;
    }
    .horizontal-menu .navbar {
    width: 100%;
    height: 60px;
    }
    .navbar-brand img{
        width: 120px;
    }
}

@media (min-width: 992px) {
    body {
        padding-top: 0 !important;
    }
        .page-wrapper {
     margin-top: 0px;
    }
    #home {
        position: absolute;
        width: 100%;
        z-index: 1000;
    }
    
    #bg {
        padding-top: 120px; /* ヘッダーの高さに応じて調整してください */
    }
}

@media (max-width: 991px) {
    #home {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
    }
    .card-body p{
        font-size: 1.2rem;
    }
    #features .page-title{
        font-size: 1.8rem;
    }
    #features .page-title span{
        font-size: 2.8rem;
    }
}

