@charset "utf-8";
/* body */
* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
}
body,
html {
    margin: 0;
    padding: 0;
}
body {
    color: #333;
    font-size: 16px;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro",
        "Hiragino Kaku Gothic ProN", Meiryo, "san-serif";
}
:root {
    --primary-color: #ffbe2c;
    --secondary-color: #ffd900;
}

header {
    margin: 0;
    padding: 0;
}

main {
    background-repeat: repeat;
    margin: 0;
}

article {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
}

figure {
    margin: 0;
    padding: 0;
}

img {
    width: 100%;
    display: block;
}

.img-center {
    text-align: center;
}

.longtown-tell img {
    margin: 0 auto 30px;
    width: 940px;
}
input {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
input:-webkit-autofill {
    box-shadow: 0 0 0px 999px #efefef inset;
}
.wpcf7 input:-webkit-autofill {
    box-shadow: 0 0 0px 999px #fff inset;
}

[type="submit"]:not(:disabled) {
    cursor: pointer;
}
[type="submit"] {
    appearance: button;
    -webkit-appearance: button;
}

@media screen and (max-width: 1000px) {
    article {
        padding: 0 0 0 0;
        box-sizing: border-box;
        width: 100%;
    }

    figure {
        width: 100%;
    }
    img {
        max-width: 100%;
    }

    .longtown-tell img {
        width: 90%;
    }

    .tel-link img:hover {
        opacity: 0.5;
    }
}

/*-------------------------------------------------------------------------
							/contact/
-------------------------------------------------------------------------*/

/***** コンタクトフォーム *****/

/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
.table-res-form {
    width: 100%;
    margin: 0 auto;
}
/*一行ごとに上ボーダー*/
.table-res-form tr {
    border-top: 1px #ddd solid;
}
/*一番上の行だけボーダーなし*/
.table-res-form tr:first-child {
    border-top: none;
}
/*奇数行だけ背景色つける*/
.table-res-form tr:nth-child(2n + 1) {
    background: rgba(255, 255, 255, 0.7);
}
/*thとtd内の余白指定*/
.table-res-form th,
.table-res-form td {
    padding: 1.5em;
}
/*th（項目欄）は30%幅、テキストを右寄せ*/
.table-res-form th {
    width: 30%;
}
/*「必須」部分のスタイリング*/
.table-res-form .requied {
    font-size: 0.8em;
    color: #fff;
    display: inline-block;
    padding: 0.3em 0.3em 0.2em;
    margin-left: 20px;
    background: #ff8000;
    border-radius: 5px;
}

/*ここから768px以下の指定*/

@media only screen and (max-width: 768px) {
    .table-res-form {
        width: 100%;
        margin: 0;
    }

    .table-res-form th,
    .table-res-form td {
        width: auto;
        display: block;
    }
    .table-res-form th {
        padding-bottom: 0;
        text-align: left;
    }
    .table-res-form .empty {
        display: none;
    }
    .table-res-form tr:last-child {
        border-top: none;
    }
    .table-res-form input[type="submit"] {
        margin-top: -1em;
    }
}

/*ここまで768px以下の指定---終わり*/

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
/* .table-res-form input[type="text"],
input[type="email"],
textarea {
    border: 1px #ff8000 solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
} */
/*入力欄にフォーカスしたら変化*/
/* .table-res-form input[type="text"]:focus,
textarea:focus {
    background: #eeffff;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
} */
/*送信ボタンスタイリング*/
.table-res-form input[type="submit"] {
    padding: 0.5em 4em;
    border: 1px solid #ff8000;
    border-radius: 5px;
    background: #ff8000;
    font-size: 20px;
    color: #fff;
    box-shadow: 0 2px 2px 0 rgba(255, 255, 255, 0.8);
}
/*送信ボタン・マウスオーバー時スタイリング*/
.table-res-form input[type="submit"]:hover {
    background: #006599;
    border: 1px solid #006599;
    box-shadow: none;
    transition: 0.5s;
}

/*-------------------------------------------------------------------------
							/お問い合わせフォーム/
-------------------------------------------------------------------------*/

.wpcf7 {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    background-color: #f4f2f6;
    padding: 40px;
}
.form__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}
.form__container-title {
    flex: none;
}
.form__container-title p {
    /* font-family: var(--jpn-font-title);
    font-weight: var(--weight-bold); */
    font-weight: bold;
}
.form__container-title p span {
    font-size: 12px;
    /* font-family: var(--jpn-font-paragraph); */
    color: #fff;
    background-color: var(--primary-color);
    padding: 6px 8px;
    margin-left: 10px;
    transform: translateY(1px);
}
.form__container-input {
    width: 72.826%;
}
.form__container-input.what-kind {
    margin-bottom: 20px;
}
.form__container-input.your-message {
    margin-bottom: 20px;
}
.form__container-input .input__text {
    width: 100%;
    border: none;
    height: 46px;
    padding: 0 20px;
}
.form__container-input .input__date {
    width: 100%;
    border: none;
    height: 46px;
    padding: 0 20px;
}
.form__container-input .schedule-container {
    display: flex;
    align-items: center;
    width: 100%;
}
.form__wrapper {
    border-bottom: 1px solid #d0d0d0;
    margin-bottom: 24px;
}
.form__box {
    display: block;
    border-bottom: 1px solid #d0d0d0;
    padding-bottom: 4px;
}
.wpcf7 .form__box.form_confirmation:nth-of-type(4) {
    padding-bottom: 24px;
}
.wpcf7 .form__box:nth-of-type(5) {
    padding-bottom: 24px;
}
.wpcf7 .form__box:nth-of-type(6) {
    border-bottom: unset;
}

.form__box .form__container-title {
    margin-bottom: 20px;
}
.form__box .form__container-input {
    max-width: none;
    width: 100%;
}
.form__box .input__checkbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.form__box .wpcf7-list-item {
    display: block;
    margin: 0;
    width: 100%;
    max-width: calc(50% - 10px);
    background-color: #fff;
    margin-bottom: 20px;
}
.form__box .wpcf7-list-item:nth-of-type(3),
.form__box .wpcf7-list-item:nth-of-type(4) {
    margin-bottom: 0;
}
.form__box .wpcf7-list-item label {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50px;
}
.form__box .wpcf7-list-item label input {
    display: none;
}
.form__box .wpcf7-list-item label .wpcf7-list-item-label {
    color: #707070;
    position: relative;
    margin-left: 55px;
}
.form__box .wpcf7-list-item label .wpcf7-list-item-label::before {
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background-color: #f4f2f6;
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
}
.form__box
    .wpcf7-list-item
    label
    input:checked
    + .wpcf7-list-item-label::after {
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background-color: var(--primary-color);
    top: 50%;
    left: -35px;
    transform: translateY(-50%);
}
.form__box .wpcf7-list-item.active {
    outline: 1px solid var(--primary-color);
    outline-offset: -1px;
}
.form__box .wpcf7-list-item.active label .wpcf7-list-item-label {
    color: #2b2b2b;
    font-weight: 600;
}
.form__box .form__container-input .input__textarea {
    resize: vertical;
    height: 200px;
    padding: 16px 20px;
    font-size: 16px;
    font-family: var(--jpn-font-paragraph);
}
.form__privacy_policy-article {
    width: 100%;
    height: 200px;
    padding: 16px 20px;
    background-color: #fff;
    margin-bottom: 20px;
}
.form__privacy_policy-article .contact__pp {
    height: 100%;
    overflow-y: scroll;
}
.contact__pp p,
.contact__pp li {
    line-height: 1.5;
}
.contact__pp .bold {
    font-weight: 600;
    margin-top: 12px;
}
.contact__pp ol.middletitle {
    margin-left: 2em;
}
.contact__pp ol li {
    background-color: unset;
    color: #2b2b2b !important;
    text-align: start;
    margin-top: 0;
    outline: unset !important;
}
.contact__pp ol.middletitle .middletitle_intext {
    margin-left: 2em;
}
.contact__pp ol.middletitle .middletitle_intext .middletitle_childtext {
    margin-left: 2em;
}
.form__privacy_policy {
    margin-bottom: 20px;
}
.form__privacy_policy .wpcf7-list-item {
    margin-bottom: 0;
}
.form__privacy_policy-caption {
    font-size: 14px;
    color: #707070;
    margin-top: 15px;
}
.wpcf7-spinner {
    display: none !important;
}
.submit_box input {
    border: none;
    outline: 1px solid var(--primary-color);
    outline-offset: -1px;
    background-color: #fff;
    width: 100%;
    color: var(--primary-color);
    font-size: 16px;
    padding: 20px 0;
    font-weight: 600;
    transition: 0.2s;
}
.submit_box input:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.button__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.previou_box {
    width: calc(50% - 10px);
}
.previou_box input {
    border: none;
    background-color: #707070;
    width: 100%;
    color: #fff;
    font-size: 16px;
    padding: 20px 0;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s;
}
.previou_box input:hover {
    opacity: 0.5;
}
.send_button {
    width: calc(50% - 10px);
}
.send_button input {
    width: 100%;
}
.confirm_button .wpcf7-submit:disabled {
    background-color: #707070;
    outline: none;
    color: #fff;
}
.wpcf7-not-valid-tip {
    margin-top: 15px;
}
.form__box .codedropz-upload-inner h3 {
    font-size: 20px;
    line-height: 1;
}
@media screen and (max-width: 1279px) {
    .wpcf7 {
        padding: 20px;
        width: calc(100% - 40px);
        max-width: none;
    }
    .form__container {
        display: block;
    }
    .form__container-title {
        margin-bottom: 15px;
    }
    .form__box .input__checkbox {
        display: block;
    }
    .form__box .wpcf7-list-item {
        max-width: unset;
        margin-bottom: 15px;
    }
    .form__box .wpcf7-list-item:nth-of-type(3),
    .form__box .wpcf7-list-item:nth-of-type(4) {
        margin-bottom: 15px;
    }
    .contact__pp p,
    .contact__pp li {
        font-size: 14px;
    }
    .form__box .wpcf7-list-item label .wpcf7-list-item-label {
        font-size: 14px;
        margin-right: 20px;
    }
    .button__wrapper {
        display: block;
    }
    .previou_box,
    .send_button {
        width: 100%;
    }
    .previou_box {
        margin-bottom: 10px;
    }
    .form_confirmation .form__container-input p {
        line-height: 1.5;
        margin: -4px 0;
    }
    .form__container-input {
        width: 100%;
    }
    .form__container-input .schedule-container {
        flex-direction: column;
        align-items: flex-start;
    }
    .schedule-clip {
        margin: 10px 0;
    }
}
