* {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.fv {
    height: 100vh;
    width: 100vw;
    background-image: url(/signage/img/fv.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
}



.fv_logo {
    display: block;
    width: 100vw;
    position: fixed;
    z-index: 10;
    background-color: #ffffff96;
    box-shadow: 0px 2px 5px #333;
}


.fv_logo img {
    width: 30vw;
    padding: 8px 0 0 40px;
}


.fv_logo span {
    display: block;
    margin: 8px 0 8px 40px;
}


.fv h1 {
    position: relative;
    z-index: 2;
    font-size: 64px;
    padding: 140px 0 0 5vw;
    text-shadow: 1px 1px 0px #fff;
}


.fv h1 span {
    display: block;
    font-size: 16px;
    margin-top: 8px;
}

.fv_p-container {
    text-align: center;
    margin-top: 120px;
    opacity: 0;
    animation: fv_p-move 2s forwards;
}

.fv p {
    background-color: #ffffffdc;
    font-weight: 900;
    display: inline-block;
    position: relative;
    z-index: 2;
    padding: 2em;
    font-size: 18px;
    line-height: 32px;
    box-shadow: 1px 1px 5px #33333369;
}

@keyframes fv_p-move {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.btn_back {
    position: fixed;
    left: 0;
    bottom: 0;
}


.cnt01 {
    width: 70vw;
    margin: 120px auto;
}

.title {
    text-align: center;
    margin-bottom: 40px;
}

.title h1 {
    background-color: #ffffff81;
    padding: 1em 3em;
    display: inline-block;
    border: 1px solid #fdfdfd;
    box-shadow: 3px 3px 10px #696969;
}


.cnt01_text {
    width: 95%;
    text-align: center;
    margin: 0 auto 40px;
    line-height: 42px;
    font-weight: 900;
    background-color: #fff;
    padding: 2em;
    opacity: 0;
    transition: all 4s;
    transform: translateY(-100px);
    border-radius: 10px;
}

.cnt01_text.fadein-cnt01_text {
    opacity: 1;
    transition: all 4s;
    transform: translateY(0px);
}



.cnt01_flex {
    display: flex;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
}

.cnt01_flex-01,
.cnt01_flex-02 {
    width: 30vw;
    height: 340px;
    opacity: 0;
    transform: translateY(-100px);
    transition: all 4s;
}

.cnt01_flex-01 img,
.cnt01_flex-02 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cnt01_flex-01.fadein-cnt01_flex-01,
.cnt01_flex-02.fadein-cnt01_flex-02 {
    opacity: 1;
    transform: translateY(0px);
    transition: all 4s;
}



.cnt02 {
    background-color: rgba(185, 185, 185, 0.582);
    padding: 40px 0;
}

.cnt_wrap {
    width: 70vw;
    margin: 80px auto;
}

.cnt02 ul {
    overflow-x: hidden;
    list-style: none;
    padding: 0;
    background-color: #fff;
    padding: 4em;
    border-radius: 20px;
}

.cnt02 ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto;
}

.cnt02 ul li:nth-child(1),
.cnt02 ul li:nth-child(2),
.cnt02 ul li:nth-child(3) {
    border-bottom: 1px solid #696969;
    padding-bottom: 40px;
}

.cnt02_flex-01 {
    margin-right: 24px;
    width: 65%;
}

.cnt02_move {
    font-size: 20px;
    margin-bottom: 40px;
    opacity: 0;
    transition: all 1s;
    transform: translateX(-400px);
}

.cnt02_move span {
    font-size: 32px;
}

.cnt02_move.fadein-cnt02_move {
    opacity: 1;
    transition: all 1s;
    transform: translateX(0px);
}

.cnt02_flex-01 p {
    line-height: 32px;
}

.cnt02_flex-02 {
    margin-left: 24px;
    width: 35%;
}

.cnt02_flex-02 img {
    width: 100%;
    height: 300px;
    object-fit: contain;
}




.cnt03 {
    width: 70vw;
    margin: 120px auto;
}

.cnt03 p {
    font-weight: 900;
    font-size: 18px;
    text-align: center;
    margin: 0 auto 40px;
    line-height: 32px;
}

.cnt03 ul {
    list-style: none;
    padding: 0;
}

.cnt03 ul li {
    background-color: #fff;
    padding: 4em;
    border: #6b6b6b 1px solid;
    margin-bottom: 40px;
}

.cnt03 ul li h2 {
    font-size: 24px;
}

.cnt03_flex {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cnt03_flex p {
    font-weight: 400;
    font-size: 16px;
    text-align: left;
    width: 65%;
    margin-right: 24px;
}

.cnt03_flex img {
    width: 35%;
    margin-left: 24px;
}




.cnt04 {
    background-color: rgba(185, 185, 185, 0.582);
    padding: 40px 0;
}

.cnt04 ul {
    list-style: none;
    padding: 4em;
    background-color: #fff;
    border-radius: 20px;
    overflow-x: hidden;
}

.cnt04_list {
    display: flex;
    justify-content: center;
    align-items: start;

}

.cnt04_list:nth-child(1) {
    transform: translateX(600px);
    opacity: 0;
    transition: all 2s;
    border-bottom: 1px solid #696969;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.cnt04_list:nth-child(2) {
    transform: translateX(-600px);
    opacity: 0;
    transition: all 2s;
}

.cnt04_list.fadein-cnt04_list {
    transform: translateX(0px);
    opacity: 1;
    transition: all 2s;
}


.cnt04_flex {
    width: 60%;
    margin-right: 24px;
}

.cnt04_flex h2 {
    font-size: 24px;
    margin-bottom: 40px;
}

.cnt04_flex p {
    line-height: 32px;
}

.cnt04 ul li img {
    width: 40%;
    margin-left: 24px;
    height: 300px;
    object-fit: cover;
}

.cnt04_text {
    width: 95%;
    margin: 40px auto 0;
}



.cnt05 {
    width: 70vw;
    margin: 120px auto;
}

.cnt05_flex01,
.cnt05_flex02 {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}


.cnt05_flex01 p,
.cnt05_flex02 p {
    font-weight: 900;
    width: 60%;
    line-height: 32px;
    background-color: #fff;
    padding: 4em;
    box-shadow: 3px 3px 10px #a0a0a0;
}


.cnt05_flex01 img,
.cnt05_flex02 img {
    width: 40%;
}


.cnt05_arrow {
    text-align: center;
    margin: -60px auto;
}


.cnt05_ex {
    margin: 40px auto;
}
.cnt05_ex h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 40px;
}
.cnt05_ex--flex {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
.ex--flex-left {
    width: 45%;
    margin-right: 24px;
    background-color: #ffffffce;
    box-shadow: 3px 3px 10px #a0a0a0;
    padding: 3em;
}
.ex--flex-left p {
    line-height: 32px;
    font-weight: 900;
    word-break: auto-phrase;
}
.ex--flex-left span {
    display: block;
    margin-top: 40px;
}
.ex--flex-right {
    width: 55%;
    margin-left: 24px;
}
.ex--flex-right img {
    width: 100%;
    max-width: 600px;
    object-fit: cover;
}
.cnt05_ex--p {
    margin-top: 40px;
    font-weight: 900;

}





.cnt06 {
    background-color: rgba(185, 185, 185, 0.582);
    padding: 40px 0;
}

.cnt06 p {
    text-align: center;
}

.cnt06_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto;
    background-color: #fff;
    padding: 4em 6em;
    border-radius: 20px;
}

.cnt06_flex ul {
    width: 60%;
    list-style: none;
    padding: 0;
}

.cnt06_flex img {
    width: 40%;
    object-fit: cover;
    height: 90%;
}

.cnt06_list {
    margin-bottom: 64px;
    opacity: 0;
    transition: all 2s;
}

.cnt06_list:last-child {
    margin: 0;
}

.cnt06_list p {
    font-size: 22px;
    text-align: left;
}

.cnt06_list p span {
    font-size: 32px;
}

.cnt06_list:nth-child(1) {
    transform: translateY(-80px);

}

.cnt06_list:nth-child(2) {
    transform: translateY(-194px);
}

.cnt06_list:nth-child(3) {
    transform: translateY(-308px);
}

.cnt06_list:nth-child(4) {
    transform: translateY(-422px);
}

.cnt06_list:nth-child(5) {
    transform: translateY(-536px);
}

.cnt06_list:nth-child(6) {
    transform: translateY(-650px);
}

.cnt06_list.fadein-cnt06_list {
    transform: translateY(0px);
    opacity: 1;
    transition: all 2s;
}


.cnt07 {
    width: 70vw;
    display: block;
    margin: 120px auto;
}

.cnt07_text {
    text-align: center;
}

.cnt07 p {
    width: 100%;
    text-align: left;
    display: inline-block;
    padding: 4em;
    border: #696969 1px solid;
    line-height: 32px;
    background-color: #fff;
}

.cnt07_table {
    width: 100%;
    margin: 120px auto;
}

.cnt07_table h2 {
    text-align: center;
    margin-bottom: 40px;
}

.cnt07_table table {
    text-align: center;
    width: 100%;
    margin: 0 auto;
    border: 2px solid #616161;
}

.cnt07_table table tbody {
    background-color: #fff;
}

.cnt07_table table tbody tr {
    height: 65px;
    display: flex;
    align-items: center;
}

.cnt07_table table tbody tr:nth-child(1) {
    height: 100px;
}

.cnt07_table table tbody tr:nth-child(2) {
    height: 280px;
}

.table01_raw01 {
    width: 20%;
    border: 1px solid #a3a3a3;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.table01_raw02,
.table01_raw03 {
    width: 40%;
    border: 1px solid #a3a3a3;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}


.cnt07_table-img {
    height: 100%;
    margin: 0 auto;
    padding: 12px 0;
}

.cnt07_table-img img {
    margin: 0 auto;
    height: 100%;
    width: 80%;
    object-fit: contain;
}

.table02_raw01 {
    width: 16%;
    border: 1px solid #a3a3a3;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.table02_raw02,
.table02_raw03,
.table02_raw04 {
    width: 28%;
    border: 1px solid #a3a3a3;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}



.btn {
    background-color: rgba(185, 185, 185, 0.582);
    padding: 40px 0;
}

.btn p {
    text-align: center;
}

.btn a {
    width: 70%;
    margin: 80px auto;
    text-align: center;
    display: block;
    transition: all 500ms;
    font-weight: 900;
    text-decoration: none;
    color: #333;
    font-size: 22px;
    padding: 1em;
    background-color: #ff5f15c9;
    box-shadow: rgba(0, 0, 0, 0.3) 2px 8px 8px;
    border: 1px rgba(255, 255, 255, 0.4) solid;
    border-bottom: 1px rgba(40, 40, 40, 0.35) solid;
    border-right: 1px rgba(40, 40, 40, 0.35) solid;
}

.btn h1 {
    text-align: center;
    margin-bottom: 40px;
}

@keyframes fv_move {
    0% {
        background-position: left;
    }
    100%{
        background-position: right;
    }
}


@media(max-width:1000px) {
    .btn_back {
        position: fixed;
        left: 0;
        bottom: 0;
        transform: scale(0.8);
    }
    .fv {
        animation: fv_move 6s forwards;
        background-position: left;
    }
    .fv_logo {
        background-color: #ffffff96;
        box-shadow: 0px 2px 5px #333;
    }
    .fv_logo img {
        width: 90vw;
        padding: 12px 0px 8px 8px;
    }
    .fv_logo span {
        font-size: 14px;
        margin: 0px 0 8px 8px;
    }
    .fv h1 {
        font-size: 32px;
        padding: 120px 0 0 5vw;
        text-shadow: 1px 1px 0px #111111;
        color: #fff;
    }
    
    
    .fv h1 span {
        font-size: 14px;
        margin-top: 0px;
    }
    
    .fv_p-container {
        margin: 180px auto 0;
        width: 90vw;
        max-width: 360px;
    }
    
    .fv p {
        background-color: rgba(255, 255, 255, 0.699);
        padding: 1em;
        font-size: 16px;
        line-height: 28px;
    }

    
    .cnt01 {
        width: 90vw;
    }

    .title h1 {
        font-size: 20px;
        padding: 1em;
    }
    .cnt01_text {
        width: 100%;
        line-height: 32px;
        padding: 2em 1em;
        font-size: 14px;
    }
    .cnt01_flex {
        display: block;
        width: 100%;
        margin: 40px auto;
    }
    
    .cnt01_flex-01,
    .cnt01_flex-02 {
        width: 100%;
        height: 200px;
        margin-bottom: 24px;
    }
    
    .cnt01_flex-01 img,
    .cnt01_flex-02 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    
    .cnt_wrap {
        width: 95vw;
        margin: 60px auto;
    }
    
    .cnt02 ul {
        padding: 0.5em 1em;
        border-radius: 10px;
    }
    
    .cnt02 ul li {
        display: block;
        margin: 24px auto;
    }
    
    .cnt02 ul li:nth-child(1),
    .cnt02 ul li:nth-child(2),
    .cnt02 ul li:nth-child(3) {
        border-bottom: 1px solid #696969;
        padding-bottom: 24px;
    }
    
    .cnt02_flex-01 {
        margin-right: 0px;
        width: 100%;
        margin: 0 auto;
    }
    
    .cnt02_move {
        font-size: 20px;
        margin-bottom: 40px;
    }
    
    
    .cnt02_flex-01 p {
        line-height: 32px;
        font-size: 14px;
    }
    
    .cnt02_flex-02 {
        margin-left:0px;
        margin-top: 24px;
        width: 100%;
    }
    
    .cnt02_flex-02 img {
        height: 180px;
    }


    .cnt03 {
        width: 90vw;
        margin: 80px auto;
    }
    
    .cnt03 p {
        font-size: 16px;
        text-align: left;
        margin: 0 auto ;
        line-height: 26px;
    }
    
    .cnt03 ul li {
        background-color: #fff;
        padding: 1em;
        border: #6b6b6b 1px solid;
        margin-bottom: 40px;
    }
    
    .cnt03 ul li h2 {
        font-size: 24px;
    }
    
    .cnt03_flex {
        display: block;
    }
    
    .cnt03_flex p {
        font-size: 14px;
        text-align: left;
        width: 100%;
        margin: 24px 0px ;
    }
    .cnt03_flex img {
        width: 95%;
        margin: 16px auto;
    }


    .cnt04 ul {
        padding: 2em 1em ;
        border-radius: 10px;
    }
    .cnt04_list {
        display: block;
    }
    .cnt04_list:nth-child(1) {
        padding-bottom: 24px;
        margin-bottom: 24px;
    }
    .cnt04_flex {
        width: 100%;
        margin: 0px auto;
    }
    .cnt04_flex h2 {
        font-size: 20px;
        margin-bottom: 24px;
    }
    .cnt04_flex p {
        font-size: 14px;
        line-height: 28px;
    }
    .cnt04 ul li img {
        width: 95%;
        margin: 24px auto;
        height: 200px;
        object-fit: cover;
    }
    .cnt04_text {
        width: 95%;
        margin: 24px auto 0;
        font-size: 14px;
        line-height: 26px;
    }


    .cnt05 {
        width: 90vw;
        margin: 80px auto;
    }
    .cnt05_flex01,
    .cnt05_flex02 {
        background-color: #fff;
        padding: 2em 1em;
        margin: 0 auto;
        display: block;
        box-shadow: 3px 3px 10px #333;
    }
    .cnt05_flex01 p,
    .cnt05_flex02 p {
        font-weight: 900;
        width: 100%;
        line-height: 28px;
        background-color: transparent;
        padding: 0;
        box-shadow: none;
    }
    .cnt05_flex01 img,
    .cnt05_flex02 img {
        width: 100%;
        max-width: 380px;
        margin: 0 auto;
    }
    .cnt05_arrow {
        margin: 0px auto;
    }

    
    .cnt06 p {
        text-align: center;
        width: 90%;
        margin: 0 auto;
    }
    
    .cnt06_flex {
        display: block;
        padding: 2em 1em;
    }
    
    .cnt06_flex ul {
        overflow-y: hidden;
        width: 100%;
    }
    
    .cnt06_flex img {
        width: 100%;
        object-fit: contain;
        height: 200px;
    }
    
    .cnt06_list {
        margin-bottom: 24px;
        opacity: 0;
        transition: all 2s;
    }
    
    .cnt06_list:last-child {
        margin: 0;
    }
    
    .cnt06_list p {
        font-size: 18px;
        text-align: left;
    }
    
    .cnt06_list p span {
        font-size: 22px;
    }


    .cnt07 {
        width: 95vw;
        margin: 80px auto;
    }
    
    .cnt07 p {
        width: 95%;
        padding: 2em 1em;
        line-height: 28px;
        font-size: 14px;
    }
    
    .cnt07_table {
        margin: 80px auto;
        font-size: 14px;
    }
    
    .cnt07_table h2 {
        margin-bottom: 24px;
        font-size: 22px;
    }
    
    .cnt07_table table {
        text-align: center;
        width: 100%;
        margin: 0 auto;
        border: 2px solid #616161;
    }
    
    .cnt07_table table tbody {
        background-color: #fff;
    }
    
    .cnt07_table table tbody tr {
        height: 120px;
        display: flex;
        align-items: center;
    }
    
    .cnt07_table table tbody tr:nth-child(1) {
        height: 140px;
    }
    
    .cnt07_table table tbody tr:nth-child(2) {
        height: 280px;
    }
    
    .table01_raw01 {
        width: 30%;
    }
    
    .table01_raw02,
    .table01_raw03 {
        width: 35%;
    }
    
    
    .cnt07_table-img {
        padding: 8px 0;
    }
    
    .table02_raw01 {
        width: 16%;
    }
    
    .table02_raw02,
    .table02_raw03,
    .table02_raw04 {
        width: 28%;
    }
    
    .btn h1 {
        font-size: 22px;
    }
    .btn p {
        font-size: 14px;
        text-align: center;
    }
    
    .btn a {
        width: 90%;
    }
    
    .btn h1 {
        margin-bottom: 24px;
    }

}