/* fade */
.fadeIn {
    opacity: 0.1;
    transform: translate(0, 20px);
    transition: all .5s;
}

.fadeIn.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

/* 画面変遷 */
body {
    display: none;
}

/* arrowアニメ */
@keyframes arrowAnime {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(3px);
    }

    100% {
        transform: translateX(0);
    }
}

/* zoomIn */
.zoomIn img {
    transform: scale(1);
    transition: .3s ease-in-out;
}

.zoomIn a:hover img {
    transform: scale(1.1);
}

.mask {
    display: block;
    line-height: 0;
    overflow: hidden;
}

/* ナビゲーションメニュー */
.drawer-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: -120%;
    width: 50%;
    height: 100vh;
    background-color: #fff;
    transition: all 0.6s;
    touch-action: none;
}

.drawer-nav.panelactive {
    left: 0;
}

.drawer_menu {
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.acrdion_menu {
    text-align: center;
}

.accordion_menu-item {
    border-bottom: solid 1px #e0e0e0;
    border-top: solid 1px #e0e0e0;
}

.accordion_menu-item a {
    position: relative;
    padding: 20px 0 20px 0;
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
}

/* Common Css must add */
svg {
    height: 40px;
    position: absolute;
    width: 40px;
    cursor: pointer;
    /*   border: 1px solid black; */
    background-color: #fff;
}

.plate {
    height: 45px;
    width: 41px;
}

.x {
    transform: scale(0);
    transition: transform 400ms;
}

.line {
    fill: none;
    stroke: #c2c2c2;
    stroke-width: 6px;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: 50%;
    transition: stroke-dasharray 500ms 200ms, stroke-dashoffset 500ms 200ms,
        transform 500ms 200ms;
}

.x .line {
    stroke-width: 5.5px;
}

/* Common Css must add end */

/* First Menu CSS Only */
.plate1 .line2 {
    stroke-dasharray: 40 200;
    stroke-dashoffset: 0px;
}

.plate1 .line3 {
    stroke-dasharray: 40 179;
    stroke-dashoffset: 0px;
}

.active .line {
    transition: stroke-dasharray 500ms, stroke-dashoffset 500ms, transform 500ms;
}

.active.plate1 .line1 {
    transform: scale(0, 1);
    transition: transform 500ms 100ms;
}

.active.plate1 .line2 {
    stroke-dasharray: 5px 200;
    stroke-dashoffset: -164px;
}

.active.plate1 .line3 {
    stroke-dasharray: 5px 179;
    stroke-dashoffset: -142px;
}

.active .x {
    transform: scale(1);
    transition: transform 400ms 350ms;
}

/* First Menu CSS Only end */

#g-nav.panelactive {
    position: fixed;
    z-index: 999;
    width: 50%;
    height: 100vh;
    overflow: auto;
}

#header.UpMove {
    animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-100px);
    }
}


#header.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*===モーダル表示のためのcss　*/

.hide-area {
    /*モーダル表示をする場所をあらかじめ隠す*/
    display: none;
}

.modaal-fullscreen .modaal-content-container {
    height: 100%;
    overflow: auto;
    background: linear-gradient(45deg, rgba(88, 182, 211, .9), #80C26A);
    color: #fff;
    text-align: center;
}

.modaal-fullscreen .modaal-close {
    /*ボタンの色、位置*/
    background: none;
    right: 20px;
}

/*クローズボタンの×の色変更*/
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
    background: #666;
}

/*キャプション*/
.caption {
    display: block;
    padding: 10px 0;
}

/*===　サムネイル表示のためのcss　*/

.gallery {
    /*ベースになるギャラリーを横並びに*/
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.gallery a {
    transition: all .3s;
}

.gallery a:hover {
    opacity: 0.8;
}

.gallery li {
    width: 45%;
    padding: 15px;
    list-style: none;
}

/*画像の横幅を100%にしてレスポンシブ化*/
.modaal-fullscreen .modaal-content-container img {
    border: 5px solid #fff;
    max-width: 700px;
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

@media screen and (max-width: 599px) {
    .gallery {
        justify-content: center;
    }

    .gallery li {
        width: 90%;
    }

    .gallery_sp_none {
        display: none;
    }
}