@media screen and (max-width: 768px) {

    header {
        height: 50px;
        padding: 0 10px;
        position: relative;
    }

    #header-logo img {
        width: 66px;
    }

    .hamburger {
        position: absolute;
        right: 14px;
        top: 4px;
        width: 40px;
        height: 40px;
        cursor: pointer;
        z-index: 300;
    }

    .hamburger__line {
        position: absolute;
        left: 3px;
        width: 34px;
        height: 3px;
        background-color: #00B3F0;
        transition: all .6s;
    }

    .hamburger__line--1 {
        top: 8px;
    }

    .hamburger__line--2 {
        top: 18px;
    }

    .hamburger__line--3 {
        top: 28px;
    }

    .nav-open .hamburger__line--1 {
        transform: rotate(45deg);
        top: 20px;
    }

    .nav-open .hamburger__line--2 {
        width: 0;
        left: 50%;
    }

    .nav-open .hamburger__line--3 {
        transform: rotate(-45deg);
        top: 20px;
	}

    #navi {
        position: absolute;
        top: 50px;
        left: 0;
        text-align: center;
        background: #ffffff;
        width: 100%;
        display: none;
        flex-direction: column;
        border-top: 1px solid #d2d2d2;
        border-bottom: 1px solid #d2d2d2;
        padding: 20px 0;
    }

    #navi a {
        margin-left: 0;
        line-height: 3;
        display: block;
    }

    #header-blue {
        font-size: 16px;
        line-height: 1.4;
    }

    #main {
        padding: 40px 0 20px;
        overflow: hidden;
    }

    #main-logo {
        width: 220px;
    }

    #main h1 {
        font-size: 40px;
        margin: 20px 10px 0;
        line-height: 1.4;
    }

    #main h1 span {
        display: block;
        font-size: 20px;
        margin-top: 12px;
    }

    #slider {
        display: none;
    }

    #slider-sp {
        display: block;
    }

    #slider-sp img {
        margin: 0 auto;
        width: 100%;
    }

    #sec01 {
        padding: 40px 20px 0;
        text-align: center;
    }

    #sec01 h2 {
        font-size: 30px;
        text-align: left;
    }

    #sec01 p {
        font-size: 16px;
        text-align: left;
    }

    #ikkokudo {
        display: none;
    }

    #ikkokudo-sp {
        position: static;
        width: 240px;
        margin: 40px auto 0;
        display: block;
    }

     #sec03, #sec04, #sec05 {
        padding: 40px 20px ;
    }

    .h-eng {
        font-size: 20px;
    }

    .h-eng span {
        font-size: 46px;
        line-height: 1;
    }

    .h-eng-img-02 {
        display: none;
    }

    #sec02{
        padding: 40px 20px ;
    }
    
    .h-jp {
        font-size: 28px;
        line-height: 1.4;
        margin-bottom: 30px;
    }

    .divide-wrap {
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    .divide h3 {
        font-size: 24px;
        margin-bottom: 14px;
    }

    .divide-area {
        padding: 20px;
    }

    .apply-img {
        width: 180px;
    }

    .apply-line {
        font-size: 16px;
    }

    .apply-txt {
        font-size: 14px;
        margin-top: 10px;
        height: auto;
    }

    .divide {
        margin-bottom: 40px;
    }

    #sec03 {
        padding: 40px 10px 0;
    }

    .h-eng-img-04 {
        display: none;
    }

    .h-eng-img-05 {
        display: none;
    }

    .reason-txt {
        height: auto;
    }

    #sec05 .divide-area {
        padding: 20px;
    }

    #sec05 .divide {
        margin-bottom: 20px;
    }

    #sec06 {
        width: 100%;
        padding: 40px 20px;
        box-sizing: border-box;
    }

    .h-mission {
        width: 100%;
        font-size: 24px;
    }

    .h-mission img {
        width: 100%;
    }

    .mission-txt {
        font-size: 14px;
        margin-top: 20px;
    }

    .sp-none {
        display: none;
    }

    #sec07 {
        padding: 40px 20px;
    }

    #sec07 h2 {
        font-size: 46px;
    }

    #qa {
        margin-top: 20px;
    }

    .qa-list {
        padding-right: 50px;
        margin-bottom: 12px;
    }

    .qa-list dt {
        font-size: 26px;
    }

    .qa-list dd {
        margin-left: 10px;
        font-size: 14px;
    }

    .h-eng-img-08 {
        display: none;
    }
    
    #sec08 {
        padding: 40px 20px;
    }

    #faces {
        padding: 0;
        margin: 30px auto;
    }

    .face {
        width: 100px;
        margin: 0 5px 20px;
    }

    .face p {
        font-size: 12px;
    }

    #sec09 {
        padding: 40px 0;
    }

    .org-txt {
        font-size: 14px;
        padding: 0 20px;
        box-sizing: border-box;
        width: 100%;
    }

    #sec09 .slick-dotted.slick-slider {
        margin:20px 0 50px
    }

    #org-icons {
        flex-wrap: wrap;
    }

    .org-icon {
        width: 140px;
        margin: 0 10px;
        margin-bottom: 20px;
    }

    .org-icon img {
        width: 100px;
        height: 100px;
    }

    .org-icon p {
        font-size: 13px;
    }

    #form {
        padding: 40px 20px;
    }

    #form h2 {
        font-size: 34px;
    }

    #form .form_line label {
        font-size: 16px;
    }

    #form .form_line input[type="text"] {
        height: 46px;
    }
    
    #form .form_line {
        margin-bottom: 30px;
    }

    #form .inline-radio input {
        height: 50px;
    }

    #form .form_submit input[type="submit"] {
        padding: 10px 100px;
        font-size: 20px;
    }

    .overview-table {
        width: 100%;
    }

    .overview-table {
        font-size: 10px;
    }

    #corp-overview {
        padding: 20px 20px 30px;
        width: 400px;
    }

    #corp-overview dt {
        width: 22%;
    }

    #corp-overview dd {
        width: 78%;
    }

    .org-slider li img {
        height: 160px;
    }

    /* TOP animation */

    .item-wrap {
        height:360px!important;
    }

    .sec-howto .step,.sec-howto2 .step {
        width: 100%;
        height: 360px;
        margin-top: 30px;
    }

    .sec-howto .step .item,.sec-howto2 .step .item {
        padding: 0;
        height:360px;
    }

    .sec-howto .step .item-wrap,.sec-howto2 .step .item-wrap {
        border-radius: 30px;
    }

    .sec-howto .step .item .img,.sec-howto2 .step .item .img {
        position: absolute;
        display: flex;
        justify-content: center;
    }

    .sec-howto .step .item .item-ttl,.sec-howto2 .step .item .item-ttl {
        top:70px;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        position: absolute;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .sec-howto .step .item .item-ttl .num,.sec-howto2 .step .item .item-ttl .num {
        position: static;
    }

    .sec-howto .step .item .item-ttl .num img,.sec-howto2 .step .item .item-ttl .num img {
        width: 30px;
        height: 30px;
    }

    .sec-howto .step .item .item-ttl .inner,.sec-howto2 .step .item .item-ttl .inner {
        margin: 0;
    }

    .ttlsp {
        display: block;
        margin-top: 8px;
    }

    .ttlpc {
        display: none;
    }

    .imgsp {
        display: block;
    }

    .imgpc {
        display: none;
    }

    .page-main {
        display: none;
    }

}