    html {
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
    }


    /*ヘッダー*/
    .header {
        width: 100%;
        margin: -10px 0 0 0;
        background-color: #000;
        border-top: solid 10px #000;

        overflow: hidden;
    }

    .header_padding {
        padding: 20px 10px;
    }

    .header_grid {
        display: grid;
        grid-template-columns: 8% 91%;
        grid-template-rows: auto;
        grid-column-start: 1;
        grid-column-end: 3;

    }

    @media screen and (max-width: 900px) {
        .header {
            width: 100%;
            margin: -10px 0 0 0;
            background-color: #000;
            border-top: solid 10px #000;
        }

        .header_padding {
            padding: 20px 5px;
        }

        .header_grid {
            display: grid;
            grid-template-columns: 60% 40%;
            grid-template-rows: auto;
            grid-column-start: 1;
            grid-column-end: 3;
        }
    }

    .logo {
        margin: 0 auto 0 10px;
        z-index: 2;
    }

    .logo:hover {
        opacity: 0.7;
    }

    .logo img {
        width: auto;
        height: 70px;
    }



    /*ドロップダウンメニュー*/
    .gnav {
        display: flex;
        margin: 0 5px 0 auto;
        z-index: 1;
    }

    @media screen and (max-width: 900px) {
        .gnav {
            display: none;
        }
    }

    .gnav>li {
        padding: 15px 0 0 20px;
        text-align: center;
        width: 100px;
    }

    /*全てのリスト・リンク共通*/
    .gnav li {
        list-style: none;
        position: relative;
    }

    .gnav li a {
        display: block;

        color: #fff;
        font-size: 1em;
        font-weight: bold;
        text-decoration: none;

        font-family: 'Kaisei Decol' 、セリフ;
        font-family: 'Kaisei 特民' 、セリフ;
    }

    .gnav li a:hover {
        color: #b0c4de;
    }

    .gnav ul li {
        height: 0;

        text-decoration: underline;
        text-underline-offset: 5px;
        text-decoration-color: #fff;
        text-decoration-thickness: 0.5px;

        width: 200px;
        margin: 0 auto 0 -90px;
        padding: 5px 0 0 0;
        overflow: hidden;
        transition: .5s;
    }

    @media screen and (max-width: 1080px) {
        .gnav ul li {
            height: 0;

            width: 120px;
            margin: 0 auto 0 -60px;
            padding: 5px 0 0 0;
            overflow: hidden;
            transition: .5s;
        }
    }

    .gnav>ul>li a {
        border-bottom: 0.5px solid #a9a9a9;
        font-size: 0.8em;

        border-bottom: solid 0.5px #fff;

        font-family: 'Kaisei Decol' 、セリフ;
    }

    @media screen and (max-width: 1080px) {
        .gnav>ul>li a {
            font-size: 0.6;
        }
    }

    .gnav li li a:hover {
        color: #b0c4de;
    }


    .drop_top {
        padding-top: 20px;
    }

    .gnav li:hover>ul>li {
        height: 2rem;
        overflow: visible;
    }




    /*ハンバーガーメニュー*/
    #switch {
        width: 60px;
        height: 60px;
        margin: 5px 20px 16px 0;

        background: url(../image/top/humberger_menu01.png) no-repeat;
        background-size: 100% 100%;
        cursor: pointer;
        animation: rotation02 0.5s linear forwards;
    }

    @media screen and (max-width: 700px) {
        #switch {
            margin: 25px 10px 15px 0;
        }
    }

    @media screen and (max-width: 530px) {
        #switch {
            margin: 35px 10px 10px 0;
        }
    }

    @media screen and (max-width: 330px) {
        #switch {
            margin: 45px 10px 12px 0;
        }
    }


    #switch.on_switch {
        background: url(../image/top/humberger_menu02.png) no-repeat;
        background-size: 100% 100%;
        animation: rotation 1s linear forwards;
    }

    @keyframes rotation {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    @keyframes rotation02 {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(180deg);
        }
    }




   /*ハンバーガーメニュー 中身*/
   .humberger_menu {
        display: none;
        margin: 0 0;
    }

    @media screen and (max-width: 900px) {
        .humberger_menu {
            display: block;
            width: 100%;
            z-index: 1;

            position: absolute;
            top: 25px;
            right: 9px;

            text-align: right;
            overflow: hidden;

        }
    }

    @media screen and (max-width: 700px) {
        .humberger_menu {
            top: 5px;
        }
    }

    @media screen and (max-width: 680px) {
        .humberger_menu {
            top: 2px;
        }
    }

    @media screen and (max-width: 630px) {
        .humberger_menu {
            top: 0;
        }
    }

    @media screen and (max-width: 500px) {
        .humberger_menu {
            top: -3px;
        }
    }

    @media screen and (max-width: 450px) {
        .humberger_menu {
            top: -6px;
        }
    }

    @media screen and (max-width: 420px) {
        .humberger_menu {
            top: -9px;
        }
    }

    @media screen and (max-width: 390px) {
        .humberger_menu {
            top: -12px;
        }
    }

    /*メニュー */
    .humberger_menu button {
        background-color: rgba(255, 255, 255, 0);
        border: none;
    }

    .humberger_menu button:hover {
        opacity: 0.8;
    }

    .humberger_menu img {
        width: 100%;
        -webkit-user-drag: none;
        -webkit-user-drag: none;
        user-select: none;

    }


    .humberger {
        color: #fff;
        font-size: 18px;
        font-weight: bold;
        overflow: hidden;

    }

    .humberger span {
        display: block;
        margin-left: 100%;
        transition: 0.8s;
    }

    .active span {
        margin-left: 0;
    }

    .humberger_open {
        margin-left: 40%;
    }

    @media screen and (max-width: 500px) {
        .humberger_open {
            margin-left: 10%;
        }
    }

    .humberger_open table {
        width: 100%;
        background-color: #708090;
        margin-top: 11px;
    }

    .humberger_open tr a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .humberger_open tr:hover {
        background-color: #54606b;
    }


    .humberger_open_text {
        text-align: right;
        padding: 10px 20px 10px 0;

    }

    .humberger_open_text a {
        text-decoration: none;
        color: #fff;
        font-size: 1.2em;
        font-weight: bold;
        user-select: none;
    }

    .humberger_open_text summary {
        display: block;
        list-style: none;
    }

    .humberger_open_text a:hover {
        color: #e6e6fa;
    }

    .humberger_open_text:hover {
        color: #b0c4de;
    }




   /*アコーディオン*/
    summary::-webkit-details-marker {
        display: none;
    }

    .acodion_main {
        margin: 10px 0 0;
    }

    .acodion {
        margin: 0 0;
        font-size: 0.8em;
        user-select: none;

        padding: 5px 0;
    }

    .acodion a {
        text-decoration: none;
        color: #e6e6fa;
        font-family: 'Kaisei Decol' 、セリフ;

        text-decoration: underline;
        text-underline-offset: 5px;
        text-decoration-color: #e6e6fa;
        text-decoration-thickness: 0.5px;
        text-align: right;

        display: block;
        width: 100%;
        height: 100%;

        transition-duration: 0.5s;
    }

    .acodion a:hover {
        color: #b0c4de;

        font-size: 1.7em;

        text-decoration: underline;
        text-underline-offset: 5px;
        text-decoration-color: #b0c4de;
        text-decoration-thickness: 1px;
    }

    .acodion_title {
        font-size: 1.2em;
        text-decoration: none;
        user-select: none;
    }







    /*会社概要*/
    .company_main {
        margin: 30px auto;
        padding: 50px 40px;
    }

    @media screen and (max-width: 600px) {
        .company_main {
            margin: 30px auto;
            padding: 50px 10px;
        }
    }

    .company_title {
        font-size: 2em;
        font-weight: bold;
        text-align: center;

        text-decoration: underline;
        text-decoration-color: #00bfff;
        text-decoration-thickness: 2px;
        text-underline-offset: 12px;

        margin: 0 auto 30px;
    }


    .company_title02 {
        font-size: 2em;
        font-weight: bold;
        text-align: center;

        text-decoration: underline;
        text-decoration-color: #00bfff;
        text-decoration-thickness: 2px;
        text-underline-offset: 12px;

        margin: 0 auto 10px;
    }

    .company_komidashi {
        font-size: 1em;
        text-align: center;

        margin: 0 auto 30px;
    }



    .company_box {
        width: 700px;
        display: grid;
        grid-template-columns: 20% 80%;
        grid-template-rows: auto;
        grid-column-start: 1;
        grid-column-end: 3;
        row-gap: 0px;

        margin: 0 auto;
    }

    @media screen and (max-width: 800px) {
        .company_box {
            width: 500px;
        }
    }

    @media screen and (max-width: 550px) {
        .company_box {
            display: block;
            width: 95%;
        }
    }

    .company_text01 {
        font-size: 1em;
        font-weight: normal;
        border-top: solid 0.7px #a9a9a9;
        border-right: solid 0.7px #a9a9a9;
        border-left: solid 0.7px #a9a9a9;
        border-bottom: solid 0.7px #a9a9a9;


        padding: 10px 5px 10px 20px;
        margin: 0 0;
    }

    @media screen and (max-width: 800px) {
        .company_text01 {
            font-size: 0.8em;
            padding: 10px 2px 10px 10px;
        }
    }

    @media screen and (max-width: 550px) {
        .company_text01 {
            text-decoration: underline;
            text-decoration-color: #000;
            text-decoration-thickness: 0.5px;
            text-underline-offset: 3px;

            padding: 10px 2px 0 10px;
            border-top: solid 0.7px #a9a9a9;
            border-right: solid 0.7px #a9a9a9;
            border-left: solid 0.7px #a9a9a9;
            border-bottom: none;
        }
    }


    .company_text02 {
        font-size: 1em;
        border-top: solid 0.7px #a9a9a9;
        border-right: solid 0.7px #a9a9a9;
        border-left: solid 0.7px #a9a9a9;
        border-bottom: solid 0.7px #a9a9a9;

        padding: 10px 5px 10px 20px;
        margin: 0 0;
    }

    @media screen and (max-width: 800px) {
        .company_text02 {
            font-size: 0.8em;
            padding: 10px 2px 10px 10px;
        }
    }

    @media screen and (max-width: 550px) {
        .company_text02 {
            padding: 3px 2px 10px 10px;

            border-top: none;
            border-right: solid 0.7px #a9a9a9;
            border-left: solid 0.7px #a9a9a9;
            border-bottom: solid 0.7px #a9a9a9;
        }
    }

    .company_text02 a {
        text-decoration: none;
        color: #708090;
    }

    .company_text02 a:hover {
        color: #b0c4de;
    }

    .company_br {
        display: none;
    }

    @media screen and (max-width: 800px) {
        .company_br {
            display: block;
        }
    }




    /*フッター*/

    .futter_box {
      background-color: #2a2a2a;
      margin: 0 0;
    }

    .futter_main {
      margin: 70px auto;
      padding: 50px 20px 150px;
      margin-bottom: -150px;
    }

    .futter_logo {
      text-align: center;
      margin: 0 0 30px;
    }

    .futter_logo img {
      width: 100px;
    }

    .contact_title {
      font-size: 1.2em;
      font-weight: bold;
      text-align: center;
      color: #fff;

      text-decoration: underline;
      text-decoration-color: #fff;
      text-decoration-thickness: 1px;
      text-underline-offset: 8px;
    }

    .futter_br {
      display: none;
    }

    @media screen and (max-width: 700px) {
      .futter_br {
        display: block;

      }
    }



    .contact_text_box {
      margin: 10px auto 30px;
      text-align: center;
    }

    .contact_text {
      font-size: 1em;
      text-align: center;
      color: #fff;
      text-align: center;

      margin: 5px auto 0;
    }

    @media screen and (max-width: 700px) {
      .contact_text {
        font-size: 0.8em;
      }
    }


    .contact_text a {
      text-decoration: none;
      color: #fff;
    }

    .contact_text a:hover {
      color: #696969;
    }


    .copywrite {
      width: 100%;
      margin: 0 auto;
      font-size: 0.6em;
      color: #fff;

      text-align: center;
    }

    .copy_mark {
      font-size: 2em;
      vertical-align: -3px;
    }

    .return_text {
      font-size: 1em;
      margin: 30px auto;

      text-decoration: underline;
      text-decoration-color: #fff;
      text-decoration-thickness: 0.5px;
      text-underline-offset: 8px;
    }

    @media screen and (max-width: 700px) {
      .return_text {
        font-size: 0.8em;
      }
    }

    .return_text a {
      text-decoration: none;
      color: #fff;
    }

    .return_text a:hover {
      color: #837e7e;
    }