/*共通変数*/
:root {
    --main_color: #3C7AC0;
    --eatery_green: #009D26;
    --vendor_orange: #EE9936;
    --main_font_color: #212529;
    --line_color: #A4A4A4;
    --main_bg: #FFFFFF;
    --red: #DB2B39;
    --white: #FFFFFF;
    --link_blue: #0000EE;
    --placeholder: #B0B0B0;
    --light_main_bg: #F4F9FF;
    --light_green_bg: #F0FFF4;
    --light_orange_bg: #FFF8F1;
    --yellow_bg: #FDFAE6;
}

/* 見出し ========================= */

.page_title {
    padding: 0 0 50px;
    text-align: center;
    font-size: 24px;
    color: var(--main_color);
}

.page_title:after {
    content: "";
    display: block;
    margin: 10px auto 0;
    width: 70px;
    height: 2px;
    background-color: var(--main_color);
}

.admin_content_headline {
    font-size: 22px;
}


/* 見出し下のキャプション */

.page_title_caption {
    margin: 0 0 40px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .page_title_caption {
        text-align: left;
    }
}



/* ボタンスタイル ========================= */

/* ヘッダー内ボタン */
.header_red_button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    background-color: var(--red);
}

.header_red_button img {
    width: 35px;
    padding-bottom: 5px;
}

.header_red_button span {
    font-size: 11px;
    color: var(--white);
}

@media screen and (max-width: 1230px) {
    .header_red_button {
        flex-direction: row;
        width: 135px;
        height: auto;
        padding: 10px 0;
        border-radius: 34px;
        font-weight: bold;
    }

    .header_red_button img {
        width: 15px;
        padding-right: 5px;
        padding-bottom: 0;
    }

    .header_red_button span {
        font-size: 11px;
    }
}

.single_back_button {
    margin-top: 30px;
    text-align: center;
}

.single_back_button .line_btn_main {
    display: inline-block;
}


/* ボタン */
.colored_btn {
    padding: 10px 45px;
    border-radius: 20px;
    color: white;
    font-weight: bold;
    font-size: 14px;
}

.colored_btn_main {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    background-color: var(--main_color);
    border: 1px solid var(--main_color);
    border-radius: 20px;
    color: white;
    font-weight: bold;
    font-size: 14px;
}

.colored_btn_eatery {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    background-color: var(--eatery_green);
    border: 1px solid var(--eatery_green);
    border-radius: 20px;
    color: white;
    font-weight: bold;
    font-size: 14px;
}

.colored_btn_vendor {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    background-color: var(--vendor_orange);
    border: 1px solid var(--vendor_orange);
    border-radius: 20px;
    color: white;
    font-weight: bold;
    font-size: 14px;
}

.line_btn_main {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    color: var(--main_color);
    font-weight: bold;
    font-size: 16px;
    border-radius: 20px;
    border: 1px solid var(--main_color);
}

@media screen and (max-width: 600px) {
    .line_btn_back {
        margin-top: 40px;
    }
}

.line_btn_eatery {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    color: var(--eatery_green);
    font-weight: bold;
    font-size: 16px;
    border-radius: 20px;
    border: 1px solid var(--eatery_green);
}

.line_btn_vendor {
    min-width: 200px;
    padding: 10px 45px;
    text-align: center;
    color: var(--vendor_orange);
    font-weight: bold;
    font-size: 16px;
    border-radius: 20px;
    border: 1px solid var(--vendor_orange);
}

.bottom_btn_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.bottom_btn_area_registration {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 30px;
}

.registration_submit_annotation {
    margin-bottom: 8px;
    text-align: center;
    font-size: 14px;
}

@media screen and (max-width: 600px) {
    .bottom_btn_area,
    .bottom_btn_area_registration {
        flex-direction: column;
        align-items: center;
        margin-bottom: 30px;
    }

    .bottom_btn_area a:first-child,
    .bottom_btn_area_registration a:first-child {
        order: 1;
        display: inline-block;
        border: none;
        min-width: 0;
        padding: 0;
    }

    .bottom_btn_area a:last-child,
    .bottom_btn_area_registration a:nth-child(2) {
        margin-bottom: 40px;
    }


    .bottom_btn_area button:last-child,
    .bottom_btn_area_registration button:last-child {
        margin-bottom: 40px;
    }

    .bottom_btn_area_registration .registration_submit .registration_submit_annotation {
        font-size: 12px;
    }
}


.admin_bottom_btn_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    max-width: 360px;
    margin-top: 30px;
}

@media screen and (max-width: 800px) {
    .admin_bottom_btn_area {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin_bottom_btn_area .colored_btn_main {
        margin-bottom: 30px;
    }
}

/* テキストリンク */
.text_link {
    display: block;
    font-weight: bold;
    color: var(--link_blue);
}

.text_link_in_copy {
    font-weight: bold;
    color: var(--link_blue);
}

/*ページネーション*/
.pagination {
    margin-top: 30px;
    text-align: center;
}




/* 絞り込み検索エリア ========================= */

.filter_search_area {
    margin-bottom: 30px;
}

.filter_search_area_headline {
    margin-bottom: 15px;
    text-align: center;
    font-size: 18px;
}

.filter_search_area_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filter_search_area_select_box_wrap {
    position: relative;
    flex: 1;
    width: 100%;
    margin-right: 10px;
}

.filter_search_category_select_box_wrap {
    position: relative;
    flex: 3;
    width: 100%;
    margin-right: 10px;
}

.filter_search_area_select_box_wrap:after,
.filter_search_category_select_box_wrap:after {
    position: absolute;
    content: "";
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-image: url(/images/arrow_select_box.svg);
    background-size: contain;
    pointer-events: none;
}

.filter_search_area_select_box_wrap:after {
    top: 55%;
    right: 10px;
    z-index: 5;
}

.filter_search_category_select_box_wrap:after {
    top: 55%;
    right: 10px;
    z-index: 5;
}

.filter_search_area_select_box,
.filter_search_category_select_box {
    position: relative;
    display: block;
    width: 100%;
    padding: 8px 10px;
    font-size: 16px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 5px;
}

@media screen and (max-width: 600px) {
    .filter_search_area_inner {
        flex-direction: column;
    }

    .filter_search_area_select_box_wrap {
        margin-right: 0;
    }

    .filter_search_category_select_box_wrap {
        margin-right: 0;
    }

    .filter_search_area_select_box,
    .filter_search_category_select_box {
        flex: auto;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
        padding: 8px 10px;
        font-size: 14px;
    }

    .filter_search_category_select_box {
        flex: auto;
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .filter_search_area_select_box_wrap:after {
        top: 40%;
        right: 10px;
        z-index: 5;
    }

    .filter_search_category_select_box_wrap:after {
        top: 40%;
        right: 10px;
        z-index: 5;
    }
}

/* 案件用カード ========================= */



/* マイページ ========================= */

.mypage_inner_flexbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .mypage_inner_flexbox {
        flex-direction: column;
    }
}

.mypage_content {
    width: 74%;
    margin-bottom: 50px;
    margin-left: 15px;
}

@media screen and (max-width: 600px) {
    .mypage_content {
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }
}

.mypage_content_caption {
    padding: 15px 0 30px;
    font-size: 14px;
}

.eatery_mypage_content_headline {
    padding-bottom: 25px;
    font-size: 22px;
    color: var(--eatery_green);
}

.vendor_mypage_content_headline {
    padding-bottom: 25px;
    font-size: 22px;
    color: var(--vendor_orange);
}

@media screen and (max-width: 600px) {
    .eatery_mypage_content_headline,
    .vendor_mypage_content_headline {
        text-align: center;
    }
}


/* マイページサイドバー ========================= */

.eatery_mypage_sidebar,
.vendor_mypage_sidebar {
    width: 200px;
}

@media screen and (max-width: 600px) {
    .eatery_mypage_sidebar,
    .vendor_mypage_sidebar  {
        width: 100%;
    }
}

.mypage_sidebar_header {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 0 30px;
}

@media screen and (max-width: 600px) {
    .mypage_sidebar_header {
        padding: 0 0 20px;
    }
}

.mypage_index_login_img {
    width: 85px;
    padding-right: 8px;
}

.mypage_index_login_name {
    max-width: calc(100% - 85px);
    font-size: 13px;
    font-weight: bold;
}

.mypage_index_login_name span {
    display: block;
    font-size: 10px;
    font-weight: normal;
}

@media screen and (max-width: 600px) {
    .mypage_sidebar_btn_wrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }
}

.mypage_sidebar_btn {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 10px;
    padding: 20px;
}

.eatery_mypage_sidebar .mypage_sidebar_btn {
    border: 1px solid var(--eatery_green);
}

.vendor_mypage_sidebar .mypage_sidebar_btn {
    border: 1px solid var(--vendor_orange);
}

@media screen and (max-width: 600px) {
    .mypage_sidebar_btn {
        width: 49%;
        padding: 10px;
    }
}

.mypage_sidebar_btn_image {
    width: 60px;
    padding-right: 15px;
}


@media screen and (max-width: 600px) {
    .mypage_sidebar_btn_image {
        width: 40px;
        padding-right: 5px;
    }
}

.mypage_sidebar_btn_image img {
    max-width: 50px;
    max-height: 60px;
}

@media screen and (max-width: 600px) {
    .mypage_sidebar_btn_image img {
        max-width: 40px;
        max-height: 50px;
    }
}

.mypage_sidebar_btn p {
    font-size: 14px;
    font-weight: bold;
}

.eatery_mypage_sidebar .mypage_sidebar_btn p {
    color: var(--eatery_green);
}

.vendor_mypage_sidebar .mypage_sidebar_btn p {
    color: var(--vendor_orange);
}

@media screen and (max-width: 600px) {
    .mypage_sidebar_btn p {
        padding-left: 12px;
    }
}

.mypage_sidebar_btn span {
    display: block;
    font-size: 12px;
}



/* チャットリスト ========================= */

.mypage_chat_list {
    position: relative;
    width: 100%;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--line_color);
}

.mypage_chat_list:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-image: url(/images/link_arrow.png);
    background-size: contain;
}

.mypage_chat_list_inner {
    display: flex;
    align-items: center;
    padding-right: 20px;
}

.mypage_chat_list_img {
    width: 15%;
}

@media screen and (max-width: 600px) {
    .mypage_chat_list_img {
        width: 70px;
    }
}

.mypage_chat_list_row_inner {
    width: 73%;
    padding-left: 15px;
}

.mypage_chat_list_row_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 5px;
}

@media screen and (max-width: 600px) {
    .mypage_chat_list_row_header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.mypage_chat_list_row_header h2 {
    font-size: 18px;
    white-space: nowrap; /* 折り返し無しにする */
    overflow: hidden; /* はみ出た部分を非表示 */
    text-overflow: ellipsis; /* 語尾を3点リーダーに */
}

.mypage_chat_list_row_header span {
    font-size: 12px;
}

.mypage_chat_list_row_content {
    height: 42px;
    font-size: 14px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mypage_chat_list_new_message_icon {
    width: 45px;
    height: 30px;
    line-height: 30px;
    margin-left: 14px;
    background-color: var(--red);
    font-size: 15px;
    color: var(--white);
    border-radius: 10px;
    text-align: center;
}

.chat_eatery_title {
    padding: 15px 0 30px;
    font-size: 20px;
    text-align: center;
    color: var(--eatery_green);
}

.chat_eatery_title a {
    padding-bottom: 3px;
    border-bottom: 1px solid var(--eatery_green);
}

.chat_vendor_title {
    padding: 15px 0 30px;
    font-size: 20px;
    text-align: center;
    color: var(--vendor_orange);
}

.chat_vendor_title a {
    padding-bottom: 3px;
    border-bottom: 1px solid var(--vendor_orange);
}

.chat_login_user_inner {
    margin-bottom: 30px;
    padding: 15px;
    background-color: var(--light_main_bg);
    border-radius: 10px;
}

.chat_login_user_content {
    font-size: 14px;
}

.chat_login_user_date {
    font-size: 12px;
}

.chat_partner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.chat_partner_icon img {
    width: 70px;
    margin-right: 15px;
}

@media screen and (max-width: 600px) {
    .chat_partner_icon img {
        width: 50px;
        margin-right: 15px;
    }
}

.chat_partner_content {
    font-size: 14px;
}

.chat_partner_date {
    display: block;
    font-size: 12px;
    text-align: right;
}

.chat_partner_inner {
    width: 100%;
    margin-bottom: 30px;
    padding: 15px;
    background-color: var(--light_main_bg);
    border-radius: 10px;
}

.chat_textarea_form {
    width: 100%;
    height: 100px;
    padding: 5px;
}



/* form ========================= */

.registration_form {
    margin-top: 15px;
}

.form_row {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 20px;
    padding-bottom: 20px;
    font-size: 14px;
    border-bottom: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .form_row {
        align-items: flex-start;
        flex-direction: column;
        border-bottom: none;
    }
}

.form_row_label_wrap {
    width: 35%;
}

@media screen and (max-width: 600px) {
    .form_row_label_wrap {
        width: 100%;
    }
}

.form_row_label {
    position: relative;
    display: inline-block;
    width: 35%;
}

@media screen and (max-width: 600px) {
    .form_row_label {
        width: 100%;
        padding-bottom: 7px;
    }
}

.form_row_label_caption {
    font-size: 12px;
}

.form_row_label_small_label {
    display: inline-block;
    padding-bottom: 15px;
}

.form_row_label_wrap .form_row_label {
    width: 100%;
}

.form_row_input_wrap {
    width: 65%;
}

@media screen and (max-width: 600px) {
    .form_row_input_wrap {
        width: 100%;
    }
}

.form_row_input,
.form_row_input_s,
.form_row_input_ss {
    padding: 5px;
    border: 1px solid var(--line_color);
    border-radius: 5px;
}

.form_row_input {
    width: 100%;
    border: 1px solid var(--line_color);
    border-radius: 5px;
}

.form_row_input_s {
    width: 40%;
}

.form_row_input_ss {
    width: 25%;
}

.form_row_input_readonly {
    background-color: #eee;
    pointer-events : none;
}

.required_label:after {
    content: "必須";
    margin-bottom: 2px;
    margin-left: 5px;
    padding: 2px 3px;
    font-size: 12px;
    font-weight: bold;
    color: var(--red);
    background-color: #FFE0E2;
    border-radius: 5px;
    white-space: nowrap
}

.form_row_checkbox {
    display: inline-block;
    margin-right: 20px;
    margin-top: 12px;
}

.form_row_checkbox_wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 63%;
}

.form_row_checkbox_input {
    margin-right: 5px;
}

.form_row_radio_wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 63%;
}

@media screen and (max-width: 600px) {
    .form_row_radio_wrap {
        width: 100%;
    }
}

.form_row_radio_flex {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

.form_row_radio {
    margin-right: 25px;
    margin-top: 12px;
}

.eatery_register_page .form_row_radio:nth-child(1),
.eatery_register_page .form_row_radio:nth-child(2),
.eatery_register_page .form_row_radio:nth-child(3) {
    margin-top: 0px;
}

.form_row_input_wrap_caption {
    display: block;
    padding-top: 5px;
    font-size: 12px;
}

/* 管理画面form */
.admin_form_row {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin-top: 20px;
    padding-bottom: 20px;
    font-size: 14px;
}

.admin_form_row_label {
    width: 35%;
}

.admin_form_row_input {
    width: 65%;
    padding: 3px;
}

.admin_form_row_radio_wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 63%;
}

@media screen and (max-width: 800px) {
    .admin_form_row_label {
        width: 100%;
    }

    .admin_form_row_input {
        width: 100%;
    }

    .admin_form_row_radio_wrap {
        width: 100%;
    }
}

.admin_form_row_radio {
    margin-right: 25px;
    cursor: pointer;
}

.admin_form_row_checkbox_input {
    margin-right: 5px;
}

.admin_form_row_radio_caption {
    font-size: 12px;
}

.vendor_category_form_input {
    width: 85%;
    padding: 7px;
    font-size: 12px;
}

.vendor_category_form_add_input {
    margin-top: 10px;
    width: 85%;
    padding: 7px;
    font-size: 12px;
}

.minus-button {
    margin-left: 10px;
    padding: 5px 10px;
    font-size: 12px;
    cursor: pointer;
}

/* エラーメッセージの調整 */

#error_explanation {
    margin: 20px 0;
}

#error_explanation h2 {
    padding-bottom: 5px;
    font-size: 18px;
    color: var(--red);
}

#error_explanation li {
    font-size: 15px;
    color: var(--red);
}

/* list ======================== */

.list_row {
    position: relative;
    display: block;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line_color);
}

.list_row_inner {
    width: 90%;
}

.list_row_inner:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-image: url(/images/link_arrow.png);
    background-size: contain;
}

.list_row_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 5px;
}

@media screen and (max-width: 600px) {
    .list_row_header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.list_row_header h2 {
    font-size: 18px;
}

.list_row_header span {
    font-size: 12px;
}

.list_row_content {
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* 詳細画面のリスト */

.show_list_row {
    display: flex;
    padding-bottom: 10px;
    margin-bottom: 30px;
    align-items: center;
    border-bottom: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .show_list_row {
        display: flex;
        flex-direction: column;
        margin-bottom: 30px;
        align-items: flex-start;
    }
}

.show_list_row_for_long_sentence {
    padding-bottom: 10px;
    margin-bottom: 30px;
    align-items: center;
    border-bottom: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .show_list_row_for_long_sentence {
        margin-bottom: 30px;
        border-bottom: none;
    }
}

.show_list_row_item {
    width: 30%;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .show_list_row_item {
        width: 100%;
    }
}

.show_list_row_content {
    width: 70%;
}

@media screen and (max-width: 600px) {
    .show_list_row_content {
        width: 100%;
    }
}

.show_list_row_for_long_sentence_item {
    display: block;
    font-weight: bold;
    padding-bottom: 5px;
}

.show_list_row_with_sidebar_item {
    width: 30%;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .show_list_row_with_sidebar_item {
        width: 100%;
    }
}

.show_list_row_with_sidebar_content {
    width: 70%;
    padding-left: 15px;
}

@media screen and (max-width: 600px) {
    .show_list_row_with_sidebar_content {
        width: 100%;
        padding-left: 0px;
    }
}

.show_list_row_with_sidebar_content img {
    width: 50%;
    max-width: 250px;
}



/* 詳細ページのリスト */

.admin_detail_page_wrap {
    margin-bottom: 35px;
    font-size: 14px;
}


.admin_detail_page_list_no_line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.admin_detail_page_list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line_color);
}

.admin_detail_page_list_item {
    width: 35%;
    font-weight: bold;
}

.admin_detail_page_list_content {
    width: 63%;
}

.admin_detail_page_list_content img {
    max-width: 200px;
    width: 50%;
}

.admin_form_row_label {
    width: 35%;
}

.admin_form_row_input {
    width: 63%;
}

.admin_form_row_textarea {
    width: 63%;
    height: 300px;
}

@media screen and (max-width: 800px) {
    .admin_detail_page_list {
        flex-direction: column;
        border-bottom: none;
    }

    .admin_detail_page_list_no_line {
        flex-direction: column;
    }

    .admin_detail_page_list_item {
        width: 100%;
        margin-bottom: 3px;
    }

    .admin_detail_page_list_content {
        width: 100%;
    }

    .admin_form_row {
        flex-direction: column;
    }

    .admin_form_row_label {
        width: 100%;
        padding-bottom: 5px;
    }

    .admin_form_row_input {
        width: 100%;
    }

    .admin_form_row_textarea {
        width: 100%;
        height: 300px;
    }
}

/* 業者一覧カード */
.vendor_list_area_card_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.vendor_list_area_card {
    width: 49%;
    margin-bottom: 20px;
}

@media screen and (max-width: 600px) {
    .vendor_list_area_card {
        width: 100%;
    }
}

.vendor_list_area_card_inner {
    display: flex;
    align-items: center;
    padding: 15px;
    background-color: var(--white);
    border: 1px solid var(--line_color);
    border-radius: 10px;
}

.vendor_list_area_card_img {
    width: 49%;
    padding-right: 15px;
}

.vendor_list_area_card_content {
    width: 49%;
}

.vendor_list_area_card_content_title {
    padding-bottom: 10px;
    font-size: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vendor_list_area_card_content_comment {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 15px;
    font-size: 14px;
}

.vendor_list_area_card_content_item {
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
}

.vendor_detail_form_img_wrap{
    margin-bottom: 24px;
}

.vendor_detail_form_img_wrap img {
    max-width: 250px;
    margin-bottom: 8px;
}


@media screen and (max-width: 600px) {
    .price_detail_page {
        font-size: 14px;
    }
}

.price_detail_heading_wrap {
    margin-bottom: 10px;
    padding: 16px 10px;
    background-color: var(--light_main_bg);
    text-decoration-skip-ink: none;
}

.price_detail_heading {
    margin-bottom: 8px;
    font-size: 20px;
    font-weight: bold;
    color: var(--main_color);
}

@media screen and (max-width: 600px) {
    .price_detail_heading {
        font-size: 17px;
    }
}

.price_detail_heading_detail {
    padding-left: 24px;
}

@media screen and (max-width: 600px) {
    .price_detail_heading_detail {
        padding-left: 18px;
    }
}

.price_detail_campaign_wrap {
    margin-bottom: 66px;
}
.price_detail_campaign {
    margin-bottom: 8px;
    margin-top: 50px;
    padding: 24px 0 36px;
    border: 2px solid var(--main_color);
    border-radius: 15px;
    text-align: center;
}
@media screen and (max-width: 600px) {
    .price_detail_campaign {
        padding: 16px 0 20px;
    }
}
.price_detail_campaign_heading {
    margin-bottom: 34px;
    font-size: 24px;
    font-weight: bold;
    color: var(--main_color);
}

@media screen and (max-width: 600px) {
    .price_detail_campaign_heading {
        margin-bottom: 12px;
        font-size: 16px;
    }
}

.price_detail_campaign_detail {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .price_detail_campaign_detail {
        font-size: 16px;
    }
}

.price_detail_campaign_attention {
    margin-left: 20px;
    font-size: 14px;
}
@media screen and (max-width: 600px) {
    .price_detail_campaign_attention {
        margin-left: 0;
        font-size: 12px;
    }
}

.price_detail_price_list_heading {
    font-size: 18px;
    text-align: center;
    margin-bottom: 12px;
}

@media screen and (max-width: 600px) {
    .price_detail_price_list_heading {
        font-size: 16px;
    }
}

.price_detail_table_wrap {
    margin-top: 10px;
    margin-bottom: 56px;
}

.price_detail_table,
.price_detail_table td,
.price_detail_table th {
    border: 1px solid #9f9f9f;
    border-collapse: collapse;
}

.price_detail_table {
    width: 100%;
}

.price_detail_table td,
.price_detail_table th {
    padding: 8px 8px;
}

@media screen and (max-width: 600px) {
    .price_detail_table td,
    .price_detail_table th {
        padding: 6px 4px;
    }
}

.price_detail_table td:nth-child(2) {
    width: 28%;
    color: var(--main_color);
}

@media screen and (max-width: 600px) {
    .price_detail_table td:nth-child(2) {
        width: 34%;
    }
}

.price_detail_attention {
    margin-bottom: 14px;
    font-size: 14px;
}

@media screen and (max-width: 600px) {
    .price_detail_attention {
        font-size: 12px;
    }
}
/* Document
 * ========================================================================== */

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  background-repeat: no-repeat; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */

::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */

:where(:root) {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  overflow-wrap: break-word; /* 3 */
  -moz-tab-size: 4; /* 4 */
  tab-size: 4; /* 4 */
  -webkit-tap-highlight-color: transparent; /* 5 */
  -webkit-text-size-adjust: 100%; /* 6 */
}

/* Sections
 * ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

:where(body) {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */

:where(h1) {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */

/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */

:where(hr) {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */

:where(nav) :where(ol, ul) {
  list-style-type: none;
  padding: 0;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */

:where(nav li)::before {
  content: "\200B";
  float: left;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */

:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
}

/* Text-level semantics
 * ========================================================================== */

/**
 * Add the correct text decoration in Safari.
 */

:where(abbr[title]) {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

:where(b, strong) {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

:where(code, kbd, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

:where(small) {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */

/*
 * Change the alignment on media elements in all browsers (opinionated).
 */

:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */

:where(iframe) {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */

:where(svg:not([fill])) {
  fill: currentColor;
}

/* Tabular data
 * ========================================================================== */

/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */

:where(table) {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
 * ========================================================================== */

/**
 * Remove the margin on controls in Safari.
 */

:where(button, input, select) {
  margin: 0;
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */

:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
  -webkit-appearance: button;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */

:where(fieldset) {
  border: 1px solid #a0a0a0;
}

/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */

:where(progress) {
  vertical-align: baseline;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */

:where(textarea) {
  margin: 0; /* 1 */
  resize: vertical; /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */

:where([type="search" i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
 * ========================================================================== */

/*
 * Add the correct styles in Safari.
 */

:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

:where(dialog:not([open])) {
  display: none;
}

/*
 * Add the correct display in Safari.
 */

:where(details > summary:first-of-type) {
  display: list-item;
}

/* Accessibility
 * ========================================================================== */

/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */

:where([aria-busy="true" i]) {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */

:where([aria-controls]) {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */

:where([aria-disabled="true" i], [disabled]) {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */

:where([aria-hidden="false" i][hidden]) {
  display: initial;
}

:where([aria-hidden="false" i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}
/*共通変数*/
:root {
    --main_color: #3C7AC0;
    --eatery_green: #009D26;
    --vendor_orange: #EE9936;
    --main_font_color: #212529;
    --line_color: #A4A4A4;
    --main_bg: #ffffff;
    --red: #DB2B39;
    --white: #FFFFFF;
    --link_blue: #0000EE;
    --placeholder: #B0B0B0;
    --light_main_bg: #F4F9FF;
    --light_green_bg: #F0FFF4;
    --light_orange_bg: #FFF8F1;
    --yellow_bg: #FDFAE6;
}

/* common ================================== */

*, *:before, *:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    position: relative;
    min-height: 100vh;
    background-color: var(--main_bg);
    font-family: "Helvetica Neue",Arial,
                "Hiragino Kaku Gothic ProN",
                "Hiragino Sans",Meiryo,sans-serif;
    font-size: 16px;
    color: var(--font_color);
}

.admin_body {
    position: relative;
    background-color: var(--white);
}

li {
    list-style: none;
}

a {
    text-decoration: none;
    color: var(--font_color);
}

a:hover {
    opacity: 0.6;
    transition: .5s;
}

button {
    border: none;
}

button:hover {
    cursor: pointer;
    opacity: 0.6;
    transition: .5s;
}

.for_hover:hover {
    cursor: pointer;
    opacity: 0.6;
    transition: .5s;
}

.sp_only {
    display: none !important;;
}

@media screen and (max-width: 600px) {
    .pc_only {
        display: none !important;
    }

    .sp_only {
        display: block !important;;
    }
}

.wrapper_1728 {
    max-width: 1728px;
    margin: 0 auto;
}

.wrapper_900 {
    max-width: 900px;
    width: 90%;
    margin: 0 auto;
}

.wrapper_600 {
    max-width: 600px;
    width: 90%;
    margin: 0 auto;
}

.page_space_adjust {
    padding: 120px 0 70px;
}

.index_page .page_space_adjust {
    padding: 70px 0 0;
}

.white_bg {
    background-color: var(--white);
    padding: 20px;
}

@media screen and (max-width: 600px) {
    .white_bg {
        padding: 20px 0;
    }
}

input,
select,
textarea {
    font-size: 14px;
}

::placeholder {
    color: var(--placeholder);
}

.text_red {
    color: var(--red);
}

/* 文中のリンク */
.link_in_word {
    color: var(--link_blue);
}

.text_colored_eatery {
    color: var(--eatery_green);
}

.text_colored_vendor {
    color: var(--vendor_orange);
}

.text_colored_main {
    color: var(--main_color);
}

.text_center {
    text-align: center;
}

/* header ================================== */

header {
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
    background-color: var(--main_bg);
}


.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_main_logo  {
    width: 250px;
    padding-left: 15px;
}
@media screen and (max-width: 1230px) {
    .header_main_logo  {
        width: 200px;
        padding-left: 15px;
    }
}

.header_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_nav_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_nav_inner li {
    padding-right: 20px;
}

.header_nav_inner li:last-child {
    padding-right: 0px;
}

@media screen and (max-width: 1230px) {
    .header_nav_inner li {
        padding-right: 0;
    }
}

.header_menu_link {
    font-size: 14px;
    font-weight: bold;
}

.header_menu_link {
    font-size: 13px;
    font-weight: bold;
}

.header_menu_eatery_login_button,
.header_menu_vendor_login_button {
    position: relative;
    display: block;
    width: 135px;
    padding: 10px 0 10px 10px;
    border-radius: 34px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    color: white;
}

.header_menu_eatery_login_button:before,
.header_menu_vendor_login_button:before {
    position: absolute;
    top:0;
    bottom:0;
    width: 10px;
    height: 10px;
    margin:auto 0;
    content: "";
    background-image: url(/images/login_icon.svg);
    background-size: 10px;
}

.header_menu_eatery_login_button:before {
    left: 16px;
}

.header_menu_vendor_login_button:before {
    left: 22px;
}

.header_menu_eatery_login_button {
    background-color: var(--eatery_green);
}

.header_menu_vendor_login_button {
    background-color: var(--vendor_orange);
}

.header_menu_link_button_reset {
    color: var(--font_color);
    background-color: transparent;
}


/* ハンバーガー */

@media screen and (max-width: 1230px) {
    #hamburger_nav_content {
        position: fixed;
        top: 0;
        right: 0;
        display: block;
        width: 100%;
        height: 100%;
        transform: translateX(200%);
        transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    }
}

#hamburger_toggle {
    display: none;
}

@media screen and (max-width: 1230px) {
    #hamburger_toggle {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 65px;
        height: 65px;
        background-color: var(--main_color);
    }
}

#hamburger_toggle_box {
    position: relative;
    width: 30px;
    height: 18px;
    margin-top: 12px;
    cursor: pointer;
    z-index: 600;
}

#hamburger_toggle_box > span {
    width: 100%;
    height: 1.5px;
    left: 0;
    display: block;
    background-color: var(--white);
    position: absolute;
    transition: transform 0.7s ease-in-out;
}

#hamburger_toggle_box > span:nth-child(1) {
    top: 0;
}

#hamburger_toggle_box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
}

#hamburger_toggle_box > span:nth-child(3) {
    bottom: 0;
}

.hamburger_toggle_box_text  {
    display: block;
    padding-top: 7px;
    font-size: 12px;
    color: var(--white);
}


/* ハンバーガーメニュークリックで、「×」マークにアニメーション */
.hamburger_is_open #hamburger_toggle_box > span {
    background: var(--main_color);
}

.hamburger_is_open #hamburger_toggle_box > span:nth-child(1) {
    top: 50%;
    transform: rotate(45deg) translatey(-50%);
}

.hamburger_is_open #hamburger_toggle_box > span:nth-child(2) {
    width: 0;
}

.hamburger_is_open #hamburger_toggle_box > span:nth-child(3) {
    top: 50%;
    transform: rotate(-45deg) translatey(-50%);
}

/* is-openクラスが追加されると、メニューが表示される */
.hamburger_is_open {
    overflow: hidden;
}

.hamburger_is_open #hamburger_nav_content {
    z-index: 500;
    width: 100%;
    visibility: visible;
    transform: translateX(0);
}

.hamburger_is_open .header_menu {
    display: block;
    background-color: var(--main_bg);
}

.hamburger_is_open .header_nav_inner {
    flex-direction: column;
    width: auto;
    margin-top: 50px;
}

.hamburger_is_open .header_nav_inner li {
    margin-top: 30px;
}

.hamburger_is_open .header_nav_inner li .header_menu_link {
    font-size: clamp( 16px, 2vw, 20px);
}

.hamburger_is_open .header_menu_signup_button,
.hamburger_is_open .header_menu_mypage_button {
    position: relative;
    display: block;
    width: 135px;
    padding: 10px 0 10px 10px;
    border-radius: 34px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    color: white;
}

.hamburger_is_open .header_menu_signup_button:before {
    position: absolute;
    top:0;
    bottom:0;
    width: 10px;
    height: 10px;
    margin:auto 0;
    content: "";
    background-image: url(/images/signup_icon.svg);
    background-size: 10px;
}

.hamburger_is_open .header_menu_mypage_button:before {
    position: absolute;
    top:0;
    bottom:0;
    width: 10px;
    height: 10px;
    margin:auto 0;
    content: "";
    background-image: url(/images/mypage_icon.svg);
    background-size: 10px;
}

.hamburger_is_open .header_menu_signup_button:before {
    left: 32px;
}

.hamburger_is_open .header_menu_mypage_button:before {
    left: 29px;
}

.hamburger_is_open .header_menu_mypage_button {
    background-color: var(--red);
}

.hamburger_is_open .header_menu_signup_button {
    background-color: var(--red);
}


/* 管理画面ヘッダー ================================== */

.admin_header {
    position: absolute;
    left: 0;
    top: 0;
    width: 200px;
    height: 100%;
    padding: 20px;
    background-color: var(--main_color);
    color: var(--white);
}

.admin_header_headline {
    display: block;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 25px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--white);
}

.admin_header_nav_link {
    display: block;
    padding-bottom: 15px;
    font-weight: bold;
}

@media screen and (max-width: 800px) {
    .admin_header {
        width: 100vw;
        height: auto;
    }

    .admin_header_headline {
        display: block;
        font-size: 25px;
        padding-bottom: 0;
        text-align: center;
        border-bottom: none;
    }

    .admin_header_nav {
        display: flex;
        justify-content: space-between;
        align-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        height: 95px;
    }

    .admin_header_nav li {
        width: 49%;
        text-align: center;
    }

    .admin_header_nav_link {
        position: relative;
        padding: 10px 0;
        border: 1px solid var(--white);
        font-size: 14px;
    }

    .admin_header_nav_link:after {
        position: absolute;
        content: "";
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        width: 10px;
        height: 10px;
        background-image: url(/images/link_arrow_white.png);
        background-size: contain;
    }
}


/* footer ================================== */

footer {
    width: 100%;
    padding: 50px 0;
    background-color: var(--main_color);
    color: var(--white);
}

.footer_menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding-bottom: 20px;
    font-size: 14px;
}

.footer_menu {
    width: 90%;
    max-width: 350px;
}

.footer_copyright {
    display: block;
    text-align: center;
}

/* index ================================== */

.index_main_image_area {
    position: relative;
    margin: 20px 0 100px;
    padding: 350px 0;
    background-image: url(/images/main_image.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (max-width: 900px) {
    .index_main_image_area {
        padding: 200px 0;
        background-image: url(/images/main_image_sp.jpg);
    }
}

.index_main_image_area_detail {
    position: absolute;
    top: 50%;
    left: 36%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    padding: 15px;
}

@media screen and (max-width: 600px) {
    .index_main_image_area_detail {
        left: 50%;
        width: 80%;
    }
}

.index_main_image_area_detail h1 {
    padding-bottom: 15px;
    font-size: 27px;
    color: var(--white);
}

@media screen and (max-width: 600px) {
    .index_main_image_area_detail h1 {
        font-size: 6vw;
    }
}

.index_main_image_area_detail_search_area {
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
}

.index_main_image_area_detail_search_area_headline {
    padding-bottom: 10px;
    font-size: 18px;
    text-align: center;
}

.index_main_image_area_detail_search_area_form_selectbox_wrap {
    position: relative;
    flex: 3;
    width: 100%;
    margin-right: 10px;
}

.index_main_image_area_detail_search_area_form_selectbox_wrap:after {
    position: absolute;
    content: "";
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background-image: url(/images/arrow_select_box.svg);
    background-size: contain;
    pointer-events: none;
    top: 60%;
    right: 10px;
    z-index: 5;
}

.index_main_image_area_detail_search_area_form_selectbox {
    /*display: block;*/
    /*width: 100%;*/
    /*margin-bottom: 8px;*/
    /*padding: 3px;*/
    /*background-color: var(--white);*/
    /*border-radius: 5px;*/
    color: #000;

    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 8px;
    padding: 6px 10px;
    font-size: 14px;
    background-color: var(--white);
    border-radius: 5px;
    border: 1px solid var(--line_color);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.index_main_image_area_detail_search_area_form_submit {
    width: 100%;
    padding: 5px;
    border: none;
    font-size: 14px;
    text-align: center;
    color: var(--white);
    background-color: var(--main_color);
    cursor: pointer;
    border-radius: 5px;
}

.index_subcopy_area {
    margin: 0 0 100px;
}

.index_subcopy_area_headline {
    padding-bottom: 10px;
    color: var(--main_color);
    text-align: center;
    border-bottom: 1px solid var(--main_color);
}

.index_subcopy_area_detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

@media screen and (max-width: 600px) {
    .index_subcopy_area_detail {
        flex-direction: column;
    }
}

.index_subcopy_area_detail_copy {
    font-size: 18px;
}

.index_subcopy_area_detail_img {
    width: 40%;
}

@media screen and (max-width: 600px) {
    .index_subcopy_area_detail_img {
        width: 70%;
        padding: 15px 0;
    }
}

.index_subcopy_area .index_eatery_induction_btn_wrap {
    text-align: center;
}

.index_subcopy_area .index_eatery_induction_btn {
    display: inline-block;
}

.index_search_vendor_area {
    margin: 70px 0;
    padding: 70px 0;
    background-color: var(--light_main_bg);
}

.index_search_vendor_area .line_btn_main {
    display: block;
    width: 280px;
    margin: 30px auto 0;
}

.index_how_to_use {
    margin: 0 0 100px;
}

.index_how_to_use_caption {
    padding-bottom: 30px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.index_how_to_use_content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .index_how_to_use_content {
        flex-direction: column;
        align-items: center;
    }
}

.index_how_to_use_content_eatery {
    width: 50%;
    border-right: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .index_how_to_use_content_eatery {
        width: 90%;
        margin: 10px auto 30px;
        border-right: none;
    }
}

.index_how_to_use_content_vendor {
    width: 50%;
    padding-left: 30px;
}

@media screen and (max-width: 600px) {
    .index_how_to_use_content_vendor {
        width: 90%;
        padding-left: 0;
    }
}

.index_how_to_use_content_eatery_headline,
.index_how_to_use_content_vendor_headline {
    padding-bottom: 15px;
}

.index_how_to_use_content_3step {
    padding-bottom: 15px;
}

.index_how_to_use_content_3step_caption {
    padding-bottom: 30px;
    font-size: 14px;
}

@media screen and (max-width: 900px) {
    .index_how_to_use .index_eatery_induction_btn img,
    .index_how_to_use .index_vendor_induction_btn img {
        width: 95%;
    }
}

.index_how_to_use .line_btn_main {
    display: block;
    width: 280px;
    margin: 50px auto 0;
}

.index_notification {
    background-image: url(/images/index_notification_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 50px 0;
}

@media screen and (max-width: 600px) {
    .index_notification {
        background-image: none;
        background-color: var(--light_main_bg);
    }
}

.index_notification_inner {
    padding: 30px 40px;
    background-color: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 600px) {
    .index_notification_inner {
        padding: 0;
        background-color: transparent;
    }
}

.index_notification .line_btn_main {
    display: block;
    width: 300px;
    margin: 40px auto 10px;
}

.index_subcopy_area .index_eatery_induction_btn {
    margin: 0 auto;
}

.index_induction_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 600px;
}

.index_eatery_induction_btn img,
.index_vendor_induction_btn img {
    width: 320px;
}

@media screen and (max-width: 600px) {
    .index_eatery_induction_btn img,
    .index_vendor_induction_btn img {
        width: 90%;
    }
}

.index_eatery_induction_btn_inner {
    padding: 15px 40px;
    background-color: rgba(0, 157, 38, 0.9);
}

@media screen and (max-width: 600px) {
    .index_eatery_induction_btn_inner {
        padding: 15px 30px;
    }
}

.index_vendor_induction_btn_inner {
    padding: 15px 40px;
    background-color: rgba(238, 153, 54, 0.9);
}

.index_notification .list_row_header h2 {
    width: 80%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* 新規登録 ================================== */

.register_page {
    margin-bottom: 70px;
}

.register_page_caption {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 50px;
}

@media screen and (max-width: 600px) {
    .register_page_caption {
        margin: 0 auto 30px;
        padding-bottom: 30px;
        border-bottom: 1px solid var(--line_color);
    }
}

.register_page_contents_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .register_page_contents_wrap {
        flex-direction: column;
    }
}

.register_page_eatery,
.register_page_vendor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    width: 50%;
    height: 230px;
}

@media screen and (max-width: 900px) {
    .register_page_eatery,
    .register_page_vendor {
        height: 300px;
    }
}

@media screen and (max-width: 600px) {
    .register_page_eatery,
    .register_page_vendor {
        width: 100%;
        height: auto;
    }
}

.register_page_eatery {
    padding-right: 20px;
    border-right: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .register_page_eatery {
        margin-bottom: 30px;
        padding-right: 0;
        padding-bottom: 30px;
        border-right: none;
        border-bottom: 1px solid var(--line_color);
    }
}

.register_page_vendor {
    padding-left: 20px;
}

@media screen and (max-width: 600px) {
    .register_page_vendor {
        padding-left: 0;
    }
}

.register_page_eatery_headline {
    text-align: center;
    font-size: 22px;
    color: var(--eatery_green);
}

.register_page_vendor_headline {
    text-align: center;
    font-size: 22px;
    color: var(--vendor_orange);
}

.register_page_eatery_info,
.register_page_vendor_info {
    flex: 1;
    padding-top: 20px;
}

@media screen and (max-width: 600px) {
    .register_page_eatery_info,
    .register_page_vendor_info {
        padding: 20px 0;
    }
}


/* 飲食店新規登録 ================================== */

.eatery_register_page {
    margin-bottom: 70px;
}

@media screen and (max-width: 600px) {
    .eatery_register_page {
        margin-bottom: 0;
    }
}


.eatery_register_page_caption {
    text-align: center;
}

@media screen and (max-width: 600px) {
    .eatery_register_page_caption {
        text-align: left;
    }
}


/* 業者新規登録 ================================== */

.vendors_register_page .form_row_checkbox_first_checkbox {
    display: inline-block;
    margin: 0;
}

@media screen and (max-width: 600px) {
    .vendors_register_page .form_row_checkbox_first_checkbox {
        margin: 20px 0 0 0;
    }
}

.vendors_register_page_region_name {
    margin-top: 30px;
}


/* railsがフォームに補完するfield_with_errorsクラス削除のため */
.vendors_register_page_zip_code .field_with_errors {
    display: inline;
}

.vendors_register_page_zip_code {
    display: block;
}

.vendors_register_page_zip_code .form_row_input {
    width: 150px;
}


/* ベンダーコネクトとは ================================== */

.about_page_main_copy_area {
    margin-top: 40px;
}

.about_page_main_copy_area_logo {
    display: block;
    margin: 0 auto 15px;
}

@media screen and (max-width: 600px) {
    .about_page_main_copy_area_logo  {
        width: 260px;
    }
}

.about_page_main_copy_area_copy {
    text-align: center;
    line-height: 1.8;
}

@media screen and (max-width: 600px) {
    .about_page_main_copy_area_copy {
        text-align: justify;
    }
}

.about_page_concerns {
    margin-top: 40px;
}

.about_page_concerns_headline {
    padding-bottom: 15px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .about_page_concerns_headline {
        font-size: 20px;
    }
}

.about_page_concerns_case_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .about_page_concerns_case_wrapper {
        flex-direction: column;
    }
}

.about_page_concerns_eatery {
    display: flex;
    align-items: center;
    width: 48%;
    padding: 15px;
    background-color: var(--light_green_bg);
}

@media screen and (max-width: 600px) {
    .about_page_concerns_eatery {
        width: 100%;
    }
}

.about_page_concerns_eatery_image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 25%;
}

.about_page_concerns_eatery_image img {
    width: 100%;
}

.about_page_concerns_eatery_image span {
    font-weight: bold;
    color: var(--eatery_green);
}

.about_page_concerns_eatery_list {
    margin-left: 25px;
}

.about_page_concerns_eatery_list li {
    padding-bottom: 3px;
    font-size: 15px;
    list-style: disc;
}

@media screen and (max-width: 600px) {
    .about_page_concerns_eatery_list li {
        font-size: 14px;
    }
}

.about_page_concerns_vendor {
    display: flex;
    align-items: center;
    width: 48%;
    padding: 15px;
    background-color: var(--light_orange_bg);
}

@media screen and (max-width: 600px) {
    .about_page_concerns_vendor {
        width: 100%;
    }
}

.about_page_concerns_vendor_image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 25%;
}

.about_page_concerns_vendor_image img {
    width: 100%;
}

.about_page_concerns_vendor_image span {
    font-weight: bold;
    color: var(--vendor_orange);
}

.about_page_concerns_vendor_list {
    margin-left: 25px;
}

.about_page_concerns_vendor_list li {
    padding-bottom: 3px;
    font-size: 15px;
    list-style: disc;
}

@media screen and (max-width: 600px) {
    .about_page_concerns_vendor_list li {
        font-size: 14px;
    }
}

.about_page_arrow {
    display: block;
    width: 80px;
    margin: 50px auto 30px;
}

.about_page_recommendation {
    margin: 40px 0 60px;
}

.about_page_recommendation_headline {
    padding-bottom: 15px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .about_page_recommendation_headline {
        font-size: 20px;
    }
}

.about_page_recommendation_content_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .about_page_recommendation_content_wrap {
        flex-direction: column;
    }
}

.about_page_recommendation_content {
    width: 32%;
    height: auto;
    margin-top: 10px;
    padding: 20px 15px;
    border: 2px solid var(--main_color);
    border-radius: 15px;
}

@media screen and (max-width: 600px) {
    .about_page_recommendation_content {
        width: 100%;
    }
}

.about_page_recommendation_content_headline {
    padding-bottom: 15px;
    text-align: center;
    font-size: 18px;
    color: var(--main_color);
}

@media screen and (max-width: 600px) {
    .about_page_recommendation_content_headline {
        font-size: 20px;
    }
}

.about_page_recommendation_content_detail {
    text-align: justify;
    font-size: 14px;
}

.about_page_recommendation_content img {
    display: block;
    height: 70%;
    max-height: 60px;
    margin: 20px auto 10px;
}

.about_page_bottom_copy {
    text-align: center;
    margin-bottom: 60px;
}

@media screen and (max-width: 600px) {
    .about_page_bottom_copy {
        text-align: justify;
    }
}

.about_page_bottom_bunner_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 70px;
}

@media screen and (max-width: 600px) {
    .about_page_bottom_bunner_wrap {
        flex-direction: column;
    }
}

.about_page_bottom_bunner_wrap a {
    width: 46%;
}

@media screen and (max-width: 600px) {
    .about_page_bottom_bunner_wrap a {
        width: 100%;
        padding-bottom: 15px;
    }

    .about_page_bottom_bunner_wrap:last-child a {
        padding-bottom: 0px;
    }
}

.about_page_bottom_bunner_wrap a img {
    width: 100%;
}


/* ご利用方法 ================================== */

.guide_page {
    margin-bottom: 50px;
}

#guide_page_account_registration,
#guide_page_mypage,
#guide_page_show_page,
#guide_page_search_filter,
#guide_page_chat {
    padding-top: 100px;
    margin-top: -100px;
}

.guide_page_table_of_contents {
    margin: 0 0 40px 0;
    padding: 15px 25px;
    background-color: var(--light_main_bg);
}

.guide_page_table_of_contents_headline {
    font-size: 18px;
    text-align: center;
}

.guide_page_contents_caption{
    margin-bottom: 25px;
    font-size: 14px;
}

.guide_page_table_of_contents_list_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 15px;
}

@media screen and (max-width: 600px) {
    .guide_page_table_of_contents_list_wrap {
        flex-direction: column;
    }
}

.guide_page_table_of_contents_list_wrap_left_side {
    width: 49%;
}

@media screen and (max-width: 600px) {
    .guide_page_table_of_contents_list_wrap_left_side {
        width: 100%;
    }
}

.guide_page_table_of_contents_list_wrap_left_side li {
    position: relative;
    width: 100%;
    margin-bottom: 15px;
    font-size: 15px;
    border: 1px solid var(--main_color);
    border-radius: 7px;
}

.guide_page_table_of_contents_list_wrap_left_side li:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 2px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border: 0;
    border-bottom: solid 1px var(--main_font_color);
    border-right: solid 1px var(--main_font_color);
    transform: rotate(45deg);
}

.guide_page_table_of_contents_list_wrap_left_side a {
    display: block;
    padding: 8px 15px;
}

.guide_page_table_of_contents_list_wrap_right_side {
    width: 49%;
}

@media screen and (max-width: 600px) {
    .guide_page_table_of_contents_list_wrap_right_side {
        width: 100%;
    }
}

.guide_page_table_of_contents_list_wrap_right_side li {
    position: relative;
    width: 100%;
    margin-bottom: 15px;
    font-size: 15px;
    border: 1px solid var(--main_color);
    border-radius: 7px;
}


.guide_page_table_of_contents_list_wrap_right_side li:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 2px;
    margin: auto;
    content: "";
    width: 7px;
    height: 7px;
    border: 0;
    border-bottom: solid 1px var(--main_font_color);
    border-right: solid 1px var(--main_font_color);
    transform: rotate(45deg);
}

.guide_page_table_of_contents_list_wrap_right_side a {
    display: block;
    padding: 8px 15px
}

.guide_page_contents {
    margin-bottom: 50px;
}

.guide_page_contents_headline {
    display: block;
    font-size: 20px;
    margin-bottom: 15px;
    padding-bottom: 5px;
    color: var(--main_color);
    border-bottom: 1px solid var(--main_color);
}

.guide_page_contents_inner {
    margin-bottom: 50px;
}

.guide_page_contents_subheadline_for_eatery {
    padding-bottom: 10px;
    font-size: 18px;
    color: var(--eatery_green);
}

.guide_page_contents_subheadline_for_vendor {
    padding-bottom: 10px;
    font-size: 18px;
    color: var(--vendor_orange);
}

.guide_page_contents_detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .guide_page_contents_detail {
        flex-direction: column;
    }
}

.guide_page_contents_detail_texts {
    width: 63%;
}

@media screen and (max-width: 600px) {
    .guide_page_contents_detail_texts {
        width: 100%;
    }
}

.guide_page_contents_detail_haedline {
    margin-bottom: 5px;
}

.guide_page_contents_detail_caption {
    margin-bottom: 20px;
    font-size: 14px;
}

.guide_page_contents_detail_caption li {
    list-style: disc;
    margin-left: 20px;
}

.guide_page_contents_detail_image {
    width: 30%;
}

@media screen and (max-width: 600px) {
    .guide_page_contents_detail_image {
        width: 100%;
        margin-bottom: 15px;
    }
}


/* 掲載プランページ ================================== */

.price_page_subcopy {
    margin: 0 0 40px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .price_page_subcopy {
        text-align: justify;
    }
}

.price_page_price_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 15px;
    border: 2px solid var(--main_color);
    border-radius: 15px;
}

.price_page_price {
    text-align: center;
}

.price_page_price span {
    font-size: 38px;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .price_page_price span {
        font-size: 34px;
    }
}

.price_page_price_caption {
    margin: 10px 0;
}

.price_page_price_link_text {
    color: var(--main_color);
    font-size: 18px;
    font-weight: bold;
    text-decoration: underline;
}

.price_page_possible {
    margin: 40px 0;
}

.price_page_possible_headline {
    padding-bottom: 15px;
    text-align: center;
}

.price_page_possible_content {
    margin-bottom: 10px;
    padding: 20px;
    background-color: var(--light_main_bg);
}

.price_page_possible_content h3 {
    color: var(--main_color);
    text-decoration: underline;
}

.price_page_possible_content p {
    font-size: 14px;
}

.price_page_feature {
    margin: 40px 0;
}

.price_page_feature_headline {
    padding-bottom: 15px;
    text-align: center;
}

.price_page_feature_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

@media screen and (max-width: 600px) {
    .price_page_feature_inner {
        flex-direction: column;
        flex-wrap: nowrap;
    }
}

.price_page_feature_content {
    width: 49%;
    height: 160px;
    margin-bottom: 15px;
    padding: 20px;
    border: 1px solid var(--main_color);
}

@media screen and (max-width: 600px) {
    .price_page_feature_content {
        width: 100%;
        height: auto;
    }
}

.price_page_feature_content h3 {
    padding-bottom: 10px;
    color: var(--main_color);
    text-decoration: underline;
}

.price_page_feature_content p {
    font-size: 14px;
}

.price_page_price_list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 60px;
}

@media screen and (max-width: 600px) {
    .price_page_price_list {
        flex-direction: column;
    }
}

.price_page_price_list_content {
    width: calc( 100% / 3 );
    padding: 0 30px;
    border-left: 1px solid var(--main_color);
}

.price_page_price_list_content ul {
    font-size: 13px;
}

.price_page_price_list_content:last-child {
    border-right: 1px solid var(--main_color);
}

@media screen and (max-width: 600px) {
    .price_page_price_list_content {
        width: 100%;
        padding: 15px 0 15px 15px;
        border-top: 1px solid var(--main_color);
        border-left: none;
    }

    .price_page_price_list_content:last-child {
        border-bottom: 1px solid var(--main_color);
        border-right: none;
    }
}

.price_page_price_list_headline {
    font-weight: bold;
}

.price_page_price_list_headline span {
    font-size: 32px;
}

.price_page_bottom_copy {
    text-align: center;
    margin-bottom: 60px;
}

@media screen and (max-width: 600px) {
    .price_page_bottom_copy {
        text-align: justify;
    }
}


/* 業者詳細 ================================== */

.vendor_detail_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

@media screen and (max-width: 600px) {
    .vendor_detail_wrap {
        flex-direction: column;
    }
}

.vendor_detail_image_area {
    width: 20%;
}

@media screen and (max-width: 600px) {
    .vendor_detail_image_area {
        width: 100%;
    }
}

.vendor_detail_head_icon {
    width: 100%;
}

.vendor_detail_head_image {
    width: 48%;
    margin-top: 0.9vh;
    cursor: pointer;
}

.vendor_detail_head_image:hover {
    opacity: 0.6;
    transition: .5s;
}

@media screen and (max-width: 600px) {
    .vendor_detail_head_image {
        margin-top: 1.8vh;
    }
}

.vendor_detail_head_image_caption {
    font-size: 10px;
}

@media screen and (max-width: 600px) {
    .vendor_detail_head_icon {
        width: 100%;
    }
}

.vendor_detail_image_area_images_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.vendor_detail_content {
    width: 77%;
    margin-bottom: 70px;
}

@media screen and (max-width: 600px) {
    .vendor_detail_content {
        width: 100%;
        margin-bottom: 0;
    }
}

.vendor_detail_head {
    position: relative;
    display: flex;
    align-items: center;

}

@media screen and (max-width: 600px) {
    .vendor_detail_head {
        flex-direction: column;
        align-items: flex-start;
    }
}

.vendor_detail_head_texts {
    width: 80%;
}

@media screen and (max-width: 600px) {
    .vendor_detail_head_texts {
        width: 100%;
        margin-top: 10px;
    }
}

.vendor_detail_head_texts_vendor_edit_date {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 13px;
}

@media screen and (max-width: 600px) {
    .vendor_detail_head_texts_vendor_edit_date {
        position: static;
        display: block;
        text-align: right;
    }
}

.vendor_detail_head_texts_vendor_name {
    display: block;
    margin: 40px 0 30px;
    height: 60px;
    font-size: 20px;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .vendor_detail_head_texts_vendor_name {
        margin: 0 0 10px;
        height: 100%;
    }
}

/* モーダルのスタイル */
.vendor_detail_modal {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 20;
    display: none;
    width: 100%;
    height: 100%;
    padding-top: 60px;
    overflow: auto;
    background-color: rgba(0,0,0,0.7);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.vendor_detail_modal.show {
    display: block;
    opacity: 1; /* モーダルが表示されるときにフェードイン */
  }

  .vendor_detail_modal.hide {
    opacity: 0; /* フェードアウトを実現 */
    transition: opacity 0.3s ease; /* フェードアウトに0.3秒 */
  }


/* 閉じるボタン */
.vendor_detail_modal_close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

#vendor_detail_image_modal_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100%;
}

/* モーダルコンテンツ（画像） */
.vendor_detail_modal_content_image {
    display: block;
    margin: auto;
    width: 90%;
    max-width: 500px;
}

/* 閉じるボタンのホバー時 */
.vendor_detail_close:hover,
.vendor_detail_close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}


/* マイページ ================================== */

/* 未承認業者マイページ */

.vendors_unauthorized_message {
    margin: 10px 0 60px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .vendors_unauthorized_message {
        text-align: left;
    }
}

/* 業者チャットから遷移できる飲食店情報ページ */

.vendors_mypage_eatery_content_wrap {
    display: flex;
    align-items: flex-start;
    margin: 0 0 50px;
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content_wrap {
        flex-direction: column;
    }
}

.vendors_mypage_eatery_content_image {
    width: 250px;
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content_image {
        width: 100%;
    }
}

.vendors_mypage_eatery_content {
    margin-left: 15px;
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content {
        margin-left: 0;
    }
}

.vendors_mypage_eatery_content_name {
    margin-bottom: 15px;
    font-size: 20px;
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content_name {
        margin: 15px 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content_detail_wrap {
        margin-top: 15px;
    }
}

.vendors_mypage_eatery_content_detail {
    margin-bottom: 10px;
}

.vendors_mypage_eatery_content_detail:last-child {
    margin-bottom: 0;
}

.vendors_mypage_eatery_content_detail span {
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .vendors_mypage_eatery_content_detail span {
        display: block;
    }
}


/* 業者一覧 ================================== */

.eatery_mypage_projects_list {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid var(--line_color);
    border-radius: 15px;
}

.eatery_mypage_projects_list:last-of-type {
    margin-bottom: 0;
}

.eatery_mypage_projects_list_inner {
    display: block;
}

.eatery_mypage_projects_list_head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

@media screen and (max-width: 600px) {
    .eatery_mypage_projects_list_head {
        flex-direction: column;
        margin-bottom: 0;
    }
}

.eatery_mypage_projects_list_head_title {
    max-width: 82%;
    font-size: 20px;
    color: var(--eatery_green);
    white-space: nowrap; /* 折り返し無しにする */
    overflow: hidden; /* はみ出た部分を非表示 */
    text-overflow: ellipsis; /* 語尾を3点リーダーに */
}

@media screen and (max-width: 600px) {
    .eatery_mypage_projects_list_head_title {
        order: 1;
        max-width: 100%;
        font-size: 20px;
        color: var(--eatery_green);
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
}

.eatery_mypage_projects_list_head_date {
    font-size: 13px;
}

@media screen and (max-width: 600px) {
    .eatery_mypage_projects_list_head_date {
        font-size: 12px;
    }
}

.eatery_mypage_projects_list_comment {
    height: 50px;
    margin: 10px 0;
    padding-bottom: 8px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media screen and (max-width: 600px) {
    .eatery_mypage_projects_list_comment {
        margin: 7px 0;
        padding-bottom: 0;
        font-size: 14px;
        line-height: 1.7;
    }
}

.eatery_mypage_projects_list_bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    padding-top: 10px;
    font-size: 14px;
    border-top: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .eatery_mypage_projects_list_bottom {
        align-items: flex-start;
        font-size: 12px;
    }
}

.eatery_mypage_projects_list_bottom_link {
    color: var(--link_blue);
    align-self: flex-end;
}


/* 飲食店案件一覧 ================================== */

.eatery_list_area_card_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.eatery_list_area_card {
    width: 49%;
    margin-bottom: 20px;
}

@media screen and (max-width: 600px) {
    .eatery_list_area_card {
        width: 100%;
    }
}

.eatery_list_area_card_inner {
    display: block;
    padding: 15px;
    background-color: var(--white);
    border: 1px solid var(--line_color);
    border-radius: 10px;
}

.eatery_list_area_card_date {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    text-align: right;
}

.eatery_list_area_card_title {
    height: 57px;
    padding-bottom: 10px;
    font-size: 18px;
    color: var(--main_color);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.eatery_list_area_card_content_comment {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-bottom: 15px;
    font-size: 14px;
}

.eatery_list_area_card_content_item {
    margin-bottom: 5px;
    font-size: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--line_color);
}

.eatery_list_area_card_content_item span {
    display: block;
    padding-bottom: 3px;
    white-space: nowrap; /* 折り返し無しにする */
    overflow: hidden; /* はみ出た部分を非表示 */
    text-overflow: ellipsis; /* 語尾を3点リーダーに */
}

.eatery_list_area_card_content_item span:last-child {
    padding-bottom: 0;
}


/* 飲食店案件詳細 */

.eatery_detail_wrap {
    margin-bottom: 50px;
}

.eatery_detail_head {
    margin-bottom: 20px;
}

.eatery_detail_head_date {
    font-size: 13px;
}

.eatery_detail_content_item {
    margin-bottom: 15px;
}

.eatery_detail_content_item span {
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .eatery_detail_content_item span {
        display: block;
        font-weight: bold;
    }
}

.eatery_detail_content_item_for_long_sentence span {
    display: block;
    font-weight: bold;
}


/* お知らせ一覧 ================================== */

.announcements_page_inner {
    margin-bottom: 50px;
}


/* お知らせ詳細 ================================== */

.announcements_detail_page_inner {
    margin-bottom: 50px;
}

.announcements_detail {
    margin-bottom: 50px;
}

.announcements_detail_date {
    display: block;
    margin-bottom: 15px;
    font-size: 12px;
}

.announcements_detail_title {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 20px;
}

.announcements_detail_content {
    padding-bottom: 30px;
}


/* お問い合わせ ================================== */

.contact_form_page_inner {
    margin-bottom: 50px;
}

.contact_form_row {
    padding-top: 25px;
    font-size: 14px;
}

.contact_form_row:first-child {
    padding-top: 0;
}

.contact_form_label {
    display: block;
    margin-bottom: 5px;
}

.contact_form_input {
    width: 100%;
    padding: 6px;
}

.contact_form_textarea {
    width: 100%;
    padding: 3px 5px;
}



/* ログインページ ================================== */

.login_page_wrapper {
    max-width: 350px;
    margin: 20px auto;
}

.login_page_form_input {
    width: 100%;
    padding: 6px;
    margin-bottom: 20px;
    border: 1px solid var(--line_color);
    border-radius: 5px;
}

.login_page_form .colored_btn_eatery {
    display: block;
    margin: 0 auto;
}

.login_page_form .colored_btn_vendor {
    display: block;
    margin: 0 auto;
}

.login_page_form_caption_area {
    padding-top: 20px;
    font-size: 14px;
    text-align: center;
}

.login_page_form_caption_link {
    color: var(--link_blue);
}

.login_page_form_caption {
    width: 90%;
    max-width: 350px;
    margin: 0 auto;
    padding: 30px 0 10px;
    text-align: left;
}


/* 飲食店・業者新規登録完了画面 ================================== */

.signup_completed_headline {
    margin: 10px 0 30px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.signup_completed_caption {
    margin-bottom: 40px;
    text-align: center;
}

@media screen and (max-width: 600px) {
    .signup_completed_caption {
        text-align: left;
    }
}


/* よくあるご質問 ================================== */

.faq_page_inner {
    margin-bottom: 50px;
}

.faq_page_content {
    margin-bottom: 25px;
    padding: 25px;
    border: 1px solid var(--main_color);
}

.faq_page_content:last-child {
    margin-bottom: 0;
}

.faq_page_content_question {
    position: relative;
    margin-bottom: 20px;
    padding-left: 35px;
    color: var(--main_color);
}

.faq_page_content_question:before {
    content: "Q";
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    padding: 1px 7px;
    background-color: var(--main_color);
    color: var(--white);
    border-radius: 14px;
}

.faq_page_content_answer {
    font-size: 15px;
}


/* 運営会社 ================================== */

.company_page_inner {
    margin-bottom: 50px;
}

.company_page_list_row {
    display: flex;
    padding-bottom: 10px;
    margin-bottom: 30px;
    align-items: center;
    border-bottom: 1px solid var(--line_color);
}

@media screen and (max-width: 600px) {
    .company_page_list_row {
        display: flex;
        flex-direction: column;
        padding-bottom: 5px;
        margin-bottom: 30px;
        align-items: flex-start;
    }
}

.company_page_list_row_item {
    width: 30%;
    font-weight: bold;
}

@media screen and (max-width: 600px) {
    .company_page_list_row_item {
        width: 100%;
        padding-bottom: 3px;
    }
}

.company_page_list_row_content {
    width: 70%;
}

.company_page_list_row_content_ul {
    width: 70%;
    padding-left: 18px;
}

.company_page_list_row_content_ul li {
    list-style: disc;
}

@media screen and (max-width: 600px) {
    .company_page_list_row_content {
        width: 100%;
    }

    .company_page_list_row_content_ul {
        width: 100%;
    }
}


/* プライバシーポリシー・利用規約 ================================== */

.legal_documents_inner {
    margin-bottom: 50px;
    line-height: 1.6;
}

.legal_documents_content_wrap {
    margin: 40px 0;
}

.legal_documents_item {
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: bold;
}

.legal_documents_content {
    font-size: 14px;
}

.legal_documents_content_number_list,
.legal_documents_content_alphabet_list,
.legal_documents_content_disc_list {
    margin-left: 20px;
    font-size: 14px;
}

.legal_documents_content_number_list li {
    list-style: decimal;
}

.legal_documents_content_alphabet_list li {
    list-style: lower-alpha;
}

.legal_documents_content_disc_list li {
    list-style: disc;
}




/* adminページ common */

.admin_content_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.admin_headline {
    margin: 25px 0;
    font-size: 14px;
    text-align: center;
}

.admin_login_wrapper .colored_btn_main {
    display: block;
    margin: 0 auto;
}

.admin_content_wrapper {
    width: 700px;
    padding: 20px 0 50px 220px;
}

@media screen and (max-width: 800px) {
    .admin_content_wrapper {
        max-width: 550px;
        width: 90%;
        margin: auto;
        padding: 235px 0 40px 0;
    }
}

/* adminログインページ ================================== */

.admin_login_wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
}

.admin_login_wrapper_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    max-width: 320px;
    width: 90%;
    padding: 20px;
}

.admin_page_logo {
    width: 90%;
}


/* admin お知らせ新規作成 ================================== */

.admin_notification_form_row_radio {
    margin-right: 25px;
    margin-top: 0;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
