@media (max-width: 1353px) {
    .sec-title h1 {
        font-size: 150px;
    }
    .sec-8 h1,
    .sec-title-inner h2 {
        font-size: 57px;
        line-height: 57px;
    }
    .two-line .sec-title-inner::before {
        top: -39px;
    }
    .sec-3 h3,
    .sec-2 h3,
    .sec-1 h3 {
        font-size: 37px;
        margin-bottom: 30px;
    }
    .sec-6 .sec-title h1 {
        font-size: 123px;
    }
    .sec-6 .sec-title-inner h2 {
        font-size: 43px;
    }
    .logo img {
        width: 150px;
    }
    .main-page {
        min-height: calc(100vh - 114px);
    }
}

@media (max-width: 1160px) {
    html,
    body {
        font-size: 16px;
    }
    p {
        line-height: 24px;
    }
    .sec-top .top-text h1 {
        font-size: 50px;
    }
    .car-item .car-content p:last-of-type {
        font-size: 22px;
    }
    .sec-6 .sec-title-inner h2 {
        font-size: 36px;
    }
    .sec-6 .sec-title h1 {
        font-size: 97px;
    }
    .flow-item .flow-content h3 {
        font-size: 22px;
    }
    .flow-item .flow-content {
        padding-right: 30px;
    }
    .flow-item .flow-thumb .flow-num {
        width: 44px;
        height: 44px;
        line-height: 44px;
    }
    form button,
    a.goto-line,
    a.goto-contact {
        font-size: 22px;
        display: inline-block;
        width: 450px;
    }
    .sec-top .goto-contact-button-area {
        bottom: -35px;
    }
    header img {
        width: 120px;
    }
    .page-top h1 {
        font-size: 40px;
    }
}

@media (max-width: 992px) {
    .sec-top .container {
        padding-top: 20px;
    }
    .sp-show {
        display: block;
    }
    .logo img {
        width: 100px;
    }
    .sec-top .top-text h1 {
        line-height: 60px;
    }
    .sec-title h1 {
        font-size: 100px;
    }
    .sec-8 h1,
    .sec-title-inner h2 {
        font-size: 40px;
        line-height: 44px;
    }
    .sec-title-inner h2 span {
        font-size: 26px;
    }
    .sec-title-inner::before {
        height: 26px;
    }
    .two-line .sec-title-inner::before {
        top: -14px;
    }
    a.goto-contact,
    a.goto-line {
        font-size: 18px;
    }
    form button {
        font-size: 22px;
    }
    .sec-1 {
        padding: 120px 0;
    }
    .sec-3 h3,
    .sec-2 h3,
    .sec-1 h3 {
        font-size: 30px;
        margin-bottom: 12px;
    }
    .sec-3 .sec-3-text,
    .sec-1 .sec-1-text {
        padding: 60px 40px;
    }
    .border-left-outside::before {
        width: 30px;
        left: -38px;
    }
    .sec-1 .border-left-outside::before {
        top: 22px;
    }
    .sec-3,
    .sec-2 {
        padding: 100px 0;
    }
    .sec-2::before {
        width: 50%;
    }
    .sec-4 img {
        min-height: 380px;
    }
    .sec-5 .car-item {
        flex: 0 0 50%;
        padding: 20px 0;
    }
    .car-list {
        padding: 0 100px;
    }
    .sec-title-inner::before {
        top: -30px;
    }
    .sec-title {
        margin-top: 50px;
    }
    .sec-6 .sec-6-text,
    .sec-6 .sec-map {
        flex: 0 0 100%;
    }
    .sec-6 .sec-6-text {
        order: 1;
    }
    .sec-6 .sec-map {
        order: 2;
        margin-top: 50px;
    }
    .sec-6 .sec-6-text p br {
        display: none;
    }
    .sec-6 .sec-6-text p {
        text-align: center;
        padding: 0;
    }
    .sec-6 .sec-map iframe {
        height: 330px;
    }
    .sec-7 .sec-title {
        margin-top: 0px;
    }
    .sec-7 .flow-list .flow-item.flex-30 {
        flex: 0 0 50%;
    }
    a.goto-line,
    a.goto-contact {
        width: 320px;
        text-align: center;
        padding: 10px;
    }
    .sec-top .goto-contact-button-area {
        bottom: -27px;
    }
    a.goto-line img,
    a.goto-contact img {
        right: 12px;
    }
}

@media (max-width: 767px) {
    .s-sp-none {
        display: none;
    }
    html,
    body {
        font-size: 14px;
    }
    p {
        line-height: 24px;
    }
    .sec-top .top-text {
        top: 62%;
    }
    .sec-top .top-text h1 {
        line-height: 34px;
        font-size: 30px;
    }
    .sec-top .top-text p {
        font-size: 18px;
    }
    .s-sp-show {
        display: block;
    }
    a.goto-contact,
    a.goto-line {
        display: block;
        flex: 0 0 100%;
        max-width: 320px;
    }
    form button {
        font-size: 18px;
        padding: 15px 50px;
    }
    .logo img {
        width: 80px;
    }
    .sec-6 .sec-title h1,
    .sec-title h1 {
        font-size: 70px;
    }
    .sec-6 .sec-title-inner h2,
    .sec-8 h1,
    .sec-title-inner h2 {
        font-size: 28px;
        line-height: 36px;
    }
    .sec-title-inner h2 span {
        font-size: 18px;
    }
    .sec-title.two-line {
        padding: 20px 0;
    }
    .sec-3 .sec-3-text,
    .sec-1 .sec-1-text {
        display: block;
        padding: 50px 30px;
    }
    .sec-2 .sec-2-text {
        flex: 0 0 100%;
        padding: 0 10px;
    }
    .sec-title {
        margin-top: 30px;
    }
    .sec-3 h3,
    .sec-2 h3,
    .sec-1 h3 {
        font-size: 22px;
    }
    .sec-2 {
        padding-bottom: 400px;
    }
    .sec-2::before {
        width: 100%;
        height: 300px;
        bottom: 0;
        top: auto;
    }
    .sec-2 .border-left-outside::before {
        top: 18px;
    }
    .border-left-outside::before {
        width: 22px;
        left: -29px;
    }
    .sec-1 .border-left-outside::before {
        top: 18px;
    }
    .two-line .sec-title-inner::before {
        top: -20px;
    }
    .sec-title.two-line {
        margin-top: 30px;
    }
    .sec-4 img {
        min-height: 215px;
    }
    .sec-5 .car-item {
        padding: 10px 0;
    }
    .car-list {
        padding: 0;
    }
    .car-item .car-content p:last-of-type {
        font-size: 16px;
    }
    .car-item .car-content p:first-of-type {
        font-size: 12px;
    }
    .sec-6 .sec-6-text p br {
        display: block;
    }
    .sec-7 {
        padding: 50px 0;
    }
    .sec-7 .flow-list .flow-item.flex-30,
    .sec-7 .flow-list .flow-item.flex-50 {
        flex: 0 0 100%;
    }
    .flow-item .flow-content h3 {
        font-size: 20px;
    }
    .flow-item .flow-thumb .flow-num {
        font-size: 18px;
    }
    .form-field input {
        height: 40px;
    }
    footer {
        padding-top: 50px;
    }
    a.goto-line {
        margin-top: 20px;
    }
    a.goto-line {
        margin-left: 0;
    }
    .sec-top {
        padding-top: 40px;
    }
    .sec-top .container {
        padding: 0;
    }
    .sec-top .container .t-center {
        padding: 20px 0;
        background: rgb(255, 255, 255);
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
    }
    .sec-top .container .t-center p {
        font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "YuMincho", "HG明朝E", "MS P明朝", "MS 明朝", serif;
        font-size: 16px;
        color: #0D0054;
        font-weight: 700;
    }
    header {
        padding: 10px 0;
    }
    header img {
        width: 80px;
    }
    .page-top h1 {
        font-size: 24px;
    }
    .main-page {
        min-height: calc(100vh - 84px);
    }
}