@import url('https://fonts.googleapis.com/css2?family=Allura&family=Archivo+Black&family=Bebas+Neue&family=Cal+Sans&family=Herr+Von+Muellerhoff&family=Lexend:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Oswald:wght@200..700&family=Rubik:ital,wght@0,300..900;1,300..900&family=Sacramento&family=Shippori+Mincho&family=Waiting+for+the+Sunrise&family=Zen+Maru+Gothic&display=swap');


/*** 共通 ***/
* {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    letter-spacing: 2px;
    font-size: 16px;
    color: #2f2f2f;
}
.pc-none{
    display: none;
}
.pc-block{
    display: block;
}
.max-w98 {
    max-width: 98%;
}
.with-100{
    width: 100%;
}
.min-300 {
    min-width: 300px;
}
.max-300 {
    max-width: 300px;
}
.max-content {
    width: max-content;
}
.button{
    font-size: 10px;
    background-color: #2f2f2f !important;
    border-radius: 2px;
}
.button:hover{
    background-color:#3f3f3f !important;
}
.elem-text{
    color: #1f1f1f;
}
.eng-text{
    font-family: "Bebas Neue", sans-serif;
    font-size: 12px !important;
    margin-bottom: 20px;
    padding-left: 3.5px;
    letter-spacing: 3.4px !important;
}

/***　オープニング　***/
:where([class^="ri-"])::before {
    content: "\f3c2";
}
.slider-container {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.slider-container::-webkit-scrollbar {
    display: none;
}
#loading-title{
    font-family: "Bebas Neue", sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 20vw;
    color: #fff;
    opacity: 0;
    letter-spacing: 3px;
}
body.loading {
    overflow: hidden;
}
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #b1d8db;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

/*** ヘッダー ***/
#header{
    font-family: "Bebas Neue", sans-serif;
}
#header a{
    font-size: 18px;
}
#header-nav{
    padding-top: 2.5rem;
}

/*** トップセクション ***/
#top-section {
    background-image: url('img/main.JPG'); 
    background-size: cover; 
    background-position: center;
}
#top-text-area {
    margin-left: 5%;
}
#top-text-area h1 {
    letter-spacing: 14.5px; 
    font-size: 13vw; 
    line-height: 1.2;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 500;
    margin-top: 4rem;
}
#top-text-area p {
    line-height: 2;
}
#top-image-back{
    background-image: linear-gradient(to right, #0000002e, #00000000) !important;
}


/*** ABOUT ***/
#about h2{
    font-size: 28px;
    margin-bottom: 17px;
    line-height: 3.3rem;
}
#about p, #works p, #works p, #service p, #sec-about p{
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 2.4;
}
#about button{
    margin-top: 17px;
}
#about .img-div {
    padding-top: 0.2rem;
}

/*** WORKS ***/
#works h3 {
    font-size: 14px;
    margin-top: 28px;
}
#works .works-intro-txt{
    margin-top: 2rem;
}
#works img {
    object-fit: cover;
    height : 540px;
    box-shadow: 5px 5px 10px #dddddd !important;
}
#works .gap {
    gap: 1.5rem;
}
#works .kind{
    color: #6dbfd9;
    font-size: 11px;
    letter-spacing: 1.5px;
}

/*** SERVICE ***/
#service {
    background-color: #000000c9;
    color: #ffffff;
}
#works h2, #service h2, #sec-about h2 {
    font-family: "Bebas Neue", sans-serif;
    font-size: 50px;
    letter-spacing: 6.5px;
    font-weight: 400;
}
#service p, #service li{
    font-size: 14px;
    line-height: 2;
}
#service h2 {
    color: #fff;
}
#service h3 {
    font-size: 16px;
    border-bottom: 1px solid #424242;
    padding-bottom: 0.5rem;
}
#service .sub-title {
    color: #fff;
    margin-top: 3rem;
}
#service .service-main-section{
    max-width: 100%;
    margin-bottom: 4rem;
}

/*** ABOUT ***/
#sec-about #name-txt {
    font-family: "Waiting for the Sunrise", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 25px !important;
}
#sec-about #about-span {
    margin-top: 1.3rem;
    display: inline-block;
}

/* フッター */
#footer{
    background: #2f2f2f;
}
#footer h3, #footer li{
    color: #fff;
}

@media screen and (max-width: 768px) {
    .sp-none{
        display: none;
    }
    .sp-block{
        display: block !important;
    }
    #top-text-area h1 {
        letter-spacing: 10.5px;
        font-size: 20vw;
    }
    #main-subtitle{
        font-size: 1rem;
        margin-top: 1rem;
    }
    #sp-about{
        gap: 1rem;
    }
    #about-more-button{
        margin-top: 35px;
    }
}