@charset "UTF-8";

@media(min-width:1000px) {
    .container {
        width: 100%;
    }

    body {
        min-width: 1000px;
        background-color: lightcyan;
        color: #00648c;
    }
nav{
    display: none;
}
    .header {
        width: 100%;
        padding-top: 3%;
        background-image: url(../img/header.png);
        background-repeat: no-repeat;
        background-color: lightcyan;
    }

    .header_outer {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .header1 {
        width: 15%;
        margin-left: 60%;
    }

    .header2 {
        text-align: center;

    }

    .header3 {
        width: 100%;
        margin: auto 0;

        padding-top: 5%;
    }

    .header3 {
        width: 100%;
    }

    .header3 ul {
        display: table;
        margin: 0 auto;
        padding: 0;

        width: 80%;
        text-align: center;
        background-color: #FFEE7D;
    }

    .header3 li {
        display: table-cell;
        min-width: 50px;
    }

    .header3 li a {
        display: block;
        width: 250px;
        padding: 10px 0;
        text-decoration: none;
        color: #555;
        font-weight: bold;
    }

    .header3 li:hover {
        background-color: #FFF2CC;
    }

    .top {
        width: 100%;
        margin-top: 5%;
        margin-bottom: 5%;
    }

    .top img {
        width: 70%;
        margin: 0 auto;
    }

    .about {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .about1 {
        width: 60%;
        text-align: center;
        font-size: x-large;
    }

    .about2 {
        width: 40%;

    }

    .about3 {
        width: 80%;
        margin: 0 auto;
    }

    .about4 {
        width: 80%;
        margin-left: 25%;
        margin-top: 3%;
    }

    button {
        position: relative;
        overflow: hidden;
        border: 1px solid #18181a;
        color: #18181a;
        display: inline-block;
        font-size: 15px;
        line-height: 15px;
        padding: 18px 18px 17px;
        text-decoration: none;
        cursor: pointer;
        background: #fff;
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
        width: 235px;
    }

    button span:first-child {
        position: relative;
        transition: color 600ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 10;
    }

    button span:last-child {
        color: white;
        display: block;
        position: absolute;
        bottom: 0;
        transition: all 500ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 100;
        opacity: 0;
        top: 50%;
        left: 50%;
        transform: translateY(225%) translateX(-50%);
        height: 14px;
        line-height: 13px;
    }

    button:after {
        content: "";
        position: absolute;
        bottom: -50%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #61C1BE;
        transform-origin: bottom center;
        transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
        transform: skewY(9.3deg) scaleY(0);
        z-index: 50;
    }

    button:hover:after {
        transform-origin: bottom center;
        transform: skewY(9.3deg) scaleY(2);
    }

    button:hover span:last-child {
        transform: translateX(-50%) translateY(-50%);
        opacity: 1;
        transition: all 900ms cubic-bezier(0.48, 0, 0.12, 1);
    }

    .service {
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .service1 {
        width: 40%;
    }

    .service2 {
        width: 80%;
        margin: 0 auto;
    }

    .service3 {
        margin-top: 3%;
        margin-left: 25%;
    }

    .service4 {
        width: 60%;
        text-align: center;
        font-size: x-large;
    }

    .service5 {
        font-size: xx-large;
        font-weight: bolder;
    }

    .menu {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-top: 3%;
        margin-bottom: 5%;
    }

    .menu1 {
        width: 60%;
        text-align: center;
        font-size: x-large;
    }

    .menu2 {
        font-size: xx-large;
        font-weight: bolder;
    }

    .menu4 {
        width: 40%;
    }

    .menu5 {
        width: 80%;
        margin: 0 auto;
    }

    .menu6 {
        margin-left: 25%;
        margin-top: 3%;
    }

    .contact {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .contact1 {
        width: 40%;
    }

    .contact2 {
        width: 80%;
        margin: 0 auto;
    }

    .contact3 {
        margin-top: 3%;
        margin-left: 25%;
    }

    .contact4 {
        width: 60%;
        text-align: center;
        font-size: x-large;
    }

    .contact5 {
        font-size: xx-large;
        font-weight: bolder;
    }

    .contact6 {
        font-size: x-large;
    }

    .contact7 {
        font-size: medium;
    }

    .footer {
        width: 100%;
        padding-top: 3%;
        background-image: url(../img/footer.png);
       
        background-color: lightcyan;
        height: 350px;
    }
    .footer1 {
        width: 100%;
    }

    .footer1 ul {
        display: table;
        margin: 0 auto;
        padding: 0;

        width: 80%;
        text-align: center;
        background-color: #FFEE7D;
    }

    .footer1 li {
        display: table-cell;
        min-width: 50px;
    }

    .footer1 li a {
        display: block;
        width: 250px;
        padding: 10px 0;
        text-decoration: none;
        color: #555;
        font-weight: bold;
    }

    .footer1 li:hover {
        background-color: #FFF2CC;
    }

    .footer2 {
        width: 12%;
        display: flex;
        padding-top: 5%;
        margin: 0 auto;
    }

    .footer3 {
        margin-right: 25%;
    }

    .footer5 {
        text-align: center;
        padding-top: 5%;
    }
}

/* タブレットサイズ　レスポンシブ */
@media(min-width:600px) and (max-width:999px) {
    body {
        min-width: 768px;
        max-width: 960px;
        background-color: lightcyan;
        color: #00648c;
    }

    .container {
        width: 100%;
    }
nav{
    display: none;
}
.g-nav-list{
    display: none;
}
    .header {
        width: 100%;
        padding-top: 3%;
        background-image: url(../img/header.png);
        background-repeat: no-repeat;
        background-color: lightcyan;
    }

    .header_outer {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .header1 {
        width: 15%;
        margin-left: 55%;
    }

    .header2 {
        text-align: center;
        color: #00648c;
    }

    .header2 h1 {
        font-size: x-large;
    }

    .header3 {
        width: 100%;
        margin: auto 0;

        padding-top: 5%;
    }

    .header3 {
        width: 100%;
    }

    .header3 ul {
        display: table;
        margin: 0 auto;
        padding: 0;

        width: 80%;
        text-align: center;
        background-color: #FFEE7D;
    }

    .header3 li {
        display: table-cell;
        min-width: 50px;
    }

    .header3 li a {
        display: block;
        width: 180px;
        padding: 10px 0;
        text-decoration: none;
        color: #555;
        font-weight: bold;
    }

    .header3 li:hover {
        background-color: #FFF2CC;
    }
.openbtn{
    display: none;
}


    .top {
        width: 100%;
        margin-top: 5%;
        margin-bottom: 5%;
    }

    .top img {
        width: 80%;
        margin: 0 auto;
    }

    .about {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .about1 {
        width: 60%;
        text-align: center;
        font-size: large;
    }

    .about2 {
        width: 40%;

    }

    .about3 {
        width: 80%;
        margin: 0 auto;
    }

    .about4 {
        width: 80%;
        margin-left: 5%;
        margin-top: 3%;
    }

    .service {
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .service1 {
        width: 40%;
    }

    .service2 {
        width: 80%;
        margin: 0 auto;
    }

    .service3 {
        margin-top: 3%;
        margin-left: 5%;
    }

    .service4 {
        width: 60%;
        text-align: center;
    }

    .service5 {
        font-size: x-large;
        font-weight: bolder;
    }

    .service6 {
        font-size: large;
        margin-top: 7%;
    }

    .menu {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-top: 3%;
        margin-bottom: 5%;
    }

    .menu1 {
        width: 60%;
        text-align: center;
    }

    .menu2 {
        font-size: x-large;
        font-weight: bolder;
    }

    .menu3 {
        font-size: large;
        margin-top: 7%;
    }

    .menu4 {
        width: 40%;
    }

    .menu5 {
        width: 80%;
        margin: 0 auto;
    }

    .menu6 {
        margin-left: 5%;
        margin-top: 3%;
    }

    .contact {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .contact1 {
        width: 40%;
    }

    .contact2 {
        width: 80%;
        margin: 0 auto;
    }

    .contact3 {
        margin-top: 3%;
        margin-left: 5%;
    }

    .contact4 {
        width: 60%;
        text-align: center;

    }

    .contact5 {
        font-size: x-large;
        font-weight: bolder;
    }

    .contact6 {
        font-size: large;
        margin-top: 5%;
    }

    .contact7 {
        font-size: small;
    }

    .footer {
        width: 100%;
       
        margin: 0 auto;
        background-image: url(../img/tb-footer.png);

    }
    .footer1 {
        width: 100%;
    }

    .footer1 ul {
        display: table;
        margin: 0 auto;
        padding: 0;

        width: 80%;
        text-align: center;
        background-color: #FFEE7D;
    }

    .footer1 li {
        display: table-cell;
        min-width: 50px;
    }

    .footer1 li a {
        display: block;
        width: 180px;
        padding: 10px 0;
        text-decoration: none;
        color: #555;
        font-weight: bold;
    }

    .footer1 li:hover {
        background-color: #FFF2CC;
    }

    .footer2 {
        width: 12%;
        display: flex;
        padding-top: 5%;
        margin: 0 auto;
    }

    .footer3 {
        margin-right: 25%;
    }

    .footer5 {
        text-align: center;
        padding-top: 9%;
    }

    /* 詳しくはこちら　ボタン */
    button {
        position: relative;
        overflow: hidden;
        border: 1px solid #18181a;
        color: #00648c;
        display: inline-block;
        font-size: 15px;
        line-height: 15px;
        padding: 18px 18px 17px;
        text-decoration: none;
        cursor: pointer;
        background: #fff;
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
        width: 235px;
    }

    button span:first-child {
        position: relative;
        transition: color 600ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 10;
    }

    button span:last-child {
        color: white;
        display: block;
        position: absolute;
        bottom: 0;
        transition: all 500ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 100;
        opacity: 0;
        top: 50%;
        left: 50%;
        transform: translateY(225%) translateX(-50%);
        height: 14px;
        line-height: 13px;
    }

    button:after {
        content: "";
        position: absolute;
        bottom: -50%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #61C1BE;
        transform-origin: bottom center;
        transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
        transform: skewY(9.3deg) scaleY(0);
        z-index: 50;
    }

    button:hover:after {
        transform-origin: bottom center;
        transform: skewY(9.3deg) scaleY(2);
    }

    button:hover span:last-child {
        transform: translateX(-50%) translateY(-50%);
        opacity: 1;
        transition: all 900ms cubic-bezier(0.48, 0, 0.12, 1);
    }
}

/*spサイズレスポンシブ*/
@media(min-width:0px) and (max-width:599px) {
    body {
        min-width: 0px;
        max-width: 599px;
        min-width: 0px;
        max-width: 599px;
        background-color: lightcyan;
        color: #00648c;
    }

    .container {
        width: 100%;
    }

    .header {
        width: 100%;
        padding-top: 3%;
        background-image: url(../img/sp-header.png);
        background-repeat: no-repeat;
        background-color: lightcyan;
    }

    .header_outer {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .header1 {
        width: 30%;
        margin-left: 10%;
    }

    .header2 {
        text-align: center;
        color: #00648c;
        margin-left: 5%;
    }

    .header2 h1 {
        font-size: medium;
    }

    .header2 h2 {
        font-size: medium;
    }
    .header2 p{
        font-size: small;
    }

    .header3 {
        display: none;
    }

    .top {
        width: 100%;
        margin-top: 5%;
        margin-bottom: 5%;
    }

    .top img {
        width: 80%;
        margin: 0 auto;
    }

    .about {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .about1 {
        width: 50%;
        font-size: small;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        margin-right: 10%;

    }

    .about2 {
        width: 50%;

    }

    .about3 {
        width: 80%;
        margin: 0 auto;
        margin-bottom: 20%;
    }

    .about4 {
        width: 50%;
       margin-right: 5%;
        margin-top: 3%;
    }

    .service {
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        margin-bottom: 5%;
    }

    .service1 {
        width: 50%;
    }

    .service2 {
        width: 80%;
        margin: 0 auto;
        margin-bottom: 20%;
    }

    .service3 {
        margin-top: 3%;
    }

    .service4 {
        width: 50%;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    .service5 {
        font-size: large;
        font-weight: bolder;
    }

    .service6 {
        width: 60%;
        font-size: small;
        margin-right: 5%;
    }

    .menu {
        width: 80%;
        display: flex;
        align-items: center;
        margin: 0 auto;
        margin-top: 3%;
        margin-bottom: 5%;
    }

    .menu1 {
        width: 50%;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    .menu2 {
        font-size: large;
        font-weight: bolder;
    }

    .menu3 {
        font-size: small;
        margin-top: 7%;
        margin-right: 5%;
    }

    .menu4 {
        width: 50%;
    }

    .menu5 {
        width: 80%;
        margin: 0 auto;
    }

    .menu6 {
        margin-left: 5%;
        margin-top: 3%;
    }

    .contact {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 5%;
        margin-top: 15%;
    }

    .contact1 {
        width: 60%;
        margin: 0 auto;
    }

    .contact2 {
        width: 80%;
        margin: 0 auto;
    }

    .contact3 {
        margin-top: 10%;
        margin-left: 18%;
    }

    .contact4 {
        width: 80%;
        text-align: center;
        margin-left: 10%;
        margin-top: 5%;
    }

    .contact5 {
        width: 100%;
        font-size: medium;
        font-weight: bolder;
        margin: 0 auto;
        margin-bottom: 2%;
    }

    .contact6 {
        font-size: medium;
    }

    .contact7 {
        width: 100%;
        font-size: xx-small;
    }

    .contact8 {
        margin-top: 3%;
        font-size: small;
        font-weight: bold;
    }

    .footer {
        width: 100%;
       height: 200px;
        margin: 0 auto;
        background-image: url(../img/sp-footer.png);

    }
.footer1{
    display: none;
}
    .footer2 {
        width: 25%;
        display: flex;
        padding-top: 5%;
        margin: 0 auto;
    }

    .footer3 {
        margin-right: 25%;
    }

    .footer5 {
        text-align: center;
        padding-top: 5%;
    }

    /* 詳しくはこちら　ボタン */
    button {
        position: relative;
        overflow: hidden;
        border: 1px solid #18181a;
        color: #00648c;
        display: inline-block;
        font-size: 10px;
        line-height: 15px;
        padding: 10px 10px 9px;
        text-decoration: none;
        cursor: pointer;
        background: #fff;
        user-select: none;
        -webkit-user-select: none;
        touch-action: manipulation;
        width: 150px;
    }

    button span:first-child {
        position: relative;
        transition: color 600ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 10;
    }

    button span:last-child {
        color: white;
        display: block;
        position: absolute;
        bottom: 0;
        transition: all 500ms cubic-bezier(0.48, 0, 0.12, 1);
        z-index: 100;
        opacity: 0;
        top: 50%;
        left: 50%;
        transform: translateY(225%) translateX(-50%);
        height: 14px;
        line-height: 13px;
    }

    button:after {
        content: "";
        position: absolute;
        bottom: -50%;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #61C1BE;
        transform-origin: bottom center;
        transition: transform 600ms cubic-bezier(0.48, 0, 0.12, 1);
        transform: skewY(9.3deg) scaleY(0);
        z-index: 50;
    }

    button:hover:after {
        transform-origin: bottom center;
        transform: skewY(9.3deg) scaleY(2);
    }

    button:hover span:last-child {
        transform: translateX(-50%) translateY(-50%);
        opacity: 1;
        transition: all 900ms cubic-bezier(0.48, 0, 0.12, 1);
    }

    /*========= ナビゲーションのためのCSS ===============*/

    #g-nav {
        /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
        position: fixed;
        z-index: 999;
        /*ナビのスタート位置と形状*/
        top: 0;
        right: -120%;
        width: 100%;
        height: 100vh;
        /*ナビの高さ*/
        background: #FFEE7D;
        /*動き*/
        transition: all 0.6s;
    }

    /*アクティブクラスがついたら位置を0に*/
    #g-nav.panelactive {
        right: 0;
    }

    /*ナビゲーションの縦スクロール*/
    #g-nav.panelactive #g-nav-list {
        /*ナビの数が増えた場合縦スクロール*/
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 100vh;
        /*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    /*ナビゲーション*/
    #g-nav ul {
        /*ナビゲーション天地中央揃え*/
        position: absolute;
        z-index: 999;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    /*リストのレイアウト設定*/

    #g-nav li {
        list-style: none;
        text-align: center;
    }

    #g-nav li a {
        color: #333;
        text-decoration: none;
        padding: 10px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
        width: 250px;
    }

    /*========= ボタンのためのCSS ===============*/
    .openbtn {
        position: fixed;
        z-index: 9999;
        /*ボタンを最前面に*/
        top: 10px;
        right: 10px;
        cursor: pointer;
        width: 50px;
        height: 50px;
    }

    /*×に変化*/
    .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background-color: #00648c;
        width: 45%;
    }

    .openbtn span:nth-of-type(1) {
        top: 15px;
    }

    .openbtn span:nth-of-type(2) {
        top: 23px;
    }

    .openbtn span:nth-of-type(3) {
        top: 31px;
    }

    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }

    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }

    .openbtn.active span:nth-of-type(3) {
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
}