@charset "utf-8";

body{
    font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.side-text-1,.side-text-2{
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.menu-button{
    display: none;
}

.mask-show{
    display: none;
}

.freedom-br{
    display: none;
}

.main-h2-br{
    display: none;
}

header{
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0px;
    left: 0px;
    height: 130px;
    width: 100%;
    background-color: white;
    z-index: 20;
}

h1{
    width: 450px;
    height: 100px;
}

h1>img{
    width: 100%;
    height: auto;
}

.menu{
    display: flex;
    justify-content: end;
    align-items: center;
    margin-right: 30px;
    width: 100%;
}

.menu>a{
    display: block;
    text-align: center;
    padding: 10px 80px;
    height: 100%;
    font-size: 30px;
    border-left: 1px black solid;
    transition: .3s;
}

.menu>a:hover{
    background-color: #000000;
    color: white;
}

.menu>a:nth-of-type(3){
    padding: 0px 10px;
    margin-left: 30px;
    width: 220px;
    height: 70px;
    line-height: 70px;
    background-color: #42B94B;
    border: transparent;
    color: white;
}

.menu>a:nth-of-type(3):hover{
    background-color: rgb(22, 65, 9);
    border-radius: 20px;
}

.top-page{
    position: relative;
    padding-top: 150px;
    width: 100%;
    background-image: url(img/top-back-img.jpeg);
    background-size: cover;
}

.top-text-1{
    position: relative;
    margin:0px auto 30px;
    text-align: center;
    width: 450px;
    height: 70px;
    line-height: 70px;
    font-size: 50px;
    background-color: black;
    color: white;
}

.top-text-1::before{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 25px solid transparent;
    border-left: 25px solid transparent;
    border-top: 30px solid #000000;
}

.top-page>h2{
    text-align: center;
    font-size: 100px;
    font-weight: bold;
    line-height: 150%;
}

.top-page>h2>span:nth-of-type(1){
    font-size: 120px;
    color: white;
    background-color: #595959;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.top-page>h2>span:nth-of-type(2){
    font-size: 70px;
}

.top-text-2{
    text-align: center;
    margin-top: 50px;
    font-size: 50px;
}

.cta-button{
    position: relative;
    margin: 70px auto 0px;
    display: block;
    padding-left: 20px;
    width: 650px;
    height: 130px;
    line-height: 130px;
    font-size: 50px;
    border-radius: 30px;
    background-color: #42B94B;
    color: white;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    transition: .3s;
}

.cta-button::before{
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 110px;
    height: 110px;
    border-radius: 30px;
    background-color: #2E841E;
    transition: .3s;
}

.cta-button::after{
    content: "";
    position: absolute;
    display: block;
    top: 45%;
    right: 24px;
    transform: translateY(-50%);
    width: 100px;
    height: 20px;
    background-image: url(img/btn-decoration.png);
    background-size: cover;
    transition: .3s;
}

.cta-button:hover{
    background-color: rgb(22, 65, 9);
    border: 3px solid black;
}

.cta-button:hover::before{
    background-color: rgb(4, 95, 10);
}

.cta-button:hover::after{
    right: 0px;
}

.scroll{
    position: absolute;
    bottom: 20px;
    right: 50px;
}

main{
    position: relative;
    padding-top: 150px;
    padding-bottom: 490px;
    width: 100%;
    background-image: url(img/main-back.png);
    background-size: cover;
    z-index: 10;
}

main>h2{
    position: relative;
    margin-bottom: 100px;
    text-align: center;
    font-size: 40px;
    color: white;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    transform: translateX(100%);
    opacity: 0;
    transition: .6s;
}

main>h2.show{
    opacity: 1;
    transform: translateX(0%);
}

main>h2>span{
    font-size: 70px;
}

main>h2::before{
    content: "";
    position: absolute;
    display: block;
    bottom: -15px;
    width: 1800px;
    height: 220px;
    background-image: url(img/yajirusi.png);
    background-size: cover;
    z-index: -1;
}

.worries-flex{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 150px;
    width: 100%;
}

.worries-item{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0px 50px;
    width: 400px;
    transform: translateX(-100%);
    opacity: 0;
}

.worries-item:nth-of-type(1){
    transition: .3s;
}

.worries-item:nth-of-type(2){
    transition: .8s;
}

.worries-item:nth-of-type(3){
    transition: 1.5s;
}

.worries-item.show{
    opacity: 1;
    transform: translateX(0%);
}

.worries-item>img{
    width: 400px;
    height: 350px;
}

.worries-item>div{
    position: absolute;
    text-align: center;
    font-size: 28px;
    bottom: -30px;
    line-height: 150%;
    color: white;
}

.worries-item>div>p{
    display: inline-block;
    margin-bottom: 5px;
    background-color: #000000;
}

.end-text{
    text-align: center;
    font-size: 60px;
    line-height: 150%;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    opacity: 0;
    transition: .6s;
}

.end-text.show{
    opacity: 1;
}

.end-text>span{
    font-size: 90px;
}

.end-text>span:nth-of-type(2){
    color: #F67C1F;
}

.side-text-1{
    position: absolute;
    top: 250px;
    left: 0px;
    writing-mode: vertical-rl;
    font-size: 200px;
    font-weight: bold;
    color: rgb(181, 181, 181,.3);
    z-index: -1;
}

.next{
    position: absolute;
    width: 60px;
    bottom: 150px;
    left: 50%;
    transform: translateX(-50%);
}

section{
    padding-bottom: 30px;
    width: 100%;
    background-image: url(img/main-back.png);
    background-size: cover;
}

.section-item-1{
    position: relative;
    margin-bottom: 250px;
    margin-right: 0;
    margin-left: auto;
    width: 1600px;
    height: 700px;
    background-color: #313131;
    z-index: 10;
    transform: translateX(30%);
    opacity: 0;
    transition: .6s;
    backface-visibility: hidden;
}

.section-item-1.show{
    opacity: 1;
    transform: translateX(0%);
}

.item-flex-1{
    position: absolute;
    top: -80px;
    right: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
}


.item-flex-1>img{
    display: block;
    margin-bottom: 60px;
}


.dx-text{
    padding: 0px 30px;
    margin-bottom: 60px;
    height: 70px;
    line-height: 70px;
    font-size: 50px;
    font-weight: bold;
    background-color: white;
}

.item-flex-1>h3{
    text-align: center;
    font-size: 60px;
    margin-bottom: 60px;
    color: white;
}

.item-text{
    width: 720px;
    font-size: 40px;
    color: white;
}

.section-item-1>img{
    top: -50px;
    left: -260px;
    position: absolute;
    width: 950px;
    height: auto;
}

.section-item-1::before{
    content: "";
    position: absolute;
    left: -17%;
    bottom: -17%;
    display: block;
    width: 150px;
    height: 210px;
    background-color: #313131;
}

.section-item-2{
    position: relative;
    margin-bottom: 250px;
    margin-left: 0;
    margin-right: auto;
    width: 1600px;
    height: 700px;
    background-color: #313131;
    transform: translateX(-30%);
    transition: .6s;
    opacity: 0;
}


.section-item-2.show{
    opacity: 1;
    transform: translateX(0%);
}

.item-flex-2{
    position: absolute;
    top: -80px;
    left: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
}


.item-flex-2>img{
    display: block;
    margin-bottom: 60px;
}

.item-flex-2>h3{
    text-align: center;
    font-size: 60px;
    margin-bottom: 60px;
    color: white;
}

.section-item-2>img{
    top: -50px;
    right: -260px;
    position: absolute;
    width: 950px;
    height: auto;
}

.section-item-2::before{
    content: "";
    position: absolute;
    right: -17%;
    bottom: -20%;
    display: block;
    width: 150px;
    height: 210px;
    background-color: #313131;
}

.freedom{
    position: relative;
    display: flex;
    justify-content: space-between;
    padding-top: 50px;
    padding-bottom: 50px;
    width: 100%;
    background-image: url(img/main-back.png);
    background-size: cover;
}

.freedom::before{
    content: "";
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 160px;
    height: 40%;
    background-color: #313131;
    z-index: 0;
}

.freedom::after{
    content: "";
    position: absolute;
    right: 0px;
    top: 0px;
    width: 160px;
    height: 20%;
    background-color: #313131;
    z-index: 0;
}

.side-text-2{
    position: relative;
    writing-mode: vertical-rl;
    font-size: 200px;
    font-weight: bold;
    color: #B5B5B5;
}

.side-text-2::before{
    content: "";
    position: absolute;
    right: -150px;
    display: block;
    width: 160px;
    height: 100%;
    background-color: #313131;
}

.freedom-item{
    position: relative;
    width: 80%;
    z-index: 1;
}

.freedom-item>h2{
    text-align: center;
    margin-bottom: 50px;
    font-size: 40px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    transition: .6s;
    opacity: 0;
}

.freedom-item>h2.show{
    opacity: 1;
}

.freedom-item>h2>span{
    font-size: 70px;
}

.freedom-item>img{
    width: 80%;
    display: block;
    margin: 0px auto 50px;
    opacity: 0;
    transition: .6s;
}

.freedom-item>img.show{
    opacity: 1;
}

.freedom-item>h3{
    text-align: center;
    margin-bottom: 50px;
    font-size: 50px;
}

.freedom-item>p{
    margin: auto;
    width: 50%;
    text-align: center;
    font-size: 40px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

footer{
    position: relative;
    padding-top: 200px;
    padding-bottom: 100px;
    width: 100%;
    background-image: url(img/footer-img.png);
    background-size: cover;
}

footer>h2{
    text-align: center;
    margin-bottom: 50px;
    font-size: 100px;
    transform: translateY(30%);
    opacity: 0;
    transition: .6s;
}

footer>h2.show{
    opacity: 1;
    transform: translateY(0%);
}

footer>h2>span{
    font-size: 70px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

footer>p{
    text-align: center;
    font-size: 100px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    transform: translateY(30%);
    opacity: 0;
    transition: .6s;
}

footer>p.show{
    opacity: 1;
    transform: translateY(0%);
}

footer>img{
    position: absolute;
    left: 200px;
    bottom: 30px;
}

#top-button{
    position: fixed;
    right: 0px;
    bottom: 50px;
    display: block;
    text-align: center;
    line-height: 150px;
    width: 110px;
    height: 150px;
    font-size: 100px;
    color: white;
    background-color: #313131;
    opacity: 0;
    transition: .3s;
    z-index: 20;
}

#top-button:hover{
    background-color: white;
    color: black;
    border: 5px solid black;
}

#top-button.show-top-button{
    opacity: 1;
}

 /* MacBook ---------------------------------------------------------------*/

@media(max-width:1800px){
    h1{
        width: 300px;
        height: 80px;
    }
    
    .menu>a{
        padding: 10px 30px;
        font-size: 25px;
    }
    
    .top-page>h2{
        font-size: 70px;
    }
    
    .top-page>h2>span:nth-of-type(1){
        font-size: 100px;
    }
    
    .top-page>h2>span:nth-of-type(2){
        font-size: 60px;
    }
    
    .top-text-2{
        font-size: 40px;
    }
    
    .cta-button{
        padding-left: 30px;
        width: 500px;
        height: 100px;
        line-height: 100px;
        font-size: 35px;
        border-radius: 30px;
    }
    
    .cta-button::before{
        right: 30px;
        width: 80px;
        height: 80px;
        border-radius: 20px;
    }
    
    .cta-button::after{
        right: 40px;
        width: 60px;
        height: 12px;
    }
    
    .scroll{
        height: 400px;
    }
    
    main>h2{
        font-size: 30px;
    }
    
    main>h2>span{
        font-size: 60px;
    }
    
    main>h2::before{
        width: 1300px;
        height: 200px;
    }
    
    .worries-item{
        width: 300px;
    }
    
    .worries-item>img{
        width: 300px;
        height: 250px;
    }
    
    .worries-item>div{
        font-size: 21px;
    }
    
    .end-text{
        text-align: center;
        font-size: 50px;
        line-height: 150%;
    }
    
    .end-text>span{
        font-size: 70px;
    }
    
    .side-text-1{
        font-size: 160px;
    }
    
    section{
        width: 100%;
        background-image: url(img/main-back.png);
        background-size: cover;
        padding-bottom: 10px;
    }
    
    .section-item-1{
        width: 1000px;
        height: 500px;
    }
    

    .item-flex-1{
        right: 30px;
    }
    
    .item-flex-1>img{
        width: 500px;
        margin-bottom: 40px;
    }
    
    
    .dx-text{
        margin-bottom: 40px;
        font-size: 40px;
    }
    
    .item-flex-1>h3{
        font-size: 50px;
        margin-bottom: 40px;
    }
    
    .item-text{
        width: 620px;
        font-size: 30px;
    }
    
    .section-item-1>img{
        top: -50px;
        left: -400px;
        width: 700px;
    }
    
    .section-item-1::before{
        left: -300px;
        bottom: -60px;
    }
    
    .section-item-2{
        width: 1000px;
        height: 500px;
    }
    

    .item-flex-2{
        left: 30px;
    }
    
    .item-flex-2>img{
        width: 500px;
        margin-bottom: 40px;
    }
    
    .item-flex-2>h3{
        font-size: 50px;
        margin-bottom: 40px;
    }
    
    .section-item-2>img{
        top: -50px;
        right: -400px;
        width: 700px;
    }
    
    .section-item-2::before{
        right: -300px;
        bottom: -60px;
    }
    
    .freedom::before{
        width: 120px;
    }
    
    .freedom::after{
        width: 120px;
    }
    
    .side-text-2{
        font-size: 170px;
    }
    
    .side-text-2::before{
        right: -150px;
    }

    .freedom{
        padding-top: 50px;
        padding-bottom: 50px;
    }
    
    .freedom-item{
        position: relative;
        width: 80%;
        z-index: 1;
    }
    
    .freedom-item>h2{
        margin-top: 10px;
        margin-bottom: 30px;
        font-size: 30px;
    }
    
    .freedom-item>h2>span{
        font-size: 50px;
    }
    
    .freedom-item>img{
        margin-bottom: 30px;
        width: 800px;
    }
    
    .freedom-item>h3{
        margin-bottom: 30px;
        font-size: 40px;
    }
    
    .freedom-item>p{
        width: 700px;
        font-size: 30px;
    }
    
    footer>h2{
        font-size: 90px;
    }
    
    footer>h2>span{
        font-size: 60px;
    }
    
    footer>p{
        font-size: 100px;
    }
    
    footer>img{
        width: 300px;
        position: absolute;
        left: 80px;
        bottom: 30px;
    }
    
    #top-button{
        line-height: 130px;
        width: 100px;
        height: 130px;
        font-size: 90px;
        opacity: 0;
        transition: .3s;
    }
    #top-button.show-top-button{
        opacity: 1;
    }
}

 /* small-pc,tablet ---------------------------------------------------------------*/

 @media(max-width:1365px){

    main>h2,.section-item-1,.section-item-2{
        transform: translateX(0%);
    }

    h1{
        width: 300px;
        height: 60px;
    }
    
    .menu-button{
        position: fixed;
        top: 25px;
        right: 20px;
        display: flex;
        width: 80px;
        height: 80px;
    }

    .menu-button>div{
        height: 5px;
        width: 80%;
        background-color: black;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: .3s ;
    }

    .menu-button div:nth-of-type(1){
        transform: translate(-50%,25px);
    }

    .menu-button div:nth-of-type(3){
        transform: translate(-50%,-30px);
    }

    .menu-button.hbg-action div:nth-of-type(1){
        transform: rotate(45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    }

    .menu-button.hbg-action div:nth-of-type(2){
        opacity: 0;
    }

    .menu-button.hbg-action div:nth-of-type(3){
        transform: rotate(-45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    } 

    .menu{
        position: fixed;
        align-items: flex-start;
        justify-content: flex-start;
        top: 0px;
        right: 0px;
        margin-right: 0px;
        width: 90%;
        height: 100vh;
        flex-direction: column;
        background-color: white;
        transform: translateX(100%);
        opacity: 0;
        transition: 1s;
    }

    .menu.hbg-action{
        transform: translateX(0%);
        opacity: 1;
    }

    .menu>a{
        margin-bottom: 30px;
        margin-left: 50px;
        height: auto;
        padding: 0px;
        font-size: 30px;
        border: transparent;
    }

    .menu>a:nth-of-type(1){
        margin-top: 200px;
    }
    
    #mask-show.mask-show{
        position: fixed;
        top: 0px;
        left: 0px;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgb(255, 255, 255,.6);
        z-index: -1;
    }

    .top-page{
        height: auto;
        padding-bottom: 5px;
    }

    .top-page>h2{
        font-size: 60px;
    }
    
    .top-page>h2>span:nth-of-type(1){
        font-size: 90px;
    }
    
    .top-page>h2>span:nth-of-type(2){
        font-size: 50px;
    }
    
    .top-text-2{
        margin:50px auto;
        width: 80%;
        font-size: 30px;
    }
    
    .cta-button{
        margin-top: 40px;
        padding-left: 30px;
        width: 400px;
        height: 90px;
        line-height: 90px;
        font-size: 25px;
        border-radius: 30px;
    }
    
    .scroll{
        right: 10px;
        height: 300px;
    }
    
    main>h2{
        font-size: 20px;
    }
    
    main>h2>span{
        font-size: 40px;
    }
    
    main>h2::before{
        left: 50%;
        transform: translateX(-50%);
        bottom: -5px;
        width: 770px;
        height: 150px;
    }

    .worries-flex{
        flex-direction: column;
        margin-bottom: 50px;
    }

    .worries-item{
        margin-bottom: 100px;
        width: 650px;
    }
    
    .worries-item>img{
        width: 650px;
        height: auto;
    }
    
    .worries-item>div{
        bottom: -70px;
        font-size: 35px;
    }
    
    .end-text{
        font-size: 40px;
    }
    
    .end-text>span{
        font-size: 50px;
    }
    
    .side-text-1{
        left: 0px;
        line-height: 90%;
        font-size: 300px;
    }
    
    section{
        padding-bottom: 100px;
        width: 100%;
    }
    
    .section-item-1,.section-item-2{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin:0px auto 200px;
        width: 750px;
        height: 1020px;
    }

    .section-item-2{
        height: 1040px;
    }

    section>div:nth-of-type(3){
        margin-bottom: 0px;
    }

    .item-flex-1,.item-flex-2{
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        top: -50px;
        right: 30px;
    }

    .item-flex-1>img,.item-flex-2>img{
        width: 500px;
        margin-bottom: 40px;
    }

    .dx-text{
        margin-bottom: 40px;
        font-size: 40px;
    }
    
    .item-flex-1>h3,.item-flex-2>h3{
        font-size: 50px;
        margin-bottom: 40px;
    }
    
    .item-text{
        text-align: center;
        width: 620px;
        font-size: 30px;
    }
    
    .section-item-1>img,.section-item-2>img{
        position: static;
        margin: 500px auto 20px;
        width: 700px;
    }
    
    .section-item-1::before,.section-item-2::before{
        left: -300px;
        bottom: -60px;
    }
    
    .freedom::before{
        width: 30px;
    }
    
    .freedom::after{
        width: 30px;
    }
    
    .side-text-2{
        display: none;
        font-size: 170px;
    }
    
    .side-text-2::before{
        right: -150px;
    }
    
    .freedom{
        padding-top: 50px;
        display: block;
    }

    .freedom-item{
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        align-items: center;
        z-index: 1;
    }
    
    .freedom-item>h2{
        margin-top: 10px;
        margin-bottom: 30px;
        font-size: 25px;
    }
    
    .freedom-item>h2>span{
        font-size: 40px;
    }
    
    .freedom-item>img{
        margin-left: 50%;
        transform: translateX(-50%);
        width: 750px;
    }

    .freedom-item>h3{
        margin-bottom: 30px;
        font-size: 30px;
    }
    
    .freedom-item>p{
        width: 700px;
        font-size: 25px;
    }

    footer{
        padding-top: 100px;
        padding-bottom: 200px;
        height: auto;
    }

    footer>h2{
        font-size: 70px;
    }
    
    footer>h2>span{
        font-size: 40px;
    }
    
    footer>p{
        font-size: 60px;
    }
    
    footer>img{
        width: 300px;
        position: absolute;
        left: 80px;
        bottom: 30px;
    }
    
    #top-button{
        line-height: 130px;
        width: 100px;
        height: 130px;
        font-size: 90px;
        opacity: 0;
        transition: .3s;
    }
    #top-button.show-top-button{
        opacity: 1;
    }
}

 /* sp ---------------------------------------------------------------*/
 @media(max-width:799px){
    h1{
        width: 200px;
        height: auto;
    }
    
    .menu-button{
        position: fixed;
        top: 43px;
        right: 20px;
        display: flex;
        width: 80px;
        height: 0px;
    }

    .menu-button>div{
        height: 5px;
        width: 80%;
        background-color: black;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: .3s ;
    }

    .menu-button div:nth-of-type(1){
        transform: translate(-50%,20px);
    }

    .menu-button div:nth-of-type(3){
        transform: translate(-50%,-25px);
    }

    .menu-button.hbg-action div:nth-of-type(1){
        transform: rotate(45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    }

    .menu-button.hbg-action div:nth-of-type(2){
        opacity: 0;
    }

    .menu-button.hbg-action div:nth-of-type(3){
        transform: rotate(-45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    } 

    .menu{
        position: fixed;
        align-items: flex-start;
        justify-content: flex-start;
        top: 0px;
        right: 0px;
        margin-right: 0px;
        width: 90%;
        height: 100vh;
        flex-direction: column;
        background-color: white;
        transform: translateX(100%);
        opacity: 0;
        transition: 1s;
    }

    .menu.hbg-action{
        transform: translateX(0%);
        opacity: 1;
    }

    .menu>a{
        margin-bottom: 30px;
        margin-left: 50px;
        height: auto;
        padding: 0px;
        font-size: 20px;
        border: transparent;
    }

    .menu>a:nth-of-type(1){
        margin-top: 200px;
    }
    
    #mask-show.mask-show{
        position: fixed;
        top: 0px;
        left: 0px;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgb(255, 255, 255,.6);
        z-index: -1;
    }

    header{
        height: 90px;
    }

    .top-page{
        padding-top: 110px;
    }

    .top-text-1{
        width: 300px;
        height: 50px;
        line-height: 50px;
        font-size: 30px;
    }

    .top-text-1::before{
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
        border-top: 20px solid #000000;
    }

    .top-page>h2{
        font-size: 40px;
    }
    
    .top-page>h2>span:nth-of-type(1){
        font-size: 50px;
    }
    
    .top-page>h2>span:nth-of-type(2){
        font-size: 40px;
    }
    
    .top-text-2{
        margin:50px auto;
        width: 80%;
        font-size: 25px;
    }
    
    .cta-button{
        margin-top: 40px;
        padding-left: 30px;
        width: 350px;
        height: 80px;
        line-height: 80px;
        font-size: 25px;
        border-radius: 30px;
    }
    

    .cta-button::before{
        width: 60px;
        height: 60px;
    }

    .cta-button::after{
        top: 38px;
        width: 40px;
        height: 8px;
    }  

    .scroll{
        right: 5px;
        height: 200px;
    }

    main{
        padding-bottom: 250px;
    }

    main>h2{
        font-size: 15px;
        margin-bottom: 30px;
    }
    
    main>h2>span{
        font-size: 25px;
        font-weight: bold;
    }
    
    main>h2::before{
        left: 45%;
        bottom: -1px;
        width: 460px;
        height: 100px;
    }

    .worries-item{
        margin-bottom: 80px;
        width: 450px;
    }
    
    .worries-item>img{
        width: 450px;
    }
    
    .worries-item>div{
        bottom: -55px;
        font-size: 25px;
    }
    
    .end-text{
        font-size: 30px;
    }
    
    .end-text>span{
        font-size: 40px;
    }
    
    .next{
        bottom: 80px;
        height: 130px;
        width: 40px;
    }

    .side-text-1{
        left: 0px;
        line-height: 90%;
        font-size: 300px;
    }
    
    section{
        padding-bottom: 100px;
        width: 100%;
    }
    
    .section-item-1,.section-item-2{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin:0px auto 200px;
        width: 450px;
        height: 800px;
    }

    .section-item-2{
        height: 820px;
    }

    section>div:nth-of-type(3){
        margin-bottom: 0px;
    }

    .item-flex-1,.item-flex-2{
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        top: -50px;
        right: 30px;
    }

    .item-flex-1>img,.item-flex-2>img{
        width: 450px;
        margin-bottom: 40px;
    }

    .dx-text{
        margin-bottom: 40px;
        font-size: 30px;
    }
    
    .item-flex-1>h3,.item-flex-2>h3{
        font-size: 30px;
        margin-bottom: 40px;
    }
    
    .item-text{
        text-align: center;
        width: 430px;
        font-size: 25px;
    }
    
    .section-item-1>img,.section-item-2>img{
        position: static;
        margin: 450px auto 20px;
        width: 450px;
    }
    
    .section-item-1::before,.section-item-2::before{
        left: -300px;
        bottom: -60px;
    }
    
    .freedom{
        padding-top: 50px;
        display: block;
    }

    .freedom-item{
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 450px;
        align-items: center;
        z-index: 1;
    }
    
    .freedom-item>h2{
        margin-top: 10px;
        margin-bottom: 30px;
        font-size: 25px;
    }

    .freedom-br{
        display: block;
    }
    
    .freedom-item>h2{
        line-height: 150%;
    }

    .freedom-item>h2>span{
        font-size: 30px;
    }
    
    .freedom-item>img{
        margin-left: 50%;
        transform: translateX(-50%);
        width: 450px;
    }

    .freedom-item>h3{
        margin-bottom: 30px;
        font-size: 25px;
    }
    
    .freedom-item>p{
        width: 450px;
        font-size: 20px;
    }

    footer{
        padding-top: 100px;
        padding-bottom: 150px;
        height: auto;
    }

    footer>h2{
        font-size: 40px;
    }
    
    footer>h2>span{
        font-size: 45px;
    }
    
    footer>p{
        font-size: 40px;
    }
    
    footer>img{
        width: 300px;
        position: absolute;
        left: 20px;
        bottom: 40px;
    }
    
    #top-button{
        line-height: 130px;
        width: 70px;
        height: 100px;
        line-height: 100px;
        font-size: 70px;
        opacity: 0;
        transition: .3s;
    }
    #top-button.show-top-button{
        opacity: 1;
    }
 }

  /* small-sp ---------------------------------------------------------------*/
  @media(max-width:499px){
    h1{
        width: 200px;
        height: auto;
    }
    
    .menu-button{
        position: fixed;
        top: 43px;
        right: 20px;
        display: flex;
        width: 70px;
        height: 0px;
    }

    .menu-button>div{
        height: 5px;
        width: 80%;
        background-color: black;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: .3s ;
    }

    .menu-button div:nth-of-type(1){
        transform: translate(-50%,17px);
    }

    .menu-button div:nth-of-type(3){
        transform: translate(-50%,-22px);
    }

    .menu-button.hbg-action div:nth-of-type(1){
        transform: rotate(45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    }

    .menu-button.hbg-action div:nth-of-type(2){
        opacity: 0;
    }

    .menu-button.hbg-action div:nth-of-type(3){
        transform: rotate(-45deg) translate(-50%,0px);
        transform-origin: 0% 50%;
    } 

    .menu{
        position: fixed;
        align-items: flex-start;
        justify-content: flex-start;
        top: 0px;
        right: 0px;
        margin-right: 0px;
        width: 90%;
        height: 100vh;
        flex-direction: column;
        background-color: white;
        transform: translateX(100%);
        opacity: 0;
        transition: 1s;
    }

    .menu.hbg-action{
        transform: translateX(0%);
        opacity: 1;
    }

    .menu>a{
        margin-bottom: 30px;
        margin-left: 50px;
        height: auto;
        padding: 0px;
        font-size: 20px;
        border: transparent;
    }

    .menu>a:nth-of-type(1){
        margin-top: 200px;
    }
    
    #mask-show.mask-show{
        position: fixed;
        top: 0px;
        left: 0px;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgb(255, 255, 255,.6);
        z-index: -1;
    }

    header{
        height: 90px;
    }

    .top-page{
        padding-top: 110px;
    }

    .top-text-1{
        width: 250px;
        height: 50px;
        line-height: 50px;
        font-size: 25px;
    }

    .top-text-1::before{
        border-right: 13px solid transparent;
        border-left: 13px solid transparent;
        border-top: 17px solid #000000;
    }

    .top-page>h2{
        font-size: 25px;
    }
    
    .top-page>h2>span:nth-of-type(1){
        font-size: 35px;
    }
    
    .top-page>h2>span:nth-of-type(2){
        font-size: 25px;
    }
    
    .top-text-2{
        margin:30px auto;
        width: 80%;
        font-size: 18px;
    }
    
    .cta-button{
        margin-top: 40px;
        padding-left: 20px;
        width: 300px;
        height: 70px;
        line-height: 70px;
        font-size: 20px;
        border-radius: 30px;
    }
    

    .cta-button::before{
        width: 60px;
        height: 60px;
    }

    .cta-button::after{
        top: 32px;
        width: 40px;
        height: 8px;
    }  

    .scroll{
        right: 0px;
        height: 150px;
    }

    main{
        padding-top: 60px;
        padding-bottom: 250px;
    }

    main>h2{
        font-size: 15px;
        margin-bottom: 30px;
    }

    .main-h2-br{
        display: block;
    }
    
    main>h2>span{
        font-size: 20px;
        font-weight: bold;
    }
    
    main>h2::before{
        left: -100%;
        bottom: -5px;
        width: 100%;
        height: 60px;
        background-color: black;
        background-image: none;
        transition: 1s;
    }

    main>h2.show::before{
        left: 50%;
    }

    .worries-item{
        margin-bottom: 80px;
        width: 320px;
    }
    
    .worries-item>img{
        width: 320px;
    }
    
    .worries-item>div{
        bottom: -55px;
        font-size: 20px;
    }
    
    .end-text{
        font-size: 20px;
    }
    
    .end-text>span{
        font-size: 25px;
    }
    
    .next{
        bottom: 80px;
        height: 130px;
        width: 40px;
    }

    .side-text-1{
        left: 0px;
        line-height: 90%;
        font-size: 300px;
    }
    
    section{
        padding-bottom: 100px;
        width: 100%;
    }
    
    .section-item-1,.section-item-2{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin:0px auto 100px;
        width: 320px;
        height: 600px;
    }

    .section-item-2{
        height: 620px;
    }

    section>div:nth-of-type(3){
        margin-bottom: 0px;
    }

    .item-flex-1,.item-flex-2{
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        top: -50px;
        right: 30px;
    }

    .item-flex-1>img,.item-flex-2>img{
        width: 320px;
        margin-bottom: 30px;
    }

    .dx-text{
        margin-bottom: 30px;
        font-size: 20px;
    }
    
    .item-flex-1>h3,.item-flex-2>h3{
        font-size: 25px;
        margin-bottom: 30px;
    }
    
    .item-text{
        text-align: center;
        width: 300px;
        font-size: 17px;
    }
    
    .section-item-1>img,.section-item-2>img{
        position: static;
        margin: 360px auto 20px;
        width: 320px;
    }
    
    .section-item-1::before,.section-item-2::before{
        left: -300px;
        bottom: -60px;
    }
    
    .freedom{
        padding-top: 30px;
        display: block;
    }

    .freedom::before,.freedom::after{
        width: 15px;
    }

    .freedom-item{
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: 350px;
        align-items: center;
        z-index: 1;
    }

    .freedom-item>h2{
        margin-top: 10px;
        margin-bottom: 30px;
        font-size: 20px;
    }

    .freedom-item>h2>span{
        font-size: 25px;
    }

    .freedom-item>img{
        margin-left: 50%;
        transform: translateX(-50%);
        width: 320px;
    }

    .freedom-item>h3{
        width: 320px;
        margin: 0px auto 30px;
        font-size: 20px;
    }
    
    .freedom-item>p{
        width: 320px;
        font-size: 18px;
    }

    footer{
        padding-top: 100px;
        padding-bottom: 150px;
        height: auto;
    }

    footer>h2{
        font-size: 30px;
    }
    
    footer>h2>span{
        font-size: 35px;
    }
    
    footer>p{
        font-size: 30px;
    }
    
    footer>img{
        width: 200px;
        position: absolute;
        left: 20px;
        bottom: 40px;
    }
    
    #top-button{
        line-height: 130px;
        width: 60px;
        height: 80px;
        line-height: 80px;
        font-size: 50px;
        opacity: 0;
        transition: .3s;
    }
    #top-button.show-top-button{
        opacity: 1;
    }
 }