.box_sp {
    display: none;
}

.box_pc {
    display: block;
}

/* responsive */
@media screen and (max-width: 1400px) {
    #h_concept #concept_gallery .gallery_item:nth-child(1) .gallery_image {
        width: 46.429vw;
        height: 30.714vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(2) {
        padding-left: 7.143vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(2) .gallery_image {
        width: 27.286vw;
        height: 18vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(3) {
        bottom: 9.714vw;
        left: 4.643vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(3) .gallery_image {
        width: 24vw;
        height: 30vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(4) {
        top: 7.286vw;
        right: 5.286vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(4) .gallery_image {
        width: 25.714vw;
        height: 37.857vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(5) {
        margin: 7.143vw 0 0 0;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(5) .gallery_image {
        width: 30.714vw;
        height: 21.429vw;
        margin-right: -7.143vw;
    }

    #h_concept #concept_gallery .gallery_item:nth-child(6) .gallery_image {
        width: 30.714vw;
        height: 30.714vw;
        margin-top: -8.929vw;
    }
}

@media screen and (max-width: 1250px) {
    #header #toggle-menu {
        left: 4vw;
    }

    #header .header_block {
        padding-right: 5.28vw;
    }

    #header .overlay .overlay_logo {
        margin-bottom: 5vh;
    }

    #header .overlay .overlay_logo a {
        width: 380px;
    }

    #header .overlay .overlay_logo span {
        font-size: 26px;
    }

    #h_mv .mv_carousel_thumbs .thumbs_img {
        max-width: 60vw;
        height: 39.2vw;
    }
}

@media screen and (max-width: 1150px) {
    #h_news .news_list li .news_component {
        padding: 2.087vw 2.174vw 3.739vw;
    }

    #h_weddingplan .weddingplan_container::before {
        top: 23.478vw;
    }

    #h_weddingplan .weddingplan_card {
        max-width: 60.87vw;
        margin: 0 3.478vw;
    }

    #h_weddingplan .weddingplan_card:nth-child(odd) {
        margin-top: 6.087vw;
    }

    #h_weddingplan .weddingplan_card .weddingplan_image {
        height: 40.870vw;
        margin-bottom: 2.522vw;
    }

    #h_weddingplan .weddingplan_card .brand_name {
        font-size: 1.739vw;
    }

    #h_weddingplan .jarallax {
        height: 56.522vw;
    }
}

@media screen and (max-width: 1080px) {
    #h_partyreport .partyreport_container .partyreport_slider .slide_item {
        height: 61.759vw;
    }
}

@media screen and (min-width: 1025px) {
    .btn_primary a:hover .wobble .char::before {
        transform: translateY(0%);
        transition-delay: calc(0.2s + (0.02s * (var(--char-index))));
    }

    .btn_primary a:hover .wobble .char::after {
        transform: translateY(-20px);
        transition-delay: calc(0.02s * (var(--char-index)));
    }

    #header .header_block .h_sns li a:hover,
    #h_social .social_link li a:hover {
        opacity: .7;
    }

    #header .overlay .gnavi li a:hover::after {
        transform: scaleX(1);
        transform-origin: bottom left;
    }

    #h_news .news_list li a:hover {
        background: #F2F5ED;
    }

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

    #h_weddingplan .weddingplan_card a:hover .weddingplan_image::before {
        opacity: 1;
    }

    #h_weddingplan .weddingplan_card a:hover .weddingplan_image img,
    #h_information .information_list li a:hover img,
    #h_request .request_block a:hover img {
        transform: scale(1.08);
    }

    #h_information .information_list li a:hover::before,
    #h_request .request_block a:hover::before {
        background: rgba(0, 0, 0, 0.6);
    }

    .btn_side a:hover {
        background: #808080;
    }
}

@media screen and (max-width: 1024px) {
    body {
        font-size: 14px;
    }

    p {
        line-height: 2.2;
    }

    .title3 {
        font-size: 18px;
        margin-bottom: 35px;
    }

    .title3 span.eng {
        font-size: 30px;
        margin-bottom: 10px;
    }

    .btn_primary a::after {
        position: relative;
        top: -1px;
    }

    .btn_primary a .wobble,
    .btn_primary a .wobble .word {
        display: inline-flex;
        align-items: center;
    }

    .btn_primary a .wobble .whitespace {
        margin: 0 2px;
    }

    .btn_primary a .wobble .char {
        display: inline-flex;
        align-items: center;
        color: var(--main-color);
    }

    .btn_primary a .wobble .char::before,
    .btn_primary a .wobble .char::after {
        display: none;
    }

    #h_mv .mv_container .mv_ttl {
        font-size: 15vmin;
        margin-bottom: 20px;
    }

    #h_mv .mv_container .mv_txt {
        font-size: 20px;
    }

    #h_news {
        padding: 45px 0;
    }

    #h_news .news_list li .news_cate {
        font-size: 13px;
        margin-bottom: 5px;
    }

    #h_news .news_list .news_ttl {
        font-size: 16px;
        margin-bottom: 10px;
    }

    #h_concept {
        padding: 45px 0;
    }

    #h_concept .title3,
    #h_concept #concept_gallery,
    #h_concept .concept_txt {
        margin-bottom: 45px;
    }

    #h_concept .concept_txt {
        font-size: 15px;
    }

    #h_weddingplan {
        padding: 45px 0 0;
    }

    #h_weddingplan .title3 {
        margin-bottom: 25px;
    }

    #h_weddingplan .weddingplan_container {
        margin: 50px 0 0;
    }

    #h_weddingplan .weddingplan_list {
        margin-bottom: 50px;
    }

    #h_weddingplan .weddingplan_card {
        margin: 0 1.953vw;
    }

    #h_weddingplan .weddingplan_card .brand_name {
        top: -1px;
        left: 2.930vw;
        height: 88%;
        font-size: 16px;
        padding: 1.660vw 1.172vw 1.563vw 0.781vw;
    }

    #h_weddingplan .weddingplan_card .caption {
        font-size: 13px;
    }

    #h_weddingplan .btn_primary {
        margin-bottom: 50px;
    }

    #h_partyreport {
        padding: 45px 0;
    }

    #h_partyreport .title3,
    #h_partyreport .partyreport_container {
        margin-bottom: 35px;
    }

    #h_partyreport .partyreport_txt {
        font-size: 15px;
        margin-bottom: 45px;
    }

    #h_information .information_list li h4 span {
        font-size: 3.711vw;
        margin-bottom: 5px;
    }

    #h_banners {
        padding: 55px 5%;
    }

    #h_social {
        padding: 45px 0 50px;
    }

    #h_social .title3 {
        padding: 0 3%;
        margin-bottom: 45px;
    }

    #h_social .title3 span {
        font-size: 20px;
    }

    #h_social .ig_gallery {
        margin-bottom: 45px;
    }

    #h_social .social_link {
        max-width: 58.887vw;
    }

    #h_request {
        padding: 45px 0 0;
    }

    #h_request .title3 {
        margin-bottom: 45px;
    }

    #h_request .request_block h4 {
        font-size: 26px;
    }

    #h_request .request_block h4 span {
        margin-top: 10px;
    }

    #h_request .tag {
        height: 70px;
    }

    #h_request .tag .tag_list li {
        font-size: 18px;
        margin: 0 10px;
    }

    #footer #footer_info {
        padding: 45px 0 28px;
    }

    #footer .footer_container {
        margin-bottom: 20px;
    }

    #footer .footer_container .f_link {
        width: 100%;
    }

    #footer .footer_container .f_link:first-child,
    #footer .footer_container .f_link > li:not(.f_info) {
        display: none;
    }

    #footer .footer_container .f_link li.f_info {
        margin-top: 0;
    }

    #footer .footer_container .f_link li.f_info dl {
        flex-direction: column;
        align-items: center;
    }

    #footer .footer_container .f_link li.f_info dl:not(:last-child) {
        margin-bottom: 25px !important;
    }

    #footer .footer_container .f_link li.f_info dl dt {
        text-align: center;
        margin: 0 0 10px;
    }

    #footer .footer_container .f_link li.f_info dl dd {
        width: 100%;
        text-align: center;
    }

    #footer .footer_container .f_phone {
        line-height: 1.8;
    }

    #footer .footer_container .f_sns {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    #footer .footer_container .f_sns li {
        margin: 0 10px 20px;
    }

    .btn_side {
        width: 40px;
        height: 140px;
    }
}

@media screen and (max-width: 992px) {
    #header .overlay {
        align-items: flex-start;
        padding: 50px 0 0;
        overflow: auto;
    }

    #header .overlay .overlay_logo {
        margin-bottom: 3vh;
    }

    #header .overlay .overlay_logo a {
        width: 100%;
        max-width: 220px;
    }

    #header .overlay .overlay_logo span {
        font-size: 20px;
        line-height: 1.5;
    }

    #header .overlay .menu {
        flex-direction: column;
        padding-bottom: 50px;
    }

    #header .overlay .gnavi:not(:last-child) {
        margin-bottom: 2.4vh;
    }

    #header .overlay .gnavi > li {
        text-align: center;
        padding-left: 0;
    }

    #header .overlay .gnavi > li::before {
        display: none;
    }

    #header .overlay .gnavi li.h_info {
        display: none;
    }

    #h_mv .mv_carousel {
        transform: skewX(-30deg) scale(2.5);
    }

    #h_mv .mv_slider .swiper-slide .slide_frame img {
        transform: scale(0.4);
    }

    #h_mv .mv_slider .swiper-slide-active .slide_frame img,
    #h_mv .mv_slider .swiper-slide-duplicate-active .slide_frame img,
    #h_mv .mv_slider .swiper-slide-prev .slide_frame img {
        animation-name: zoom_animation_sp;
    }

    #h_banners .banners_list {
        max-width: 75.605vw;
        height: 35.282vw;
    }

    #h_banners .banners_list .slick-arrow {
        width: 25px;
        height: 25px;
    }

    #h_banners .banners_list .slick-next {
        right: -35px;
    }

    #h_banners .banners_list .slick-prev {
        left: -35px;
    }
}

@media screen and (max-width: 810px) {
    #h_news .news_list {
        flex-wrap: wrap;
        margin-bottom: 50px;
    }

    #h_news .news_list li {
        width: calc(100% / 2);
    }

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

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

    #wrapper,
    #header,
    #main,
    #footer,
    .inner,
    .pages .pages_inner {
        width: 100% !important;
        min-width: inherit !important;
    }

    .box_sp {
        display: block;
    }

    .box_pc {
        display: none;
    }

    #header #toggle-menu {
        top: 30px;
    }

    #header #toggle-menu .toggle_ttl {
        display: none;
    }

    #header .header_block {
        align-items: flex-start;
        padding-right: 3%;
    }

    #header .header_block h1 a {
        display: block;
        width: 100%;
        max-width: 140px;
        line-height: 0;
    }

    #header .header_block .h_sns {
        padding: 9px 0 0;
    }

    #header .header_block .h_sns li:first-child::after,
    #header .header_block .h_sns li:last-child {
        margin-left: 10px;
    }

    #header .header_block .h_sns li:first-child::after {
        height: 25px;
    }

    #h_mv {
        height: 70vh;
        height: calc(var(--vh, 1vh) * 70);
    }

    #h_mv .mv_container .mv_ttl {
        font-size: 13vmin;
        margin-bottom: 10px;
    }

    #h_mv .mv_container .mv_txt {
        font-size: 16px;
    }

    #h_mv .mv_slider .swiper-slide {
        height: 100%;
    }

    #h_mv .scroll-btn {
        display: none;
    }

    #h_concept .concept_txt,
    #h_partyreport .partyreport_txt {
        text-align: justify;
    }

    #h_concept .concept_txt br,
    #h_partyreport .partyreport_txt br,
    #h_weddingplan .weddingplan_card .brand_name {
        display: none;
    }

    #h_information .information_list li h4 span {
        font-size: 26px;
    }

    #h_social .ig_gallery {
        flex-wrap: wrap;
    }

    #footer .f_logo {
        margin-bottom: 35px;
    }

    #footer .f_logo a {
        width: 100%;
        max-width: 300px;
    }

    #footer .f_logo span {
        font-size: 20px;
        margin-top: 5px;
    }
}

@media screen and (max-width: 768px) and (orientation: portrait) {
    #footer {
        margin-bottom: 45px;
    }

    .side_banner {
        bottom: 0;
        top: auto;
        width: 100%;
        flex-direction: row;
        transform: translate(0, 100%);
    }

    .side_banner.is-active {
        transform: translate(0, 0);
    }

    .btn_side {
        width: 50%;
        height: 45px;
    }

    .btn_side a {
        border: 0;
        border-top: 1px solid var(--white-color);
        -webkit-writing-mode: horizontal-tb;
        -moz-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .btn_side:first-child a {
        border-right: 1px solid var(--white-color);
    }
}

@media screen and (max-height: 767px) and (orientation: landscape) {
    #header .header_block {
        left: calc(50vw - 4.4rem);
        width: calc(50vw + 4.4rem);
        padding-right: 55px;
    }

    #header .header_block .h_sns li:first-child::after,
    #header .header_block .h_sns li:last-child {
        margin-left: 15px;
    }

    #h_mv {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }

    #h_mv .mv_container {
        top: calc(50% + 38px);
    }

    #h_mv .mv_container .inner,
    #h_mv .mv_carousel_thumbs {
        max-width: 70vw;
        padding: 0 0;
    }

    #h_mv .mv_carousel_thumbs .thumbs_img {
        max-width: 45vw;
        height: 29.981vw;
    }
}

@media screen and (max-width: 576px) {
    #h_information .information_list {
        flex-direction: column;
    }

    #h_information .information_list li {
        width: 100% !important;
        height: 200px !important;
        border-right: 0;
        border-bottom: 1px solid var(--white-color) !important;
    }

    #h_request .request_container {
        flex-direction: column;
    }

    #h_request .request_block {
        width: 100%;
        height: 200px;
    }

    #h_request .request_block:first-child {
        border-right: 0;
    }
}

@media screen and (max-width: 490px) {
    .title3 span.eng {
        font-size: 26px;
    }

    #h_mv .mv_container .mv_txt {
        font-size: 14px;
    }

    #h_request .request_block h4 {
        font-size: 24px;
    }
}

@media screen and (max-width: 390px) {
    #header .header_block {
        left: calc(50vw - 4rem);
        width: calc(50vw + 4rem);
    }

    #header .header_block h1 a {
        max-width: 120px;
    }

    #h_news .news_list .news_ttl {
        font-size: 15px;
    }

    #h_weddingplan .weddingplan_card .brand_name {
        font-size: 14px;
    }

    #footer .footer_container .f_link li.f_info dl dd {
        font-size: 13px;
    }
}

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