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: 1900px) {
    body{
        padding-top: 70px;
        padding-bottom: 100px;
    }

    #logo{
        width: 35em;
        display: block;
        margin: auto;
    }

    /*　header */
    header {
        background-color: rgb(183, 226, 255);
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 60px;
        z-index: 1000;
    }

    #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: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 30px;
        font-weight: bold;
    }

    #company-name a {
        color: inherit;
        text-decoration: none;
    }
    /*　header */

    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    h1{
        text-align: center;
    }

    p.main-text{
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        padding-bottom: 0px;
    }

    /* サービス */
    #service {
        display: flex;
        justify-content: center;
        gap: 3em;
        font-size: 25px;
    }

    #service h2{
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
        text-align: center;
    }

    #service h2 a{
        font-size: 45px;
        text-decoration: none;
    }

    #service ul{
        width: 330px;
    }

    #service li{
        padding-bottom: 3px;
        font-size: 20px;
    }

    #service{
        margin-left: auto;
        margin-right: auto;
        width: 900px;
        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
    }
    /* サービス */

    /* WORKS */
    #works {
        width: 80%;
        margin: 0 auto;
    }

    #works a{
        color: black;
    }

    #works h2{
        font-size: 25px;
        text-align: center;
    }

    #works h2 a{
        font-size: 45px;
        text-decoration: none;
    }

    #works h3{
        text-align: center;
    }

    #works h3 a{
        font-size: 30px;
        text-decoration: none;
    }

    #works img{
        display: block;
        margin-left: auto;
        margin-right: auto;    
        max-width: 750px;
        height: auto;
    }

    #works .text p{
        display: block;
        margin: 10px auto;
    }

    #works .product-links {
        margin: 0 auto;
        max-width: 450px;
    }

    #works .product-links a {
        color: #000000;
        text-decoration: none;
    }

    #works .product-links a:hover {
        color: #20f881;
    }

    #works .text {
        margin: 3px;
        font-size: 20px;
        text-align: center;
    }

    #works .list {
        margin: 30px;
        font-size: 30px;
        text-align: center;
    }

    #works .list a {
        display: inline-block; 
        border: 1px solid black;
        padding: 15px 200px;
        text-decoration: none;
    }

    #works .list a:hover {
        background-color: aqua;
        text-decoration: none;
    }
    /* WORKS */

    /*　料金 */
    section#cost{
        margin-left: auto;
        margin-right: auto;
        width: 900px;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }
    
	section#cost{
        margin:	0	auto;
        border-bottom:	1px	solid	black;
    }

    section#cost table{
        margin:	0	auto;
        margin:	20px	auto;
        border-collapse:	collapse;
        width:	60%;
    }
	
    table th,table td{
        border:	solid	3px;
        padding:	5px;
        text-align:	center;
        background-color:	#f1f6f7;
        font-size:	18px;
        font-weight:	500;	
    }

    table th.item{
        width:	30%;	
    }

    table th.amount{
        width:	40%;	
    }

    table caption{
        margin:	10px;	
    }

    table caption{
        font-size:	40px;
        font-weight:	bold;
	}

    table tr.heading th{
        background-color: antiquewhite;	
    }
    /*　料金 */

    #contact{
        text-align: center;
    }

    #contact h2{
        height: 15px;
    }

    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;
    }

    footer {
        background-color: rgb(185, 232, 250);
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;    
        height: 70px;

        display: flex;
        align-items: center; 
        justify-content: space-between;
        box-sizing: border-box;
        padding: 0 20px;
    }

    footer address {
        font-style: normal;
        font-weight: bold;
        font-size: 13px;
        line-height: 17px;
        margin: 0;
    }

    footer div.right {
        line-height: 25px;
        margin: 0;
    }
}

@media screen and (min-width: 451px) and (max-width: 1900px) {
    body{
        margin: 0px;
        padding-top: 70px;
        padding-bottom: 100px;
        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 {
        text-align: center;
        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;/*メニューを画面内へ*/
    }

    #company-name {
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 30px;
        font-weight: bold;
    }

    #company-name a {
        color: inherit;
        text-decoration: none;
    }
    
    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    #logo{
        width: 40rem;
        display: block;
        margin: auto;
    }

    h1{
        text-align: center;
    }

    p.main-text{
        text-align: center;
        font-size: 1rem;
        font-weight: bold;
        padding-bottom: 0px;
    }

    /* サービス */
    #service {
        display: flex;
        justify-content: center;
        gap: 3em;
        font-size: 1rem;
    }

    #service h2{
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
        text-align: center;
    }

    #service h2 a{
        font-size: 1.7rem;
        text-decoration: none;
    }

    #service ul{
        width: 330px;
    }

    #service li{
        padding-bottom: 3px;
        font-size: 1.3rem;
    }

    #service{
        margin-left: auto;
        margin-right: auto;
        width: 80%;
        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
    }
    /* サービス */

    /* WORKS */
    #works {
        width: 80%;
        margin: 0 auto;
    }

    #works a{
        color: black;
    }

    #works h2{
        font-size: 1rem;
        text-align: center;
    }

    #works h2{
        text-align: center;
    }

    #works h2 a{
        font-size: 1.3rem;
        text-decoration: none;
    }

    #works h3{
        text-align: center;
    }

    #works h3 a{
        font-size: 30px;
        text-decoration: none;
    }

    #works video{
        width: 100%;
        max-width: 1080px;
        height: auto;

        display: block;
        margin: 0 auto;

        aspect-ratio: 16 / 9;
        object-fit: cover;
        background-color: #000;
    }

    #works img{
        display: block;
        margin-left: auto;
        margin-right: auto;    
        width: 750px;
        height: auto;
    }

    #works .text p{
        display: block;
        margin: 10px auto;
    }

    #works .product-links {
        margin: 0 auto;
        max-width: 450px;
    }

    #works .product-links a {
        color: #000000;
        text-decoration: none;
    }

    #works .product-links a:hover {
        color: #20f881;
    }

    #works .text {
        margin: 3px;
        font-size: 1.3rem;
        text-align: center;
    }

    #works .list {
        margin: 30px;
        font-size: 1.3rem;
        text-align: center;
    }

    #works .list a {
        display: inline-block; 
        border: 1px solid black;
        padding: 15px 200px;
        text-decoration: none;
    }

    #works .list a:hover {
        background-color: aqua;
        text-decoration: none;
    }
    /* WORKS */

    /*　料金 */
    section#cost{
        margin-left: auto;
        margin-right: auto;
        width: 900px;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }
    
	section#cost{
        margin:	0	auto;
        border-bottom:	1px	solid	black;
    }

    section#cost table{
        margin:	0	auto;
        margin:	20px	auto;
        border-collapse:	collapse;
        width:	60%;
    }
	
    table th,table td{
        border:	solid	3px;
        padding:	5px;
        text-align:	center;
        background-color:	#f1f6f7;
        font-size:	18px;
        font-weight:	500;	
    }

    table th.item{
        width:	30%;	
    }

    table th.amount{
        width:	40%;	
    }

    table caption{
        margin:	10px;	
    }

    table caption{
        font-size: 1.4rem;
        font-weight:	bold;
	}

    table tr.heading th{
        background-color: antiquewhite;	
    }
    /*　料金 */

    #contact{
        text-align: center;
    }

    #contact h2{
        height: 15px;
    }

    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;
    }

    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;
    }
}

/* スマートフォン */
@media screen and (max-width: 470px) {
    body{
        padding-top: 80px;
        overflow-x: hidden;

        /* header 下固定用
        padding-bottom: 65px;
        */
    }

    #logo{
        width: 100rem;
        display: block;
        margin: auto;
    }

    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: 1rem;
        font-weight: bold;
        margin-top: 13px;
        margin-left: 20px;
    }

    #company-name a {
        color: inherit;
        text-decoration: none;
    }

    li.del{
        display: none;
    }

    p.del{
        display: none;
    }

    h1{
        text-align: center;
        font-size: 1.8rem;
    }

    p.main-text{
        width: 95%;
        margin: 0 auto;
        text-align: center;
        font-size: 0.7rem;
        font-weight: bold;
        padding-bottom: 0px;
    }

    /* サービス */
    #service{
        margin-left: auto;
        margin-right: auto;
        width: 90%;
        justify-content: center;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }

    #service h2{
        background-color: rgb(188, 223, 255);
        border-bottom: 1px solid black;
        text-align: center;
    }

    #service h2 a{
        font-size: 1.7rem;
        text-decoration: none;
    }

    #service ul{
        width: 90%;
    }

    #service li{
        padding-bottom: 3px;
        font-size: 1rem;
    }

    #service a{
        color: black;
    }

    #service a:hover{
        color: #ff7a00;
    }

    #service a:hover#no{
        color: black
    }
    /* サービス */

    /* WORKS */
    #works {
        width: 95%;
        margin: 0 auto;
    }

    #works a{
        color: black;
    }

    #works h2{
        text-align: center;
    }

    #works h2 a{
        font-size: 1.3rem;
        text-decoration: none;
    }

    #works h3{
        text-align: center;
    }

    #works h3 a{
        font-size: 1rem;
        text-decoration: none;
    }

    #works img{
        max-width: 100%;
    }

    #works video{
        width: 100%;
        max-width: 1080px;
        height: auto;

        display: block;
        margin: 0 auto;

        aspect-ratio: 16 / 9;
        object-fit: cover;
        background-color: #000;
    }

    #works .works{
        border: 1px solid black;
    }

    #works .text p{
        display: block;
        text-align: center;
        margin: 5px auto;
    }

    #works .list {
        margin: 10px;
        font-size: 1.3rem;
        text-align: center;
    }

    #works .list a {
        display: inline-block; 
        border: 1px solid black;
        padding: 5px 10px;
        text-decoration: none;
    }
    /* WORKS */

    /* 料金 */
    section#cost{
        margin-left: auto;
        margin-right: auto;
        width: 95%;
        border-top: 1px solid black;
        border-bottom: 1px solid black;
    }

    section#cost{
        margin:	0 auto;
        border-bottom:	1px	solid	black;
    }

    section#cost table{
        margin:	0 auto;
        margin:	10px auto;
        border-collapse:	collapse;
        width:	100%;
    }

    table th,table td{
        border:	solid 2px;
        padding:	5px;
        text-align:	center;
        background-color: #f1f6f7;
        font-size:	0.8rem;
        font-weight:	500;	
    }

    table th.item{
        width:	35%;	
    }

    /*
    table th.amount{
        width:	35%;	
    }
        */

    table th.remarks{
        width:	30%;	
    }

    table caption{
        margin:	10px;	
    }

    table caption{
        font-size:	1.3rem;
        font-weight:	bold;
	}

    table tr.heading th{
        background-color: antiquewhite;	
    }
    /* 料金 */

    /* お問い合わせ*/
    #contact{
        text-align: center;

        padding-bottom: 100px;
    }

    #contact h2{
        height: 15px;
    }

    section#contact a{
        background-color: rgb(240, 75, 34);
        color: aliceblue;
        border-radius: 20px 20px 20px 20px;
        text-align: center;
        font-size: 1.7rem;
        width: 85%;
        text-decoration: none;
        font-weight: 550;
        display: block;
        margin: auto;
    }
    /* お問い合わせ*/

    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;
    }
}