﻿@charset "UTF-8";
/* =======================================
 base style
======================================= */
html {
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, dl, dt, dd, ul, ol, li {
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 0;
}

p {
    margin: 0;
    padding: 0;
}

ul, ol, li {
    list-style: none;
}

body {
    background: #fff;
    line-height: 1;
    margin: auto;
    width: 100%;
}

@media only screen and (min-width: 769px) {
    body {
        font-size: 1.6vw;
    }
}

@media only screen and (min-width: 1000px) {
    body {
        font-size: 16px;
        min-width: 1000px;
    }
}

@media only screen and (max-width: 768px) {
    body {
        font-size: 3.467vw;
        overflow-x: hidden;
    }
}

img {
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

a {
    text-decoration: none;
    animation: all 1s ease-in-out;
}

    a:hover {
        opacity: 0.9;
        animation: all 1s ease-in-out;
    }

.main_ctx {
    position: relative;
}

.inner_ctx {
    margin: auto;
    position: relative;
}

@media only screen and (min-width: 769px) {
    .inner_ctx {
        width: 100vw;
        max-width: 1000px;
    }
}

@media only screen and (max-width: 768px) {
    .inner_ctx {
        padding: 0 5.333%;
    }
}

@media only screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
}

@media only screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }
}

@media only screen and (min-width: 769px) {
    .sec01 {
        background: url("../img/sec01_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 56.75em;
    }
}

@media only screen and (max-width: 768px) {
    .sec01 {
        background: url("../img/sec01_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 149.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec01 .txt01 {
        width: 27.25em;
        padding-top: 4.563em;
        margin-left: 5.938em;
    }
}

@media only screen and (max-width: 768px) {
    .sec01 .txt01 {
        width: 58vw;
        padding-top: 8.4vw;
        margin-left: 1.467vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec02 {
        background: url("../img/sec02_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 40.375em;
    }
}

@media only screen and (max-width: 768px) {
    .sec02 {
        background: url("../img/sec02_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 138.267vw;
    }
}

.sec02 .txt01 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec02 .txt01 {
        width: 35.5em;
        padding-top: 4.875em;
    }
}

@media only screen and (max-width: 768px) {
    .sec02 .txt01 {
        width: 80vw;
        padding-top: 10.8vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec03 {
        background: url("../img/sec03_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 117.875em;
    }
}

@media only screen and (max-width: 768px) {
    .sec03 {
        background: url("../img/sec03_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 618.933vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec03 .txt01 {
        width: 30.188em;
        padding-top: 6.688em;
        margin-left: 30.875em;
    }
}

@media only screen and (max-width: 768px) {
    .sec03 .txt01 {
        width: 88.8vw;
        padding-top: 76.667vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec03 .txt02 {
        width: 25.938em;
        padding-top: 12.75em;
        margin-left: 4.563em;
    }
}

@media only screen and (max-width: 768px) {
    .sec03 .txt02 {
        width: 87.467vw;
        padding-top: 103.2vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec03 .txt03 {
        width: 29.063em;
        padding-top: 15.625em;
        margin-left: 30.875em;
    }
}

@media only screen and (max-width: 768px) {
    .sec03 .txt03 {
        width: 69.467vw;
        padding-top: 96.667vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec03 .txt04 {
        width: 27.75em;
        padding-top: 15.188em;
        margin-left: 4.563em;
    }
}

@media only screen and (max-width: 768px) {
    .sec03 .txt04 {
        width: 83.2vw;
        padding-top: 93.2vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec04 {
        background: url("../img/sec04_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 87em;
    }
}

@media only screen and (max-width: 768px) {
    .sec04 {
        background: url("../img/sec04_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 312.933vw;
    }
}

@media only screen and (max-width: 768px) {
    .sec04 .inner_ctx {
        padding: 0 3.067%;
    }
}

@media only screen and (min-width: 769px) {
    .sec04 .txt01 {
        width: 53.125em;
        padding-top: 3.563em;
        margin-left: 3.625em;
    }
}

@media only screen and (max-width: 768px) {
    .sec04 .txt01 {
        margin: auto;
        width: 89.333vw;
        padding-top: 10.533vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec04 .txt02 {
        width: 53em;
        padding-top: 8.313em;
        margin-left: 6.188em;
    }
}

@media only screen and (max-width: 768px) {
    .sec04 .txt02 {
        width: 90.667vw;
        padding-top: 22.933vw;
        margin-left: 3.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec05 {
        background: url("../img/sec05_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 63.125em;
    }
}

@media only screen and (max-width: 768px) {
    .sec05 {
        background: url("../img/sec05_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 337.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec05 .txt01 {
        width: 33.188em;
        padding-top: 6.875em;
        margin-left: 29.063em;
    }
}

@media only screen and (max-width: 768px) {
    .sec05 .txt01 {
        margin: auto;
        width: 88vw;
        padding-top: 93.867vw;
    }
}

.sec05 .txt02 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec05 .txt02 {
        width: 57em;
        padding-top: 4.375em;
    }
}

@media only screen and (max-width: 768px) {
    .sec05 .txt02 {
        width: 89.333vw;
        padding-top: 12vw;
    }
}

.sec05 .txt03 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec05 .txt03 {
        width: 30.625em;
        padding-top: 4.25em;
        margin-left: 8.5em;
    }
}

@media only screen and (max-width: 768px) {
    .sec05 .txt03 {
        width: 71.467vw;
        padding-top: 9.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec06 {
        background: url("../img/sec06_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 39.375em;
    }
}

@media only screen and (max-width: 768px) {
    .sec06 {
        background: url("../img/sec06_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 218.4vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec06 .txt01 {
        width: 26.688em;
        padding-top: 3.625em;
        margin-left: 28.75em;
    }
}

@media only screen and (max-width: 768px) {
    .sec06 .txt01 {
        margin: auto;
        width: 68.267vw;
        padding-top: 73.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec07 {
        background: url("../img/sec07_bg.jpg") no-repeat 50% 0%;
        background-size: 125em auto;
        height: 70.875em;
    }
}

@media only screen and (max-width: 768px) {
    .sec07 {
        background: url("../img/sec07_bg_sp.jpg") no-repeat 50% 0;
        background-size: 100vw auto;
        height: 333.467vw;
    }
}

.sec07 .txt01 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec07 .txt01 {
        width: 25.375em;
        padding-top: 6.125em;
    }
}

@media only screen and (max-width: 768px) {
    .sec07 .txt01 {
        width: 73.867vw;
        padding-top: 12.8vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec07 .txt02 {
        width: 19.375em;
        padding-top: 7.688em;
        margin-left: 19.625em;
    }
}

@media only screen and (max-width: 768px) {
    .sec07 .txt02 {
        margin: auto;
        width: 63.2vw;
        padding-top: 53.067vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec07 .txt03 {
        width: 19.25em;
        padding-top: 7.688em;
        margin-left: 37.625em;
    }
}

@media only screen and (max-width: 768px) {
    .sec07 .txt03 {
        margin: auto;
        width: 71.467vw;
        padding-top: 62.667vw;
    }
}

@media only screen and (min-width: 769px) {
    .sec07 .txt04 {
        width: 18.25em;
        padding-top: 9.25em;
        margin-left: 19.625em;
    }
}

@media only screen and (max-width: 768px) {
    .sec07 .txt04 {
        margin: auto;
        width: 67.2vw;
        padding-top: 62vw;
    }
}

.sec08 {
    background-color: #ededed;
}

@media only screen and (max-width: 768px) {
    .sec08 .inner_ctx {
        padding: 0;
    }
}

@media only screen and (max-width: 768px) {
    .sec08 .txt01, .sec08 .txt02, .sec08 .txt03, .sec08 .txt04, .sec08 .txt05 {
        margin: auto;
        width: 89.333vw;
    }
}

#thanks {
    background-color: #4bc5a8;
}

.sec09 .txt01 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec09 .txt01 {
        width: 50em;
    }
}

@media only screen and (max-width: 768px) {
    .sec09 .txt01 {
        width: 89.333vw;
    }
}

.sec09 .txt02 {
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .sec09 .txt02 {
        padding: 3.75em 0 7.75em;
        width: 18.75em;
    }
}

@media only screen and (max-width: 768px) {
    .sec09 .txt02 {
        padding: 10.667vw 0 12vw;
        width: 65.067vw;
    }
}

.inquiry {
    background-color: #4bc5a8;
    font-family: "Noto Sans JP", sans-serif;
}

.inquiry-main form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.inquiry-main table td {
    display: flex;
    flex-direction: column;
    border: 0;
}

@media only screen and (min-width: 769px) {
    .inquiry-main table td {
        margin-left: 1.875em;
    }
}

.inquiry-main table tr {
    display: flex;
}

@media only screen and (min-width: 769px) {
    .inquiry-main table tr {
        margin-bottom: 1.875em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table tr {
        flex-direction: column;
        margin-bottom: 4.933vw;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table th {
        display: flex;
    }
}

.inquiry-main table th p {
    text-align: left;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media only screen and (min-width: 769px) {
    .inquiry-main table th p {
        font-size: 1em;
        width: 12.5em;
        line-height: 2.75em;
        letter-spacing: 0.063em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table th p {
        font-size: 3.733vw;
        margin-bottom: 3.067vw;
        letter-spacing: 0.4vw;
    }
}

.inquiry-main table th p.required:after {
    font-weight: 500;
    color: #ffffff;
    background-color: #eda23b;
    content: "蠢���";
}

@media only screen and (min-width: 769px) {
    .inquiry-main table th p.required:after {
        font-size: 0.938em;
        line-height: 1.733em;
        padding: 0.133em 0.4em 0;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table th p.required:after {
        font-size: 2.667vw;
        line-height: 4.267vw;
        margin-left: 2.133vw;
        padding: 0.267vw 0.8vw;
    }
}

.inquiry-main table input,
.inquiry-main table textarea,
.inquiry-main table select {
    font-family: "Noto Sans JP", sans-serif;
    border: 0;
    -webkit-border: 0;
    border-radius: 0;
    -webkit-border-radius: 0;
}

@media only screen and (min-width: 769px) {
    .inquiry-main table input,
    .inquiry-main table textarea,
    .inquiry-main table select {
        font-size: 1em;
        line-height: 1.625em;
        padding-left: 0.625em;
        height: 3.125em;
        border-radius: 0.375em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table input,
    .inquiry-main table textarea,
    .inquiry-main table select {
        font-size: 3.733vw;
        line-height: 5.867vw;
        padding-left: 1.333vw;
        height: 10.667vw;
        border-radius: 0.8vw;
    }
}

.inquiry-main table input:focus,
.inquiry-main table textarea:focus,
.inquiry-main table select:focus {
    outline: none;
    -webkit-outline: none;
}

@media only screen and (min-width: 769px) {
    .inquiry-main table input,
    .inquiry-main table textarea {
        width: 31.25em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table input,
    .inquiry-main table textarea {
        width: 89.333vw;
    }
}

@media only screen and (min-width: 769px) {
    .inquiry-main table textarea {
        min-height: 11.25em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-main table textarea {
        min-height: 40.8vw;
    }
}

.inquiry-btns {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media only screen and (min-width: 769px) {
    .inquiry-btns {
        margin: 3em auto 4.875em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-btns {
        margin: 10.667vw auto 14.667vw;
    }
}

.inquiry-confirm {
    cursor: pointer;
    border: none;
}

@media only screen and (min-width: 769px) {
    .inquiry-confirm {
        background: url("../img/confirm.png") no-repeat top center;
        background-size: 18.75em 4.375em;
        width: 18.75em;
        height: 4.375em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-confirm {
        background: url("../img/confirm_sp.png") no-repeat top center;
        background-size: 65.067vw 13.333vw;
        width: 65.067vw;
        height: 13.333vw;
    }
}

.inquiry-confirm input {
    cursor: pointer;
    border: none;
    background-color: transparent;
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 769px) {
    .inquiry-confirm input {
        border-radius: 5em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-confirm input {
        border-radius: 16vw;
    }
}

#confirm-page table {
    background-color: #fff;
    display: block;
}

@media only screen and (min-width: 769px) {
    #confirm-page table {
        padding: 2.625em 4em 1.875em;
    }
}

@media only screen and (max-width: 768px) {
    #confirm-page table {
        width: 89.333vw;
        padding: 8vw 6.933vw 5.333vw;
    }
}

#confirm-page tr {
    display: grid;
}

@media only screen and (min-width: 769px) {
    #confirm-page tr {
        grid-template-columns: 12.5em 31.5em;
        gap: 1.563em;
        margin-bottom: 2.5em;
    }
}

@media only screen and (max-width: 768px) {
    #confirm-page tr {
        flex-direction: column;
        margin-bottom: 6vw;
    }
}

#confirm-page th p {
    text-align: left;
    color: #333333;
}

@media only screen and (min-width: 769px) {
    #confirm-page th p {
        font-size: 1em;
    }
}

@media only screen and (max-width: 768px) {
    #confirm-page th p {
        font-size: 3.733vw;
    }
}

#confirm-page td {
    text-align: left;
    color: #333333;
}

@media only screen and (min-width: 769px) {
    #confirm-page td {
        font-size: 1em;
        line-height: 2.375em;
    }
}

@media only screen and (max-width: 768px) {
    #confirm-page td {
        font-size: 3.733vw;
        line-height: 6.667vw;
    }
}

#confirm-btns {
    display: flex;
    justify-content: space-between;
}

@media only screen and (min-width: 769px) {
    #confirm-btns {
        margin-top: 0;
        width: 50em;
        padding: 4em 5.625em 0;
    }
}

@media only screen and (max-width: 768px) {
    #confirm-btns {
        flex-direction: column;
        width: 65.333vw;
        gap: 6.133vw;
    }
}

.inquiry-back {
    cursor: pointer;
    border: none;
}

@media only screen and (min-width: 769px) {
    .inquiry-back {
        background: url("../img/back.png") no-repeat top center;
        background-size: 18.75em 4.375em;
        width: 18.75em;
        height: 4.375em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-back {
        background: url("../img/back_sp.png") no-repeat top center;
        background-size: 65.067vw 13.333vw;
        width: 65.067vw;
        height: 13.333vw;
    }
}

.inquiry-back input {
    cursor: pointer;
    border: none;
    background-color: transparent;
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 769px) {
    .inquiry-back input {
        border-radius: 5em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-back input {
        border-radius: 16vw;
    }
}

@media only screen and (min-width: 769px) {
    .inquiry-submit {
        background: url("../img/submit.png") no-repeat top center;
        background-size: 18.75em 4.375em;
        width: 18.75em;
        height: 4.375em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-submit {
        background: url("../img/submit_sp.png") no-repeat top center;
        background-size: 65.067vw 13.333vw;
        width: 65.067vw;
        height: 13.333vw;
    }
}

.inquiry-submit input {
    cursor: pointer;
    border: none;
    background-color: transparent;
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 769px) {
    .inquiry-submit input {
        border-radius: 5em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-submit input {
        border-radius: 16vw;
    }
}

#inquiry-thanks-note {
    border-bottom: unset;
}

.inquiry-top_back {
    text-align: center;
    margin: auto;
}

@media only screen and (min-width: 769px) {
    .inquiry-top_back {
        width: 20em;
        padding-bottom: 11.25em;
    }
}

@media only screen and (max-width: 768px) {
    .inquiry-top_back {
        width: 58.667vw;
        padding-bottom: 24vw;
    }
}

/*# sourceMappingURL=style.css.map */
