@charset "utf-8"; .bg-warp {
    background: #17181f;
    color: #fff;
    min-width: 1100px;
}

.gr-text {
    display: inline-block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    -webkit-background-clip: text;
    /* -webkit-text-fill-color: transparent; */
    font-weight: bold;
}

.gr-under {
    position: relative;
    display: inline-block;
    width: auto;
}

.gr-under::after {
    content: "";
    position: absolute;
    bottom: 0;
    display: inline-block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 100%;
    height: 2px;
    left: 0;
    margin: auto;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .bg-warp {
        min-width: 100%;
    }

    .gr-under::after {
        content: "";
        position: absolute;
        bottom: -0.3rem;
        display: inline-block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 100%;
        height: 2px;
        left: 0;
        margin: auto;
        z-index: -1;
    }
}

/*--------------------------------------
　MV
---------------------------------------*/
.mv_home {
    margin: auto;
    width: 100%;
    position: relative;
    margin-bottom: -13rem;
}

.mv_home .mv-bg {
    width: 55%;
    position: absolute;
    right: 0;
    /*min-width: 1100px;*/
    top: -14.5rem;
    z-index: 1;
}

.mv_inner {
    max-width: 1100px;
    margin: auto;
    position: relative;
    height: 500px;
}

.mv_inner::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 500px;
    display: block;
    background: url(img/mv-bg01.png) 0 0 no-repeat;
    background-size: 660px auto;
    bottom: -189px;
    left: -13rem;
}

.mv_ttl {
    margin-top: 5rem;
    position: relative;
    z-index: 2;
}

.mv_ttl h2 {
    font-weight: bold;
    font-size: 60px;
}

.mv_ttl h2 span {
    font-size: 38px;
}

.mv_ttl .m-txt {
    position: relative;
    font-size: 14px;
    line-height: 2;
    margin-top: 3rem;
    padding-left: 2rem;
}

.mv_ttl .m-txt::after {
    content: "";
    position: absolute;
    top: 0%;
    left: 0;
    display: block;
    background: linear-gradient(315deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 6px;
    height: 100%;
    margin: auto;
}

/* SP ------------------------------*/
@media screen and (max-width: 768px) {
    .mv_home {
        margin: auto;
        width: 100%;
        position: relative;
    }

    .mv_home .mv-bg {
        position: absolute;
        right: 0;
        min-width: inherit;
        width: 85%;
        top: -18.4rem;
        z-index: 1;
    }

    .mv_inner {
        max-width: 90%;
        margin: auto;
        position: relative;
        height: auto;
    }

    .mv_inner::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 0;
        display: block;
        background: url("img/mv-bg01.png") 0 0 no-repeat;
        background-size: 100% auto;
        padding-top: 67%;
        bottom: -6rem;
        left: -6rem;
    }

    .mv_ttl {
        margin-top: 10rem;
        position: relative;
        z-index: 2;
    }

    .mv_ttl h2 {
        font-weight: bold;
        font-size: 2.7rem;
    }

    .mv_ttl h2 span {
        font-size: 2.1rem;
    }

    .mv_ttl .m-txt {
        position: relative;
        font-size: 1.4rem;
        line-height: 2;
        margin-top: 2rem;
        padding-left: 3rem;
    }

    .mv_ttl .m-txt::after {
        content: "";
        position: absolute;
        top: 0%;
        left: 0.8rem;
        display: block;
        background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 3px;
        height: 100%;
        margin: auto;
    }
}

/*--------------------------------------
　Main Index
---------------------------------------*/
.contents_top {
    width: 100%;
    min-width: 1100px;
    margin: auto;
    box-sizing: border-box;
}

.sec {
    width: 100%;
    min-width: 1100px;
    margin: auto;
    box-sizing: border-box;
    position: relative;
}

.sec .inner {
    max-width: 1100px;
    margin: auto;
    box-sizing: border-box;
}

.contents_top iframe {
    width: 100%;
    aspect-ratio: 4/2;
}

/* SP ------------------------------*/
@media screen and (max-width: 768px) {
    .contents_top {
        min-width: 100%;
    }

    .sec {
        min-width: 100%;
    }

    .sec .inner {
        max-width: 100%;
    }
}

/*--------------------------------------
　Title
---------------------------------------*/
.title-box {
    width: 1000px;
    margin: auto;
}

.title-box .title {
    text-align: center;
    font-size: 4.8rem;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    margin: 5rem auto 9rem;
    z-index: 10;
}

.sec02 .t-bg-box .title-box p {
    margin: auto;
    width: 82%;
}

.title-box .title:after {
    content: "";
    position: absolute;
    top: 110%;
    right: 0;
    left: 0;
    display: block;
    background: linear-gradient(315deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 1px;
    height: 66px;
    margin: auto;
}

.title-box .title a {
    ; position: relative;
    display: inline-block;
}

.title-box .title a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -6rem;
    width: 24px;
    height: 24px;
    margin-top: -7px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* SP ------------------------------*/
@media screen and (max-width: 768px) {
    .title-box {
        width: 100%;
        margin: auto;
    }

    .title-box .title {
        text-align: center;
        font-size: 2.5rem;
        line-height: 1.5;
        font-weight: bold;
        position: relative;
        margin: 0 auto 5rem;
    }

    .title-box .title:after {
        content: "";
        position: absolute;
        top: 110%;
        right: 0;
        left: 0;
        display: block;
        background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 1px;
        height: 33px;
        margin: auto;
    }

    .title-box .title a {
        ; position: relative;
        display: block;
    }

    .title-box .title a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: 2rem;
        width: 15px;
        height: 15px;
        margin-top: -7px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }






}

/*--------------------------------------
　テキスト
---------------------------------------*/
.contents_top p {
    font-size: 1.4rem;
    line-height: 2;
}

.txt {
    margin: 2rem 0 2rem;
    font-size: 1.4rem;
    text-align: justify;
    line-height: 2;
}

.lead {
    margin: 3rem 0 3rem!important;
    font-size: 1.4rem;
    line-height: 2;
}

/* SP ------------------------------*/
@media screen and (max-width: 768px) {
    .contents_top p {
        margin: 2rem 0 2rem;
        line-height: 1.8;
    }

    .txt {
        margin: 2rem 0 2rem;
        line-height: 1.8;
    }

    .lead {
        margin: 2rem 0 2rem!important;
        line-height: 1.8;
    }
}

/*--------------------------------------
sec01
---------------------------------------*/
.sec01 {
    width: 100%;
    position: relative;
    margin-top: 5rem;
}

.sec01 .bg-txt {
    width: 850px;
    position: absolute;
    right: 0;
    top: -7rem;
    z-index: 1;
}

.sec01 .con-parts02 .com-area {
    width: 1100px;
    margin: auto;
    padding: 0 0 12rem;
}

.sec01 .con-parts02:after {
    content: "";
    position: absolute;
    top: -2rem;
    left: 0;
    display: block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 20%;
    height: 50px;
    margin: auto;
}

.sec01 .con-parts02::before {
    content: "";
    position: absolute;
    top: 15rem;
    right: 0;
    display: block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 15%;
    height: 2px;
    margin: auto;
}

.sec01 .com-area .ttl-box .ttl {
    text-align: center;
    font-size: 4.8rem;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    margin-top: 5rem;
    z-index: 1;
}

.sec01 .tab_block {
    padding: 9rem 8rem 11rem;
    background: #484c50;
    position: relative;
    z-index: 2;
    margin-top: -5rem;
}

.sec01 .tab_block .fl-box .tv-box {
    float: right;
    width: 453px;
}

.sec01 .tab_block .fl-box .text-box {
    width: 430px;
    float: left;
}

.sec01 .tab_block .fl-box .tv-box .image-box .caption {
    margin: 1rem 0 0;
    font-size: 1.1rem;
    line-height: 1.5;
    margin-bottom: 0;
    width: 85%;
    margin-left: 15%;
}

.sec01 .tab_block .fl-box .tv-box .txt {
    margin-top: 0;
}

.sec01 .tab_block .fl-box .tv-box .t-box::before {
    content: "";
    position: absolute;
    top: -60%;
    left: 3rem;
    display: block;
    background: #fff;
    width: 1px;
    height: 140%;
    z-index: -1;
}

.sec01 .tab_main .btn-internal {
    margin: 0;
    margin-top: -8.5rem;
    position: relative;
    z-index: 5;
}

.sec01 .tab_main .btn-internal a {
    width: 430px;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.sec01 .tab_main .btn-internal a:after {
    content: "";
    position: absolute;
    top: inherit;
    right: 0;
    width: 29px;
    height: 19px;
    left: 0;
    margin-top: 0;
    margin: auto;
    bottom: -1rem;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    background: url("img/arrow04.png") 0 0 no-repeat;
    background-size: 100% auto;
}

@media screen and (max-width: 768px) {
    .sec01 {
        width: 100%;
        position: relative;
        margin-top: 8rem;
    }

    .sec01 .bg-txt {
        width: 80%;
        position: absolute;
        right: 0;
        top: -2rem;
        z-index: 1;
    }

    .sec01 .con-parts02 .com-area {
        width: 100%;
        margin: auto;
        padding: 0 0 0;
    }

    .sec01 .con-parts02:after {
        content: "";
        position: absolute;
        top: -1rem;
        left: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 15%;
        height: 30px;
        margin: auto;
    }

    .sec01 .con-parts02::before {
        content: "";
        position: absolute;
        top: 10rem;
        right: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 10%;
        height: 2px;
        margin: auto;
    }

    .sec01 .tabBox {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 6;
    }

    .sec01 .com-area .ttl-box .ttl {
        text-align: center;
        font-size: 2.5rem;
        line-height: 1.5;
        font-weight: bold;
        position: relative;
        margin-top: 5rem;
    }

    .sec01 .tab_block {
        padding: 8rem 2rem 8rem;
        background: #484c50;
        position: relative;
        z-index: 2;
        margin-top: -5rem;
    }

    .sec01 .tab_block .fl-box .tv-box {
        float: none;
        width: 100%;
    }

    .sec01 .tab_block .fl-box .text-box {
        width: 100%;
        float: none;
        margin-top: 1rem;
    }

    .sec01 .tab_block .fl-box .tv-box .image-box .caption {
        margin: 1rem 0 0;
        font-size: 1.1rem;
        line-height: 1.5;
        margin-bottom: 0;
        width: 90%;
        margin-left: 10%;
    }

    .sec01 .tab_block .fl-box .tv-box .txt {
        margin-top: 0;
    }

    .sec01 .tab_block .fl-box .tv-box .t-box::before {
        content: "";
        position: absolute;
        top: -60%;
        left: 1.5rem;
        display: block;
        background: #fff;
        width: 1px;
        height: 140%;
        z-index: 5;
    }

    .sec01 .tab_main .btn-internal {
        margin: 0;
        margin-top: -7rem;
        position: relative;
        z-index: 5;
    }

    .sec01 .tab_main .btn-internal a {
        width: 100%;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .sec01 .tab_main .btn-internal a:after {
        content: "";
        position: absolute;
        top: inherit;
        right: 0;
        width: 24px;
        height: 15px;
        left: 0;
        margin-top: 0;
        margin: auto;
        bottom: -1rem;
        border-top: none;
        border-right: none;
        -webkit-transform: rotate(0);
        transform: rotate(0);
        background: url("img/arrow04.png") 0 0 no-repeat;
        background-size: 100% auto;
    }
}

/*--------------------------------------
sec02
---------------------------------------*/
.sec02 {
    width: 100%;
    margin-top: 6rem;
    margin-bottom: 30rem;
}

.sec02 .t-bg-box {
    background: url("img/sec02-img01.jpg") 0 0 no-repeat;
    background-size: cover;
    width: 100%;
    height: 620px;
}

.sec02 .t-bg-box .title-box {
    padding-top: 9rem;
}

.sec02 .box01 {
    width: 1100px;
    margin: auto;
    margin-top: -25rem;
}

.sec02 .box-ma {
    width: 1100px;
    margin: auto;
    margin-top: 12rem;
}

.sec02 .box01 .fix-ttl {
    display: flex;
    justify-content: center;
    padding: 5rem 5rem 20rem 5rem;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    overflow: hidden;
    position: relative;
    z-index: 2;
    text-align: center;
}

.sec02 .box01 .fix-ttl:after {
    content: "";
    position: absolute;
    top: -30px;
    display: block;
    background: #ffffff;
    width: 1px;
    right: 20%;
    height: 100%;
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    margin: auto;
    z-index: -1;
}

.sec02 .box01 .fix-ttl .s-txt {
    width: 55%;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.4;
}

.sec02 .box01 .fix-ttl .s-txt span {
    font-size: 5rem;
}

.sec02 .box01 .fix-ttl .s-ttl {
    width: 38%;
    font-size: 4.5rem;
    padding-left: 6rem;
}

.sec02 .box01 .item-box {
    background: #fdfdfd;
    width: 1000px;
    margin: auto;
    position: relative;
    z-index: 3;
    margin-top: -18rem;
    padding-bottom: 3rem;
}

.sec02 .box01 .item-box .s-txt {
    width: 55%;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.7;
}

.sec02 .box01 .item-box .s-txt span {
    font-size: 5rem;
}

.sec02 .box01 .item-box .s-ttl {
    width: 100%;
    font-size: 4.5rem;
    margin: 0 auto 3rem;
    text-align: center;
    padding-top: 5rem;
    color: #0a0a0d;
}

.sec02 .box01 .item-box .imgae-box {
    width: 420px;
    position: relative;
    /* top: -5.5rem; */
    /* right: 6.5rem; */
    z-index: 1;
    margin: auto;
}

.sec02 .box01 .item-box .imgae-box .caption {
    font-size: 1rem;
    line-height: 1.3;
}

.sec02 .box01 .item-box .t-box {
    position: relative;
    padding: 4rem 6.5rem 0;
    display: flex;
}

.sec02 .box01 .item-box .text-box {
    width: 420px;
    height: auto;
    padding: 4px;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    margin-right: 2rem;
}

.sec02 .box01 .item-box .text-box:last-child {
    margin-right: 0;
}

.sec02 .box01 .item-box .text-box .text-box-inner {
    padding: 3rem 2.5rem;
    background-color: #ffffff;
    color: #08090d;
}

.sec02 .box01 .item-box .text-box .cc {
    font-weight: bold;
    width: 365px;
    font-size: 2.2rem;
    padding-bottom: 1.5rem;
    position: relative;
}

.sec02 .box01 .item-box .text-box .cc::after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 100%;
    height: 2px;
    margin: auto;
}

.sec02 .box01 .item-box .text-box p {
    margin: 2rem 0 0;
}

.sec02 .box02 {
    background: #2c3740;
    width: 1000px;
    margin: auto;
    padding: 6rem 0 3rem;
    position: relative;
    z-index: 3;
}

.sec02 .box02 .title-box .title {
    margin-top: 0;
    margin-bottom: 2rem;
}

.sec02 .box02 .title {
    font-size: 3.5rem;
    color: #fff;
}

.sec02 .box02 .title-box .title:before {
    content: "";
    position: absolute;
    bottom: 150%;
    right: 0;
    left: 0;
    display: block;
    background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 1px;
    height: 66px;
    margin: auto;
}

.sec02 .box02 .title-box .title:after {
    content: none;
}

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

.sec02 .slick-slide img {
    width: 100%;
    height: auto;
}

.sec02 .slid-box {
    width: 100%;
    margin-top: 5rem;
}

.sec02 .slid-box .sl-box {
    height: auto;
    opacity: .3;
    transform: scale(.8);
    transition: opacity .5s, transform .5s;
    width: 100%;
}

.sec02 .slid-box .slick-center .sl-box {
    opacity: 1;
    transform: scale(1);
}

.sec02 .slid-box .slide-arrow01 {
    position: absolute;
    top: 28%;
    cursor: pointer;
    z-index: 1000;
}

.sec02 .slid-box .prev-arrow01 {
    position: absolute;
    background: url("img/arrow02.png") 0 0 no-repeat;
    background-size: 38px 38px;
    display: inline-block;
    content: '';
    height: 38px;
    width: 57px;
    left: 27%;
}

.sec02 .slid-box .next-arrow01 {
    position: absolute;
    background: url("img/arrow03.png") 0 0 no-repeat;
    background-size: 38px 38px;
    display: inline-block;
    content: '';
    height: 38px;
    width: 38px;
    right: 27%;
}

.sec02 .slid-box .caption {
    text-align: center;
    font-size: 1.2rem;
    margin: 0;
    line-height: 1;
    margin-top: 1rem;
}

.sec02 .slid-box .t-box .t-ttl {
    margin-top: 1rem;
    font-weight: bold;
    font-size: 1.8rem;
}

.sec02 .slid-box .t-box .txt {
    margin-top: 0.8rem;
}

.sec02 .box02 .box-item01 {
    padding: 3rem 6.5rem;
}

.sec02 .box01 .item-box .box-item_mov {
    margin: 5rem 6.5rem 2rem;
}


.sec02 .box02 .box-item01 .left {
    width: 50%;
    float: left;
}

.sec02 .box02 .box-item01 .left .tour {
    position: relative;
    font-size: 2.4rem;
    color: #ffffff;
    margin-top: 2rem;
    margin-bottom: 4rem;
    font-weight: bold;
}

.sec02 .box02 .box-item01 .image {
    text-align: center;
}

.sec02 .box02 .box-item01 .left .caption {
    margin: 1rem 0 0 0;
    padding: 0 0 0.5rem 0;
    font-size: 1rem;
    color: #ffffff;
    line-height: 1.3;
    word-wrap: break-word;
    word-break: break-all;
    text-align: center;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}


.sec02 .box02 .box-item01 .left .caption::-webkit-scrollbar {
        height: 3px;
    }

.sec02 .box02 .box-item01 .left .caption::-webkit-scrollbar-track {
        background: #efefef;
        margin: 0 ;
        border: none;
        border-radius: 0;
        box-shadow: none;
    }

.sec02 .box02 .box-item01 .left .caption::-webkit-scrollbar-thumb {
        background: #cacaca;
        border-radius: 0;
        box-shadow: none;
    }





.sec02 .box02 .box-item01 .left .caption a {
    color: #ffffff;
}

.sec02 .box02 .box-item01 .left-ma .tour {
    margin-top: 3rem;
}

.sec02 .box02 .box-item01 .right {
    width: 45%;
    float: right;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 9rem;
}

.sec02 .box02 .box-item01 .right::after {
    /* content:""; */
    display: block;
    width: 31%;
}

.sec02 .box02 .box-item01 .left .tour:after {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 0;
    display: block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 40px;
    height: 4px;
    margin: auto;
}

.sec02 .box02 .box-item01 .right .r-item .i-txt {
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    color: #08090d;
}

.sec02 .box03 {
    width: 1000px;
    margin: 0 auto 40rem;
    background: #cfd7de;
    padding-top: 5rem;
    padding-bottom: 8rem;
}

.sec02 .box03 .box-item01 {
    padding: 3rem 6.5rem;
}

.sec02 .box03 .box-item01 .left {
    width: 32%;
    float: left;
}

.sec02 .box03 .box-item01 .left h4 {
    position: relative;
    font-size: 2.4rem;
    color: #08090d;
    margin-top: 2rem;
}

.sec02 .box03 .box-item01 .left-ma h4 {
    margin-top: 3rem;
}

.sec02 .box03 .box-item01 .right {
    width: 65%;
    float: right;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sec02 .box03 .box-item01 .right::after {
    content: "";
    display: block;
    width: 31%;
}

.sec02 .box03 .box-item01 .left h4:after {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 0;
    display: block;
    background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 40px;
    height: 4px;
    margin: auto;
}

.sec02 .box03 .box-item01 .right .r-item .i-txt {
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    color: #08090d;
}

.sec02 .mouseover_wrap {
    width: 31%;
}

.sec02 #shinboshi .mouseover_wrap:nth-child(4), .sec02 #shinboshi .mouseover_wrap:nth-child(5), .sec02 #shinboshi .mouseover_wrap:nth-child(6), .sec02 #shinboshi .mouseover_wrap:nth-child(7) {
    width: 24%;
}

.sec02 .mouseover__conts {
    position: relative;
    margin-bottom: 2rem;
}

.sec02 .btn-mouseover span {
    /* font-weight: bold; */
    /* display: inline-block; */
    text-align: center;
    margin: auto;
    width: 100%;
    color: #ffc200;
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 1rem;
}

.sec02 .btn-mouseover:hover + .mouseover__box {
    display: block;
    z-index: 4;
}

.sec02 .mouseover__box:hover {
    display: block;
}

.sec02 .mouseover__box {
    display: none;
    position: absolute;
    bottom: 15rem;
    margin: auto;
    width: 310px;
    padding: 2rem 2rem 2rem 2rem;
    background-color: #fff;
    color: #17181d;
    text-align: left;
    line-height: 1.8;
    z-index: 2;
    left: -8rem;
}

.sec02 .mouseover__box:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(106, 90, 205, 0);
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 10px;
    border-right-width: 10px;
    margin-left: -10px;
    border-top-color: #fff;
    top: 100%;
    left: 50%;
}

.sec02 .mouseover__box .t-txt {
    font-weight: bold;
    font-size: 2rem;
    position: relative;
    padding-left: 1.2rem;
    line-height: 1.4;
}

.sec02 .mouseover__box .t-txt::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    display: block;
    background: #db6228;
    width: 4px;
    height: 16px;
    margin: auto;
}

.sec02 .box-item02 {
    padding: 4rem 6.5rem 0;
}

.sec02 .box03 .box-item02 .b-ttl h4 {
    position: relative;
    font-size: 3rem;
    color: #08090d;
    margin-top: 2rem;
    text-align: center;
}

.sec02 .box03 .box-item02 .b-ttl h4:after {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 0;
    right: 0;
    display: block;
    background: linear-gradient(270deg, rgb(0 71 255) 0%, rgb(255 84 0) 100%);
    width: 40px;
    height: 4px;
    margin: auto;
}

.sec02 .box03 .box-item02 .item-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    color: #08090d;
    margin-top: 4rem;
    padding-bottom: 2rem;
}

.sec02 .box03 .box-item02 .item-box .left {
    width: 42%;
}

.sec02 .box03 .box-item02 .item-box .left h5 {
    font-size: 2.2rem;
    font-weight: bold;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #da6027;
}

.sec02 .box03 .box-item02 .item-box .right {
    width: 53%;
}

.sec02 .box03 .box-item02 .item-box .right dl {
    width: 100%;
    display: table;
    margin-bottom: 2rem;
}

.sec02 .box03 .box-item02 .item-box .right dt {
    position: relative;
    width: 45%;
    display: table-cell;
    font-size: 1.6rem;
    font-weight: bold;
    padding-left: 1.5rem;
}

.sec02 .box03 .box-item02 .item-box .right dt::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #9aa5ad;
    width: 2px;
    height: 20px;
    margin: auto;
}

.sec02 .box03 .box-item02 .item-box .right dd {
    width: 71%;
    display: table-cell;
}

.sec02 .box03 .box-item02 .item-box .right dd a {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .sec02 {
        width: 100%;
        margin-top: 3rem;
    }

    .sec02 .t-bg-box {
        background: url("img/sec02-img01.jpg") center 0 no-repeat;
        background-size: cover;
        width: 100%;
        height: auto;
    }

    .sec02 .t-bg-box .title-box {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .sec02 .t-bg-box .title-box p {
        margin: auto;
        width: 92%;
    }

    .sec02 .box01 {
        width: 92%;
        margin: auto;
        margin-top: 10rem;
    }

    .sec02 .box-ma {
        width: 94%;
        margin: auto;
        margin-top: 8rem;
    }

    .sec02 .box01 .fix-ttl {
        display: flex;
        justify-content: flex-start;
        padding: 2rem 2rem 3rem 2rem;
        align-items: center;
        background: #22232b;
        position: relative;
        z-index: 2;
    }

    .sec02 .box01 .fix-ttl:after {
        right: 7%;
        top: 8px;
    }

    .sec02 .box01 .fix-ttl .s-txt {
        width: 100%;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.7;
    }

    .sec02 .box01 .fix-ttl .s-txt span {
        font-size: 3rem;
    }

    .sec02 .box01 .fix-ttl .s-ttl {
        width: 40%;
        font-size: 1.8rem;
        padding-left: 2rem;
    }

    .sec02 .box01 .item-box {
        background: #cfd7de;
        width: 94%;
        margin: auto;
        position: relative;
        z-index: 3;
        margin-top: 0;
        padding-bottom: 7rem;
    }

    .sec02 .box01 .item-box .imgae-box {
        width: 90%;
        position: inherit;
        top: 0;
        right: 0;
        z-index: 1;
        margin: auto;
    }

    .sec02 .box01 .item-box .imgae-box .caption {
        font-size: 1rem;
        margin-top: 0;
    }

    .sec02 .box01 .item-box .t-box {
        position: relative;
        padding: 0 2rem 1rem;
        margin-top: 0;
        display: block;
    }

    .sec02 .box01 .item-box .text-box {
        width: 99%;
        height: auto;
        padding: 2px;
        background: linear-gradient(to right bottom, #e47543, #566ea6);
        margin-right: 0;
        margin-bottom: 2rem;
    }

    .sec02 .box01 .item-box .text-box .text-box-inner {
        padding: 2rem 2rem 1rem;
        /* background-color: #cfd7de; */
        color: #08090d;
    }

    .sec02 .box01 .item-box .text-box .cc {
        font-weight: bold;
        width: 100%;
        font-size: 1.7rem;
        padding-bottom: 1.3rem;
        position: relative;
    }

    .sec02 .box01 .item-box .text-box .cc::after {
        content: "";
        position: absolute;
        bottom: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 100%;
        height: 1px;
        margin: auto;
    }

    .sec02 .box01 .item-box .text-box p {
        margin-top: 1rem;
        width: 100%;
    }

    .sec02 .box02 {
        width: 100%;
        padding: 3rem 0 7rem;
    }

    .sec02 .box02 .title-box .title {
        margin-top: 0;
        font-size: 2.5rem;
        width: 90%;
    }

    .sec02 .box02 .title {
        font-size: 2rem;
    }

    .sec02 .slick-slide {
        margin: 0;
    }

    .sec02 .slick-slide img {
        width: 100%;
        height: auto;
    }

    .sec02 .sp-slid-box {
        width: 88%;
        margin: auto;
        margin-top: 6rem;
    }

    .sec02 .sp-slid-box .sl-box {
        height: auto;
        width: 100%;
    }

    .sec02 .sp-slid-box .slick-center .sl-box {
        opacity: 1;
        transform: scale(1);
    }

    .sec02 .sp-slid-box .slide-arrow01 {
        position: absolute;
        top: 18%;
        cursor: pointer;
        z-index: 1000;
    }

    .sec02 .sp-slid-box .prev-arrow01 {
        position: absolute;
        background: url("img/arrow02.png") 0 0 no-repeat;
        background-size: 30px 30px;
        display: inline-block;
        content: '';
        height: 30px;
        width: 30px;
        left: -4%;
    }

    .sec02 .sp-slid-box .next-arrow01 {
        position: absolute;
        background: url("img/arrow03.png") 0 0 no-repeat;
        background-size: 30px 30px;
        display: inline-block;
        content: '';
        height: 30px;
        width: 30px;
        right: -4%;
    }

    .sec02 .sp-slid-box .caption {
        text-align: center;
        font-size: 1.2rem;
        margin: 0;
        line-height: 1;
        margin-top: 1rem;
    }

    .sec02 .sp-slid-box .t-box .t-ttl {
        margin-top: 1.5rem;
        font-weight: bold;
        font-size: 1.8rem;
        margin-bottom: 0;
    }

    .sec02 .sp-slid-box .t-box .txt {
        margin-top: 1rem;
    }

    .sec02 .box03 {
        width: 100%;
        margin: auto;
        background: #cfd7de;
        margin-top: 0;
        padding-top: 1rem;
        padding-bottom: 2rem;
    }

    .sec02 .box03 .box-item01 {
        padding: 0 2rem;
    }

    .sec02 .box03 .box-item01 .left {
        width: 100%;
        float: none;
    }

    .sec02 .box03 .box-item01 .left h4 {
        position: relative;
        font-size: 2rem;
        color: #08090d;
        text-align: center;
        margin-top: 4rem;
    }

    .sec02 .box03 .box-item01 .right {
        width: 100%;
        float: none;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 2rem
    }

    .sec02 .box03 .box-item01 .right::after {
        content: "";
        display: block;
        width: 47%;
    }

    .sec02 .box03 .box-item01 .left h4:after {
        content: "";
        position: absolute;
        top: -0.8rem;
        left: 0;
        right: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 20px;
        height: 2px;
        margin: auto;
    }

    .sec02 .box03 .box-item01 .right .r-item .i-txt {
        font-weight: bold;
        font-size: 1.5rem;
        text-align: center;
        color: #08090d;
    }

    .sec02 .mouseover_wrap {
        width: 47%;
    }

    .sec02 #shinboshi .mouseover_wrap:nth-child(4), .sec02 #shinboshi .mouseover_wrap:nth-child(5), .sec02 #shinboshi .mouseover_wrap:nth-child(6), .sec02 #shinboshi .mouseover_wrap:nth-child(7) {
        width: 47%;
    }

    .sec02 .sp-item01 {
        position: relative;
        margin-bottom: 1rem;
    }

    .sec02 .sp-item01 span {
        font-weight: bold;
        display: inline-block;
        text-align: center;
        margin: auto;
        width: 100%;
        font-size: 1.4rem;
        line-height: 1.3;
        margin-top: 0.3rem;
    }

    /* モーダル全体(背景＋本体) */
    .modal {
        display: none;
        position: fixed;
        top: 0;
        height: 100vh;
        width: 100%;
        z-index: 2222;
    }

    /* モーダル背景 */
    .modal-bg {
        position: absolute;
        height: 100vh;
        width: 100%;
        background: rgba(0, 0, 0, 0.8);
    }

    /* モーダル本体 */
    .modal-content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        overflow: scroll!important;
        /* はみ出た部分はスクロールさせる */
        max-height: 80%;
        /* これが無いと「overflow:scroll」が利かない */
        width: 80%;
        /* これが無いと「overflow:scroll」が利かない */
        background: white;
        z-index: 9999!important;
    }

    .modal-content .box {
        position: relative;
        padding: 0 2rem;
        color: #17181d;
    }

    .js-modal-close .close {
        position: absolute;
        left: 4%;
        top: 8%;
        z-index: 11111;
    }

    .js-modal-close .close img {
        width: 32px;
    }

    .modal-content .box .t-txt {
        font-weight: bold;
        font-size: 1.7rem;
        position: relative;
        padding: 0;
        padding-left: 1rem;
        margin-bottom: 0;
        line-height: 1.4;
    }

    .modal-content .box .t-txt::after {
        content: "";
        position: absolute;
        top: 6px;
        left: 0;
        display: block;
        background: #db6228;
        width: 2px;
        height: 14px;
        margin: auto;
    }

    .modal-content .box .txt {
        padding: 0;
        margin: 0;
        margin-top: 1rem;
        padding-bottom: 2rem;
    }

    /* モーダルウィンドウ表示中に記事本体を固定 */
    body.fixed {
        position: fixed;
        width: 100%;
        height: 100%;
    }

    .sec02 .box-item02 {
        padding: 2rem 2rem 0;
    }

    .sec02 .box03 .box-item02 .b-ttl h4 {
        position: relative;
        font-size: 2.4rem;
        color: #08090d;
        margin-top: 2rem;
        text-align: center;
    }

    .sec02 .box03 .box-item02 .b-ttl h4:after {
        content: "";
        position: absolute;
        top: -0.8rem;
        left: 0;
        right: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 20px;
        height: 2px;
        margin: auto;
    }

    .sec02 .box03 .box-item02 .item-box {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        color: #08090d;
        margin-top: 2rem;
        padding-bottom: 1rem;
    }

    .sec02 .box03 .box-item02 .item-box .left {
        width: 100%;
    }

    .sec02 .box03 .box-item02 .item-box .left h5 {
        font-size: 1.7rem;
        font-weight: bold;
    }

    .sec02 .box03 .box-item02 .item-box .left p {
        margin-top: 1rem;
    }

    .sec02 .box03 .box-item02 .item-box .right {
        width: 100%;
        margin-top: 0.5rem;
    }

    .sec02 .box03 .box-item02 .item-box .right dl {
        width: 100%;
        display: table;
        margin-bottom: 1.5rem;
    }

    .sec02 .box03 .box-item02 .item-box .right dt {
        position: relative;
        width: 25%;
        display: table-cell;
        font-size: 1.4rem;
        font-weight: bold;
        padding-left: 1rem;
    }

    .sec02 .box03 .box-item02 .item-box .right dt::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        background: #9aa5ad;
        width: 2px;
        height: 16px;
        margin: auto;
    }

    .sec02 .box03 .box-item02 .item-box .right dd {
        width: 65%;
        display: table-cell;
        line-height: 1.4;
    }

    .sec02 .box03 .box-item02 .item-box .right dd a {
        text-decoration: underline;
    }
}

/*--------------------------------------
sec03
---------------------------------------*/
.sec03 {
    width: 100%;
    margin-top: 26rem;
    background: #08090d;
    padding-bottom: 16rem;
}

.sec03 .bg-txt {
    max-width: 1346px;
    text-align: center;
    margin: auto;
    position: relative;
    top: -5rem;
    opacity: 0.07;
    z-index: 1;
}

.sec03 .title-box .title {
    margin-top: 0;
}

.sec03 .title-box .title a {
    ; color: #fff;
}

.sec03 .item-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 8rem;
}

.sec03 .item-box .item {
    width: calc(33.33% - 2rem);
    margin: 0 0 4rem;
}

.sec03 .item-box .item a {
    color: #fff;
    position: relative;
    display: flex;
    align-items: center;
    padding: 4rem 0;
    overflow: hidden;
}

.sec03 .item-box .item a h3 {
    position: relative;
    border-bottom: solid 1px #fff;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    padding-bottom: 1.5rem;
    width: 75%;
    margin: auto;
}

.sec03 .item-box .item a h3::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 11px;
    height: 11px;
    margin-top: -9px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec03 .item-box .item a p {
    margin: auto;
    width: 75%;
    margin-top: 2rem;
    position: relative;
    z-index: 1;
}

.sec03 .item-box .item a::after {
    content: "";
    position: absolute;
    width: 98%;
    margin: auto;
    border: 1px solid #c21500;
    border-image: linear-gradient(to bottom, #fff 0%, #000000 100%);
    border-image-slice: 1;
    height: 98%;
    left: 0;
    right: 0;
    opacity: 0.4;
    top: 1%;
}

.sec03 .item-box .item a::before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
    width: 100%;
    height: 100%;
}

.sec03 .item-box .item01 a::before {
    background: url("img/sec03-img01.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item02 a::before {
    background: url("img/sec03-img02.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item03 a::before {
    background: url("img/sec03-img03.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item04 a::before {
    background: url("img/sec03-img04.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item05 a::before {
    background: url("img/sec03-img05.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item06 a::before {
    background: url("img/sec03-img06.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item06 a::before {
    background: url("img/sec03-img06.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item07 a::before {
    background: url("img/sec03-img07.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item08 a::before {
    background: url("img/sec03-img08.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item09 a::before {
    background: url("img/sec03-img09.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item10 a::before {
    background: url("img/sec03-img10.jpg") center bottom no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
}

.sec03 .item-box .item a:hover {
    opacity: 1;
}

.sec03 .item-box .item a:hover:before {
    opacity: 1;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.sec03 .item-box .item02 a {
    margin-top: 4rem;
}

.sec03 .item-box .item03 a {
    margin-top: 8rem;
}

.sec03 .item-box .item04 a {
    margin-top: -8rem;
}

.sec03 .item-box .item05 a {
    margin-top: -4rem;
}

.sec03 .item-box .item06 a {
    margin-top: 0;
}

.sec03 .item-box .item07 a {
    margin-top: -8rem;
}

.sec03 .item-box .item08 a {
    margin-top: -4rem;
}

.sec03 .item-box .item09 a {
    margin-top: 0;
}

.sec03 .item-box .item10 a {
    margin-top: -8rem;
}

.sec03 .point-box {
    border: solid 1px #fff;
    margin: auto;
    box-sizing: border-box;
    width: 1000px;
    background: #17181d;
    margin-top: 12rem;
    position: relative;
}

.sec03 .point-box::before {
    content: "";
    position: absolute;
    top: -11rem;
    right: 0;
    left: 0;
    display: block;
    background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 1px;
    height: 66px;
    margin: auto;
}

.sec03 .point-box .image {
    width: 249px;
    margin: auto;
    position: relative;
    z-index: 1;
    margin-top: -2.5rem;
}

.sec03 .point-box .p-inner {
    padding: 4rem 8rem 6rem;
}

.sec03 .point-box .p-inner .p_ttl {
    color: #fff;
    font-weight: bold;
    font-size: 3.2rem;
    position: relative;
    line-height: 1.6;
    padding-bottom: 2rem;
    text-align: center;
}

.sec03 .point-box .p-inner .p_ttl:after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 100%;
    height: 1px;
    margin: auto;
}

.sec03 .point-box .p-inner p {
    width: 96%;
    margin: auto;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .sec03 {
        width: 100%;
        margin-top: 12rem;
        background: #08090d;
        padding-bottom: 9rem;
    }

    .sec03 .bg-txt {
        max-width: 90%;
        text-align: center;
        margin: auto;
        position: relative;
        top: -2rem;
        opacity: 0.07;
        z-index: 1;
    }

    .sec03 .title-box .title {
        margin-top: 0;
        margin-top: -4rem;
    }

    .sec03 .title-box .title a {
        ; color: #fff;
    }

    .sec03 .item-box {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 5.5rem;
    }

    .sec03 .item-box .item {
        width: 90%;
        margin: 0 auto 2rem;
    }

    .sec03 .item-box .item:last-child {
        margin: 0 auto 0;
    }

    .sec03 .item-box .item a {
        color: #fff;
        position: relative;
        display: flex;
        align-items: center;
        padding: 6rem 0;
        overflow: hidden;
    }

    .sec03 .item-box .item a h3 {
        position: relative;
        border-bottom: solid 1px #fff;
        box-sizing: border-box;
        text-align: center;
        font-weight: bold;
        font-size: 2.2rem;
        padding-bottom: 1.5rem;
        width: 80%;
        margin: auto;
    }

    .sec03 .item-box .item a h3::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 11px;
        height: 11px;
        margin-top: -10px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sec03 .item-box .item a p {
        margin: auto;
        width: 80%;
        margin-top: 2rem;
        position: relative;
        z-index: 1;
    }

    .sec03 .item-box .item a::after {
        content: "";
        position: absolute;
        width: 98%;
        margin: auto;
        border: 1px solid #c21500;
        border-image: linear-gradient(to bottom, #fff 0%, #000000 100%);
        border-image-slice: 1;
        height: 98%;
        left: 0;
        right: 0;
        opacity: 0.4;
        top: 1%;
    }

    .sec03 .item-box .item a::before {
        position: absolute;
        content: "";
        display: block;
        top: 0;
        -webkit-transition: all .3s ease-out;
        -moz-transition: all .3s ease-out;
        -ms-transition: all .3s ease-out;
        transition: all .3s ease-out;
        width: 100%;
        height: 100%;
    }

    .sec03 .item-box .item a:hover {
        opacity: 1;
    }

    .sec03 .item-box .item a:hover:before {
        opacity: 1;
        -moz-transform: scale(1.1);
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
    }

    .sec03 .item-box .item02 a {
        margin-top: 0;
    }

    .sec03 .item-box .item03 a {
        margin-top: 0;
    }

    .sec03 .item-box .item04 a {
        margin-top: 0;
    }

    .sec03 .item-box .item05 a {
        margin-top: 0;
    }

    .sec03 .point-box {
        border: solid 1px #fff;
        margin: auto;
        box-sizing: border-box;
        width: 90%;
        background: #17181d;
        margin-top: 10rem;
        position: relative;
    }

    .sec03 .point-box::before {
        content: "";
        position: absolute;
        top: -6rem;
        right: 0;
        left: 0;
        display: block;
        background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 1px;
        height: 33px;
        margin: auto;
    }

    .sec03 .point-box .image {
        width: 160px;
        margin: auto;
        position: relative;
        z-index: 1;
        margin-top: -1.5rem;
    }

    .sec03 .point-box .p-inner {
        padding: 4rem 2rem 4rem;
    }

    .sec03 .point-box .p-inner .p_ttl {
        color: #fff;
        font-weight: bold;
        font-size: 2rem;
        position: relative;
        line-height: 1.6;
        padding-bottom: 1.5rem;
        text-align: center;
        margin-top: -2rem;
    }

    .sec03 .point-box .p-inner .p_ttl:after {
        content: "";
        position: absolute;
        bottom: 0;
        display: block;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 100%;
        height: 1px;
        margin: auto;
    }

    .sec03 .point-box .p-inner p {
        width: 96%;
        margin: auto;
        margin-top: 2rem;
    }
}

/*--------------------------------------
sec04
---------------------------------------*/
.sec04 {
    width: 100%;
    padding-top: 16rem;
    position: relative;
}

.sec04 .l-box {
    position: relative;
    width: 100%;
}

.sec04 .l-box:before {
    content: "";
    position: absolute;
    display: inline-block;
    background: #bcc5ce;
    width: 55%;
    height: 100%;
}

.sec04 .l-box .l-inner {
    width: 1100px;
    margin: auto;
    position: relative;
    z-index: 1;
}

.sec04 .l-box .l-inner .ttl a {
    position: relative;
    padding: 3rem 0 3.5rem 0;
    font-weight: bold;
    font-size: 4.5rem;
    display: inline-block;
}

.sec04 .l-box .l-inner .ttl a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -6rem;
    width: 21px;
    height: 21px;
    margin-top: -10px;
    border-top: solid 1px #08090e;
    border-right: solid 1px #08090e;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec04 .table-box {
    width: 60%;
    margin-left: 40%;
    margin-top: -15rem;
    position: relative;
    z-index: 2;
}

.sec04 table th {
    background: #08090d;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid #73747c 1px;
    padding: 3rem 1rem;
    box-sizing: border-box;
}

.sec04 table td {
    background: #22232b;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid #73747c 1px;
    padding: 3rem 1rem;
    box-sizing: border-box;
}

.sec04 .sum-box {
    position: relative;
    width: 100%;
    margin-top: 7rem;
}

.sec04 .sum-box::before {
    content: "";
    position: absolute;
    display: block;
    background: #bcc5ce;
    width: 100%;
    top: 50%;
    height: 1px;
}

.sec04 .sum-box .s-box {
    width: 1000px;
    margin: auto;
    position: relative;
    display: block;
}

.sec04 .sum-box .s-box::after {
    content: "";
    position: absolute;
    top: -25px;
    bottom: 15px;
    right: -20px;
    left: 10px;
    border: solid 10px #323339;
    box-sizing: border-box;
    display: block;
}

.sec04 .sum-box .s-box .bg-box {
    background: #17181d;
    z-index: 2;
    position: relative;
    border: solid 1px #bcc5ce;
    padding: 5rem 7rem 7rem;
    box-sizing: border-box;
}

.sec04 .sum-box .s-box .s-txt {
    font-size: 3.2rem;
    margin-bottom: 2.5rem;
}

.sec04 .bg-img {
    width: 1100px;
    margin: auto;
    position: relative;
}

.sec04 .bg-img .img-box {
    width: 820px;
    position: absolute;
    top: 6rem;
}

@media screen and (max-width: 768px) {
    .sec04 {
        width: 100%;
        padding-top: 8rem;
        position: relative;
    }

    .sec04 .l-box {
        position: relative;
        width: 100%;
    }

    .sec04 .l-box:before {
        content: "";
        position: absolute;
        display: inline-block;
        background: #bcc5ce;
        width: 80%;
        height: 100%;
        padding-bottom: 6rem;
    }

    .sec04 .l-box .l-inner {
        width: 100%;
        margin: auto;
        position: relative;
        z-index: 1;
    }

    .sec04 .l-box .l-inner .ttl a {
        position: relative;
        padding: 3rem 0 3rem 2rem;
        font-weight: bold;
        font-size: 2.5rem;
        display: inline-block;
    }

    .sec04 .l-box .l-inner .ttl a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -3rem;
        width: 14px;
        height: 14px;
        margin-top: -7px;
        border-top: solid 1px #08090e;
        border-right: solid 1px #08090e;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sec04 .table-box {
        width: 90%;
        margin-left: 0;
        margin: auto;
        margin-top: -6rem;
        position: relative;
        z-index: 2;
    }

    .sec04 table th {
        background: #08090d;
        font-size: 1.5rem;
        font-weight: bold;
        border: solid #73747c 1px;
        padding: 1.5rem 1rem;
        box-sizing: border-box;
        display: table-cell;
        text-align: left;
    }

    .sec04 table td {
        background: #22232b;
        font-size: 1.5rem;
        font-weight: bold;
        border: solid #73747c 1px;
        padding: 1.5rem 1rem;
        box-sizing: border-box;
        display: table-cell;
        text-align: left;
    }

    .sec04 table {
        border-bottom: solid #73747c 1px;
    }

    .sec04 .sum-box {
        position: relative;
        width: 100%;
        margin-top: 7rem;
    }

    .sec04 .sum-box::before {
        content: "";
        position: absolute;
        display: block;
        background: #bcc5ce;
        width: 100%;
        top: 50%;
        height: 1px;
    }

    .sec04 .sum-box .s-box {
        width: 90%;
        margin: auto;
        position: relative;
        display: block;
    }

    .sec04 .sum-box .s-box::after {
        content: "";
        position: absolute;
        top: -12px;
        bottom: 12px;
        right: -12px;
        left: 12px;
        border: solid 5px #323339;
        box-sizing: border-box;
        display: block;
    }

    .sec04 .sum-box .s-box .bg-box {
        background: #17181d;
        z-index: 2;
        position: relative;
        border: solid 1px #bcc5ce;
        padding: 3rem 2rem 2rem;
        box-sizing: border-box;
    }

    .sec04 .sum-box .s-box .s-txt {
        font-size: 2rem;
        margin-bottom: 1rem;
    }
}

/*--------------------------------------
sec05
---------------------------------------*/
.sec05 {
    width: 100%;
    margin-top: 21rem;
    position: relative;
}

.sec05::after {
    content: "";
    background: url("img/sec05-bg.jpg") 0 0 no-repeat;
    background-size: cover;
    position: absolute;
    top: 6rem;
    right: 0;
    width: 80%;
    height: 100%;
    display: block;
}

.sec05::before {
    content: "";
    background: #bcc5ce;
    background-size: cover;
    position: absolute;
    bottom: -17rem;
    left: 0;
    width: 80%;
    height: 100%;
    display: block;
}

.sec05 .r-box {
    position: relative;
    z-index: 2;
}

.sec05 .ttl-box {
    position: relative;
}

.sec05 .ttl-box::after {
    content: "";
    background: url("img/sec05-img01.png") 0 0 no-repeat;
    background-size: 100% auto;
    width: 341px;
    height: 407px;
    position: absolute;
    top: 0;
    left: 0;
}

.sec05 .ttl-inner {
    padding: 9rem 0 0 10rem;
}

.sec05 .ttl-inner .pr {
    background: #fff;
    color: #08090d;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    display: inline-block;
    line-height: 1;
    padding: 0.3rem 1rem;
}

.sec05 .ttl-inner h2 {
    font-weight: bold;
    font-size: 5.5rem;
}

.sec05 .text-box {
    width: 63%;
    margin-left: 37%;
    margin-top: 2.5rem;
    padding-bottom: 2rem;
}

.sec05 .text-box .btn-internal a {
    margin: 0;
    margin-top: 3rem;
}

.sec05 .bg-txt {
    max-width: 90%;
    margin-left: 5%;
    position: absolute;
    z-index: 1;
    opacity: 0.14;
    bottom: -22rem;
    display: block;
}

@media screen and (max-width: 768px) {
    .sec05 {
        width: 100%;
        margin-top: 10rem;
        position: relative;
    }

    .sec05::after {
        content: "";
        background: url("img/sec05-bg.jpg") center 0 no-repeat;
        background-size: cover;
        position: absolute;
        top: 2rem;
        right: 0;
        width: 95%;
        height: 100%;
        display: block;
    }

    .sec05::before {
        content: "";
        background: #bcc5ce;
        background-size: cover;
        position: absolute;
        bottom: -6rem;
        left: 0;
        width: 85%;
        height: 90%;
        display: block;
    }

    .sec05 .r-box {
        position: relative;
        z-index: 2;
    }

    .sec05 .ttl-box {
        position: relative;
        margin-left: 2%;
    }

    .sec05 .ttl-box::after {
        content: "";
        background: url("img/sp-sec05-img01.png") 0 0 no-repeat;
        background-size: 100% auto;
        width: 151px;
        height: 179px;
        position: absolute;
        top: 0;
        left: 0;
    }

    .sec05 .ttl-inner {
        padding: 2rem 0 0 5rem;
    }

    .sec05 .ttl-inner .pr {
        background: #fff;
        color: #08090d;
        font-size: 1.2rem;
        font-weight: bold;
        text-align: center;
        display: inline-block;
        line-height: 1;
        padding: 0.3rem 1rem;
    }

    .sec05 .ttl-inner h2 {
        font-weight: bold;
        font-size: 2.7rem;
        margin-top: -2rem;
    }

    .sec05 .text-box {
        width: 80%;
        margin-left: 15%;
        margin-top: 6.5rem;
        padding-bottom: 2rem;
    }

    .sec05 .text-box .btn-internal {
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .sec05 .text-box .btn-internal a {
        margin: 0;
        margin-top: 2rem;
        width: 100%;
        max-width: 100%;
    }

    .sec05 .bg-txt {
        max-width: 100%;
        margin-left: 0;
        position: absolute;
        z-index: 1;
        opacity: 0.14;
        bottom: -7rem;
        display: block;
    }
}

/*--------------------------------------
sec06
---------------------------------------*/
.sec06 {
    width: 100%;
    position: relative;
    margin-top: 17rem;
    padding-bottom: 24rem;
}

.sec06 .imgae {
    width: 40%;
    position: absolute;
    top: 0;
}

.sec06 .imgae img {
    height: 738px;
}

.sec06 .ttl-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    z-index: 1;
    padding-top: 5rem;
}

.sec06 .ttl-box .ttl-inner {
    width: 40%;
}

.sec06 .ttl-box .ttl-inner h2 a {
    position: relative;
    color: #fff;
    font-weight: bold;
    font-size: 4.3rem;
    display: inline-block;
}

.sec06 .ttl-box .ttl-inner h2 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -5rem;
    width: 21px;
    height: 21px;
    margin-top: -10px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec06 .ttl-box .txt {
    width: 57%;
}

.sec06 .item-box {
    position: relative;
    z-index: 1;
    margin-top: 10rem;
}

.sec06 .item-box .item {
    width: 77%;
    margin-left: 23%;
    position: relative;
    margin-bottom: 5rem;
}

.sec06 .item-box .item .number {
    width: 171px;
    position: absolute;
    top: -3rem;
    z-index: 2;
    left: -6rem;
}

.sec06 .item-box .item a {
    background: #fff;
    display: block;
    padding: 3rem 7rem 4rem 9rem;
    position: relative;
}

.sec06 .item-box .item a:after {
    content: "";
    background: url("img/arrow05.png") 0 0 no-repeat;
    background-size: 100% auto;
    width: 21px;
    height: 21px;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

.sec06 .item-box .item a h3 {
    font-weight: bold;
    font-size: 2.6rem;
    margin-bottom: 1.5rem;
}

.ofi-cover {
    object-fit: cover;
    font-family: 'object-fit: cover';
}

.sec06 .bg-txt {
    position: absolute;
    top: 14rem;
    width: 97px;
    left: 10%;
    opacity: 0.1;
    display: block;
}

@media screen and (max-width: 768px) {
    .sec06 {
        width: 100%;
        position: relative;
        margin-top: 6rem;
        padding-bottom: 8rem;
    }

    .sec06 .imgae {
        width: 50%;
        position: absolute;
        top: 0;
    }

    .sec06 .imgae img {
        height: 410px;
    }

    .sec06 .ttl-box {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
        position: relative;
        z-index: 1;
        padding-top: 9rem;
    }

    .sec06 .ttl-box .ttl-inner {
        width: 90%;
        margin: auto;
    }

    .sec06 .ttl-box .ttl-inner h2 a {
        position: relative;
        color: #fff;
        font-weight: bold;
        font-size: 2.5rem;
        display: inline-block;
    }

    .sec06 .ttl-box .ttl-inner h2 a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -3rem;
        width: 12px;
        height: 12px;
        margin-top: -7px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sec06 .ttl-box .txt {
        width: 90%;
        margin: auto;
        margin-top: 2rem;
    }

    .sec06 .item-box {
        position: relative;
        z-index: 1;
        margin-top: 4.5rem;
    }

    .sec06 .item-box .item {
        width: 82%;
        margin-left: 13%;
        position: relative;
        margin-bottom: 3rem;
    }

    .sec06 .item-box .item .number {
        width: 85px;
        position: absolute;
        top: -1.5rem;
        z-index: 2;
        left: -2.5rem;
    }

    .sec06 .item-box .item a {
        background: #fff;
        display: block;
        padding: 2.5rem 2rem 2rem 3rem;
        position: relative;
    }

    .sec06 .item-box .item a:after {
        content: "";
        background: url("img/arrow05.png") 0 0 no-repeat;
        background-size: 100% auto;
        width: 21px;
        height: 21px;
        position: absolute;
        bottom: 1rem;
        right: 1rem;
    }

    .sec06 .item-box .item a h3 {
        font-weight: bold;
        font-size: 1.8rem;
        margin-bottom: 0;
    }

    .sec06 .item-box .item a p {
        margin-top: 1rem;
    }

    .ofi-cover {
        object-fit: cover;
        font-family: 'object-fit: cover';
    }

    .sec06 .bg-txt {
        position: absolute;
        top: 14rem;
        width: 47px;
        left: 2%;
        opacity: 0.1;
        display: block;
    }
}

/*--------------------------------------
sec07
---------------------------------------*/
.sec07 {
    width: 100%;
    background: #08090d;
    padding-bottom: 0;
}

.sec07 .bg-txt {
    max-width: 1242px;
    text-align: center;
    position: relative;
    top: -5rem;
    opacity: 0.07;
    z-index: 1;
    left: 2rem;
}

.sec07 .t-bg-box {
    width: 48%;
    margin-left: 52%;
    margin-top: -4rem;
    text-align: right;
}

.sec07 .t-bg-box .ttl-box h2 {
    position: relative;
    display: inline-block;
    line-height: 1.4;
    margin-bottom: 5rem;
}

.sec07 .t-bg-box .ttl-box h2:after {
    content: "";
    position: absolute;
    bottom: -1.4rem;
    left: 0;
    background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 66px;
    height: 1px;
    margin: auto;
}

.sec07 .t-bg-box .ttl-box a {
    font-weight: bold;
    color: #fff;
    position: relative;
    padding-right: 5rem;
    font-size: 4.8rem;
    line-height: 1.4;
}

.sec07 .t-bg-box .ttl-box a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 21px;
    height: 21px;
    margin-top: -8px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec07 .t-bg-box .ttl-box p {
    text-align: left;
}

.sec07 .item-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.sec07 .item-box .item {
    width: 48%;
    position: relative;
    margin-bottom: 10rem;
}

.sec07 .item-box .item .i-inner {
    border: solid 1px #fff;
    width: 95%;
    margin: auto;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

.sec07 .item-box .item .i-inner:after {
    content: "";
    position: absolute;
    top: -5.5%;
    left: 2rem;
    display: block;
    background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
    width: 1px;
    height: 66px;
    margin: auto;
}

.sec07 .item-box .item .box {
    padding: 4rem 4rem 0;
    padding-bottom: 32rem;
}

.sec07 .item-box .item h3 a {
    color: #fff;
    font-weight: bold;
    font-size: 2.6rem;
    text-align: center;
    position: relative;
    border-bottom: solid 1px #fff;
    box-sizing: border-box;
    padding: 0 5rem;
    padding-bottom: 2.5rem;
    margin-bottom: 2.8rem;
}

.sec07 .item-box .item h3 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 13px;
    height: 13px;
    margin-top: -12px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec07 .item-box .item .image {
    margin-top: -28rem;
}

.sec07 .item-box .item02 {
    margin-top: 8rem;
}

.sec07 .item-box .item03 {
    margin-top: -8rem;
}

@media screen and (max-width: 768px) {
    .sec07 {
        width: 100%;
        background: #08090d;
        padding-bottom: 5rem;
    }

    .sec07 .bg-txt {
        max-width: 100%;
        text-align: center;
        position: relative;
        top: -2rem;
        opacity: 0.07;
        z-index: 1;
        left: 0;
    }

    .sec07 .t-bg-box {
        width: 90%;
        margin-left: 0;
        margin: auto;
        margin-top: 2rem;
        text-align: center;
    }

    .sec07 .t-bg-box .ttl-box h2 {
        position: relative;
        display: inline-block;
        line-height: 1.4;
        margin-bottom: 1rem;
    }

    .sec07 .t-bg-box .ttl-box h2:after {
        content: "";
        position: absolute;
        bottom: -1.4rem;
        left: 0;
        background: linear-gradient(270deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 33px;
        height: 1px;
        margin: auto;
    }

    .sec07 .t-bg-box .ttl-box a {
        font-weight: bold;
        color: #fff;
        position: relative;
        padding-right: 0;
        font-size: 2.5rem;
        line-height: 1.4;
    }

    .sec07 .t-bg-box .ttl-box a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: -3rem;
        width: 12px;
        height: 12px;
        margin-top: -4px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sec07 .t-bg-box .ttl-box p {
        text-align: left;
    }

    .sec07 .item-box {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 4.5rem;
    }

    .sec07 .item-box .item {
        width: 94%;
        position: relative;
        margin: auto;
        margin-bottom: 4rem;
    }

    .sec07 .item-box .item .i-inner {
        border: solid 1px #fff;
        width: 95%;
        margin: auto;
        position: relative;
        z-index: 1;
        box-sizing: border-box;
    }

    .sec07 .item-box .item .i-inner:after {
        content: "";
        position: absolute;
        top: -3.2%;
        left: 1rem;
        display: block;
        background: linear-gradient(0deg, rgba(69,100,181,1) 0%, rgba(218,102,45,1) 100%);
        width: 1px;
        height: 33px;
        margin: auto;
    }

    .sec07 .item-box .item .box {
        padding: 3rem 2em 0;
        padding-bottom: 55%;
    }

    .sec07 .item-box .item h3 a {
        color: #fff;
        font-weight: bold;
        font-size: 1.8rem;
        text-align: center;
        position: relative;
        border-bottom: solid 1px #fff;
        box-sizing: border-box;
        padding: 0 2rem;
        padding-bottom: 1.5rem;
        margin-bottom: 1.8rem;
    }

    .sec07 .item-box .item h3 a:after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 9px;
        height: 9px;
        margin-top: -10px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sec07 .item-box .item .image {
        margin-top: -50%;
    }

    .sec07 .item-box .item02 {
        margin-top: 0;
    }

    .sec07 .item-box .item03 {
        margin-top: 0;
    }
}

/*--------------------------------------
sec08
---------------------------------------*/
.sec08 {
    width: 100%;
    margin-top: 20rem;
    background: #17181f;
    padding-bottom: 0;
}

.sec08 .bg-txt {
    max-width: 1055px;
    text-align: center;
    margin: auto;
    top: -6.5rem;
    opacity: 0.07;
    z-index: 1;
    position: absolute;
}

.sec08 .t-bg-box {
    margin-bottom: 8rem;
}

.sec08 .title-box {
    padding-top: 0;
}

.sec08 .title a {
    color: #fff;
}

.sec08 .t-bg-box .txt {
    width: 80%;
    margin: auto;
    margin-top: 10rem;
}

.sec08 .item-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 25px;
}

.sec08 .item-box::after {
    content: "";
    display: block;
    width: 30.5%;
}

.sec08 .item-box .item {
    width: 30.5%;
    position: relative;
    margin-bottom: 5rem;
}

.sec08 .item-box .item::after {
    content: "";
    position: absolute;
    top: -12px;
    bottom: 12px;
    right: -12px;
    left: 12px;
    border: solid 1px #323339;
    box-sizing: border-box;
    display: block;
}

.sec08 .item-box .item table {

}

/*--------------------------------------
　Table
---------------------------------------*/
.sec08 .item-box .item table {
    background: #fff;
    width: 90%;
    margin: 0 auto 0;
    box-sizing: border-box;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #bdc6ce;
}

.sec08 .item-box .item table th {
    background: #282828;
    padding: 1.5rem;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.4;
    word-break: break-all;
    border-left: 1px solid #bdc6ce;
    border-bottom: 1px solid #bdc6ce;
}

.sec08 .item-box .item table th a {
    font-weight: bold;
    text-decoration: underline;
}

.sec08 .item-box .item table th a:hover {
    text-decoration: none;
}

.sec08 .item-box .item table td {
    padding: 1.5rem;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.4;
    word-break: break-all;
    border-left: 1px solid #bdc6ce;
    border-bottom: 1px solid #bdc6ce;
    background: #08090e;
}

.sec08 .item-box .item table td a {
    text-decoration: underline;
}

.sec08 .item-box .item table td a:hover {
    text-decoration: none;
}

/* SP ------------------------------*/
@media screen and (max-width: 768px) {
    .sec08 .item-box .item table {
        margin: 0 auto;
    }

    .sec08 .item-box .item table th {
        display: block;
        padding: 1.2rem;
        font-size: 1.4rem;
        border-left: none;
        border-bottom: 1px solid #bdc6ce;
    }

    .sec08 .item-box .item table td {
        display: block;
        padding: 1.2rem;
        font-size: 1.4rem;
        border-left: none;
        border-bottom: 1px solid #bdc6ce;
    }

    .sec08 .item-box .item table tbody tr:last-child td:last-child {
        border-bottom: none;
    }
}






.sec08 .item-box .item a {
    color: #fff;
    background: #08090e;
    display: block;
    z-index: 2;
    position: relative;
    height: 100%;
    padding-bottom: 4rem;
}

.sec08 .item-box .item a .i-inner {
    padding: 2rem 2.5rem 4rem;
    position: relative;
}

.sec08 .item-box .item .n-box {
    position: absolute;
    left: 1.5rem;
    top: 0.5rem;
}

.sec08 .item-box .item .number {
    position: relative;
    color: #424348;
    font-size: 2rem;
    display: inline-block;
    font-weight: bold;
}

.sec08 .item-box .item .number:after {
    content: "";
    position: absolute;
    top: 3rem;
    right: -3rem;
    display: block;
    background: linear-gradient(270deg, rgba(218,102,45,1) 0%, rgba(69,100,181,1) 100%);
    width: 46px;
    height: 1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin: auto;
}

.sec08 .item-box .item .t-box {
    font-weight: bold;
    font-size: 2.6rem;
    text-align: left;
    padding: 1rem 0 1rem 2rem;
    margin-bottom: 1rem;
}

.sec08 .item-box .item a:after {
    content: "";
    background: url("img/arrow05.png") 0 0 no-repeat;
    background-size: 100% auto;
    width: 21px;
    height: 21px;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
}

.sec08 .btn-link {
    margin: 0 0 0;
}

.sec08 .btn-link a {
    margin: 8rem 0 0;
    color: #fff;
}

/*--------------------------------------
　アコーディオン
---------------------------------------*/
.accordion_box {
    display: none;
}

.acc_all01 {
    background: none;
    max-width: 487px;
    margin: 3rem auto 0;
    padding: 3rem 0;
    box-sizing: border-box;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    background: #17181e;
    border: solid 1px #323339;
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    color: #fff;
    transition: all 0.3s ease;
}

.acc_all01:before, .acc_all01:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.5rem;
    width: 22px;
    height: 1px;
    margin-top: -0.5px;
    background: #fff;
    transition: all 0.4s;
}

.acc_all01:after {
    transform: rotate(90deg);
}

.acc_all01.is-open:before {
    display: none;
}

.acc_all01.is-open::after {
    transform: rotate(180deg);
}

.acc_all01:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}

@media screen and (max-width: 768px) {
    .sec08 {
        width: 100%;
        margin-top: 9rem;
        background: #17181f;
        padding-bottom: 9rem;
    }

    .sec08 .bg-txt {
        max-width: 100%;
        text-align: center;
        margin: auto;
        top: -1.8rem;
        opacity: 0.07;
        z-index: 1;
        position: absolute;
    }

    .sec08 .t-bg-box {
        margin-bottom: 5rem;
    }

    .sec08 .title-box {
        padding-top: 0;
    }

    .sec08 .title a {
        color: #fff;
    }

    .sec08 .t-bg-box .txt {
        width: 90%;
        margin: auto;
        margin-top: 5rem;
    }

    .sec08 .item-box {
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 90%;
        margin: auto;
    }

    .sec08 .item-box::after {
        content: "";
        display: block;
        width: 100%;
    }

    .sec08 .item-box .item {
        width: 100%;
        position: relative;
        margin-bottom: 3rem;
    }

    .sec08 .item-box .item::after {
        content: "";
        position: absolute;
        top: -9px;
        bottom: 9px;
        right: -9px;
        left: 9px;
        border: solid 1px #323339;
        box-sizing: border-box;
        display: block;
    }

    .sec08 .item-box .item a {
        color: #fff;
        background: #08090e;
        display: block;
        z-index: 2;
        position: relative;
        height: 100%;
    }

    .sec08 .item-box .item a .i-inner {
        padding: 2rem 2rem 2rem;
        position: relative;
    }

    .sec08 .item-box .item .n-box {
        position: absolute;
        left: 2rem;
        top: 1rem;
    }

    .sec08 .item-box .item .number {
        position: relative;
        color: #424348;
        font-size: 1.6rem;
        display: inline-block;
        font-weight: bold;
    }

    .sec08 .item-box .item .number:after {
        content: "";
        position: absolute;
        top: 2.5rem;
        right: -2.5rem;
        display: block;
        background: linear-gradient(270deg, rgba(218,102,45,1) 0%, rgba(69,100,181,1) 100%);
        width: 44px;
        height: 1px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        margin: auto;
    }

    .sec08 .item-box .item .t-box {
        font-weight: bold;
        font-size: 1.9rem;
        text-align: center;
        padding: 1rem 4rem;
        margin-bottom: 0;
    }

    .sec08 .item-box .item a:after {
        content: "";
        background: url("img/arrow05.png") 0 0 no-repeat;
        background-size: 100% auto;
        width: 21px;
        height: 21px;
        position: absolute;
        bottom: 1rem;
        right: 1rem;
    }

    .sec08 .item-box .item a .i-inner p {
        margin-top: 1rem;
    }

    .sec08 .btn-link {
        width: 90%;
        margin: auto;
    }

    .sec08 .btn-link a {
        margin: 4rem 0 0;
    }

    .accordion_box {
        display: none;
    }

    .acc_all01 {
        background: none;
        max-width: 80%;
        margin: 5rem auto 0;
        padding: 2rem 0;
        box-sizing: border-box;
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        line-height: 1.5;
        background: #17181e;
        border: solid 1px #323339;
        box-sizing: border-box;
        position: relative;
        cursor: pointer;
        color: #fff;
        transition: all 0.3s ease;
    }

    .acc_all01:before, .acc_all01:after {
        content: "";
        position: absolute;
        top: 50%;
        right: 1rem;
        width: 18px;
        height: 1px;
        margin-top: 0;
        background: #fff;
        transition: all 0.4s;
    }
}

/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .sec01 .thb-listbox-area {
        padding: var(--s5) var(--s2) var(--s2) var(--s2);
    }

    .sec01 .thb-listbox-list li {
        font-size: 1.4rem;
    }

    .sec01 .thb-listbox-list--three li {
        width: calc((100% - var(--s2)) / 2);
    }

    .sec01 .thb-listbox-title {
        width: 80%;
        margin: -2rem auto 0 auto;
        padding: 1rem;
        font-size: 1.6rem;
        text-align: center;
    }

    .sec02 .box01 .item-box .s-ttl {
        width: 100%;
        font-size: 2.5rem;
        margin: 0 auto 3rem;
        text-align: center;
        padding-top: 5rem;
        color: #0a0a0d;
    }

    .sec02 .box02 .box-item01 {
        padding: 2rem 2rem;
    }

    .sec02 .box02 .box-item01 .left {
        width: 100%;
        float: left;
    }

    .sec02 .box02 .box-item01 .left .tour {
        font-size: 2rem;
    }

    .sec02 .mouseover__conts {
        display: block;
        width: 100%;
        margin-bottom: 0;
    }

    .sec02 .box02 .box-item01 .right {
        width: 100%;
        margin-top: 0;
    }

    section.sec.sec10 {
        min-width: 90%;
        width: 90%;
    }

    section.sec.sec10 p.btn-link {
        margin: 0;
    }

.sec02 .box01 .item-box .box-item_mov {
    margin: 3rem 0 2rem;
}

.sec02 .box01 .item-box .box-item_mov iframe{height: 48vw;}
    
}

section.sec.sec10 .btn-link a {
    color: #ffffff;
    margin: 2rem 0 2rem;
    line-height: 1.8;
}
