﻿@charset "utf-8";

/*-------------------------*/
/*  base
/*-------------------------*/
.pc {
    display: none;
}

.sp {
    display: block;
}

body {
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    position: relative;
    line-height: 1.8;
    font-size: 14px;
    color: #231815;
    background: #231815;
}

/*	ancher 	*/
a {
    color: #231815;
    -webkit-transition: all 0.3s 0s ease;
    -moz-transition: all 0.3s 0s ease;
    transition: all 0.3s 0s ease;
}

a:hover {
    opacity: 0.5;
}

nav a:hover {
    text-decoration: underline;
    opacity: 1;
}

a:visit,
a:hover,
a:link {
    color: #231815;
}

#bg {
    min-height: 900px;
    width: 100%;
    height: 96vh;
    z-index: 0;
    background: url("../images/bg_01.png") no-repeat top center;
    background-size: cover;
    position: relative;
    z-index: 0;
}

/*-------------------------*/
/*  header
/*-------------------------*/

/*-------------------------*/
/*  section
/*-------------------------*/
section {
    position: absolute;
    width: 90vw;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.8);
    z-index: 111;
    text-align: center;
    backdrop-filter: blur(15px);
    padding: 50px 0 50px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    outline: 5px solid #231815;
}

@media (max-height: 730px) {
    section {
        top: 30px;
        left: 50%;
        transform: translateY(-0%) translateX(-50%);
        -webkit- transform: translateY(-0%) translateX(-50%);
    }
}

h1,
h2 {
    margin-bottom: 50px;
}

dl,
dt,
dd {
    margin: 0;
    padding: 0;
}

dl {
    margin: 0 auto;
    border-width: 0 1 1 1;
    border-style: solid;
    border-color: black;

    width: 450px;
    text-align: left;
}

dt {
    float: left;
    clear: both;
    width: 150px;

    border-width: 1 0 0 0;
    border-style: solid;
    border-color: black;

    padding: 5px;
}

dd {
    margin-left: 155px;
    border-width: 1 0 0 1;
    border-style: solid;
    border-color: black;

    padding: 5px;
}

/*-------------------------*/
/*  Block
/*-------------------------*/

/*-------------------------*/
/*  footer
/*-------------------------*/
footer {
    height: 4vh;
    text-align: center;
}

footer div {
    width: 1200px;
    margin: 0 auto;
}

footer .inner {
    padding: 80px 10px;
}

footer>div:last-child {
    font-size: 10px;
    padding: 10px 0;
    width: 100%;
    background: #231815;
    color: #fff;
}

/*-------------------------/*-------------------------*/
/*  keyframes
/*-------------------------/*-------------------------*/

header:before {
    animation: rotation 2s ease 0s 1 alternate none running;
}

header .header-logoblock {
    animation: rotation2 2s ease 0s 1 alternate none running;
}

@keyframes rotation {
    0% {
        width: 0vw;
    }

    30% {
        width: 100vw;
        left: 0vw;
    }

    60% {
        left: 100vw;
    }

    100% {
        left: 100vw;
    }
}

@keyframes rotation2 {
    0% {
        width: 0vw;
    }

    30% {
        width: 0vw;
    }

    65% {
        width: 400px;
    }

    100% {
        width: 400px;
    }
}

/*-------------------------/*-------------------------*/
/*  sp
/*-------------------------/*-------------------------*/
@media (max-width: 767px) {
    .pc {
        display: block;
    }

    .sp {
        display: none;
    }

    section {
        position: relative;
        width: 90vw;
        margin: -90vh auto 0;
        background: rgba(255, 255, 255, 0.9);
        z-index: 111;
        text-align: center;
        backdrop-filter: blur(15px);
        padding: 50px 0 50px;
        top: 0%;
        left: 0%;
        transform: translateY(0%) translateX(-0%);
        -webkit- transform: translateY(-0%) translateX(-0%);
        outline: 5px solid #231815;
    }

    @media (max-height: 730px) {
        section {
            top: 0%;
            left: 0%;
            transform: translateY(0%) translateX(-0%);
            -webkit- transform: translateY(-0%) translateX(-0%);
        }
    }

    h1,
    h2 {
        margin-bottom: 50px;
    }

    dl,
    dt,
    dd {
        margin: 0;
        padding: 0;
    }

    dl {
        margin: 0 auto;

        /* dlの上部線はなくし，dtとddの上部線をdlの上部線のように見せる */
        border-width: 0 1 1 1;
        border-style: solid;
        border-color: black;

        width: 100%;
        text-align: left;
    }

    dt {
        float: none;
        clear: both;
        width: 100%;

        border-width: 1 0 0 0;
        /* 上線だけ */
        border-style: solid;
        border-color: black;

        opacity: 0.5;
        padding: 0px;
        padding-left: 10px;
    }

    dd {
        /* dtの幅だけ横にずらしておく */


        border-width: 1 0 0 1;
        /* 上線と，dt・ddの左右間の区切り */
        border-style: solid;
        border-color: black;

        padding: 0px;
        padding-left: 30px;
        margin-bottom: 20px;
    }

    /*-------------------------*/
    /*  footer
/*-------------------------*/
    footer {
        height: 4vh;
        text-align: center;
    }

    footer div {
        width: 100%;
        margin: 0 auto;
    }

    footer .inner {
        padding: 80px 10px;
    }

    footer>div:last-child {
        font-size: 10px;
        padding: 10px 0;
        width: 100%;
        background: #231815;
        color: #fff;
    }

    @keyframes rotation2 {
        0% {
            width: 0vw;
        }

        30% {
            width: 0vw;
        }

        65% {
            width: 200px;
        }

        100% {
            width: 200px;
        }
    }
}