@media screen and (min-width: 1501px) {

    /*----- DRESS SHOP -----*/
    .pages #dress_info .info_block .info_img,
    .pages #dressshop_list article figure {
        height: 33.333vw;
        max-height: 600px;
    }
}

@media screen and (max-width: 1500px) {

    /*----- CONCEPT -----*/
    .pages .p_concept #concept_intro .concept_intro_gallery {
        height: 23.333vw;
    }

    .pages .p_concept #concept_intro .slick-slide {
        width: 35vw;
    }

    /*----- DRESS SHOP -----*/
    .pages #dress_info .info_block .info_img {
        height: 500px;
    }

    .pages #dressshop_list .dress_frame {
        width: 36.667vw;
    }

    /*----- VOICE -----*/
    .pages .p_voice .review_list dl {
        max-width: 38.667vw;
        padding: 24px 2.667vw 44px;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #content .details_block .details_slider {
        width: calc(100% - 6.667vw);
    }
}

@media screen and (max-width: 1300px) {

    /*----- PARTY REPORT -----*/
    .pages .p_report .report_cate_list li {
        max-width: 16.923vw;
        margin: 0 1.077vw 2.154vw;
    }

    .pages .p_report .report_cate_list li span {
        font-size: 1.846vw;
    }

    .pages .p_report .report_cate_list li span > span {
        font-size: 2vw;
    }

    .pages .p_report #report_contents .report_gallery {
        grid-auto-rows: minmax(min-content, 19.462vw);
        grid-gap: 2.308vw;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #style_mv .mv_title {
        font-size: 2.308vw;
    }
}

@media screen and (max-width: 1200px) {

    /*----- DRESS SHOP -----*/
    .pages #dressshop_list .dress_frame {
        margin-left: 6.667vw;
        padding: 0;
    }

    .pages #dressshop_list article:nth-child(even) .dress_frame {
        margin-right: 6.667vw;
    }

    .pages #dress_info .info_block .info_img,
    .pages #dressshop_list article figure {
        height: 41.667vw;
    }

    .pages #dressshop_list .dress_frame h4 {
        margin-bottom: 2.833vw;
    }

    .pages #dressshop_list .dress_frame .btn_primary {
        margin-top: 2.5vw;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #content .details_block .details_img {
        height: 54.833vw;
    }

    .pages .p_style #content .details_block .details_overview {
        padding-bottom: 24.833vw;
    }

    .pages .p_style #content .details_block .details_overview .overview_image {
        top: 8.333vw;
        max-width: 75vw;
        height: 50vw;
    }

    .pages .p_style #content .details_block .details_overview .details_overview_frame {
        padding: 3.333vw 4.167vw;
    }

    .pages .p_style #content .details_block .details_slider {
        width: calc(100% - 3%);
    }

    .pages .p_style #content .details_block .details_slider .slide_item {
        height: 51.667vw;
    }
}

@media screen and (max-width: 1150px) {

    /*----- news -----*/
    .pages .p_news .news_list li .news_component {
        padding: 1.565vw 2.174vw 2.957vw;
    }

    /*----- REQUEST DOCUMENTS -----*/
    .pages .p_contact #contact_form .inner {
        padding: 7.478vw 8.696vw 10vw;
    }

    /*----- COMPANY -----*/
    .pages .p_company #company_access .access_map iframe {
        height: 69.565vw;
    }

    /*----- CONCEPT -----*/
    .pages .p_concept #concept_present .card .inner {
        top: 50%;
    }

    /*----- DRESS SHOP -----*/
    .pages #dressshop_list .dress_frame {
        width: 100%;
        padding-right: 4.783vw;
        margin-left: 4.783vw;
    }

    .pages #dressshop_list article:nth-child(even) .dress_frame {
        padding-left: 4.783vw;
        margin-right: 4.783vw;
    }

    .pages #dressshop_list .dress_frame h4 {
        font-size: 20px;
    }

    /*----- VOICE -----*/
    .pages .p_voice #voice_form .inner {
        padding: 7.478vw 8.696vw 10vw;
    }
}

@media screen and (min-width: 1025px) {
    .pages .p_news .news_list li a:hover {
        background: #F2F5ED;
    }

    .pages .p_news .news_list li a:hover .news_image img {
        transform: scale(1.1);
    }

    .pages .p_news .newsboard .news_back li.special-btn .btn_primary a::after {
        position: relative;
        top: 1px;
    }

    .pages .p_news .newsboard .news_back li:not(.special-btn) a:hover {
        opacity: .7;
    }

    .pages .p_contact #contact_form .btn_submit > span:hover .wobble .char::before {
        transform: translateY(0%);
        transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
    }

    .pages .p_contact #contact_form .btn_submit > span:hover .wobble .char::after {
        transform: translateY(-20px);
        transition-delay: calc(0.02s * (var(--char-index)));
    }

    .pages .p_style #style_wedding .style_tab li a:hover {
        color: #5a5a5a;
    }

    .pages .p_style #style_wedding .style_tab li a:hover::after {
        opacity: 1;
        visibility: visible;
    }

    .pages .p_style #style_wedding .style_list li a:hover::before {
        background: rgba(0, 0, 0, 0.6);
    }

    .pages .p_style #style_wedding .style_list li a:hover figure img {
        transform: scale(1.08);
    }

    .pages .p_report .report_cate_list li a:hover::before {
        opacity: .2;
    }

    .pages .p_report #report_contents .report_gallery a:hover::before {
        opacity: 1;
    }

    .pages .p_report #report_contents .report_gallery a:hover img {
        transform: scale(1.08);
    }

    .pages .p_voice #voice_form .btn_submit > span:hover .wobble .char::before {
        transform: translateY(0%);
        transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
    }

    .pages .p_voice #voice_form .btn_submit > span:hover .wobble .char::after {
        transform: translateY(-20px);
        transition-delay: calc(0.02s * (var(--char-index)));
    }
}

@media screen and (max-width: 1024px) {
    .pages h3.pages_mainttl {
        font-size: 14px;
    }

    .pages h3.pages_mainttl span {
        font-size: 26px;
    }

    /*----- p_mainvisual -----*/
    .pages #p_mv {
        height: 350px;
    }

    .pages #p_mv .mv_title {
        font-size: 18px;
        text-align: center;
    }

    .pages #p_mv .mv_title .mv_en {
        font-size: 48px;
        margin-bottom: 5px;
    }

    /*----- faq -----*/
    .pages .p_faq #faq_info {
        padding: 50px 0;
    }

    .pages .p_faq .faq_info_txt {
        font-size: 18px;
        margin-bottom: 45px;
    }

    .pages .p_faq .faq_list dl dt {
        font-size: 22px;
        line-height: 1.55;
        padding: 20px 40px 20px 10px;
    }

    .pages .p_faq .faq_list dl dt::before {
        width: 20px;
        height: 14px;
        right: 10px;
    }

    .pages .p_faq .faq_list dl dt span {
        font-size: 24px;
        width: 50px;
        height: 50px;
        margin-right: 15px;
    }

    .pages .p_faq .faq_list dl dd {
        padding: 0 10px 30px 77px;
    }

    .pages .p_faq .faq_list dl dd p:not(:last-child) {
        margin-bottom: 20px;
    }

    /*----- news -----*/
    .pages .p_news #news_filter {
        padding: 55px 0 40px;
    }

    .pages .p_news .news_list li .news_cate {
        font-size: 13px;
    }

    .pages .p_news .news_list li .news_ttl {
        font-size: 16px;
    }

    .pages .p_news .newsboard {
        padding: 50px 3%;
        margin: 50px 0 0;
    }

    .pages .p_news .newsboard .inner {
        padding: 8vw 4vw 12vw;
    }

    .pages .p_news .newsboard .n_media {
        padding: 0 0 35px;
        margin-bottom: 30px;
    }

    .pages .p_news .newsboard .n_media_contents dt {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .pages .p_news .newsboard .n_media_contents dd {
        font-size: 22px;
    }

    .pages .p_news .newsboard .contents_detail p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages .p_news .newsboard .news_back {
        margin: 11vw 0 0;
    }

    .pages .p_news .newsboard .news_back li:not(.special-btn) {
        margin-top: 0;
    }

    .pages .p_news .newsboard .news_back li.prev-btn {
        margin-right: 19.531vw;
    }

    .pages .p_news .newsboard .news_back li.next-btn {
        margin-left: 19.531vw;
    }

    /*----- REQUEST DOCUMENTS -----*/
    .pages .p_contact #contact_info {
        padding: 50px 0;
    }

    .pages .p_contact .contact_request_ttl {
        font-size: 18px;
    }

    .pages .p_contact .contact_request_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages .p_contact #contact_form {
        padding: 55px 3%;
    }

    .pages .p_contact #contact_form .inner {
        padding: 7.478vw 3vw 10vw;
    }

    .pages .p_contact #contact_form .contact_form_txt {
        margin-bottom: 35px;
    }

    .pages .p_contact #contact_form .btn_submit > span::after {
        top: -1px;
    }

    .pages .p_contact #contact_form .cont_thank_msg h4 {
        font-size: 20px;
    }

    /*----- COMPANY -----*/
    .pages .p_company #company_profile {
        padding: 45px 0 55px;
    }

    .pages .p_company #company_profile .pages_mainttl {
        margin-bottom: 45px;
    }

    .pages .p_company #company_profile .tb_block th,
    .pages .p_company #company_profile .tb_block td {
        font-size: 15px;
    }

    .pages .p_company #company_access {
        padding: 45px 0 0;
    }

    .pages .p_company #company_access .pages_mainttl {
        margin-bottom: 45px;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #style_intro {
        padding: 55px 0 50px;
    }

    .pages .p_style #style_intro h3,
    .pages .p_style #style_wedding .style_tab li {
        font-size: 18px;
    }

    .pages .p_style #style_wedding .style_list {
        margin-top: 60px;
    }

    .pages .p_style #style_wedding .style_list li h4 {
        padding: 14px 15px;
    }

    .pages .p_style #style_mv .mv_title {
        font-size: 23px;
    }

    .pages .p_style #style_mv .mv_title span {
        padding: 0 10px;
    }

    .style_detail .p_style #content {
        margin-bottom: 25px;
    }

    .pages .p_style #content .details_block {
        padding: 55px 0 0;
    }

    .pages .p_style #content .details_block .block_cont_ttl {
        font-size: 23px;
        margin-bottom: 45px;
    }

    .pages .p_style #content .details_block .details_img {
        margin-bottom: 35px;
    }

    .pages .p_style #content .details_block .details_frame {
        margin-bottom: 40px;
    }

    .pages .p_style #content .details_block .details_frame .section {
        margin-top: 25px;
    }

    .pages .p_style #content .details_block .details_overview .details_overview_frame {
        min-height: 41.016vw;
    }

    .pages .p_style #content .details_block .details_overview .overview_title {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .pages .p_style #content .details_block .details_slider {
        padding-bottom: 50px;
        margin: 50px 0 0 auto;
    }

    .pages .p_style #content .details_block .slick-arrow {
        bottom: -44px;
    }

    .pages .p_style #content .details_block .slick-counter {
        bottom: -47px;
    }

    .pages .p_style #content .details_block .details_slider:not(:last-child) {
        margin-bottom: 45px;
    }

    .pages .p_style #content .details_block .details_frame .btn_primary {
        margin-top: 50px;
    }

    .style_detail .p_style .btn_primary {
        margin-top: 45px;
    }

    /*----- CONCEPT -----*/
    .pages .p_concept #concept_intro {
        padding: 45px 0;
    }

    .pages .p_concept #concept_intro h3 {
        font-size: 24px;
        margin-bottom: 45px;
    }

    .pages .p_concept #concept_intro .concept_intro_gallery {
        margin-bottom: 45px;
    }

    .pages .p_concept #concept_intro .concept_intro_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages .p_concept #concept_special {
        padding: 45px 0;
    }

    .pages .p_concept #concept_special h3 {
        font-size: 24px;
        margin-bottom: 35px;
    }

    .pages .p_concept #concept_special .concept_special_photo {
        margin-bottom: 45px;
    }

    .pages .p_concept #concept_special .concept_special_photo span {
        margin-top: -3.613vw;
    }

    .pages .p_concept #concept_special .concept_special_txt p {
        font-size: 14px;
    }

    .pages .p_concept #concept_special .concept_special_txt p:not(:last-child) {
        margin-bottom: 20px;
    }

    .pages .p_concept #concept_special .concept_special_txt .txt_break {
        display: block;
    }

    /*----- DRESS SHOP -----*/
    .pages #dress_intro {
        padding: 50px 0 50px;
    }

    .pages #dress_intro h3 {
        font-size: 22px;
        margin-bottom: 35px;
    }

    .pages #dress_info {
        padding: 50px 0 50px;
    }

    .pages #dress_info h3 {
        font-size: 22px;
    }

    .pages #dress_info .info_block {
        margin: 55px 0 55px;
    }

    .pages #dress_info .info_block .info_img .info_tag,
    .pages #dressshop_list article .dress_tag {
        max-width: 280px;
        height: 45px;
        font-size: 15px;
    }

    .pages #dress_info .info_cont .section {
        margin-bottom: 40px;
    }

    .pages #dress_info .info_frame dl {
        width: calc(50% - 15px);
        padding: 20px 0 20px;
    }

    .pages #dress_info .info_frame dt {
        width: 90px;
        padding: 0 10px;
    }

    .pages #dress_info .btn_primary {
        margin-top: 45px;
    }

    .pages #dressshop_list {
        padding: 60px 0 40px;
    }

    /*----- VOICE -----*/
    .pages .p_voice #voice_intro {
        padding: 45px 0;
    }

    .pages .p_voice #voice_intro .voice_intro_txt {
        font-size: 18px;
    }

    .pages .p_voice .review_wrap {
        padding: 50px 0 60px;
    }

    .pages .p_voice .wp-pagenavi {
        margin-top: 35px;
    }

    .pages .p_voice .wp-pagenavi span,
    .pages .p_voice .wp-pagenavi a {
        font-size: 18px;
        width: 38px;
        height: 48px;
    }

    .pages .p_voice .wp-pagenavi a.previouspostslink,
    .pages .p_voice .wp-pagenavi a.nextpostslink {
        width: 16px;
    }

    .pages .p_voice .wp-pagenavi .pages,
    .pages .p_voice .wp-pagenavi .first,
    .pages .p_voice .wp-pagenavi .last {
        font-size: 14px;
    }

    .pages .p_voice #voice_form {
        padding: 50px 3% 60px;
    }

    .pages .p_voice #voice_form .inner {
        padding: 7.478vw 3vw 10vw;
    }

    .pages .p_voice #voice_form .contact_form_txt {
        margin-bottom: 35px;
    }

    .pages .p_voice #voice_form .btn_submit > span::after {
        top: -1px;
    }

    /*----- PARTY REPORT -----*/
    .pages .p_report #report_intro {
        padding: 45px 0;
    }

    .pages .p_report #report_intro h3 {
        font-size: 18px;
        margin-bottom: 35px;
    }

    .pages .p_report #report_intro .section p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages .p_report .report_cate {
        padding: 0 0 40px;
    }

    .pages .p_report .report_cate_list li {
        max-width: 125px;
    }

    .pages .p_report .report_cate_list li span > span {
        font-size: 16px;
        margin-bottom: 0;
    }

    .pages .p_report .report_cate_list li span {
        font-size: 15px;
    }

    .pages .p_report .report_list .report_card .card_component {
        padding: 0 10px;
    }

    .pages .p_report .report_list .report_card .card_title {
        font-size: 18px;
    }

    .pages .p_report .report_list .report_card .card_txt {
        line-height: 1.8;
    }

    .pages .p_report .wp-pagenavi {
        margin-top: 45px;
    }

    .pages .p_report .wp-pagenavi span,
    .pages .p_report .wp-pagenavi a {
        font-size: 18px;
        width: 38px;
        height: 48px;
    }

    .pages .p_report .wp-pagenavi a.previouspostslink,
    .pages .p_report .wp-pagenavi a.nextpostslink {
        width: 16px;
    }

    .pages .p_report .wp-pagenavi .pages,
    .pages .p_report .wp-pagenavi .first,
    .pages .p_report .wp-pagenavi .last {
        font-size: 14px;
    }

    .pages .p_report #report_contents {
        padding: 45px 0 20px;
    }

    .pages .p_report #report_contents .report_title {
        margin-bottom: 45px;
    }

    .pages .p_report #report_contents .report_title h3 {
        font-size: 22px;
        margin-bottom: 15px;
    }

    .pages .p_report #report_contents .report_title .wedding_information {
        font-size: 14px;
    }

    .pages .p_report #report_contents .main_photo {
        margin-bottom: 35px;
    }

    .pages .p_report #report_contents .main_description {
        margin-bottom: 55px;
    }

    .pages .p_report #report_contents .report_gallery {
        margin-bottom: 35px;
    }
}

@media screen and (max-width: 992px) {

    /*----- CONCEPT -----*/
    .pages .p_concept #concept_intro h3,
    .pages .p_concept #concept_special h3 {
        font-size: 20px;
    }

    .pages .p_concept #concept_present .ser1 {
        margin-top: 10vw;
    }

    .pages .p_concept #concept_present .ser3 {
        margin-bottom: 0;
    }

    .pages .p_concept #concept_present .card {
        height: auto;
        min-height: 768px;
        padding: 15.121vw 0;
    }

    .pages .p_concept #concept_present .card h4 {
        font-size: 20px;
        flex-direction: column;
        text-align: center;
    }

    .pages .p_concept #concept_present .card h4 img {
        max-width: 200px;
    }

    .pages .p_concept #concept_present .card h4 span {
        padding: 0 0;
        margin: 0 0;
    }

    .pages .p_concept #concept_present .card .concept_present_txt {
        font-size: 15px;
    }

    .pages .p_concept #concept_present .card .concept_present_txt p {
        line-height: 2.5;
    }

    .pages .p_concept #concept_present .card p:not(:last-child) {
        margin-bottom: 20px;
    }

    /*----- DRESS SHOP -----*/
    .pages #dressshop_list article {
        flex-direction: column-reverse !important;
    }

    .pages #dressshop_list article:not(:first-child) {
        margin-top: 40px;
    }

    .pages #dressshop_list article figure {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin-bottom: 40px;
    }

    .pages #dressshop_list .dress_frame {
        max-width: 100%;
        padding: 0 3% !important;
        margin: 0 auto !important;
    }

    .pages #dressshop_list .dress_frame h4 {
        margin-bottom: 30px;
        text-align: center;
    }

    .pages #dressshop_list .dress_frame .btn_primary {
        text-align: center;
        margin-top: 30px;
    }
}

@media screen and (max-width: 810px) {

    /*----- table -----*/
    .pages table th,
    .pages table td {
        padding: 10px 10px;
    }

    /*----- table scroll ------*/
    .pages .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }

    .pages .tb_scroll > table {
        width: 800px;
        border: 2px solid #118abf;
    }

    .pages #content .txt_note {
        display: block;
        font-size: 12px;
        color: #AFAFAF;
        margin-bottom: 8px;
    }

    /*----- table block -----*/
    .pages #content table.tb_block tr th,
    .pages #content table.tb_block tr td {
        display: block !important;
        width: 100% !important;
        padding: 18px 10px;
    }

    .pages #content table.tb_block tr th {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .pages #content table.tb_block tr td {
        padding-top: 12px;
    }

    .pages table.tb_block tr:first-child td {
        border-top: 0;
    }

    /*----- news -----*/
    .pages .p_news .news_list li {
        width: calc(100% / 2);
    }

    .pages .p_news .news_list li:nth-child(even) {
        border-right: 0;
    }

    /*----- REQUEST DOCUMENTS -----*/
    .pages .p_contact #contact_form .wedding_date td {
        padding: 19px 15px 9px;
    }

    .pages .p_contact #contact_form .input_custom,
    .pages .p_contact #contact_form .txt_custom {
        max-width: 100%;
    }

    .pages .p_contact #contact_form .txt_custom {
        height: 150px;
    }

    .pages .p_contact #contact_form .desired_plan {
        padding: 0 0;
    }

    .pages .p_contact #contact_form .privacy_policy {
        margin-top: 0;
    }

    .pages .p_contact #contact_form .accept_box {
        height: 75px;
    }

    .pages .p_contact #contact_form .btn_submit {
        margin-top: 45px;
    }

    .pages .p_contact #contact_form .mw_wp_form_confirm .wedding_date td {
        padding: 8px 10px 12px;
    }

    .pages .p_contact #contact_form .calendar_option td {
        padding: 18px 10px 3px;
    }

    .pages#contact01 .p_contact #contact_form .desired_time li:first-child {
        margin-right: 10px;
    }

    /*----- COMPANY -----*/
    .pages .p_company #company_profile .tb_block {
        border-top-width: 2px;
        border-bottom-width: 2px;
    }

    .pages .p_company #company_profile .tb_block th,
    .pages .p_company #company_profile .tb_block td {
        padding: 15px 10px;
    }

    .pages .p_company #company_profile .tb_block th {
        padding-bottom: 0;
    }

    .pages .p_company #company_profile .tb_block td {
        padding-top: 0;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #content .details_block .details_overview {
        flex-direction: column-reverse;
        padding-bottom: 35px;
    }

    .pages .p_style #content .details_block .details_overview .overview_image {
        position: relative;
        top: auto;
        left: auto;
        max-width: 100%;
        height: auto;
    }

    .pages .p_style #content .details_block .details_overview .details_overview_frame {
        max-width: 100%;
        min-height: inherit;
        padding: 45px 3vw;
    }

    .pages .p_style #content .details_block .details_overview .overview_title {
        text-align: center;
    }

    .pages .p_style .style_video {
        height: 55.556vw;
    }

    /*----- VOICE -----*/
    .pages .p_voice #voice_form table.tb_contact th {
        padding-top: 18px;
    }

    .pages .p_voice #voice_form table.tb_contact th br {
        display: none;
    }

    .pages .p_voice #voice_form table.tb_contact td {
        padding-top: 12px;
    }

    .pages .p_voice #voice_form .txt_custom {
        max-width: 100%;
        height: 150px;
    }

    .pages .p_voice #voice_form .privacy_policy {
        margin-top: 0;
    }

    .pages .p_voice #voice_form .accept_box {
        height: 75px;
    }

    .pages .p_voice #voice_form .btn_submit {
        margin-top: 45px;
    }
}

@media screen and (min-width: 769px) {

    /*----- PARTY REPORT -----*/
    .pages .p_report .report_list .report_card:nth-child(3n+3)::before {
        border-right: 0;
    }
}

@media screen and (max-width: 768px) {

    .pages .image_r,
    .pages .image_l {
        float: none;
        text-align: center;
        margin: 0 0 20px;
    }

    /*tb_cal*/
    .pages .tb_cal th {
        line-height: 1.3;
    }

    .pages .tb_cal td {
        font-size: 15px;
    }

    .pages #p_mv .mv_title .mv_en {
        font-size: 35px;
        line-height: 1.2;
    }

    /*----- news -----*/
    .pages .p_news .newsboard .news_back {
        flex-direction: column;
    }

    .pages .p_news .newsboard .news_back li.prev-btn {
        margin: 0 0 20px;
    }

    .pages .p_news .newsboard .news_back li.next-btn {
        margin: 20px 0 0;
    }

    /*----- REQUEST DOCUMENTS -----*/
    .pages .p_contact #contact_form .inner {
        padding: 40px 3vw 50px;
    }

    .pages .p_contact #contact_form .desired_plan span,
    .pages .p_contact #contact_form .request_plan span {
        width: 100%;
    }

    /*----- COMPANY -----*/
    .pages .p_company #company_access .access_map iframe {
        height: 299px;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #style_intro h3 {
        font-size: 16px;
    }

    .pages .p_style #style_wedding .style_tab li {
        font-size: 16px;
        margin: 0 15px 15px;
    }

    .pages .p_style #style_wedding .style_list li h4 {
        max-width: 35vw;
        text-align: justify;
        padding: 5px 8px;
    }

    .pages .p_style #style_wedding .style_list li h4 .en {
        display: none;
    }

    .pages .p_style #style_mv {
        height: 50vh;
    }

    .pages .p_style #style_mv .mv_title,
    .pages .p_style #content .details_block .block_cont_ttl {
        font-size: 21px;
    }

    .pages .p_style #content .details_block {
        opacity: 0;
        animation: showblock 1s forwards ease 1s;
    }

    /*----- CONCEPT -----*/
    .pages .p_concept #concept_present .card .inner {
        position: relative;
        top: auto;
        left: auto;
        transform: translate(0, 0);
    }

    /*----- DRESS SHOP -----*/
    .pages #dress_intro h3,
    .pages #dress_info h3 {
        font-size: 20px;
    }

    .pages #dress_info .info_block {
        flex-direction: column;
    }

    .pages #dress_info .info_block .info_img {
        width: 100%;
        height: auto;
    }

    .pages #dress_info .info_block .info_img .info_tag,
    .pages #dressshop_list article .dress_tag {
        max-width: 260px;
        height: 40px;
        font-size: 14px;
    }

    .pages #dress_info .info_frame {
        flex-direction: column;
        justify-content: center;
        margin: 0 auto;
    }

    .pages #dress_info .info_frame dl {
        width: 100%;
    }

    .pages #dress_info .info_frame dl:nth-last-child(2) {
        border-bottom: none;
    }

    .pages #dressshop_list .dress_frame h4 {
        font-size: 18px;
    }

    /*----- VOICE -----*/
    .pages .p_voice .review_list dl {
        max-width: 83.333vw;
        padding: 15px 3vw 20px;
    }

    .pages .p_voice .review_list dl dt {
        font-size: 18px;
    }

    .pages .p_voice .review_list dl dd p:not(:last-child) {
        margin-bottom: 20px;
    }

    /*----- PARTY REPORT -----*/
    .pages .p_report .report_cate_list {
        max-width: 500px;
    }

    .pages .p_report .report_list .report_card {
        width: calc(100% / 2);
        height: 35.938vw;
    }

    .pages .p_report .report_list .report_card:nth-child(even)::before {
        border-right: 0;
    }
}

@media screen and (max-width: 576px) {

    /*----- p_mainvisual -----*/
    .pages #p_mv {
        height: 280px;
        padding-top: 50px;
    }

    /*----- faq -----*/
    .pages .p_faq .faq_list dl dt {
        font-size: 20px;
    }

    /*----- WEDDING STYLE -----*/
    .pages .p_style #style_wedding .style_list li {
        width: 100%;
        height: 220px;
    }

    .pages .p_style #style_wedding .style_list li h4 {
        max-width: 300px;
    }

    /*----- REQUEST DOCUMENTS - RESERVATION -----*/
    .pages .p_contact #contact_form .calendar_option td {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .pages .p_contact #contact_form .calendar_option p:last-child,
    .pages .p_contact #contact_form .reserve_minute {
        text-align: justify;
        margin-right: 0 !important;
    }

    .pages .p_contact #contact_form .calendar {
        max-width: 100%;
        margin-right: 0 !important;
    }

    .pages .p_contact #contact_form .reserve_hour,
    .pages .p_contact #contact_form .reserve_minute {
        width: 47%;
    }

    .pages .p_contact #contact_form .reserve_hour {
        margin-right: 4.514vw !important;
    }

    .pages .p_contact #contact_form .calendar_option select {
        width: 100%;
    }
}

@media screen and (max-width: 490px) {

    /*----- PARTY REPORT -----*/
    .pages .p_report .report_list .report_card {
        width: 100%;
        height: 72.041vw;
    }

    .pages .p_report .report_list .report_card::before {
        border-right: 0;
    }
}

@media screen and (max-width: 390px) {

    /*----- news -----*/
    .pages .p_news .news_list li .news_ttl {
        font-size: 15px;
    }
}

@media screen and (max-width: 320px) {}
