/* 
    funeral・gojokai・gojokai_eventに使用
    funeral_kumotsuはリニューアル前のフォームシステムを使用するため対象外
*/

.tel_area {
	 margin: 80px 0 120px;
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
}
 @media screen and (max-width: 735px) {
	 .tel_area {
		 margin: 60px 15px;
	}
}
 .tel_box {
	 display: flex;
	 flex-direction: column;
	 align-items: center;
	 max-width: 1140px;
	 padding: 55px 20px 60px;
	 margin: 0 20px;
	 background-color: #fff;
	 border: 1px solid #e6dcb8;
	 border-radius: 10px;
}
 @media screen and (max-width: 735px) {
	 .tel_box {
		 padding: 40px 20px 50px;
	}
}
 .tel_title_area {
	 display: flex;
	 flex-direction: column;
	 gap: 20px;
	 align-items: center;
	 width: 100%;
	 max-width: 405px;
	 margin-bottom: 26px;
}
 .tel_title .tel_title_text {
	 font-family: "Shippori Mincho";
	 font-size: 3.6rem;
	 font-weight: 400;
	 line-height: 1;
	 color: #363636;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .tel_title .tel_title_text {
		 font-size: 22px;
	}
}
 .tel_time {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 100%;
	 padding: 10px 0;
	 background-color: #a9895c;
	 border-radius: 50px;
}
 .tel_time .tel_time_text {
	 font-size: 1.6rem;
	 font-weight: 500;
	 line-height: 1.4;
	 color: #fff;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .tel_time .tel_time_text {
		 font-size: 1.4rem;
	}
}
 .tel_description .tel_description_text {
	 font-size: 1.6rem;
	 font-weight: 700;
	 line-height: 1.4;
	 color: #363636;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .tel_description .tel_description_text {
		 font-size: 1.4rem;
	}
}
 .tel_list {
     display: flex;
     justify-content: center;
     flex-wrap: wrap;
	 gap: 30px;
}
 .tel_item {
	 display: flex;
	 flex-direction: column;
	 gap: 6px;
	 align-items: center;
}
 .tel_label {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 130px;
	 padding: 6px 12px;
	 font-size: 1.4rem;
	 font-weight: 500;
	 line-height: 1;
	 color: #a9895c;
	 text-align: center;
	 border: 1px solid #a9895c;
	 border-radius: 20px;
}
 @media screen and (max-width: 735px) {
	 .tel_label {
		 width: 120px;
		 font-size: 1.3rem;
	}
}
 .tel_number {
	 font-size: 3rem;
	 font-weight: 500;
	 line-height: 1;
	 color: #a9895c;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .tel_number {
		 font-size: 2.4rem;
	}
}
 .tel_number span {
	 font-size: 1.8rem;
	 margin-right: 0.5em;
}
 .contact_form {
	 background: rgb(255 255 255 / 60%);
     display: flex;
     justify-content: center;
}
.contact_form.contact_form--complete,
.contact_form.contact_form--error {
	background: none;
}
 .contact_form .contact_form_inner {
     width: 100%;
	 max-width: 940px;
	 padding: 120px 0;
	 margin: 0 20px;
}
 @media screen and (max-width: 735px) {
	 .contact_form .contact_form_inner {
		 padding: 80px 0 40px;
	}
}
 .form_title_area {
	 display: flex;
	 flex-direction: column;
	 gap: 30px;
	 align-items: center;
	 margin-bottom: 50px;
}
 .form_title {
	 font-family: "Shippori Mincho", serif;
	 font-size: 3.6rem;
	 font-weight: 400;
	 line-height: 1.45;
	 color: #000;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .form_title {
		 font-size: 2.8rem;
	}
}
 .form_description {
	 font-size: 1.6rem;
	 font-weight: 400;
	 line-height: 2;
	 color: #000;
	 text-align: center;
}
 @media screen and (max-width: 735px) {
	 .form_description {
		 font-size: 1.4rem;
	}
}
 .form {
	 display: flex;
	 flex-direction: column;
	 gap: 50px;
}
 .form_section {
	 display: flex;
	 flex-direction: column;
	 gap: 30px;
}
 .section_title {
	 font-family: "Shippori Mincho", serif;
	 font-size: 2.8rem;
	 font-weight: 400;
	 line-height: 1.5;
	 color: #222;
}
 @media screen and (max-width: 735px) {
	 .section_title {
		 font-size: 2.4rem;
	}
}
 .form_list {
	 display: flex;
	 flex-direction: column;
}
 .form_item {
	 display: flex;
	 gap: 20px;
	 align-items: center;
	 padding: 20px;
	 border-top: 1px solid #c5c5c5;
}
 @media screen and (max-width: 735px) {
	 .form_item {
		 flex-direction: column;
		 gap: 15px;
	}
}
 .form_item:last-child {
	 border-bottom: 1px solid #c5c5c5;
}
 .form_label_area {
	 display: flex;
	 flex-shrink: 0;
	 gap: 10px;
	 align-items: center;
	 width: 250px;
}
 @media screen and (max-width: 735px) {
	 .form_label_area {
		 width: 100%;
         justify-content: start;
         gap: 16px;
	}
}
 .form_label {
     font-family: Shippori Mincho, serif;
	 font-size: 1.6rem;
	 font-weight: 700;
	 line-height: 1;
	 color: #363636;
}
 .required_label {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 padding: 6px 12px;
	 margin-left: auto;
	 font-size: 1.2rem;
	 font-weight: 700;
	 line-height: 1;
	 color: #ca3c3c;
	 border: 1px solid #ca3c3c;
	 border-radius: 20px;
}
 .optional_label {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 padding: 6px 12px;
	 margin-left: auto;
	 font-size: 1.2rem;
	 font-weight: 700;
	 line-height: 1;
	 color: #363636;
	 border: 1px solid #363636;
	 border-radius: 20px;
}

@media screen and (max-width: 735px) {
	 .required_label {
		margin-left: 0;
	}
	 .optional_label {
		margin-left: 0;
	}
}
 .form_input_area {
	 flex: 1;
	 width: 100%;
}
 .form_input_text {
	 font-size: 13px;
	 font-weight: 400;
	 line-height: 1.2;
	 color: #040404;
}
 .form_input_number {
	 display: flex;
	 gap: 5px;
	 align-items: center;
}
.form_input_radio {
	display: inline-block;
}
.errtxt {
    color: #C14F4F;
    font-size: 1.4rem;
    margin-top: 4px;
}
 .number_input {
	 width: 93px;
	 height: 42px;
	 padding: 12px 15px;
	 font-size: 1.6rem;
	 font-weight: 400;
	 line-height: 1.2;
	 color: #040404;
	 background-color: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
}
 .number_unit {
	 font-size: 1.6rem;
	 padding-right: 10px;
	 font-weight: 400;
	 line-height: 1.2;
	 color: #040404;
}
 .text_input {
	 width: 100%;
	 height: 42px;
	 padding: 12px 15px;
	 font-size: 1.2rem;
	 font-weight: 500;
	 line-height: 1.2;
	 color: #040404;
	 background-color: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
}
 .text_input::placeholder {
	 color: #d5d5d5;
}
 .select_input {
	 width: 100%;
	 height: 42px;
	 padding: 12px 15px;
	 font-weight: 500;
	 line-height: 1.45;
	 color: #040404;
	 appearance: none;
	 background-color: #fff;
	 background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23C5C5C5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
	 background-repeat: no-repeat;
	 background-position: right 15px center;
	 background-size: 10px 4px;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
	 font-size: 1.2rem;
}
 .select_input::placeholder {
	 color: #d5d5d5;
}
 .textarea_input {
	 width: 100%;
	 height: 148px;
	 padding: 12px 15px;
	 font-weight: 500;
	 line-height: 1.45;
	 color: #040404;
	 resize: vertical;
	 background-color: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
	 font-size: 1.2rem;
}
 .textarea_input::placeholder {
	 color: #d5d5d5;
}
 .address_input_area {
	 display: flex;
	 flex-direction: column;
	 gap: 10px;
     width: 100%;
}
 .postal_code_area {
	 display: flex;
	 gap: 15px;
	 align-items: center;
}
 .postal_code_input {
	 display: flex;
	 gap: 8px;
	 align-items: center;
}
 .postal_symbol {
	 font-size: 1.6rem;
	 font-weight: 400;
	 line-height: 1;
	 color: #000;
}
 .postal_input {
	 width: 100%;
     max-width: 200px;
	 height: 42px;
	 padding: 12px 15px;
	 font-size: 1.2rem;
	 font-weight: 500;
	 line-height: 1.2;
	 color: #040404;
	 background-color: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
}
 .postal_input::placeholder {
	 color: #d5d5d5;
}
 .postal_button {
	 height: 42px;
	 padding: 10px 18px;
	 font-weight: 700;
	 line-height: 1;
	 color: #fff;
	 cursor: pointer;
	 background-color: #a4a4a4;
	 border: none;
	 border-radius: 4px;
	 transition: background-color 0.3s;
	 font-size: 1.4rem;
}
 .postal_button:hover {
	 background-color: #8a8a8a;
}
 .address_detail_area {
	 display: flex;
	 gap: 15px;
	 align-items: center;
	 padding-left: 25px;
}
 @media screen and (max-width: 735px) {
	 .address_detail_area {
		 flex-direction: column;
		 gap: 10px;
		 align-items: flex-start;
		 padding-left: 0;
	}
}
 .prefecture_select {
	 width: 100%;
     max-width: 220px;
}
 @media screen and (max-width: 735px) {
	 .prefecture_select {
		 width: 100%;
         max-width: none;
	}
}
 .address_input {
	 width: 100%;
     max-width: 300px;
	 height: 42px;
	 padding: 12px 15px;
	 font-size: 1.2rem;
	 font-weight: 500;
	 line-height: 1.2;
	 color: #040404;
	 background-color: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 4px;
}
 .address_input::placeholder {
	 color: #d5d5d5;
}
 @media screen and (max-width: 735px) {
	 .address_input {
		 width: 100%;
         max-width: none;
	}
}
 .form_button_area {
	 display: flex;
	 justify-content: center;
     gap: 30px;
}

@media screen and (max-width: 735px) {
    .form_button_area {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}

 .submit_button {
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 width: 600px;
	 height: 120px;
	 cursor: pointer;
	 background-color: #fff;
	 border: 0.5px solid #363636;
	 border-radius: 10px;
	 transition: background-color 0.3s;
}
 .submit_button:hover {
	 background-color: #f5f5f5;
}
 @media screen and (max-width: 735px) {
	 .submit_button {
		 width: 100%;
         max-width: 300px;
		 height: 80px;
	}
}
 .submit_button::after {
	 display: block;
	 place-self: center end;
	 width: 15px;
	 height: 18px;
	 margin-right: 30px;
	 margin-left: auto;
	 content: "";
	 background-color: #000;
	 mask-image: url("/forms/common/svg/icon_btn_arrow.svg");
	 mask-repeat: no-repeat;
	 mask-size: contain;
	 transition: background-color 0.25s;
}
 .submit_button .button_text {
	 flex: 1;
	 font-family: "Shippori Mincho", serif;
	 font-weight: 400;
	 line-height: 1.5;
	 color: #363636;
	 text-align: center;
	 font-size: 2.4rem;
}
 @media screen and (max-width: 735px) {
	 .submit_button .button_text {
		 font-size: 2rem;
	}
}
 .privacy_agree_area {
	 display: flex;
	 justify-content: center;
	 margin-top: 30px;
	 margin-bottom: 20px;
}
 .privacy_checkbox_label {
	 display: flex;
	 gap: 10px;
	 align-items: center;
	 font-weight: 400;
	 cursor: pointer;
	 user-select: none;
}
.privacy_notice {
    max-width: 600px;
    margin: 0 auto;
}
.privacy_notice a {
    text-decoration: underline;
}
 .privacy_checkbox {
	 display: none;
}
 .privacy_checkbox_custom {
	 position: relative;
	 display: inline-block;
	 flex-shrink: 0;
	 width: 20px;
	 height: 20px;
	 background: #fff;
	 border: 1px solid #c5c5c5;
	 border-radius: 2px;
}
 .privacy_checkbox:checked + .privacy_checkbox_custom::after {
	 position: absolute;
	 top: 1px;
	 left: 4px;
	 width: 6px;
	 height: 12px;
	 content: '';
	 border-right: 2px solid #a9895c;
	 border-bottom: 2px solid #a9895c;
	 transform: rotate(45deg);
}
 .privacy_checkbox_text {
	 line-height: 1;
	 color: #000;
	 font-size: 1.6rem;
}
 .privacy_link {
	 color: #1571da;
	 text-decoration: none;
	 font-size: 1.6rem;
}
 .privacy_link:hover {
	 text-decoration: underline;
}
 
/* Schedule rows (1st/2nd/3rd choice) */
.schedule_rows {
	 display: flex;
	 flex-direction: column;
	 gap: 12px;
}
.schedule_row {
	 display: grid;
	 grid-template-columns: 80px 1fr 80px 1fr;
	 align-items: center;
	 gap: 12px;
}
.schedule_row .label_inline {
	 font-size: 1.6rem;
}
.schedule_row .text_input,
.schedule_row .select_input {
	 width: 100%;
}
@media (max-width: 767px) {
	 .schedule_row {
		 display: grid;
		 grid-template-columns: 100px 1fr;
		 row-gap: 8px;
	 }
}

/* Confirm view spacing for 申し込み希望日 */
.form_item[data-pfwform-target="申し込み希望日"] .form_input_area[data-pfwform-show-if-confirm] p + p {
	 margin-top: 6px;
}

/* Confirm view: address layout (〒 + 郵便番号) / (都道府県 + 住所) */
.form_input_area[data-pfwform-show-if-confirm] .postal_symbol {
	 margin-right: 3px;
}
.form_input_area[data-pfwform-show-if-confirm] .postal_symbol ~ p {
	 display: inline;
	 margin-right: 6px;
}

/*
	Form Button (shared)
*/
.c-formBtn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 300px;
    height: 62px;
    border: none;
    border-radius: 10px;
    background-color: #A9895C;
    color: #FFFFFF;
    font-size: 16px;
    font-family: sans-serif;
    cursor: pointer;
}

.c-formBtn::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "";
    display: block;
    height: 9.5px;
    width: 11.5px;
    background-color: #FFFFFF;
    mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
    -webkit-mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
}

.c-formBtn:disabled {
    background-color: #D7C8B2;
    color: rgba(255, 255, 255, 0.7);
    cursor: not-allowed;
}

.c-formBtn:disabled::after {
    background-color: rgba(255, 255, 255, 0.7);
}

/* Back style */
.c-formBtn.c-formBtn--prev {
    background-color: transparent;
    color: #363636;
    border: 0.5px solid #363636;
}

.c-formBtn.c-formBtn--prev::after {
    left: 20px;
    right: auto;
    transform: translateY(-50%) scaleX(-1);
    background-color: #000000;
}

/* forms/index.php 限定レイアウト（電話+選択グリッド） */
.contact--index .tel_title .tel_title_text {
    margin-bottom: 35px;
}

.contact--index .tel_cards {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

.contact--index .tel_card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    border: 1px solid #e6dcb8;
    border-radius: 10px;
    padding: 55px 45px;
}

@media screen and (max-width: 900px) {
    .contact--index .tel_card {
        flex-direction: column;
        align-items: center;
        width: 100%;
		padding: 30px 15px;
    }
}

    .contact--index .card_badge {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 10px 16px;
        min-width: 128px;
        color: #fff;
        background: #a9895c;
        border-radius: 999px;
        font-weight: 700;
    }

    .contact--index .card_caption {
        font-size: 1.4rem;
        color: #363636;
        margin-bottom: 6px;
    }

    @media screen and (max-width: 900px) {
        .contact--index .card_caption {
            text-align: center;
        }
    }

    .contact--index .primary_tel {
        display: flex;
        align-items: baseline;
        gap: 10px;
        border-bottom: 2px solid #e6dcb8;
        padding-bottom: 6px;
    }

    .contact--index .primary_tel .tel_prefix {
        color: #a9895c;
        font-weight: 700;
    }

    .contact--index .primary_tel a {
        font-size: 5rem;
        font-weight: 700;
        color: #a9895c;
        text-decoration: none;
    }

    @media screen and (max-width: 735px) {
        .contact--index .primary_tel a {
            font-size: 4rem;
        }
    }

    .contact--index .regional_note {
        font-size: 1.5rem;
        color: #363636;
        margin-bottom: 10px;
    }

    @media screen and (max-width: 900px) {
        .contact--index .regional_note {
            text-align: center;
        }
    }   

    .contact--index .regional_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 30px;
    }

    @media screen and (max-width: 735px) {
        .contact--index .regional_list {
            grid-template-columns: 1fr;
        }
    }

    .contact--index .regional_item {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .contact--index .regional_item .tag {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 6px 0;
        color: #a9895c;
        border: 1px solid #a9895c;
        border-radius: 20px;
        font-size: 1.3rem;
        width: 100px;
        text-align: center;
    }

    .contact--index .regional_item .num {
        color: #a9895c;
        font-size: 2.2rem;
        font-weight: 600;
        text-decoration: none;
    }

    .contact--index .regional_item .num .tel_prefix {
        font-size: 1.3rem;
        margin-right: .4em;
    }

/* forms/index.php 選択グリッド */
.contact--index .contact_choices {
	 padding: 48px 0 50px;
}
.contact--index .choices_inner {
	 width: 100%;
	 max-width: 1100px;
	 margin: 0 auto;
	 padding: 0 20px;
}
.contact--index .choices_title {
	 display: inline-block;
	 margin: 0 auto 24px;
	 padding: 10px 22px;
	 border-radius: 6px;
	 font-family: "Shippori Mincho", serif;
	 font-weight: 700;
	 font-size: 2.4rem;
	 color: #363636;
}

@media screen and (max-width: 735px) {
     .contact--index .choices_title {
         font-size: 22px;
         font-weight: 400;
		 padding: 10px 0;
    }
}

.contact--index .choices_header {
	 text-align: center;
	 margin-bottom: 22px;
}
.contact--index .choices_grid {
	 display: grid;
	 grid-template-columns: repeat(2, 1fr);
	 /* grid-auto-rows: 1fr; */
	 gap: 24px;
}
@media screen and (max-width: 735px) {
	 .contact--index .choices_grid {
		 grid-template-columns: 1fr;
	 }
}
.contact--index .choice_card {
	 position: relative;
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
     flex-direction: column;
	 gap: 30px;
	 padding: 50px 24px;
	 /* padding: 40px 24px; */
	 background: #fff;
	 border: 1px solid #e6dcb8;
	 border-radius: 10px;
	 text-decoration: none;
	 color: #363636;
	 transition: background-color .2s ease;
}
.contact--index .choice_card.choice_card--tel {
    justify-content: center;
    grid-column: 1 / -1;
    justify-self: center;
    width: 100%;
    max-width: calc(50% - 12px);
}

@media screen and (max-width: 735px) {
    .contact--index .choice_card.choice_card--tel {
        max-width: none;
    }
}


.contact--index .choice_card:hover {
	 background-color: #faf8f3;
}
.contact--index .choice_text {
     font-family: "Shippori Mincho", serif;
	 font-size: 2.4rem;
	 letter-spacing: .02em;
	 text-align: center;
}

@media screen and (max-width: 735px) {
    .contact--index .choice_text {
        font-size: 18px;
    }
}

.contact--index .choice_text .choice_text_tel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #a9895c;
    text-align: center;
    font-weight: 600;
    font-family: "Zen Kaku Gothic New", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	font-size: 32px;
	margin-top: 10px;
}

.contact--index .choice_text .choice_text_tel::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 24px;
    height: 28px;
    background-color: #a9895c;
    mask: url("/wp-content/themes/bellmony/common/svg/corporation/common/icon_tel.svg") no-repeat center / contain;
    -webkit-mask: url("/wp-content/themes/bellmony/common/svg/corporation/common/icon_tel.svg") no-repeat center / contain;
}

.contact--index .choice_icon {
	 flex-shrink: 0;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 48px;
	 height: 48px;
	 border: 1px solid #a9895c;
	 border-radius: 999px;
}

@media screen and (max-width: 735px) {
    .contact--index .choice_icon {
        width: 40px;
        height: 40px;
    }
}

.contact--index .choice_icon::after {
	 content: "";
	 display: block;
	 width: 12px;
	 height: 12px;
	 background: #a9895c;
	 mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
	 -webkit-mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
}
.contact--index .choice_card--tel .choice_icon::after {
    width: 18px;
    height: 21px;
    background-color: #a9895c;
    mask: url("/wp-content/themes/bellmony/common/svg/corporation/common/icon_tel.svg") no-repeat center / contain;
    -webkit-mask: url("/wp-content/themes/bellmony/common/svg/corporation/common/icon_tel.svg") no-repeat center / contain;
}

/* forms/index.php 画像カード */
.contact--index .contact_images {
	 padding: 100px 0;
     background-color: #A9895C1F;
}
.contact--index .images_inner {
	 width: 100%;
	 max-width: 1300px;
	 margin: 0 auto;
	 padding: 0 20px;
}
.contact--index .images_heading {
	 font-family: "Shippori Mincho", serif;
	 font-weight: 400;
	 font-size: 3.6rem;
	 color: #363636;
	 text-align: center;
	 margin-bottom: 40px;
}
.contact--index .images_grid {
	 display: grid;
	 grid-template-columns: repeat(2, 1fr);
	 gap: 30px;
}
@media screen and (max-width: 899px) {
	 .contact--index .images_grid { grid-template-columns: 1fr; }
}
.contact--index .image_card {
	 display: flex;
     height: 300px;
	 align-items: stretch;
	 justify-content: space-between;
	 gap: 0;
	 background: #fff;
	 border: 1px solid #e6dcb8;
	 border-radius: 10px;
	 overflow: hidden;
	 text-decoration: none;
	 color: inherit;
}
@media screen and (max-width: 499px) {
    .contact--index .image_card {
        flex-direction: column-reverse;
        height: auto;
    }
}
.contact--index .image_info {
	 flex: 1 1 50%;
	 padding: 24px 24px 24px 28px;
     display: flex;
     flex-direction: column;
}
.contact--index .image_kicker {
	 font-size: 1.8rem;
	 color: #a9895c;
	 margin-bottom: 6px;
}
.contact--index .image_title {
	 font-family: "Shippori Mincho", serif;
	 font-size: 3.6rem;
	 color: #363636;
	 margin-bottom: 8px;
}
.contact--index .image_desc {
	 font-size: 2.4rem;
	 color: #363636;
	 margin-top: 12px;
     letter-spacing: .2rem;
}
@media screen and (max-width: 499px) {
    .contact--index .image_desc {
        margin-bottom: 20px;
    }
}
.contact--index .image_arrow {
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 width: 36px;
	 height: 36px;
     margin-top: auto;
	 background-color: #a9895c;
	 border-radius: 999px;
}
.contact--index .image_arrow::after {
	 content: "";
	 width: 12px;
	 height: 12px;
	 background: #fff;
	 mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
	 -webkit-mask: url("/forms/common/svg/icon_btn_arrow.svg") no-repeat center / contain;
}
.contact--index .image_media { flex: 1 1 50%; }
.contact--index .image_media img {
	 width: 100%;
	 height: 100%;
	 object-fit: cover;
	 display: block;
}

/* forms/index.php: main 余白調整（このページのみ） */
.main.main--forms-index {
	 padding-bottom: 0 !important;
}

/* forms/gojokai_event: main 余白調整（このページのみ） */
.main.main--gojokai-event {
    padding-bottom: 0 !important;
}

/* forms/gojokai: main 余白調整（このページのみ） */
.main.main--gojokai {
	padding-bottom: 0 !important;
}

.main.main--funeral {
    padding-bottom: 0 !important;
}
