﻿@charset "UTF-8";

html {
    font-size: 100%;
}
/*
フッターを画面下に配置するために、
「position: relative;」を設定
「min-height」で最小の高さを画面の高さにあわせる
*/
body {
    color: #333;
    font-size: 0.875rem;
    min-height: 100vh;
    position: relative;
    background:#fff;
}

a {
    color: #333;
    text-decoration: none;
    transition: all 0.5s;
}

    a:hover {
        opacity: 0.7;
    }

img {
    max-width: 100%;
}

li {
    list-style: none;
}
/*
コンテンツ幅を設定するための共通クラス
*/
.wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}

.content {
    padding-top: 100px;
    padding-bottom: 360px;
    background:#fff;
}

.site-title a {
    width: 40px;
    line-height: 1px;
    display: block;
}

.instagram a {
    width: 30px;
    line-height: 1px;
    display: block;
}

.page-title {
    font-size: 0.875rem;
    font-weight: bold;
    margin-bottom: 20px;
    text-align:left;
}

.episode-title {
    font-size: 1.175rem;
    font-weight: bold;
    margin: 0 auto;
    text-align: center;
}

.episode-letter {
    font-size: 0.875rem;
    margin-top: 40px;
    margin-bottom: 10px;
    text-align: center;
}

div.vid_contents {
    width: 100%; /*背景色を横幅いっぱいに広げる*/
    text-align: center;
    margin: auto;
    /*padding: 4% 4% 4% 4%; ここで動画の周りの余白を調整*/
    background: #fff; /*余白の背景色*/
}

video.vid_main {
    width: 100%;
    max-width: 2560px; /*PC版での最大幅*/
}
video.vid_main2 {
    width: 100%;
    max-width: 2560px;
    margin: auto;
    background: #fff;
    text-align: center;
    padding: 5% 10% 20% 10%;
}

video.vid_main3 {
    width: 100%;
    max-width: 2560px;
    margin: auto;
}


.info2 dt {
    margin-top: 20px;
    width: 85%;
    border-bottom: solid 1px #dcdbdb;
}

.info2 dd {
    width: 85%;
    padding-bottom: 5px;
}



/*-------------------------------------------
ヘッダー
-------------------------------------------*/
/*
「position: fixed;」でヘッダーを固定し、「z-index: 10;」で前面に表示
※他のコンテンツでpositionをrelative、absolute、fixedのいずれかに
設定している場合は、z-indexの数値が大きい方が前面に表示される
*/
#header {
    width: 100%;
    height: 80px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    left: 0;
    right: 0;
    z-index: 10;
    transition: opacity 0.3s ease;
}
/*
ハンバーガーメニュー
メニューが閉じている時は、「left: -300px;」で画面左に隠し、
「opacity: 0;」で非表示にしている
*/
#navi {
    position: fixed;
    font-size: 2rem;
    top: 0;
    left: -300px;
    width: 300px;
    color: #fff;
    padding: 36px 50px;
    transition: all 0.5s;
    z-index: 20;
    opacity: 0;
}

    #navi a {
        color: #fff;
    }

    #navi li {
        margin-bottom: 14px;
    }
/*
ハンバーガーメニュー
メニューが開いている時は、「left: 0;」「opacity: 1;」で
画面左に表示する
*/
.open #navi {
    left: 0;
    opacity: 1;
}

.toggle_btn {
    width: 30px;
    height: 30px;
    position: relative;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 20;
}
    /*
ハンバーガーメニューの線の設定（メニューが閉じている時）
*/
    .toggle_btn span {
        display: block;
        position: absolute;
        width: 30px;
        height: 3px;
        background-color: #333;
        border-radius: 4px;
        transition: all 0.5s;
    }
        /*
1本目の線の位置を設定
*/
        .toggle_btn span:nth-child(1) {
            bottom: 20px;
        }
        /*
2本目の線の位置を設定
*/
        .toggle_btn span:nth-child(2) {
            bottom: 10px;
        }
        /*
3本目の線の位置を設定
*/
        .toggle_btn span:nth-child(3) {
            bottom: 0px;
        }

/*
ハンバーガーメニューの線の設定（メニューが開いている時）
線の色を白に変更
*/
.open .toggle_btn span {
    background-color: #fff;
}
    /*
1本目の線を-45度回転
*/
    .open .toggle_btn span:nth-child(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }
    /*
2本目の線を消す
*/
    .open .toggle_btn span:nth-child(2) {
        transform: rotate(45deg);
        opacity: 0;
    }
    /*
3本目の線を45度回転
*/
    .open .toggle_btn span:nth-child(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
    }

#mask {
    display: none;
    transition: all 0.5s;
}
/*
メニューを開いている時は、全体を黒背景にする
*/
.open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .8;
    z-index: 10;
    cursor: pointer;
}

/*-------------------------------------------
TOP、PRODUCTS
-------------------------------------------*/
#top {
    padding-top: 80px;
    padding-bottom: 160px;
    background-color: #fff;
    font-size: 16px;
    text-align: center;
}

.product-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 35px;
}
    /*
vertical-align: top;
画像の下にできる隙間を消す
*/
    .product-list img {
        margin-bottom: 10px;
        vertical-align: top;
    }

    .product-list p {
        font-size: 0.75rem;
    }

.episode-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    padding:5%;
    margin-top:70px;
}
    /*
vertical-align: top;
画像の下にできる隙間を消す
*/
    .episode-list img {
        margin-bottom: 5px;
        vertical-align: top;
        width:100%;
    }

    .episode-list p {
        font-size: 0.8rem;
        text-align: left;
        margin-bottom: 20px;
    }


.link-text {
    display: block;
    margin-top: 5px;
    text-align: center;
}



.btnchangeradius {
    /*ボタンの形状*/
    display: inline-block;
    background: #333;
    color: #fff;
    padding: 10px 20px;
    border: 5px double #fff;
    text-decoration: none;
    text-align:center;
    outline: none;
    /*アニメーションの指定*/
    transition: .3s ease-out;
}

    /*hoverした際の角丸のアニメーション*/
    .btnchangeradius:hover {
        background: #666;
        border-radius: 20px;
    }




.pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

    .pagination li {
        padding: 0 20px;
    }

/*-------------------------------------------
ITEM
-------------------------------------------*/
#item {
    max-width: 800px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
}

    #item .item-text {
        width: 42%;
    }
        /*
text-align: justify;
テキストの両端を揃える
*/
        #item .item-text p {
            margin-bottom: 30px;
            text-align: justify;
        }

        #item .item-text dl {
            display: flex;
            flex-wrap: wrap;
        }

        #item .item-text dt {
            width: 30%;
        }

        #item .item-text dd {
            width: 70%;
        }

    #item .item-img {
        width: 50%;
    }

/*-------------------------------------------
ABOUT
-------------------------------------------*/
#about {
    max-width: 600px;
    font-size: 0.95rem;
    margin-top: 45px;
}

    #about p {
        line-height: 1.9;
        margin-bottom: 30px;
    }

/*-------------------------------------------
COMPANY
-------------------------------------------*/
#company {
    max-width: 600px;
}

    #company dl {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    #company dt {
        width: 30%;
        border-bottom: solid 1px #dcdbdb;
        padding: 20px 10px;
    }

        #company dt:last-of-type {
            border-bottom: none;
        }

    #company dd {
        width: 70%;
        border-bottom: solid 1px #dcdbdb;
        padding: 20px 10px;
    }

        #company dd:last-of-type {
            border-bottom: none;
        }

    #company .map {
        /* グーグルマップをグレースケールにする */
        filter: grayscale(1);
    }
        /* グーグルマップのサイズを設定 */
        #company .map iframe {
            width: 100%;
            height: 300px;
            border: 0;
        }

/*-------------------------------------------
フッター
-------------------------------------------*/
/*
「position: absolute;」を設定して、フッター位置を画面下に設定
「left: 0;」「right: 0;」で中央に配置
*/
#footer {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    font-family:sans-serif;
}

    #footer .menu {
        display: flex;
    }

        #footer .menu li {
            font-size: 0.85rem;
            margin-right: 30px;
        }

    #footer .copyright {
        font-size: 0.725rem;
    }

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 900px) {

    /*-------------------------------------------
  TOP、PRODUCTS
  -------------------------------------------*/
    .product-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
    }

    /*-------------------------------------------
  ITEM
  -------------------------------------------*/
    #item {
        flex-direction: column;
    }

        #item .item-text {
            width: 100%;
        }

        #item .item-img {
            width: 100%;
            margin-bottom: 30px;
        }

    /*-------------------------------------------
  COMPANY
  -------------------------------------------*/
    #company dl {
        flex-direction: column;
    }

    #company dt {
        width: 100%;
        border-bottom: none;
        padding-bottom: 5px;
    }

    #company dd {
        width: 100%;
        padding-top: 5px;
    }

    /*-------------------------------------------
  フッター
  -------------------------------------------*/
    #footer {
        display: flex;
        justify-content: space-between;
        position: absolute;
        bottom: 20px;
        left: 0;
        right: 0;
        font-family: sans-serif;
    }

        #footer .menu {
            margin-bottom: 5px;
        }
}

/*==================================================
スライダーのためのcss
===================================*/
.slider { /*横幅94%で左右に余白を持たせて中央寄せ*/
    width: 100%;
    margin: 0 auto;
}

    .slider img {
        width: 100%; /*スライダー内の画像を横幅100%に*/
        height: auto;
    }

    /*slickのJSで書かれるタグ内、スライド左右の余白調整*/

    .slider .slick-slide {
        margin: 0 10px;
    }

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
    position: absolute; /*絶対配置にする*/
    top: 42%;
    cursor: pointer; /*マウスカーソルを指マークに*/
    outline: none; /*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666; /*矢印の色*/
    border-right: 2px solid #666; /*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev { /*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next { /*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align: center;
    margin: 20px 0 0 0;
}

    .slick-dots li {
        display: inline-block;
        margin: 0 5px;
    }

    .slick-dots button {
        color: transparent;
        outline: none;
        width: 8px; /*ドットボタンのサイズ*/
        height: 8px; /*ドットボタンのサイズ*/
        display: block;
        border-radius: 50%;
        background: #ccc; /*ドットボタンの色*/
    }

    .slick-dots .slick-active button {
        background: #333; /*ドットボタンの現在地表示の色*/
    }

/*表示するテキストが切り替わる*/
.btntextchange {
    /*テキストの基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    border: 1px solid #555;
    border-radius: 25px;
    min-width: 210px;
    padding: 20px;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    color: #333;
    outline: none;
    /*アニメーションの指定*/
    transition: all .2s;
}

    /*hoverした際の変化*/
    .btntextchange:hover {
        background: #333;
        color: #fff;
    }

    .btntextchange span {
        /*絶対配置でテキストの位置を決める*/
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        /*アニメーションの指定*/
        transition: all .5s;
        /*ブロック要素にしてテキスト折り返しなし*/
        display: block;
        white-space: nowrap;
    }

        /*差し替わるテキストの設定*/
        .btntextchange span:nth-child(2) {
            opacity: 0; /*透過0に*/
        }

    /*hoverするとテキストが入れ替わる設定*/
    .btntextchange:hover span:nth-child(1) {
        opacity: 0; /*透過0に*/
    }

    .btntextchange:hover span:nth-child(2) {
        opacity: 1; /*不透明に*/
    }