body{
    background-color: #EAF1F2;

    animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn{
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media screen and (min-width: 1080px) {
    body{
        padding-top: 70px;
        padding-bottom: 100px;
    }

    #logo{
        width: 35em;
        display: block;
        margin: auto;
    }

    #menu-content{
        background-color: rgb(183, 226, 255);
        width: 100%;
        height: 60px;
        position: fixed;
        padding-top: 0px;
        top: 0;
        left: 0;
        z-index: 998;
        box-sizing: border-box;
    }

    #menu-content ul{
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #menu-content li{
        list-style: none;
        font-weight: bold;
    }

    #menu-content a{
        display: block;
        text-decoration: none;
        color: black;
        margin-right: 30px;
    }

    #menu-content a:hover{
        color: #ff7a00;
    }

    #header-menu-check input[type="checkbox"]{
        display: none;
    }

    #company-name{
        position: fixed;
        left: 0;
        top: 0;
        z-index: 999;
        font-size: 30px;
        font-weight: bold;
        margin-top: 6px;
        margin-left: 20px;
    }

    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    h1{
        text-align: center;
    }

    p{
        text-align: center;
    }

    .flow{
        margin: 0 auto;
        height: 200px;
        display: flex;
        justify-content: center;
    }

    .flow ul{
        list-style: none;
        display: flex;
        padding: 0;
        margin: 0;
    }

    .flow li{
        text-align: center;
        border: solid 1px;
        background-color: rgb(186, 222, 253);
        box-sizing: border-box;
        writing-mode: vertical-rl;
        padding: 0 30px;
        margin: 0 30px;
        position: relative;
    }

    .flow li::after {
        content: "";
        position: absolute;
        right: -40px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #000;
    }

    .flow li:last-child::after {
        content: none;
    }
    

    #text{
        margin: 0 auto;
        width: 800px;
        height: 400px;        /* 好きな高さにする */
    overflow-y: scroll;   /* 縦スクロールを有効化 */
    padding-right: 10px;  /* スクロールバーと内容が重ならないように */
    }

    p.main{
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        padding-bottom: 0px;
    }

    #service {
        display: flex;
        justify-content: center;
        gap: 3em;
        font-size: 25px;
    }

    section#contact a{
        background-color: rgb(240, 75, 34);
        color: aliceblue;
        border-radius: 20px 20px 20px 20px;
        text-align: center;
        font-size: 50px;
        width: 450px;
        text-decoration: none;
        font-weight: 550;
        display: block;
        margin: auto;
    }

    #service h2{
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
    }

    #service h2 a{
        font-size: 45px;
        text-decoration: none;
    }

    #service ul{
        width: 330px;
    }

    #service li{
        padding-bottom: 3px;
        font-size: 20px;
    }

    #contact{
        text-align: center;
    }

    #contact h2{
        height: 15px;
    }

    #contact p{
        height: 15px;
    }

    #service{
        margin-left: auto;
        margin-right: auto;
        width: 37em;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }

    #service a{
        color: black;
    }

    #service a:hover{
        color: #ff7a00;
    }

    #service a:hover#no{
        color: black
    }

    #movie-service{
        margin: 0 auto;
        width: 800px;
    }

    #movie-service div ul{
        width: 50%;
        height: 300px;
    }

    #movie-service div li{
        font-size: 30px;   
        width: 330px;
        padding: 6px 0;
    }

    #movie-service div{
        display: flex;
    }

    #movie-service img{
       height: 300px;
    }

    #bike-service{
        margin: 0 auto;
        width: 800px;
    }

    #bike-service div ul{
        width: 50%;
        height: 300px;
    }

    #bike-service div li{
        font-size: 30px;   
        width: 330px;
        padding: 6px 0;
    }

    #bike-service div{
        display: flex;
    }

    #bike-service img{
       height: 300px;
    }

    footer{
        background-color: rgb(185, 232, 250);
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 70px;
    }

    footer address{
        font-style: normal;
        font-weight: bold;
        margin-left: 5px;
        font-size: 13px;
        line-height: 17px;
        padding: 10px;
        width: 500px;
        left: 0;
        position: absolute;
    }

    footer div.right{
        position: absolute;
        right: 0;
        top: 20;
        padding: 10px;
        margin-right: 25px;
        line-height: 25px;
    }
}

    /* タブレット（481px〜1024px） */
@media screen and (min-width: 481px) and (max-width: 1080px) {
    body{
        margin: 0px;
        padding-top: 80px;
        overflow-x: hidden;
        font-family: "UD新ゴ";
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 80px;

        /* header 下固定用
        padding-bottom: 65px;
        */
    }

    header{
        margin: 0px;
        background-color: rgb(185, 232, 250);
        width: 100%;
        height: 60px;
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
    }

    #menu-btn{
        position: fixed;
        top: 0px;
        right: 2px;
        display: flex;
        height: 55px;
        width: 70px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color:  rgb(185, 232, 250);
    }

    #menu-btn span,
    #menu-btn span:before,
    #menu-btn span:after{
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: blue;
        position: absolute;
    }

    #menu-btn span:before{
        bottom: 8px;
    }

    #menu-btn span:after{
        top: 8px;
    }

    #menu-check:checked ~ #menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-check:checked ~ #menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-check:checked ~ #menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-check {
        display: none;
    }
     
    #menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 70;
        background-color: rgb(185, 232, 250);
        transition: all 0.5s;/*アニメーション設定*/
    }

    #menu-content ul {
        padding: 70px 10px 0;
    }

    #menu-content ul li {
        border-bottom: solid 2px black;
        list-style: none;
        text-align: center;
    }

    #menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 20px;
        box-sizing: border-box;
        color: black;
        text-decoration: none;
        padding: 10px 50px 20px 0;
        position: relative;
        font-weight: bold;
    }

    #menu-check:checked ~ #menu-content {
        left: 0;/*メニューを画面内へ*/
    }
    
    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    #logo{
        display: block;
        width: 65%;
        margin: auto;
    }

    #company-name{
        position: fixed;
        left: 0;
        top: 0;
        z-index: 999;
        font-size: 30px;
        font-weight: bold;
        margin-top: 6px;
        margin-left: 20px;
    }

    h1{
        text-align: center;
    }

    p.main{
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        padding-bottom: 0px;
    }

    h2{
        text-align: center;        
    }

    h2.main{
        width: 93%;
        margin-left: auto;
        margin-right: auto;
        font-size: 27px;
        padding-bottom: 3px;
    }
    
    #service {
        justify-content: center;
        font-size: 25px;
        margin: 0 auto;
        width: 90%;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
        padding-bottom: 20px;
    }

    #service a{
        color: black;
    }

    #service a:hover{
        color: #ff7a00;
    }

    #service a:hover#no{
        color: black
    }

    #service h2{
        margin-top: 25px;
        margin-bottom: 25px;
        margin-left: auto;
        margin-right: auto;
        width: 80%;
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
    }

    #service h2 a{
        font-size: 40px;
        text-decoration: none;
    }

    #service ul{
        width: 75%;
        margin:  0 auto;
    }

    #service li{
        padding-bottom: 3px;
    }

    section#contact a{
        background-color: rgb(240, 75, 34);
        color: aliceblue;
        border-radius: 20px;
        text-align: center;
        font-size: 30px;
        width: 80%;
        text-decoration: none;
        font-weight: 550;
        display: block;
        margin: auto;
    }

    #contact h2{
        height: 15px;
    }

    #contact p{
        height: 15px;
        text-align: center;
    }

    section#contact{
        margin-bottom: 60px;
    }

    footer{
        background-color: rgb(185, 232, 250);
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 90px;
    }

    footer address{
        font-style: normal;
        font-weight: bold;
        margin-left: 3px;
        padding: 10px;
        left: 0;
        font-size: 16px;
        position: absolute;
    }

    footer div.right{
        position: absolute;
        right: 0;
        top: 15;
        padding: 10px;
        margin-right: 1px;
        line-height: 25px;
        font-size: 20px;
        font-weight: bold;
    }
}

@media screen and (max-width: 470px) {
    body{
        margin: 0px;
        padding-top: 80px;
        overflow-x: hidden;
        font-family: "UD新ゴ";
        margin-left: auto;
        margin-right: auto;

        /* header 下固定用
        padding-bottom: 65px;
        */
    }

    header{
        margin: 0px;
        background-color: rgb(185, 232, 250);
        width: 100%;
        height: 60px;
        box-sizing: border-box;
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
    }

    #menu-btn{
        position: fixed;
        top: 0px;
        right: 2px;
        display: flex;
        height: 55px;
        width: 70px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color:  rgb(185, 232, 250);
    }

    #menu-btn span,
    #menu-btn span:before,
    #menu-btn span:after{
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: blue;
        position: absolute;
    }

    #menu-btn span:before{
        bottom: 8px;
    }

    #menu-btn span:after{
        top: 8px;
    }

    #menu-check:checked ~ #menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-check:checked ~ #menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-check:checked ~ #menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-check {
        display: none;
    }
     
    #menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 70;
        background-color: rgb(185, 232, 250);
        transition: all 0.5s;/*アニメーション設定*/
        overflow-y: auto; /* ←縦スクロールを許可 */
    }

    #menu-content ul {
        padding: 70px 10px 0;
    }

    #menu-content ul li {
        border-bottom: solid 2px black;
        list-style: none;
    }

    #menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 20px;
        box-sizing: border-box;
        color: black;
        text-decoration: none;
        padding: 10px 50px 20px 0;
        position: relative;
        font-weight: bold;
    }

    #menu-check:checked ~ #menu-content {
        left: 0;/*メニューを画面内へ*/
    }
    
    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    #logo{
        display: block;
        width: 80%;
        margin: auto;
    }

    #company-name{
        position: fixed;
        left: 0;
        top: 0;
        z-index: 999;
        font-size: 1.3rem;
        font-weight: bold;
        margin-top: 13px;
        margin-left: 20px;
    }

    h1{
        text-align: center;
        font-size: 1.7rem;
    }

    .flow{
        position: relative;
        z-index: -1;
        margin: 0 auto;
        height: 150px;
        width: 90%;
        display: flex;
        justify-content: center;
    }

    .flow ul{
        justify-content: center;
        height: 100%;
        list-style: none;
        display: flex;
        padding: 0;
        margin: 0;
    }

    .flow li{
        text-align: center;
        border: solid 1px;
        background-color: rgb(186, 222, 253);
        box-sizing: border-box;
        writing-mode: vertical-rl;
        padding: 0 0.3rem;
        margin: 0 3.3%;
        position: relative;
    }

    .flow li::after {
        content: "";
        position: absolute;
        right: -50%;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 15px solid #000;
    }

    .flow li:last-child::after {
        content: none;
    }

    .service{
        text-align: center;
    }

    #text{
        margin: 0 auto;
        width: 90%;
        font-size: 0.8rem;
    }

    #text dt{
        text-align: center;
    }

    #text dd{
        background-color: rgb(216, 252, 214);
        margin-left: 0;
    }

    h2.main{
        width: 93%;
        margin-left: auto;
        margin-right: auto;
        font-size: 13px;
        padding-bottom: 3px;
    }

    p.main{
        text-align: center;
        margin: 0 auto;
        width: 93%;
        font-size: 0.8rem;
        font-weight: bold;
        padding-bottom: 0px;
    }

    #service {
        justify-content: center;
        gap: 15%;
        font-size: 14px;
    }

    section#contact a{
        background-color: rgb(240, 75, 34);
        color: aliceblue;
        border-radius: 20px;
        text-align: center;
        font-size: 30px;
        width: 80%;
        text-decoration: none;
        font-weight: 550;
        display: block;
        margin: auto;
    }

    #service h2{
        margin-top: 25px;
        margin-bottom: 25px;
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
    }

    #service h2 a{
        font-size: 17px;
        text-decoration: none;
    }

    /*
    #service ul{
        width: 400px;
    }

    #service li{
        padding-bottom: 3px;
    }
    */

    #contact h2{
        height: 15px;
    }

    #contact p{
        text-align: center;
        height: 15px;
    }

    #service{
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }

    #service a{
        color: black;
    }

    #service a:hover{
        color: #ff7a00;
    }

    #service a:hover#no{
        color: black
    }

    a[class="contact"]{
        background-color: rgb(240, 75, 34);
        color: aliceblue;
        border-radius: 20px 20px 20px 20px;
        text-align: center;
        font-size: 36px;
        width: 90%;
        text-decoration: none;
        font-weight: 550;
        display: block;
        margin: auto;

        /*
        margin-bottom: 300px;
        */
    }

    section#contact{
        margin-bottom: 60px;
    }

    p.del{
        display: none;
    }

    footer{
        background-color: rgb(185, 232, 250);
        width: 100%;
        height: 60px;
    }

    footer address{
        font-style: normal;
        font-weight: bold;
        margin-left: 1px;
        padding: 10px;
        left: 0;
        font-size: 8px;
        position: absolute;
    }

    footer div.right{
        position: absolute;
        right: 0;
        top: 15;
        padding: 10px;
        margin-right: 1px;
        line-height: 25px;
        font-size: 8px;
    }
    

    /*下固定footer 
    footer{
        background-color: rgb(185, 232, 250);
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 60px;
    }

    footer address{
        font-style: normal;
        font-weight: bold;
        margin-left: 1px;
        padding: 10px;
        left: 0;
        font-size: 8px;
        position: absolute;
    }

    footer div.right{
        position: absolute;
        right: 0;
        top: 15;
        padding: 10px;
        margin-right: 1px;
        line-height: 25px;
        font-size: 8px;
    }
        */
}