/*
Theme Name: RECODE WORKS Theme
Author: Tanizaki
Description: RECODE WORKS オリジナルテーマ
Version: 1.0
*/

html {
    /* これだけでスムーススクロールが有効になります */
    scroll-behavior: smooth;
    scroll-padding-top: 60px;
}
/* 余計な余白を消す */
body {
    margin: 0;
    font-family: "REM", "Noto Sans JP", sans-serif;
}

/* ヘッダーをスライダーの上に載せる場合 */
header {
    position: absolute;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10; /* スライダーより上に */
    padding: 24px 40px;
}
header .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header h1,header h2{
    font-size: 24px;
    font-weight: 500;
}
header h1 a,header h2 a{
    color: #fff;
}
header nav {
}
header nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
header nav ul li {
    font-size: 16px;
    /* font-weight: 300; */
}
header nav ul li a {
    color: #fff;
}
header.header-scrolled a {
    color: #000; /* 文字色を黒に */
}
@media screen and (max-width: 824px) {
    header {
        padding: 14px 20px;
    }
    header h1{
        font-size: 20px;
        width: 85px;
        text-align: center;
    }
    header nav ul {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
    }
    header nav ul li {
        font-size: 13px;
    }
}

.fv-section{
}
.fv-section .main-logo{
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 160px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    /* mix-blend-mode: screen; */
    opacity: .9;
    text-shadow: 0 0 140px #000;
}
@media screen and (max-width: 824px) {
    .fv-section .main-logo{
        font-size: 80px;
        text-shadow: 0 0 140px #000;
    }
}
/*スライダー*/
.fv-section {
    position: relative;
    width: 100%;
    height: 100vh;
}
/* メインスライダーを画面いっぱいに */
#main-slider {
    width: 100%;
    height: 100vh;
}
/* サムネイルをスライダーの下端に浮かせる */
#thumbnail-slider {
    position: absolute;
    bottom: 30px; /* 下から30pxの位置 */
    left: 50%;
    transform: translateX(-50%);
    /* width: 90%; */
    /* max-width: 900px; */
    /* margin: 20px; */
    z-index: 5;
}
/* 選択されていないスライドは薄くする */
#thumbnail-slider .splide__slide {
    background-color: #000;
    transition: opacity 0.3s;
    border: none;
    position: relative;
    opacity: 0.8;
    border: #696969 solid 1px;
    border: none;
}
.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: none;
}
/* 選択されているスライドだけ明るくする */
#thumbnail-slider .splide__slide.is-active {
    opacity: 1;
    border: #dadada solid 1px;
}
.splide__slide img {
    vertical-align: bottom;
    object-fit: cover;
    width: 100%;
}
.splide__slide img:after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    opacity: 0.6;
}



/*コンセプト----------------------------*/
.con-01{
    margin: 280px 0 180px 0;
    position: relative;
}
.con-01 .tex-box{
    width: 32%;
    margin: 100px auto;
}
.con-01 .tex-box .tit{
    font-size: 60px;
    font-weight: 500;
    line-height: 1.4em;
    margin: 60px 0;
}
.con-01 .tex-box .tex{
    font-size: 16px;
    line-height: 2em;
}
.con-01 .tex-box .tex p{
    margin: 40px 0;
}
.con-01 .tex-box .center{
    margin: 60px 0;
}
.con-01 .tex-box .center p{
    font-size: 18px;
    line-height: 2em;
    text-align: center;
    margin: 40px 0;
}
.con-01 .tex-box .center p span{
    font-size: 20px;
}

.con-01 .img-01{
    position: absolute;
    top: -10%;
    right: 0;
}
.con-01 .img-02{
    position: absolute;
    top: 30%;
    left: 0;
}
.con-01 .img-03{
    position: absolute;
    top: 66%;
    right: 0;
}
.con-01 .picture{
    width: 26%;
    z-index: -1;
    max-width: 340px;
    max-height: 340px;
}
.con-01 .picture img{
    display: block;
    width: 100%;
    object-fit: cover;
}

.con-02{
    margin-top: 240px;
}
.con-02 .img-b1{
    width: 100%;
    height: 400px;
    background-image: url(./img/b1.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media screen and (max-width: 919px) {

    .con-01{
        margin: 160px 0 120px 0;
    }
    .con-01 .tex-box{
        width: 70%;
        margin: 100px auto;
    }
    .con-01 .tex-box .tit{
        font-size: 40px;
        line-height: 1.4em;
        margin: 40px 0;
    }
    .con-01 .tex-box .tex{
        font-size: 14px;
        line-height: 2em;
    }
    .con-01 .tex-box .tex p{
        margin: 20px 0;
    }
    .con-01 .tex-box .center{
        margin: 40px 0;
    }
    .con-01 .tex-box .center p{
        font-size: 16px;
        line-height: 2em;
        margin: 20px 0;
    }
    .con-01 .tex-box .center p span{
        font-size: 18px;
    }
    .con-01 .img-01{
        top: -10%;
        right: 0;
    }
    .con-01 .img-02{
        top: 39%;
        left: 0;
    }
    .con-01 .img-03{
        top: 80%;
        right: 0;
    }
    .con-01 .picture{
        width: 28%;
    }
    .con-02{
        margin-top: 40px;
    }
    .con-02 .img-b1{
        height: 280px;
    }
}


/*ご挨拶-------------------*/
.con-03{
    width: 90%;
    margin: 160px auto;
}
.con-03 .flex{
    display: flex;
    justify-content: space-between;
}
.con-03 .flex .tit-box{
    width: 50%;
}
.con-03 .flex .tit-box .tit{
    text-transform: uppercase;
    font-size: 60px;
    font-weight: 500;
    line-height: 1.4em;
    margin: 25px 0;
}
.con-03 .flex .tex-box{
    width: 50%;
    font-size: 16px;
    line-height: 2em;
}
.con-03 .flex .tex-box p{
    margin: 40px 0;
}
.con-03 .flex .tex-box p.name{
    margin: 60px 0;
    text-align: right;
}
.con-03 .flex .tex-box table{
    border-collapse: collapse;
    margin-top: 20px;
}
.con-03 .flex .tex-box table th{
    border-bottom: solid 1px #adadad;
    padding: 20px 0;
    width: 140px;
    font-weight: 500;
}
.con-03 .flex .tex-box table td{
    border-bottom: solid 1px #adadad;
    padding: 20px 0;
}
.con-03 .flex .tex-box table td a {
    color: inherit; /* 周りの文字色に合わせる */
    text-decoration: underline; /* リンクだとわかるように下線を引く */
    transition: opacity 0.3s;
}
.con-03 .flex .tex-box table td a:hover {
    opacity: 0.6; /* ホバーした時に少し薄くする */
}

@media screen and (max-width: 919px) {
    .con-03{
        width: 90%;
        margin: 120px auto;
    }
    .con-03 .flex{
        display: block;
        justify-content: space-between;
    }
    .con-03 .flex .tit-box{
        width: auto;
    }
    .con-03 .flex .tit-box .tit{
        text-transform: uppercase;
        font-size: 40px;
        line-height: 1.4em;
        margin: 30px 0;
    }
    .con-03 .flex .tex-box{
        width: auto;
        font-size: 14px;
        line-height: 2em;
    }
    .con-03 .flex .tex-box p{
        margin: 20px 0;
    }
    .con-03 .flex .tex-box p.name{
        margin: 40px 0;
    }
    .con-03 .flex .tex-box table th{
        border-bottom: solid 1px #777;
        padding: 18px 0;
        width: 100px;
        line-height: 1.6em;
    }
    .con-03 .flex .tex-box table td{
        padding: 18px 0;
        line-height: 1.6em;
    }
    
}


footer{
    margin: 20px 40px;
    padding-top: 100px;
}
footer p{
    font-size: 13px;
}
@media screen and (max-width: 919px) {
    footer{
        margin: 20px 20px;
        padding-top: 70px;
    }
    footer p{
        font-size: 11px;
    }
}