// ボックスサイジング
*,*::before,*::after {
    box-sizing: border-box;
    font-family: Georgia, 'Times New Roman', Times, serif,serif;
    margin: 0;
    padding: 0;
}

// ブレイクポイント
$breakPoints:(
    'pc':'screen and (max-width: 1280px)',
    'tablet':'screen and (max-width: 768px)',
    'sp':'screen and (max-width: 480px)'
)!default;

@mixin mq($breakPoint: pc) {
    @media #{map-get($breakPoints, $breakPoint)} {
        @content;
    }
}

// ベースカラーと補助色
$sub_color:#C3A575;
$section_color: #E9E9E9;

// アニメーション
@keyframes slide-show{
    0%{
        opacity: 0;
        // transform: scale(1);
    }
    10%{
        opacity: 1;
    }
    28%{
        opacity: 1;
    }
    38%{
        opacity: 0;
        // transform: scale(1.3); 
    }
    100%{
        opacity: 0;
    }
}

// ヘッダー
header{
    width: 100%;
    height: 80px;
    background-color: rgba(0, 0, 0, 0.85);
    position: fixed;
    top: 0;
    z-index: 1000;
    img{
        float: left;
        width: 70px;
        height: auto;
        margin-left: 20px;   
    }
        #menu-btn-check {
            display: none;
        }
        label.menu-btn {
            position: fixed;
            top: 10px;
            right: 10px;
            height: 60px;
            width: 60px;
            display: none;
            justify-content: center;
            align-items: center;
            // background-color: #3584bb;
            span,span:before,span:after{
                display: block;
                height: 3px;
                width: 25px;
                border-radius: 3px;
                background-color: #ffffff;
                position: absolute;
                transition: .3s;
                content: '';
            }
            span:before {
                bottom: 8px;
            }
            span:after {
                top: 8px;
            }
        }
    nav{
        float: right;
        margin-right: 50px;
        height: 100%;
        width: auto;
        display: flex;
        align-items: center;
        ul{
            list-style: none;
            display: flex;
            justify-content: space-around;
            align-items: center;        
            li{
                cursor: pointer;
                a{
                    width: 100%;
                    margin: 0 20px;
                    padding: 0 5px ;
                    text-decoration: none;
                    color: white;
                        &:hover{
                        border-bottom: solid 2px $sub_color;
                        // cursor: pointer;
                    }
                }
            }
            &:last-child{
                padding-right: 30px; 
            }
        }
    }
    @include mq(tablet) { 
        label.menu-btn {
            display: flex;
        }
        nav{
            ul{
                flex-direction: column;
                position: absolute;
                top: 100%; left: 0; right: 0;
                background-color: #222;
                border-top: .1rem solid rgba(0,0,0,.2);
                border-bottom: .1rem solid rgba(0,0,0,.2);
                padding: 1rem;
                transition: .3s;
                clip-path: polygon(0 0, 100% 0, 100% 0,0 0);
                li{
                    width: 100%;
                    display: block;
                    margin: 1rem;
                    font-size: 1rem;
                    background-color: #fff;
                    &:hover{
                        transition: .2s;
                        background-color: $sub_color;
                        a{
                            border: none;
                        }
                    }
                    a{
                        margin: 0;
                        display: inline-flex;
                        width: 100%;
                        height: 100%;
                        padding: 1rem;
                        color: black;
                    }   
                }
            }
        }
    }
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check:checked ~ nav ul{
    transition: .3s;
    clip-path: polygon(0 0, 100% 0, 100% 100%,0 100%);
}
// メインビジュアル
div.main-visual{
    margin-top: 80px;
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
    h1.title{
        position: absolute;
        bottom: 5%;
        left: 50%;
        transform: translate(-50%,-30%);
        color: white;
        font-size: 3rem;
        text-align: center;
        span{
            font-size: 70%;
        }
    }   
    img{
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -1;
        opacity: 0;
        animation: slide-show 24s linear infinite;
        &:nth-last-child(2){
            animation-delay: 8s;
        }
        &:nth-last-child(3){
            animation-delay: 16s;
        }
    }
    @include mq(tablet) { 
        h1.title{
            font-size: 40px;
            z-index: 0;
        }
    }
}

// 概要
section.about{
    text-align: center;
    height: 370px;
    width: 100%;
    margin-top: 80px;
}

// 使い方
section.how-1{
    width: 100%;
    height: 550px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: $section_color;
    div.text{
        width: 40%;
        height: 100%;
        p{
            margin-top: 50px;
        }
    }
    @include mq(tablet) { 
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: auto;
        div.text{
            width: 100%;
            p,h2{
                padding:0 20px 0 20px ;
            }
        }
        img{
            margin: 30px 0 30px;
        }
    }
}

section.how-2{
    width: 100%;
    height: 550px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    
    div.text{
        width: 40%;
        height: 100%;
        p{
            margin-top: 40px;
        }
    }
    @include mq(tablet) { 
        flex-direction: column-reverse;
        height: auto;
        div.text{
            width: 100%;
            p,h2{
                padding:0 20px 0 20px ;
            }
        }
        img{
            margin-top: 30px;
            max-width: 400px;
            height: auto;
        }
    }
}



// スタート
section.strat-btn{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 400px;
    background-color: $section_color;
    a{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        max-width: 500px;
        font-size: 25px;
        padding: 15px;
        color: #fff;
        border-radius: 20px;
        background-color: #eb6100;
        border-bottom: 5px solid #b84c00;
        transition: .2s;
        &:active {
            margin-top: 3px;
            color: #fff;
            border-bottom: 2px solid #b84c00;
        }
        &:shadow{
            box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
        }
        img{
            max-width: 50px;
            height: auto;
        }   
    }
    p{
        margin-top: 30px;
        text-align: center;
    }
}


// アクセス
section.access{
    width: 100%;
    height: 550px;
    display: flex;
    align-items: center;
    .contact{
        width: 50%;
        height: auto;
        margin-left: 50px;
        dd{
            margin: 30px 0 30px 0;
        }
    }
    @include mq(tablet) { 
        height: auto;
        flex-direction: column;
        .contact{
            width: 90%;
            padding-right: 15px;
            margin-top: 30px;
            margin-left: 0px;
        }
        .map{
            position:relative;
            width:90%;
            height:0;
            margin-bottom: 30px;
            padding-top:75%;
            iframe{
                position:absolute;
                top:0;
                left:0;
                width:100%;
                height:100%;
            }
        }
    }
}

p.sub-title{
    color: $sub_color;
    font-size:13px;
}
h2.section-title{
    font-size: 30px;
    margin-top: 10px ;
}

// フッダー
footer{
    display: flex;
    align-items: center;
    background-color: #969696;
    height: auto;
    p{
        padding-left: 0px;
    }
}