a, span {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

menu {
    margin: 0;
    padding: 0;
}

.grad-trigger {
    display: none;
}

.intro h1 p.narrow {
    display: none;
}

#flowpage #flow .flow_responsive {
    display: none;
}


.flow_responsive svg {
    width: 60px;
    margin: 30px auto;
    display: block;
}

@media screen and (max-width: 768px) {
    body {
        padding-top: 90px;
    }
    
    #toppage,
    #newspage,
    #aboutpage,
    #flowpage,
    #workspage,
    #formpage,
    #qandapage {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: calc(100vh - 90px);
}
    
    #toppage .intro {
        padding: 200px 0;
    }
    
    #nav_toggle {
        width: 30px;
    }
    
    #nav_toggle:hover span.nav1 {
        top: 11px;
    }

    #nav_toggle:hover span.nav3 {
        top: 25px;
    }
    
    .gtt {
        right: 0;
    }

    header {
        padding: 25px 0;
    }


    header h1 {
        width: 110px;
        height: 35px;
    }

    #toppage .topimg {
        background-size: 150%;
        padding-top: 60%;
    }

    #toppage .intro dt {
        font-size: 1.7rem;
    }

    #toppage .intro dt,
    #toppage .intro dd {
        width: 80%;
    }

    #toppage .topworks_wrapper {
        flex-flow: row wrap;
    }

    #toppage .information dl {
        width: 94%;
        max-width: 520px;
        letter-spacing: 1px;
    }

    #toppage .information dt,
    #toppage .information dd {
        font-size: 1.4rem;
    }

    #toppage .information dt {
        width: 30%;
    }

    #toppage .information dd {
        width: 70%;
    }

    #footer {
        letter-spacing: 1px;
    }

    /*news*/

    #newspage #newsinner #newsinner_main {
        width: 94%;
        padding: 0;
    }

    #newspage #newsinner .newsbox {
        margin-bottom: 30px;
    }

    #newspage #newsinner h3 {
        font-size: 1.8rem;
        width: 100%;
        height: auto;
        line-height: 2;
        margin: 0;
    }

    #newspage #newsinner h3 p {
        display: block;
        float: none;
    }

    #newspage #newsinner h3 p.date {
        float: none;
    }

    #newspage #newsinner #newsinner_side {
        width: 100%;
    }

    #newspage #newsinner #newsinner_side dl dd ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    #newspage #newsinner #newsinner_side dl dd ul li {
        margin: 0.25em 0;
        width: 100%;
    }

    /*about*/
    
    #aboutpage dl.table_about {
        max-width: 540px;
    }

    #aboutpage .table_about dt,
    #aboutpage .table_about dd {
        width: 100%;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    #aboutpage .table_about dt {
        padding: 15px 7.5px 0;
        border: none;
    }

    #aboutpage .table_about dd {
        text-align: center;
        padding: 10px 0;
    }
    
    #aboutpage #access p.address {
        font-size: 1.3rem;    
    }
    
    #aboutpage #privacypolicy {
        font-size: 1.2rem;
    }

    /*flow*/

    #flowpage #flow ol li {
        width: 100%;
    }
    
    #flowpage #flow ol.flow_responsive li {
        width: 90%;
        margin: 45px auto;
        padding-top: 45%;
        border-radius: 5px;
        overflow: hidden;
    }
    
    #flowpage #flow ol li section,
    #flowpage #flow ol li section h3,
    #flowpage #flow ol li section p {
        width: 100%;
    }
    
    #flowpage #flow ol li section p {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    #flowpage #flow .slick-container {
        display: none;
    }
    
    #flowpage #flow .flow_responsive {
        display: block;
    }

    /*yosakoi end*/
    /*form*/

    .otoiawase h2,
    .seisaku h2 {
        font-size: 125%;
    }

    #forminner fieldset {
        width: 94%;
        max-width: 400px;
    }

    .kakuningamen {
        width: 94%;
        max-width: 600px;
    }

    .kakuningamen > dt,
    .kakuningamen > dd {
        width: 100%;
    }

    .kakuningamen > dt {
        text-align: left;
        padding: 1rem 1rem 0 1rem;
        border: none;
    }

    .kakuningamen > dd {
        font-size: 1.8rem;
        min-height: 4.8rem;
        text-align: center;
    }

    /*form end*/

    /*works*/
    #workspage .checkbox {
        height: auto;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    
    #workspage .checkbox label {
        width: 50%;
        margin: 0 0 15px;
    }

    #workspage .pickup p.ichiran {
        font-size: 1.4rem;
    }

    #workspage .pickup p.ichiran a {
        margin: 0 !important;
        padding: 0;
    }

    #toppage .pickuplist,
    #workspage .pickuplist,
    #workspage .past {
        width: 90%;
    }

    #toppage .pickuplist dl,
    #workspage .pickuplist dl,
    #workspage .past dl {
        width: 100%;
    }

    #toppage .pickuplist dl dt,
    #workspage .pickuplist dl dt,
    #workspage .past dl dt {
        width: 90%;
        margin: 0 auto;
    }

    #toppage .pickuplist dl dt .photo p,
    #workspage .pickuplist dl dt .photo p,
    #workspage .past dl dt .photo p {
        width: 100%;
        height: 100%;
    }

    #toppage .pickuplist dl dd p,
    #toppage .pickuplist dl dd p span,
    #workspage .pickuplist dl dd p,
    #workspage .pickuplist dl dd p span,
    #workspage .past dl dd p {
        white-space: normal;
    }
    
    #toppage .pickuplist dl dd p.title,
    #workspage .pickuplist dl dd p.title {
        height: auto;
        line-height: 0;
    }
    
    #toppage .pickuplist dl dd p span,
    #workspage .pickuplist dl dd p span {
        line-height: 26px;
    }
    
    #toppage .pickuplist dl dd p.title span::after,
    #workspage .pickuplist dl dd p.title span::after {
        display: none;
    }
    
    #toppage .pickuplist dl dt:hover + dd p.title span,
    #workspage .pickuplist dl dt:hover + dd p.title span {
        text-decoration: underline;
    }

    #workspage h3 {
        font-size: 2rem;
    }

    #workspage .teamprofile {
        padding: 30px 0;
    }

    #workspage .teamprofile dl {
        width: 94%;
    }

    #workspage .teamprofile dl dt,
    #workspage .teamprofile dl dd {
        width: 100%;
        font-size: 1.4rem;
    }

    #workspage .teamprofile dl dt {
        padding: 22.5px 7.5px 0;
        border: none;
    }

    #workspage .teamprofile dl dd {
        padding: 22.5px 0;
        text-align: center;
    }
    
    #workspage .teamprofile dl dd:first-of-type {
        margin-top: 0
    }
    
    #workspage .teamprofile dl dt:last-of-type {
        margin-bottom: 0
    }

    #workspage .table_jisseki {
        width: 100%;
        white-space: nowrap;
        margin: 0 auto;
        border-left: 15px #fff solid;
        border-right: 15px #fff solid;
    }

    #workspage .table_jisseki th {
        text-align: center;
    }

    #workspage .table_jisseki td .jissekilist {
        white-space: normal;
        width: 160px;
    }

    .scroll {
        overflow: auto;
        white-space: nowrap;
    }

    /*work end*/

    /*p.menu {
        display: none;
    }

    .slick-wrapper img {
        max-width: 100%;
        height: auto;
    }*/

    .otoiawase a.tel[href*="tel:"] {
        pointer-events: auto;
        cursor: default;
        color: #a7b6bb;
        font-weight: bold;
        border-bottom: 3px double #f7f7f9;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(2n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(3n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    .grad-wrap {
        position: relative;
    }

    .grad-wrap + .grad-wrap {
        margin-top: 40px;
    }

    .grad-trigger {
        display: block;
        z-index: 2;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        margin: auto;
        text-align: center;
        cursor: pointer;
        transition: .3s ease-out;
    }

    .grad-item {
        position: relative;
        overflow: hidden;
    }

    .grad-item.is-hide {
        height: 180px;
        /*隠した後の高さ*/
    }

    .grad-item::before {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 30px;/*グラデーションで隠す高さ*/
        background: -webkit-linear-gradient(rgba(247, 247, 249, 0) 0%, rgba(247, 247, 249, 1) 100%);
        background: linear-gradient(rgba(247, 247, 249, 0) 0%, rgba(247, 247, 249, 1) 100%);
    }

    .grad-trigger.is-show + .grad-item::before {
        display: none;
    }

}

@media screen and (max-width: 767px) {
    menu nav.menu {
        width: 100%;
        transform: translateX(-50%);
    }
    
    /* 右 */
    html:after {
      display: none;
    }

    /* 左 */
    body:after {
      display: none;
    }
    
    #nav_toggle {
        left: 18px;
    }
    
    #globalnavi_hmbg ul li a {
        padding: 15px 0;
    }
    
    #toppage .intro h1 {
        width: 300px;
    }
    
    #toppage .intro p.wide {
        display: none;
    }
    
    #toppage .intro p.narrow {
        display: block;
        font-size: 2.5rem;
    }
    
    #toppage .topworks .jyushou {
        width: 100%;
    }
    
    #toppage .information dt {
        width: 35%;
        padding: 7.5px 0 7.5px 7.5px;
    }
    
    #toppage .information dd {
        width: 65%;
    }
    
    #toppage .pickuplist dl.delighter:nth-of-type(3n-1) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(3n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
    
    #toppage .pickuplist dl.delighter:nth-of-type(2n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
}

@media screen and (max-width: 320px) {
    #toppage .information dt,
    #toppage .information dd {
        font-size: 1.3rem;
    }

    #aboutpage .table_about dd {
        font-size: 1.5rem;
    }

    #workspage .pickup p.ichiran {
        font-size: 1.2rem;
    }
    
    #formpage .otoiawase h2, .seisaku h2 {
        letter-spacing: 3px;
    }

    .isho label.radiolabel {
        font-size: 1.2rem;
    }

    #footer {
        font-size: 1.2rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    #toppage .topworks .jyushou {
        width: 50%;
        margin-bottom: 15px;
    }

    nav.fixednav ul li.tel,
    nav.fixednav ul li.sns {
        display: none;
    }

    #toppage .topimg {
        background-size: 100%;
        padding-top: 41.11%;
    }

    #toppage .intro dt {
        width: 480px;
        font-size: 2rem;
    }

    #toppage .intro dd {
        width: 660px;
    }

    #toppage .information dl {
        width: 520px;
        letter-spacing: 2px;
    }

    #toppage .information dt,
    #toppage .information dd {
        font-size: 1.5rem;
    }

    #toppage .information dt {
        width: 25%;
    }

    #toppage .information dd {
        width: 75%;
    }
    
    #toppage .pickuplist dl.delighter:nth-of-type(3n-1) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(3n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }
    
    #toppage .pickuplist dl.delighter:nth-of-type(2n) {
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }
    
    .gtt {
        right: 15px;
    }

    /*flow*/

    #flowpage #flow ol li.flow1,
    #flowpage #flow ol li.flow2,
    #flowpage #flow ol li.flow3,
    #flowpage #flow ol li.flow4,
    #flowpage #flow ol li.flow5 {
        width: 600px;
        padding-top: 300px;
    }
    
    #flowpage #flow ol li section h3,
    #flowpage #flow ol li section p,
    .slick_arrow {
        width: 600px;
    }

    /*works*/
    
    #workspage .checkbox {
        width: 65%;
        flex-wrap: nowrap;
        height: 20px;
    }

    #workspage .pickup p.ichiran {
        font-size: 1.5rem;
    }

    #toppage .pickuplist dl,
    #workspage .pickuplist dl,
    #workspage .past dl {
        width: 46%;
        margin: 0 2% 30px;
    }

    #workspage .past dl dt {
        width: 90%;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(3n-1),
    #workspage .pickuplist dl.delighter:nth-of-type(3n-1),
    #workspage .past dl.delighter:nth-of-type(3n-1) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(3n),
    #workspage .pickuplist dl.delighter:nth-of-type(3n),
    #workspage .past dl.delighter:nth-of-type(3n) {
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
    }

    #toppage .pickuplist dl.delighter:nth-of-type(2n),
    #workspage .pickuplist dl.delighter:nth-of-type(2n),
    #workspage .past dl.delighter:nth-of-type(2n) {
        -webkit-transition-delay: 0.3s;
        transition-delay: 0.3s;
    }
}